0x00 ExploitDepository
ExploitDepository 以下简称 ExpDepos
是一个轻量级渗透测试框架,该项目旨在为红队构建一个运行高质量 Exploit 模块的框架,实现实战攻防中的快速资产识别、漏洞利用,并具备一定的隐蔽性与WAF对抗能力。
项目使用 Python 开发,内置实现了云函数自动部署使用(目前只支持腾讯云)、自定义 Exploit 模块开发、内置 WatWeb plus 指纹库、协程并发HTTP请求等功能。
内置WatWeb plus指纹库指纹并创造性添加指纹准确判断
内置完善的payload框架、Encoder框架、web指纹框架
内置实现云函数自动部署使用(目前只支持腾讯云)
拥有及其完善的工具、模块、指纹、扩展开发文档
SuperScan (别名: superscan ) 模块为 ExpDepos 内置的一款多功能扫描器,支持目录扫描(dirscan)、端口扫描(portscan)、指纹探测(fingerprint scan)等功能。SuperScan 作为 ExpDepos 框架标志性模块在于其多功能扫描均可采用云函数代理请求的方式进行,该功能在红蓝实战对抗的情报搜集阶段可与防火墙等安全设备进行有效对抗。
sudo python3 cli.py -M superscan -h
使用 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 选项可为指纹过滤器提供过滤选项,有关过滤器详情请参阅 指纹识别 及 指纹属性 章节。
要使用 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 命令将目录字典添加到现有字典中去。
在 SuperScan 中设置选项 --action 值为 fps 将调用单独的指纹识别模块,其指纹识别相关选项与端口扫描中的 指纹识别 参数共享。
开启全局 Debug 消息模式可以详细查看到指纹识别匹配详情。
AddFps (别名: addfps ) 模块可以以向导的方式添加指纹到指纹库中,具体使用帮助请参阅 使用向导编写指纹
register 一个专门将 whatweb-plus 指纹转换为 ExpDepos 可用格式( yaml )指纹的模块。运行该模块值需要指定 --path 参数为 whatweb-plus 指纹路径(my-plugins目录路径)即可。
运行环境
Python 3.6+
第三方依赖
rich~=9.13.0
pyfiglet~=0.8.post1
chardet~=4.0.0
httpx~=0.18.2
pip~=21.0.1
mmh3~=3.0.0
tencentcloud-sdk-python-common~=3.0.462
pyyaml~=5.4.1
sphinx_copybutton
pycryptodome
scapy
安装
pip3 install -r requirements.txt
ExpDepos 提供命令执行和交互式Shell两种运行方式,使用命令行执行模块需提供模块执行相关参数。
使用 --console 参数启动交互式Shell控制台,且兼容命令行其他参数。
当与命令行其他参数一起使用的时候,控制台启动后将自动设置相关参数值。
命令行执行模块
python3 cli.py -M modules/exploits/webapp/example.py -H http:
启动交互式界面
![ExploitDepository 轻量精准Web渗透测试框架 ExploitDepository 轻量精准Web渗透测试框架]()
index
![ExploitDepository 轻量精准Web渗透测试框架 ExploitDepository 轻量精准Web渗透测试框架]()
console模式
![ExploitDepository 轻量精准Web渗透测试框架 ExploitDepository 轻量精准Web渗透测试框架]()
web指纹模块
![ExploitDepository 轻量精准Web渗透测试框架 ExploitDepository 轻量精准Web渗透测试框架]()
async
ca3tie1/ExploitDepository:
https://github.com/ca3tie1/ExploitDepository
https://expdepos.readthedocs.io/zh/latest/introduction.html
如您有任何投稿、问题、建议、需求、合作、请后台留言NOVASEC公众号!
![ExploitDepository 轻量精准Web渗透测试框架 ExploitDepository 轻量精准Web渗透测试框架]()
或添加NOVASEC-MOYU 以便于及时回复。
![ExploitDepository 轻量精准Web渗透测试框架 ExploitDepository 轻量精准Web渗透测试框架]()
感谢大哥们的对NOVASEC的支持点赞和关注
加入我们与萌新一起成长吧!
本团队任何技术及文件仅用于学习分享,请勿用于任何违法活动,感谢大家的支持!!
原文始发于微信公众号(NOVASEC):ExploitDepository 轻量精准Web渗透测试框架
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
点赞
https://cn-sec.com/archives/911190.html
复制链接
复制链接
-
左青龙
- 微信扫一扫
-
-
右白虎
- 微信扫一扫
-
评论