Skill v1.0.0
currentLLM-judged scan90/100version: "1.0.0" name: pentest-vm description: 渗透研究 VM 环境。当渗透任务需要 VM 级网络语义(独立网络命名空间与网段、对靶场内网的持久驻留跳板、不可信目标的 hypervisor 级隔离、快照回滚的反复尝试)而 docker 容器不够用时使用——以 VMware Workstation 模板 VM 为基底,内置 nmap/masscan、subfinder/httpx(子域采集与活资产收敛)、nuclei/katana、ffuf/gobuster + SecLists、arjun(隐藏参数发现)、sqlmap/hydra、nxc/enum4linux-ng/impacket、ZAP/Playwright 的渗透工具集,快照约定保证每次进入都是干净环境。 base: vm vm_user: researcher vm_snapshot: zhishi-clean tools:
- nmap
- masscan
- subfinder
- httpx
- ffuf
- gobuster
- arjun
- nuclei
- katana
- sqlmap
- hydra
- nxc
- enum4linux-ng
- secretsdump.py
- zap.sh
- playwright
- nc
- socat
- python3
pentest-vm —— 渗透研究 VM 环境
何时用
与 docker 版 pentest 配方同族,但选 VM 基底的场景:
- 独立网络命名空间——渗透的网络语义是真实的:VM 独立网卡/网段,arp/广播/多播行为与靶场网络一致(容器桥接给不了)
- 快照回滚的反复尝试——每次
env up自动 revert 到zhishi-clean,打脏环境随手丢弃 - 不可信目标交互需要 hypervisor 级隔离(容器共享宿主内核,不够)
- 持久驻留跳板——对靶场内网的长周期任务,VM 一直挂着
前置:模板 VM(人发起,自动养成)
配方不带虚拟机本体。模板 = 一台已有系统的 VM(Ubuntu Server 建议), 用 adopt 一键养成:
zhishi env adopt pentest-vm --vm "C:\VMs\ubuntu-pentest\ubuntu-pentest.vmx"# 公钥不通时会提示现场输入 guest 密码(不落盘)
adopt 全自动完成:找地址(Tools / DHCP 租约反查)→ 装 open-vm-tools + openssh-server(若缺)→ 建 researcher 用户 + 写入公钥 → 跑本配方 setup.sh → 关机 → 做 zhishi-clean 快照 → 模板落 config.json。 唯一地板:guest 至少有 sshd 或 VMware Tools 之一(apt 系系统)。
怎么进
zhishi env up pentest-vm # adopt 后免 --vm-basezhishi env open pentest-vm # SSH 进 guest(地址 up 时自动回写)
env up 做的事(D22 直连真实 VM,不拷贝——VM 本身就是环境):已在跑则 幂等只刷新地址;否则存在 zhishi-clean 快照则 revert → vmrun start nogui → getGuestIPAddress -wait 拿地址并回写 env 条目(id = 配方名)。
初始化(adopt 已全自动完成)
env adopt 会在 guest 内跑本配方的 setup.sh(装工具集 + 自检)并在关机后 做 zhishi-clean 快照。之后每次 up 都回到这个干净现场。模板若手动改过, 重新 adopt 一次即可刷新。
标准工作流
与 docker 版 pentest 配方一致:黑盒六步(被动情报→归属分诊→攻击面建模→逐点深析→入口利用→持久化留痕)+ 工作台目录约定(<target>/{intel,recon,enum,findings,exploit}/)同 docker 版。nmap 侦察 → ffuf/gobuster + SecLists 枚举 → nuclei 模板扫描 → sqlmap 确认 → nc/socat 拿 shell。样本与字典经 SSH (scp/sftp)带进 guest,结果落回工作区。
- SecLists 在 guest 的
~/seclists/(Discovery/Web-Content 子集) - 长扫描走 env_bg,别堵一次性命令;反向 shell 监听也在 guest 内起
- ZAP/Playwright 在 guest 内 headless 用(
zap.sh -cmd -quickurl ...)
结果怎么采
扫描报告、loot、shell 会话记录从 guest 拷回工作区(scp)。快照隔离了 环境污染,但结果文件不会自动出来——收尾前记得采。
怎么收尾
zhishi env down pentest-vm(stop soft 停 VM,文件不动——这是你的真实 VM)。 现场不用收拾:下次 env up 自动 revert 回 zhishi-clean 干净现场。 zhishi env rm pentest-vm 只摘除登记(env 条目),VM 文件一律不碰。有效的 套路用 zhishi research log 记下来,蒸馏弧会沉淀。