Perun是一款主要适用于乙方安服、渗透测试人员和甲方RedTeam红队人员的网络资产漏洞扫描器/扫描框架,它主要适用于内网环境,加载漏洞检测Vuln模块后能够快速发现安全问题,并根据需要生成报表,以方便安全人员对授权项目完成测试工作。
Perun由Python2.7和Python标准库开发,所有功能(端口扫描,漏洞检测,控制台输出,生成Html报告)兼容Windows系统和*nix系统,Html报告采用Vue+Element,支持对扫描结果的排序、搜索、分页。
在内网环境中只需上传Perun的启动器文件(未安装Python的主机环境下可以使用Pyinstaller打包生成的单个控制台exe二进制启动器文件,大小在3-5M),其余文件可以部署在云端,也可以部署在目标内网中,既可用作普通的端口扫描器,又可用作漏洞扫描器,方便安全人员在内网环境中进行工作。
-
加载-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库则需要重新打包),一劳永逸。
Perun目前支持54个Vuln模块
欢迎编写并提交更多自定义Vuln模块,直接pr或者发到邮箱wyatu[@]foxmail.com
在此表示感谢。
Bug/更多自定义Vuln模块提交/意见建议,请直接pr或者发到邮箱wyatu[@]foxmail.com
本项目仅进行漏洞探测工作,无漏洞利用、攻击性行为,开发初衷仅为方便安全人员对授权项目完成测试工作和学习交流使用,请使用者遵守当地相关法律,勿用于非授权测试,如作他用所承受的法律责任一概与作者无关,下载使用即代表使用者同意上述观点。
附《中华人民共和国网络安全法》。