Skip to content

v1.6.11 — OOB / 带外回连

Choose a tag to compare

@hack-umbrella hack-umbrella released this 13 Oct 15:07
· 6 commits to llm since this release

路线图第 2 项:OOB / 带外回连。

为什么必须有

盲注、盲 SSRF、无回显 RCE、XXE 外带、JNDI/反序列化注入的「打没打中」只能靠回连确认。
在此之前整库没有任何回连能力(连一处 oob 字样都只在 UI 标签里),等于结构性放弃这一整类漏洞,
poc 纪律也无法闭环。

新增

  • lib/oob.mjs
    • Provider 可插拔:local(自建,明文 JSON 协议,便于内网自控/测试)、
      interactsh(公共或自建集群,回连数据 AES-CFB 解密;解密失败退回原文,不丢整批回连)
    • buildPayload:每注入点一个唯一 token.域名,DNS 与 HTTP 同一 token
    • normalizeInteraction:统一两家后端的字段(协议/来源 IP/时间/原始请求响应/唯一 id)
    • OobState:correlation id 与 secret 落 $DSH_HOME/oob/<sessionId>.json(0600),
      进程重启后仍能继续 poll;回连按 id 去重,只入库一次
  • pentest_oob 工具:start / new / poll / list / stop
    • 回连落成 kind=http|info 事实(带来源 IP、时间、原始请求),可直接作为 PoC 证据
    • 子 agent 只负责注入 payload,回连入库仍归决策 agent(已加入 toolFilter.deny)

测试

新增 test/oob.test.mjs 25 项:payload 构造、字段规范化(含 JSON 字符串形式)、
状态持久化与权限位、去重、AES 往返、无密钥兜底、未知 provider 报错。全部用桩 fetch,不联网。

npm test 12 个测试文件全绿;npm run check 30/30。