ExploitDepository 轻量精准Web渗透测试框架

admin 2022年4月15日00:45:36评论48 views字数 3127阅读10分25秒阅读模式


△△△点击上方“蓝字”关注我们了解更多精彩





0x00 ExploitDepository 


ExploitDepository 以下简称 ExpDepos 

是一个轻量级渗透测试框架,该项目旨在为红队构建一个运行高质量 Exploit 模块的框架,实现实战攻防中的快速资产识别、漏洞利用,并具备一定的隐蔽性与WAF对抗能力。

项目使用 Python 开发,内置实现了云函数自动部署使用(目前只支持腾讯云)、自定义 Exploit 模块开发、内置 WatWeb plus 指纹库、协程并发HTTP请求等功能。


0x01 框架特点
内置WatWeb plus指纹库指纹并创造性添加指纹准确判断内置完善的payload框架、Encoder框架、web指纹框架内置实现云函数自动部署使用(目前只支持腾讯云)拥有及其完善的工具、模块、指纹、扩展开发文档


0x02 内置模块
SuperScan
SuperScan (别名: superscan ) 模块为 ExpDepos 内置的一款多功能扫描器,支持目录扫描(dirscan)、端口扫描(portscan)、指纹探测(fingerprint scan)等功能。SuperScan 作为 ExpDepos 框架标志性模块在于其多功能扫描均可采用云函数代理请求的方式进行,该功能在红蓝实战对抗的情报搜集阶段可与防火墙等安全设备进行有效对抗。 
sudo python3 cli.py -M superscan -h

端口扫描(PortScan)
使用 SuperScan 进行端口扫描请使用如下命令:
sudo python3 cli.py -M superscan -P "--action port" -H 192.168.1.10

--action 选项值指示使用端口扫描模块,扫描目标则像运行其他模块一样使用全局的 -H 或者 --host 传入。传入的主机地址支持 CIDR 格式或者使用 - 连接的IP地址范围,亦或是使用 ',' 分隔的多个IP地址,以上三种亦可组合使用。

在未指定需要扫描的端口情况下,SuperScan 将使用常用WEB应用端口列表(default_ports)及额外补充端口列表(extend_ports)作为默认列表进行扫描。若需要自定义端口扫描请使用模块选项 --ports 指定需要扫描的端口列表或者范围,如下命令所示:

sudo python3 cli.py -M superscan -P "--action port --ports 8000-9000,22,3389" -H 192.168.1.10

模块选项 --ports 除了提供常规端口列表之外,还可以传入 web 或者 top 值用于指定扫描 default_ports 或是 nmap_top_10000 中定义的端口。

服务探测
SuperScan 的端口扫描功能不仅可进行简单的端口扫描,同时还支持 Nmap 开源的服务探针(nmap-service-probes)对已开放的端口进行服务识别。若已开放端口识别到 HTTP 服务则进一步对该端口进行WEB指纹探测及WEB标题和状态识别。

若无需端口服务探测或者WEB指纹识别可以使用 --nosrv 和 --nofp 进行关闭。若两者均不需要则可以使用 --noprobe 参数关闭服务和WEB指纹识别,更多选项请查看命令帮助。

指纹识别
在WEB指纹识别上亦有多个选项可供使用,例如 --fpmode 参数可设置指纹识别模式,有 ALL、 PASS、 AGGR、 EXP 可选(区分大小写,默认为 ALL)。有关指纹识别模式详情,请参阅 指纹识别 章节。

同时在进行WEB指纹识别时候亦可以提供相关过滤参数,让扫描器只选择过滤器中指定的指纹进行识别,--fptype、--fpplat、 --fpmidd、--fplang 选项可为指纹过滤器提供过滤选项,有关过滤器详情请参阅 指纹识别 及 指纹属性 章节。

目录扫描(DirScan)
要使用 SuperScan 进行目录扫描请使用如下命令:
python3 cli.py -M superscan -H http://www.example.com

SuperScan 在未设置 --action 选项的情况下默认调用目录扫描模块,其目录扫描字典调用内置的 dirs.dic 和 files.dic 中的条目进行扫描。

若要进行单独的目录扫描或者文件扫描请使用 --dic 选项提供相应值,可选 dir (仅目录)、file (仅文件)、all (目录和文件) 默认 all 。在进行文件扫描时候可以使用 --ext 选项指定扩展名,多个扩展名用 ',' 分隔。

除了内置字典选项外,目录扫描模块同时支持使用 --wordlist 自定义位于 /data/dics/superscan/ 下的字典文件, 多个使用 ',' 分隔。

添加字典
在日常渗透积累中,可以在 console 模式下使用 add dir 或者 add file 命令将目录字典添加到现有字典中去。

指纹识别(FpsScan)
在 SuperScan 中设置选项 --action 值为 fps 将调用单独的指纹识别模块,其指纹识别相关选项与端口扫描中的 指纹识别 参数共享。

开启全局 Debug 消息模式可以详细查看到指纹识别匹配详情。

AddFps
AddFps (别名: addfps ) 模块可以以向导的方式添加指纹到指纹库中,具体使用帮助请参阅 使用向导编写指纹

register
register 一个专门将 whatweb-plus 指纹转换为 ExpDepos 可用格式( yaml )指纹的模块。运行该模块值需要指定 --path 参数为 whatweb-plus 指纹路径(my-plugins目录路径)即可。


0x03 运行环境
运行环境Python 3.6+
第三方依赖rich~=9.13.0pyfiglet~=0.8.post1chardet~=4.0.0httpx~=0.18.2pip~=21.0.1mmh3~=3.0.0tencentcloud-sdk-python-common~=3.0.462pyyaml~=5.4.1sphinx_copybuttonpycryptodomescapy
安装pip3 install -r requirements.txt



0x04 运行模块
ExpDepos 提供命令执行和交互式Shell两种运行方式,使用命令行执行模块需提供模块执行相关参数。 

使用 --console 参数启动交互式Shell控制台,且兼容命令行其他参数。
当与命令行其他参数一起使用的时候,控制台启动后将自动设置相关参数值。

命令行执行模块

python3 cli.py -M modules/exploits/webapp/example.py -H http://www.target.com

启动交互式界面

python3 cli.py --console

于篇幅,更多运行参数请参考Github



0x05 运行截图

ExploitDepository 轻量精准Web渗透测试框架

index

ExploitDepository 轻量精准Web渗透测试框架

console模式

ExploitDepository 轻量精准Web渗透测试框架

web指纹模块

ExploitDepository 轻量精准Web渗透测试框架

async





0x06 项目地址:
ca3tie1/ExploitDepository: 
https://github.com/ca3tie1/ExploitDepository

ExpDepos文档
https://expdepos.readthedocs.io/zh/latest/introduction.html

END



如您有任何投稿、问题、建议、需求、合作、请后台留言NOVASEC公众号!

ExploitDepository 轻量精准Web渗透测试框架

或添加NOVASEC-MOYU 以便于及时回复。

ExploitDepository 轻量精准Web渗透测试框架


感谢大哥们的对NOVASEC的支持点赞和关注

加入我们与萌新一起成长吧!


本团队任何技术及文件仅用于学习分享,请勿用于任何违法活动,感谢大家的支持!!




原文始发于微信公众号(NOVASEC):ExploitDepository 轻量精准Web渗透测试框架

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月15日00:45:36
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   ExploitDepository 轻量精准Web渗透测试框架http://cn-sec.com/archives/911190.html

发表评论

匿名网友 填写信息