
Python 3 में विकसित रिकर्सिव फ़ाइल स्कैनर जो Log4j2 के कमजोर संस्करणों का पता लगाने और स्कैन करने के लिए है, जिसमें JAR फ़ाइलों का आंतरिक विश्लेषण शामिल है (CVE-2021-44228, CVE-2021-45046, CVE-2021-45105 और CVE-2021-44832)
████████████████▀███████████████████████████████████████████████████████████████████ █▄─▄███─▄▄─█─▄▄▄▄█░█░████▄─▄█▀▀▀▀▀██▄─▄▄─█▄─▄█▄─▄███▄─▄▄─█─▄▄▄▄█─▄▄▄─██▀▄─██▄─▀█▄─▄█ ██─██▀█─██─█─██▄─█▄▄░██─▄█─██████████─▄████─███─██▀██─▄█▀█▄▄▄▄─█─███▀██─▀─███─█▄▀─██ ▀▄▄▄▄▄▀▄▄▄▄▀▄▄▄▄▄▀▀▄▄▄▀▄▄▄▀▀▀▀▀▀▀▀▀▀▄▄▄▀▀▀▄▄▄▀▄▄▄▄▄▀▄▄▄▄▄▀▄▄▄▄▄▀▄▄▄▄▄▀▄▄▀▄▄▀▄▄▄▀▀▄▄▀ द्वारा Renato Andalik (@andalik)
सरल और सीधे मुद्दे पर... इसमें न तो अभ्यास की आवश्यकता है और न ही कौशल की!
Log4j-FileScan एक Python 3 स्क्रिप्ट है जो CVE-2021-44228, CVE-2021-45046, CVE-2021-45105 और CVE-2021-44832 में वर्णित Log4j2 फ्रेमवर्क के कमजोर संस्करणों की खोज के लिए फाइलसिस्टम की पूर्ण स्कैनिंग करने के लिए विकसित की गई है।
स्कैनिंग डिस्क और Java Archive (JAR) फ़ाइलों के अंदर दोनों में पुनरावर्ती रूप से की जाती है।

स्कैनिंग की गति को अनुकूलित करने के लिए, खोज केवल समस्या से संबंधित फ़ाइलों में होती है:
Java ARchive एक्सटेंशन वाली सभी फ़ाइलें (zip में संपीड़ित फ़ाइलों सहित):
*.jar, *.war, *.ear और *.zipयदि ऊपर बताए गए एक्सटेंशन में से किसी एक वाली फ़ाइल मिलती है, तो आंतरिक फ़ाइलों की स्कैनिंग होती है (सब कुछ मेमोरी में)।
स्क्रिप्ट को 2 अलग-अलग तरीकों से डाउनलोड और उपयोग किया जा सकता है:
इसे और भी आसान बनाने के लिए, हमने सब कुछ संकलित किया और एक निष्पादन योग्य बाइनरी उपलब्ध कराई है।
बस अपने ऑपरेटिंग सिस्टम के लिए संस्करण डाउनलोड करें, कमांड प्रॉम्प्ट खोलें और निष्पादित करें:
Windows: log4j-filescan.exe
महत्वपूर्ण: PyInstaller द्वारा प्रदान किए गए पैकेजिंग मॉडल (एकल निष्पादन योग्य में सब कुछ) के कारण, कुछ एंटीवायरस गलत-सकारात्मक अलर्ट उत्पन्न कर सकते हैं। इस प्रकार, बस निष्पादन योग्य को अपने एंटीवायरस के अपवाद सूची में शामिल करें।
Linux: log4j-filescan
Linux पर, कंसोल के माध्यम से, आप बाइनरी प्राप्त करने के लिए wget का उपयोग भी कर सकते हैं:
wget https://github.com/andalik/log4j-filescan/releases/download/v1.1.1/log4j-filescan -O log4j-filescan
chmod +x log4j-filescan
sudo ./log4j-filescan
Python 3.6+ स्थापित Linux वितरणों के लिए, नीचे दिए गए तरीकों में से एक का उपयोग करें:
wget https://github.com/andalik/log4j-filescan/raw/main/log4j-filescan.py
export LC_ALL=$(locale -a | grep UTF-8)
sudo python3 log4j-filescan.py
Python 3.6 या उच्चतर https://www.python.org/downloads/ से डाउनलोड करें
Add Python 3.x to PATH विकल्प चुनना सुनिश्चित करें।कमांड प्रॉम्प्ट खोलें और pyinstaller स्थापित करने के लिए pip निष्पादित करें:
pip install pyinstaller
pip install colorama
log4j-filescan.py स्क्रिप्ट का नवीनतम संस्करण डाउनलोड करें और PyInstaller निष्पादित करें:
pyinstaller --onefile --hidden-import colorama log4j-filescan.py
Windows निष्पादन योग्य dist निर्देशिका में बनाया जाएगा: dist\log4j-filescan.exe
Debian 11 के लिए उदाहरण:
sudo apt update
sudo apt install python3-pip git
pip3 install --user pyinstaller
git clone https://github.com/andalik/log4j-filescan
cd log4j-filescan
~/.local/bin/pyinstaller --onefile log4j-filescan.spec
./dist/log4j-finder --help
$ python3 log4j-filescan.py
या
$ python3 log4j-filescan.py /caminho/desejado (Linux पर)
$ python3 log4j-filescan.py d:\ (Windows पर)
$ python3 log4j-filescan.py /caminho/arquivo.jar
$ python3 log4j-filescan.py /caminho/dir1 /caminho/dir2 /caminho/arquivo.jar
$ python3 log4j-filescan.py / --exclude "/caminho/*.war"
$ python3 log4j-filescan.py -v /caminho/desejado
$ python3 log4j-filescan.py -vv /caminho/desejado
c:\ पर होगी।Powershell खोलें (अधिमानतः "Run as Administrator" के साथ) और टाइप करें:
python3 log4j-filescan.py c:\ d:\ e:\
उपकरण पहले C:, फिर D:\ और अंत में E:\ पर स्कैन करेगा। यदि कोई ड्राइव मौजूद नहीं है, तो उपकरण त्रुटि दिखाए बिना निर्दिष्ट ड्राइव को अनदेखा कर देगा। सब कुछ स्क्रीन पर दर्ज किया जाएगा (किस ड्राइव पर कौन सी कमजोर फ़ाइलें पाई गईं)।