<< All versions

Skill v1.0.0

currentLLM-judged scan90/100
lielingai/zhishi/pentest-vm
──Details
PublishedOctober 21, 2026 at 11:43 PM
Content Hashsha256:e716b88f51647384...
Git SHA438e9ea58937
──Files
Files (1 file, 4.0 KB)
SKILL.md4.0 KBactive
SKILL.md · 94 lines · 4.0 KB

version: "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-base
zhishi 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 记下来,蒸馏弧会沉淀。

All versions