Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
log4j-finder — डिस्क पर और Java Archive Files के अंदर भी असुरक्षित Log4j2 संस्करण खोजें (Log4Shell CVE-2021-44228, CVE-2021-45046, CVE-2021-45105) | Kitploit
उपकरण/GitHubGitHub/fox-it/log4j-finder
स्थैतिक विश्लेषणभेद्यता स्कैनरभेद्यता विश्लेषणकोड विश्लेषणआपूर्ति श्रृंखला सुरक्षाघटना प्रतिक्रिया
GitHubfox-it/log4j-finder

log4j-finder

डिस्क पर और Java Archive Files के अंदर भी असुरक्षित Log4j2 संस्करण खोजें (Log4Shell CVE-2021-44228, CVE-2021-45046, CVE-2021-45105)

रिपॉजिटरी देखें
439963 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

log4j-finder

फ़ाइल सिस्टम को स्कैन करने के लिए एक Python3 स्क्रिप्ट जो Log4Shell (CVE-2021-44228 और CVE-2021-45046 और CVE-2021-45105) के प्रति संवेदनशील Log4j2 को ढूँढती है। यह डिस्क पर और Java Archive फ़ाइलों (JARs) के अंदर (नेस्टेड) दोनों में पुनरावर्ती रूप से स्कैन करती है।

log4j-finder परिणाम

यह कैसे काम करता है

log4j-finder आपके फ़ाइल सिस्टम पर log4j2 लाइब्रेरीज़ की पहचान ज्ञात खराब और ज्ञात अच्छे MD5 हैश की एक सूची का उपयोग करके करता है, जो विशिष्ट फ़ाइलों (वर्तमान में केवल JndiManager.class) के लिए हैं, जो log4j2-core-* पैकेजों में मौजूद हैं; यह मुख्य पैकेज है जो log4shell से प्रभावित है। यह Java Archive फ़ाइलों के अंदर और फ़ाइल सिस्टम पर इन फ़ाइलों की खोज करता है। log4j2 संस्करण तब इस फ़ाइल के MD5 हैश के आधार पर पहचाना जाता है।

स्कैनिंग गति को अनुकूलित करने के लिए, यह फ़ाइल सिस्टम को खोजता है और केवल निम्नलिखित फ़ाइल नामों को संसाधित करता है:

  • सभी फ़ाइलें जिनमें फ़ाइल नाम में Java ARchive फ़ाइल एक्सटेंशन हैं (इन आर्काइव में नेस्टेड भी):
    • *.jar, *.war, *.ear
  • फ़ाइल नाम जिनके लिए हमारे पास ज्ञात खराब और अच्छे हैश हैं (उपरोक्त आर्काइव के अंदर, और नेस्टेड भी):
    • JndiManager.class

यदि फ़ाइल ऊपर वर्णित एक्सटेंशनों में से किसी एक से मेल खाती है, तो यह इन आर्काइव के अंदर (सब कुछ मेमोरी में, कुछ भी अनपैक नहीं किया जाता) फ़ाइल नामों की खोज करने के लिए जाँच करेगा, जिनके लिए स्क्रिप्ट के पास ज्ञात हैश हैं। यह नेस्टेड आर्काइव के अंदर भी देखता है, उदाहरण के लिए, एक WAR फ़ाइल में एक JAR फ़ाइल।

स्क्रिप्ट अन्य आर्काइव फ़ाइल एक्सटेंशन जैसे 7z, RAR, TAR, BZ2, आदि को स्कैन नहीं करती है। इसलिए, उदाहरण के लिए, यदि कोई JAR फ़ाइल किसी 7z फ़ाइल के अंदर है, तो स्क्रिप्ट उसे नहीं ढूँढेगी। इसका तर्क यह है कि Java केवल Java ARchive प्रारूपों को लोड कर सकता है, इसलिए हम केवल उन्हीं को स्कैन करते हैं।

अज्ञात MD5 हैश UNKNOWN के रूप में दिखाए जाते हैं; यह तब हो सकता है जब कोई गैर-log4j2 Java पैकेज उसी फ़ाइल नाम का उपयोग करता है जिसे यह स्क्रिप्ट खोजती है। यह संभवतः log4j2 नहीं है यदि पहचानी गई फ़ाइल पथ में org/apache/logging/log4j के संदर्भ शामिल नहीं हैं। हालाँकि, मैन्युअल सत्यापन अभी भी अनुशंसित है।

डाउनलोड और चलाना

आप निम्नलिखित विधियों में से एक का उपयोग करके log4j-finder स्थापित कर सकते हैं:

रिलीज़ बाइनरी का उपयोग करना

आप अपने ऑपरेटिंग सिस्टम के लिए सही बाइनरी डाउनलोड कर सकते हैं:

  • विंडोज नवीनतम (हस्ताक्षरित): log4j-finder-signed.exe
    • गैर-हस्ताक्षरित बाइनरी भी उपलब्ध हैं, लेकिन PyInstaller निष्पादनयोग्य होने के कारण आपके एंटीवायरस को ट्रिगर कर सकती हैं। आप स्वयं भी निष्पादनयोग्य बना सकते हैं, "log4j-finder निष्पादनयोग्य बनाना" देखें।
  • Linux x86_64 नवीनतम: log4j-finder

यदि आप Linux पर हैं, तो आप नवीनतम रिलीज़ डाउनलोड कर सकते हैं और निम्नलिखित तरीकों में से एक का उपयोग करके चला सकते हैं:

root@kitploit:~
curl -L https://github.com/fox-it/log4j-finder/releases/latest/download/log4j-finder -o log4j-finder
chmod +x log4j-finder
sudo ./log4j-finder
root@kitploit:~
wget https://github.com/fox-it/log4j-finder/releases/latest/download/log4j-finder -O log4j-finder
chmod +x log4j-finder
sudo ./log4j-finder

Python 3 का उपयोग करना

Python 3.6+ स्थापित वितरण के लिए, निम्नलिखित विधियों में से एक भी काम करती है:

root@kitploit:~
curl -L https://github.com/fox-it/log4j-finder/raw/main/log4j-finder.py -o log4j-finder.py
sudo python3 log4j-finder.py
root@kitploit:~
wget https://github.com/fox-it/log4j-finder/raw/main/log4j-finder.py
sudo python3 log4j-finder.py
root@kitploit:~
git clone https://github.com/fox-it/log4j-finder
cd log4j-finder
sudo python3 log4j-finder.py

log4j-finder निष्पादनयोग्य बनाना

स्वचालित रूप से उत्पन्न निष्पादनयोग्य

रिपॉजिटरी में एक GitHub Action है जो प्रत्येक कमिट पर PyInstaller का उपयोग करके स्वचालित रूप से log4j-finder.py स्क्रिप्ट की एक विंडोज और लिनक्स बाइनरी उत्पन्न करता है। इन वर्कफ़्लो रन के बिल्ड आर्टिफैक्ट्स को रिलीज़ पेज से जोड़ने के लिए उपयोग किया जाता है।

हम जानते हैं कि कुछ एंटी वायरस विक्रेता विंडोज बाइनरी को पसंद नहीं करते हैं, उस स्थिति में हम निम्नलिखित चरणों का उपयोग करके स्वयं निष्पादनयोग्य बनाने की सलाह देते हैं (ध्यान दें कि अब हम हस्ताक्षरित बाइनरी भी प्रदान करते हैं)।

विंडोज निष्पादनयोग्य बनाना

  1. यदि आपके पास Python 3.6 या उच्चतर स्थापित नहीं है, तो पहले इसे https://www.python.org/downloads/ से डाउनलोड करें

    • यदि आप अपनी बाइनरी को विंडोज 7 पर काम करना चाहते हैं तो Python 3.8.10 चुनें:
      • Python 3.8.10 विंडोज इंस्टॉलर (32 बिट) डाउनलोड करें
      • Python 3.8.10 विंडोज इंस्टॉलर (64-बिट) डाउनलोड करें
    • सुनिश्चित करें कि इंस्टॉल के दौरान आप Add Python 3.x to PATH चुनें, इससे निम्नलिखित चरण बहुत आसान हो जाते हैं।
  2. एक कमांड प्रॉम्प्ट खोलें और pyinstaller पैकेज को स्थापित करने के लिए pip का उपयोग करें:

    root@kitploit:~
    pip install pyinstaller
    
    # आउटपुट में आप देखेंगे कि pyinstaller कहाँ स्थापित है, उदाहरण के लिए:
    # C:\Users\User\AppData\Roaming\Python\Python310\Scripts
    #
    # --version का उपयोग करके सत्यापित करें
    C:\Users\User\AppData\Roaming\Python\Python310\Scripts\pyinstaller.exe --version
    4.7
    
  3. वैकल्पिक रूप से रंगों के लिए समर्थन जोड़ने के लिए colorama पैकेज स्थापित करें:

    root@kitploit:~
    pip install colorama
    
root@kitploit:~
pyinstaller --onefile --hidden-import colorama log4j-finder.py

विंडोज निष्पादनयोग्य तब dist निर्देशिका में होता है: dist\log4j-finder.exe

लिनक्स निष्पादनयोग्य बनाना

डेबियन 11 के लिए उदाहरण दिया गया है:

root@kitploit:~
# pip3 का उपयोग करके PyInstaller स्थापित करें
sudo apt update
sudo apt install python3-pip git
pip3 install --user pyinstaller

# Git clone और PyInstaller का उपयोग करके बिल्ड करें
git clone https://github.com/fox-it/log4j-finder
cd log4j-finder
~/.local/bin/pyinstaller --onefile log4j-finder.spec

# सत्यापित करें कि बाइनरी काम करती है
./dist/log4j-finder --help

उपयोग

किसी पथ को स्कैन करने का उदाहरण (डिफ़ॉल्ट / है):

root@kitploit:~
$ python3 log4j-finder.py /path/to/scan

या सीधे एक JAR फ़ाइल:

root@kitploit:~
$ python3 log4j-finder.py /path/to/jarfile.jar

या एकाधिक निर्देशिकाएँ और/या फ़ाइलें:

root@kitploit:~
$ python3 log4j-finder.py /path/to/dir1 /path/to/dir2 /path/to/jarfile.jar

फ़ाइलों या निर्देशिकाओं को बाहर करें:

root@kitploit:~
$ python3 log4j-finder.py / --exclude "/*/.dontgohere" --exclude "/home/user/*.war"

ध्यान दें कि विंडोज पर यदि आप कोई अतिरिक्त तर्क नहीं देते हैं तो यह केवल रूट c:\ ड्राइव को स्कैन करता है। हम उन ड्राइव्स को निर्दिष्ट करने की सलाह देते हैं जिन्हें आपको कमांडलाइन पर स्कैन करने की आवश्यकता है, जैसे (जो ड्राइव मौजूद नहीं हैं उन्हें छोड़ दिया जाता है):

root@kitploit:~
log4j-finder.exe c:\ d:\ e:\ f:\

जिन फ़ाइलों या निर्देशिकाओं तक पहुँचा नहीं जा सकता (अनुमति अस्वीकृत त्रुटियाँ) उन्हें मुद्रित नहीं किया जाता है।

यदि आप अधिक आउटपुट देखना चाहते हैं, तो आप वर्बोज़ के लिए -v फ्लैग दे सकते हैं, या डीबग मोड के लिए -vv (केवल डीबगिंग उद्देश्यों के लिए अनुशंसित)।

एप्लिकेशन तर्क:

root@kitploit:~
positional arguments:
  PATH                  स्कैन करने के लिए निर्देशिका या फ़ाइल(एँ) (पुनरावर्ती रूप से) (डिफ़ॉल्ट:
                        ['/'])

optional arguments:
  -h, --help            यह सहायता संदेश दिखाएँ और बाहर निकलें
  -v, --verbose         विस्तृत आउटपुट (-v जानकारी है, -vv डीबग है) (डिफ़ॉल्ट: 0)
  -n, --no-color        रंग आउटपुट अक्षम करें (डिफ़ॉल्ट: False)
  -q, --quiet           अधिक शांत रहें, बैनर और सारांश अक्षम करता है (डिफ़ॉल्ट:
                        False)
  -b, --no-banner       बैनर अक्षम करें (डिफ़ॉल्ट: False)
  -V, --version         प्रोग्राम का संस्करण संख्या दिखाएँ और बाहर निकलें
  -e PATTERN, --exclude PATTERN
                        पैटर्न द्वारा फ़ाइलों/निर्देशिकाओं को बाहर करें (एकाधिक बार उपयोग किया जा सकता
                        है) (डिफ़ॉल्ट: None)

फ़ाइलों को पुनरावर्ती रूप से स्कैन किया जाता है, डिस्क पर और (नेस्टेड) Java Archive फ़ाइलों में दोनों।

टूल डाउनलोड करें
  • log4j-finder.py स्क्रिप्ट का नवीनतम संस्करण डाउनलोड करें और फिर PyInstaller चलाएँ: