@xegen/dsh-pentest-skills
v0.3.0
Published
DSH pentest skills plugin: info-gathering + pentest toolkit (CN-scenario), with Yakit/Chrome MCP config
Maintainers
Readme
dsh-pentest-skills
DSH(DeepSeek Harness)渗透测试 skills 套件:信息收集 + 渗透测试工具链,国内场景深度适配。
npm 插件包(推荐安装方式)
本套件已发布为 DSH 插件,一键安装自动配置 Yakit/Chrome MCP:
# 安装插件(自动配置 mcp-yakit + mcp-chrome)
dsh plugin --profile <名称> add @xegen/dsh-pentest-skills
# 激活 skills(复制到 DSH skill 根目录)
Copy-Item <插件包>\skills\* $DSH_HOME\skills\ -Recurse
# 工具链检查
python <插件包>\pentest.py tools- npm 包:
@xegen/dsh-pentest-skills(https://www.npmjs.com/package/@xegen/dsh-pentest-skills) - 本仓库为源码与完整文档;插件包为开箱即用的安装形态(含 MCP 自动配置)
架构
pentest-web(SOP 总纲:业务功能驱动 + 单 URL 快速路径 + 双 MCP)
├── 信息收集层(免问):recon / redteam / hunter / subdomain / probe / portscan
│ fingerprint / ssl / cdn / dork / favicon
└── 渗透测试层(分级确认):jsfinder(免问)/ pocscan / sqli / exploit / dirscan
└── 双引擎:Chrome MCP(浏览器交互)+ Yakit MCP(流量/扫描/编码/反连)skills/— 19 个 SKILL.md(DSH 技能说明)pentest.py+core/— Python 引擎(18 个模块)test_*.py— 本地模拟靶场(Web 特征 / POC 漏洞 / SQLi / 蜜罐)
安装与配置
# 1. 工具目录:二进制工具(subfinder/httpx/ffuf/nuclei/sqlmap 等)放到 <PENTEST_DIR>/tools/ 或:
$env:PENTEST_TOOLS_DIR = "你的工具目录"
# 2. 字典目录(默认 <工具目录>/dict)
$env:PENTEST_DICT_DIR = "你的字典目录"
# 3. 凭据(可选,写入 <PENTEST_DIR>/.env,不入库):
# FOFA_EMAIL=xxx / FOFA_KEY=xxx / HUNTER_KEY=xxx / QUAKE_KEY=xxx
# ZOOMEYE_KEY=xxx / SHODAN_KEY=xxx / DAYDAYMAP_KEY=xxx
# 4. 工具链状态检查
python pentest.py tools工具自动探测顺序:环境变量精确路径 > 工具目录递归 > PATH。
使用方法
普通模式(单目标深入)
python pentest.py recon <域名> --authorized # 全流程信息收集
python pentest.py fingerprint <URL> --authorized # 指纹识别(双引擎)
python pentest.py jsfinder <URL> --authorized # JS 接口/密钥提取
python pentest.py pocscan <URL> --authorized # POC 验证(需确认)
python pentest.py sqli "<URL?id=1>" --authorized # SQL 注入(需确认)
python pentest.py exploit --vuln shiro --authorized # 利用工作台(需确认)红队模式(批量资产打点)
# 资产清单:每行一个 IP/域名/URL/ip:port(支持混排)
python pentest.py redteam assets.txt --authorized单 URL 快速路径
指定 URL 时跳过资产发现(测绘/子域/端口/CDN),直接应用层: probe → fingerprint → jsfinder → 功能点测试。
输出与 quiet
# 所有结果落盘 <输出目录>/<目标>/<模块>/(JSON+文本双格式)
python pentest.py <模块> <目标> --authorized --quiet # 精简输出双 MCP 集成(可选)
配置 DSH 的 cordis.patch.yml:
- insert:
- id: mcp-yakit
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: yakit
transport: streamable-http
url: http://127.0.0.1:11432/mcp # Yakit GUI 需启动 MCP
- id: mcp-chrome
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: chrome
transport: stdio
command: npx
args: ['-y', 'chrome-devtools-mcp@latest']- Yakit MCP:http_fuzzer(请求)/ start_mitm_v2(抓包)/ query_http_flow(流量)/ exec_codec(编码)/ require_dnslog_domain(反连)
- Chrome MCP:浏览器交互(登录态/前端加密/XSS 执行验证/上传)
合规红线
- 仅限授权目标(演练/SRC/书面授权),非授权目标拒绝
- 分级确认:被动项(fingerprint/probe/jsfinder)免问;主动攻击(pocscan/sqli/exploit/dirscan)执行前必须确认
- 默认限速 30 req/s;蜜罐标记主机不深入
- 凭据环境变量化,不入版本库
本地验证
自带模拟靶场(全部 127.0.0.1,合规):
python test_server.py # Web 特征(泛微 OA/SPA)
python test_poc_targets.py # 漏洞特征(BshServlet/Spring/ThinkPHP)
python test_sqli_targets.py # SQL 注入(布尔/万能密码)
python test_honeypot.py # 蜜罐模拟推荐搭配 Vulinbox 靶场(http://127.0.0.1:8787,60+ 漏洞案例)练习完整流程。
免责声明:本工具集仅供安全研究与授权测试使用,使用者须遵守当地法律法规。
