Coder Social home page Coder Social logo

wyatu / perun Goto Github PK

View Code? Open in Web Editor NEW
1.0K 24.0 246.0 1.16 MB

Perun是一款主要适用于乙方安服、渗透测试人员和甲方RedTeam红队人员的网络资产漏洞扫描器/扫描框架

License: GNU General Public License v3.0

Python 95.43% HTML 4.57%
vulnerability-scanners scanner redteam pentesting pentest-tool security security-tool

perun's Introduction

Perun

Python 2.7 License Vulns

Perun是一款主要适用于乙方安服、渗透测试人员和甲方RedTeam红队人员的网络资产漏洞扫描器/扫描框架,它主要适用于内网环境,加载漏洞检测Vuln模块后能够快速发现安全问题,并根据需要生成报表,以方便安全人员对授权项目完成测试工作。

Perun由Python2.7和Python标准库开发,所有功能(端口扫描,漏洞检测,控制台输出,生成Html报告)兼容Windows系统和*nix系统,Html报告采用Vue+Element,支持对扫描结果的排序、搜索、分页

在内网环境中只需上传Perun的启动器文件(未安装Python的主机环境下可以使用Pyinstaller打包生成的单个控制台exe二进制启动器文件,大小在3-5M),其余文件可以部署在云端,也可以部署在目标内网中,既可用作普通的端口扫描器,又可用作漏洞扫描器,方便安全人员在内网环境中进行工作。

快照预览

  • 控制台快照

    all_list


    test


  • 报告快照

    report_snapshot1


    report_snapshot1


    report_snapshot1

工作流程

  • 加载-l参数指定路径下的项目代码

  • 解析-t参数指定的目标

  • 进行ping扫描活跃主机(使用--skip-ping参数将跳过ping扫描阶段)

  • 根据默认扫描端口或-p参数对指定端口进行端口扫描,默认扫描178个端口,详见Perun/conf/globallistconf.py

  • 解析--vuln和--search(包括--filter和--exclude)参数指定的漏洞检测Vuln模块

  • 根据各Vuln模块默认扫描端口或--set-port指定各Vuln模块扫描端口,匹配目标主机开放端口,生成待扫描目标列表

  • 加载各漏洞扫描Vuln模块Payload,进行漏洞扫描

  • 生成报告(使用--skip-report参数将跳过生成报告)

启动和加载

Perun由Perun.py(或是由Perun.py打包生成的二进制文件)启动,有两种方式加载,远程加载和本地加载,通过-l/--load-file-path参数指定本地文件路径或者远程地址url后,Perun.py将会加载其他代码和漏洞检测Vuln模块并执行。

这样可以在保证项目开发目录结构清晰的同时,只需要一个启动器文件在内网环境中即可工作,其余文件可部署在公网云端或内网环境本地,单个启动器文件方便打包成更小的exe二进制文件,且更新插件不需要重新打包(如导入新的Python库则需要重新打包),一劳永逸。

使用参数

使用参数

使用举例

使用举例

支持的Vuln模块

Perun目前支持57个Vuln模块

支持的Vuln模块

自定义Vuln模块

编写新的自定义Vuln模块

欢迎编写并提交更多自定义Vuln模块,直接pr或者发到邮箱wyatu[@]foxmail.com

如何打包

打包Perun二进制文件

更新日志

CHANGELOG.md

致谢

  • liyuan大哥的报告前端代码支持

  • xunfengScanver等开源项目和其他开源脚本/项目,很多Vuln模块参考或取自这些优秀的开源项目

在此表示感谢。

  • Ntears编写的Weblogic wls9-async RCE CNVD-C-2019-48814 Vuln模块

说明

Bug/更多自定义Vuln模块提交/意见建议,请直接pr或者发到邮箱wyatu[@]foxmail.com

本项目仅进行漏洞探测工作,无漏洞利用、攻击性行为,开发初衷仅为方便安全人员对授权项目完成测试工作和学习交流使用,请使用者遵守当地相关法律,勿用于非授权测试,如作他用所承受的法律责任一概与作者无关,下载使用即代表使用者同意上述观点

附《中华人民共和国网络安全法》。

perun's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

perun's Issues

打包的exe运行无反应

C:\Users\Administrator>C:\Users\Administrator\Desktop\Perun.exe -l . -t 116.25.107.197/16

C:\Users\Administrator>C:\Users\Administrator\Desktop\Perun.exe -l . -t 192.168.1.1/24

C:\Users\Administrator>C:\Users\Administrator\Desktop\Perun.exe
[-] C:\Users\Administrator\Desktop\Perun.exe need a url to load start.py, use '-l' or '--load-file-path' to set the load_file_path

C:\Users\Administrator>

参数能否简化?

感觉现在的-l 参数使用有些麻烦,如python Perun.py -l . 能否默认就自带-l .

使用中遇到的坑

在使用python3版本运行此工具时,提示以下报错
ImportError: cannot import name 'urlopen' from 'urllib'

经过分析发现,在从Python 2向Python 3迁移的过程中, urllib的包重新进行了设计和调整,故两者在不同的Python下是不兼容的。
在Python 3下正确的用法是:
from urllib.request import urlopen

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.