88888888888 88888888ba,
88 88 `"8b
88 88 `8b
88aaaaa 8b, ,d8 8b,dPPYba, 88 88 ,adPPYba, 8b,dPPYba, ,adPPYba, ,adPPYba,
88""""" `Y8, ,8P' 88P' "8a 88 88 a8P_____88 88P' "8a a8" "8a I8[ ""
88 )888( 88 d8 88 8P 8PP""""""" 88 d8 8b d8 `"Y8ba,
88 ,d8" "8b, 88b, ,a8" 88 .a8P "8b, ,aa 88b, ,a8" "8a, ,a8" aa ]8I
88888888888 8P' `Y8 88`YbbdP"' 88888888Y"' `"Ybbd8"' 88`YbbdP"' `"YbbdP"' `"YbbdP"'
88 88
88 88
=[ ExploitDepository 1.2.220414_release ]
=[ By Castiel at 2022-04-14 ]
本项目为一款简易的 Python
模块运行框架,不提供任何具有攻击性代码。项目所涉及技术、思路和模块仅供以安全为目的的学习和交流使用,任何人不得将其用于非法用途,否则后果自行承担。
本项目内置的模块仅限于合法的渗透测试使用,对未授权的目标进行测试项目作者不承担任何责任。 由于传播、利用本项目所提供的功能造成的任何直接或间接的损失,均有使用者本人负责,项目作者不为此承担任何连带责任。
ExploitDepository
以下简称 ExpDepos
是一个轻量级渗透测试框架,该项目旨在为红队构建一个运行高质量 Exploit
模块的框架,为红队在实战攻防中提供快速精准的资产识别、漏洞利用功能,并具备一定的隐蔽性与WAF对抗能力。项目使用 Python
开发,内置实现了云函数自动部署使用(目前只支持腾讯云)、自定义 Exploit
模块开发、内置 WatWeb plus
指纹库、协程并发HTTP请求等功能。
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
- pycryptodome
- scapy
$ pip3 install -r requirements.txt
ExpDepos
提供命令执行和交互式Shell两种运行方式,使用命令行执行模块需提供模块执行相关参数。 使用 --console
参数启动交互式Shell控制台,且兼容命令行其他参数。当与命令行其他参数一起使用的时候,控制台启动后将自动设置相关参数值。
usage: ExpDepos [-V] [--update] [-v {0,1,2,3,4}] [--console]
[--scfinit | --scfclear | --scfreset] [-H HOST] [-M MODULE]
[-P OPTIONS] [-L LIST] [--info | --verify | --exploit | -h]
[--auth AUTH] [--cookie COOKIE] [--headers HEADER]
[--user-agent AGENT] [--referer REFERER] [--timeout TIMEOUT]
[--retries RETRIES] [--rdelay RDELAY] [--delay DELAY]
[--proxy PROXY] [--thread THREAD] [--scf]
optional arguments:
-V, --version 显示版本信息并退出
--update 更新ExpDepos
-v {0,1,2,3,4}, --verbose {0,1,2,3,4}
控制台信息输等级,该值越大输出信息越详细
--console 启动交互式Shell控制台
SCF arguments:
--scfinit 初始化云函数
--scfclear 删除全部云函数
--scfreset 重置云函数
target arguments:
-H HOST, --host HOST 目标地址 (可选IP端口或URL地址)
module arguments:
-M MODULE, --module MODULE
需要运行的Exploit模块
-P OPTIONS, --options OPTIONS
模块的用户自定义参数
-L LIST, --list LIST 显示给定类型模块列表
--info 显示模块详细信息
--verify 以验证模式执行Exploit模块
--exploit 以利用模式执行Exploit模块
-h, --help 显示Exploit模块帮助 与-M搭配使用
request arguments:
--auth AUTH HTTP基础认证信息(username:password)
--cookie COOKIE 自定义Cookie信息,可选完整cookie字符串或键值对应值
--headers HEADER 自定义Header信息(key1:value1,key2:value2)
--user-agent AGENT 自定义HTTP Header的User-Agent值(默认值:随机生成)
--referer REFERER 自定义HTTP Header的Referer值
--timeout TIMEOUT 自定义超时时间(默认值:30)
--retries RETRIES 当请求失败后重试次数(默认值:3)
--rdelay RDELAY 当请求失败后重试间隔时间(默认值:3)
--delay DELAY 两次请求之间的间隔时间(单位:秒)
--proxy PROXY 使用代理发起REQUEST请求
--thread THREAD 协程并发请求量(默认:200)
--scf 使用云函数(Serverless Cloud Functions)代理
Welcome to the ExpDepose shell. Type help or ? to list commands.
ExpDepos> ?
Core Commands
=============
Command Description
------- -----------
? 打印命令帮助
help 等同 ? 命令
setg 设置全局参数值
get 获取参数值
show 显示给定类型的模块信息或者全部模块
debug 设置Console输出为Debug模式
undebug 设置Console输出为非Debug模式
exit 退出Console
Module Commands
===============
Command Description
------- -----------
use 通过模块别名或路径选择使用的模块
set 设置模块参数值
run 执行已选中的模块(默认verify模式)
exploit 以exploit模式运行模块
verify 以verify模式运行模块
info 显示模块详细信息
Cloud Functions
===============
Command Description
------- -----------
scfinit 初始化云函数
scfcls 删除全部云函数
scfrst 重置云函数
Tools Functions
===============
Command Description
------- -----------
md5 md5加密工具
base64 base64加密
mmh3 mmh3加密
hex hex编码
unhex hex解码
add 添加字典或者指纹
Debug Commands
==============
Command Description
------- -----------
reload 重载并应用consoleShell模块的代码更改
ExpDepos>
$ python3 cli.py -M modules/exploits/webapp/example.py -H http://www.target.com
$ python3 cli.py --console