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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Log4j-CVE-Detect — नेस्टेड बाइनरीज़ के अंदर CVE-2021-44228 के लिए डिटेक्शन | Kitploit
उपकरण/GitHubGitHub/darkarnium/log4j-cve-detect
स्थैतिक विश्लेषणभेद्यता स्कैनरकंटेनर सुरक्षाभेद्यता विश्लेषणDevSecOpsबाइनरी विश्लेषणआपूर्ति श्रृंखला सुरक्षा
GitHubdarkarnium/log4j-cve-detect

Log4j-CVE-Detect

नेस्टेड बाइनरीज़ के अंदर CVE-2021-44228 के लिए डिटेक्शन

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

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

सभी देखें →

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

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

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

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

Log4J-CVE-Detect

इस रिपॉजिटरी में YARA नियमों का एक सेट है जो log4j के उन संस्करणों का पता लगाने के लिए है जो CVE-2021-44228, CVE-2021-45046, और/या CVE-2021-45105 के प्रति संवेदनशील हैं, प्रभावित संस्करणों में दिखाई देने वाली कई विशेषताओं को देखकर।

यह उपकरण बाइनरी फ़ाइलों जैसे Docker इमेज, सिस्टम पैकेज, फ़ाइलसिस्टम इमेज, और यहाँ तक कि इंस्टॉलेशन मीडिया पर पुनरावर्ती रूप से काम करता है। समर्थित फ़ाइल प्रारूपों की पूरी सूची के लिए "यह कैसे काम करता है?" अनुभाग देखें।

  • CVE-2021-44228
    • JndiManager निर्माता के हस्ताक्षर की खोज करता है (< 2.15.0)।
  • CVE-2021-45046
    • उन Interpolator वर्गों की खोज करता है जो JndiManager आयात नहीं करते हैं (< 2.16.0)।
  • CVE-2021-45105
    • उन AbstractConfiguration वर्गों की खोज करता है जो ConfigurationStrSubstitutor आयात नहीं करते हैं (< 2.17.0)।

हालाँकि CodeQL या Semgrep का उपयोग करके log4j के असुरक्षित उपयोग का पता लगाने के लिए कई संसाधन उपलब्ध हैं, फिर भी बाइनरी आर्टिफैक्ट्स के अंदर संभावित रूप से संवेदनशील log4j संस्करणों का पता लगाने के लिए अभी तक कोई संसाधन उपलब्ध नहीं कराया गया है।

यह उन संगठनों के लिए एक चुनौती पेश करता है जो एंटरप्राइज़ एप्लिकेशन चला रहे हैं जो आंतरिक रूप से विकसित नहीं किए गए थे, या जहां प्रारंभिक ट्राइएज करने वाली टीमों को स्रोत कोड तुरंत उपलब्ध नहीं है।

चूंकि यह भेद्यता विभिन्न "अप्रत्याशित" स्थानों पर सामने आने की संभावना है, इसलिए यह टूलिंग संकलित आर्टिफैक्ट्स के अंदर log4j के संवेदनशील संस्करणों का पता लगाने में सहायता करने का इरादा रखती है, जिसे बाद में शोषण क्षमता निर्धारित करने के लिए मैन्युअल रूप से समीक्षा की जा सकती है।

सावधानियाँ

अस्पष्ट कोड (Obfuscated code) के परिणामस्वरूप गलत नकारात्मक परिणाम (false negatives) होंगे, जहाँ एक संभावित रूप से संवेदनशील विजेट अस्पष्टता के उपयोग के कारण पता लगाने में असमर्थ होता है।

इसे चलाना

इस उपकरण को चलाने के लिए इस रिपॉजिटरी को क्लोन करें और निम्नलिखित चरणों का पालन करें। यह मानता है कि Docker और jq स्थापित हैं।

  1. जिन बाइनरी की जाँच करनी है उन्हें artifacts/ फ़ोल्डर में जोड़ें
  2. quickstart.sh चलाएँ (./quickstart.sh)

वैकल्पिक रूप से, रन को निम्नलिखित कमांड का उपयोग करके अनुकूलित किया जा सकता है:

root@kitploit:~
docker run \
    --rm \
    --mount type=bind,source=$(pwd)/artifacts,target=/mnt/stacs/input \
    --mount type=bind,source=$(pwd)/rules,target=/mnt/stacs/rules \
    stacscan/stacs:latest \
      --rule-pack "/mnt/stacs/rules/vulnerability.json" \
      "/mnt/stacs/input"

यदि आप केवल CVE-2021-44228 की तलाश करना चाहते हैं, तो निम्नलिखित कमांड का उपयोग किया जा सकता है:

root@kitploit:~
docker run \
    --rm \
    --mount type=bind,source=$(pwd)/artifacts,target=/mnt/stacs/input \
    --mount type=bind,source=$(pwd)/rules,target=/mnt/stacs/rules \
    stacscan/stacs:latest \
      --rule-pack "/mnt/stacs/rules/CVE-2021-44228.json" \
      "/mnt/stacs/input"

यदि आप केवल CVE-2021-45046 की तलाश करना चाहते हैं, तो निम्नलिखित कमांड का उपयोग किया जा सकता है:

root@kitploit:~
docker run \
    --rm \
    --mount type=bind,source=$(pwd)/artifacts,target=/mnt/stacs/input \
    --mount type=bind,source=$(pwd)/rules,target=/mnt/stacs/rules \
    stacscan/stacs:latest \
      --rule-pack "/mnt/stacs/rules/CVE-2021-45046.json" \
      "/mnt/stacs/input"

यदि आप केवल CVE-2021-45105 की तलाश करना चाहते हैं, तो निम्नलिखित कमांड का उपयोग किया जा सकता है:

root@kitploit:~
docker run \
    --rm \
    --mount type=bind,source=$(pwd)/artifacts,target=/mnt/stacs/input \
    --mount type=bind,source=$(pwd)/rules,target=/mnt/stacs/rules \
    stacscan/stacs:latest \
      --rule-pack "/mnt/stacs/rules/CVE-2021-45105.json" \
      "/mnt/stacs/input"

इस उपकरण को Docker के बिना भी चलाया जा सकता है। कृपया STACS को Docker के बिना स्थापित करने के तरीके के लिए STACS स्थापना निर्देश देखें।

Docker के बारे में क्या?

Docker इमेज को स्कैन करने के लिए पहले इसे स्कैनिंग के लिए artifacts निर्देशिका में निर्यात करना होगा। यह निम्नलिखित कमांड का उपयोग करके किया जा सकता है:

root@kitploit:~
IMAGE="alpine:latest"
NAME="alpine_latest"

docker export $(docker create ${IMAGE}) -o artifacts/${NAME}.tar

वैकल्पिक रूप से, एक चल रहे कंटेनर को केवल इसका उपयोग करके निर्यात किया जा सकता है:

root@kitploit:~
# Replace CONTAINER_ID with the correct container identifier.
CONTAINER_ID="c29209118f9a"
NAME="widget_example"

docker export ${CONTAINER_ID} -o artifacts/${NAME}.tar

मुझे एक खोज (finding) मिली! मैं क्या करूँ?

आपको यह समझने के लिए एप्लिकेशन में log4j के उपयोग की जाँच करनी होगी कि क्या उत्पाद संवेदनशील है। यदि यह संभव नहीं है, स्रोत कोड तक पहुँच की कमी या अन्यथा के कारण, तो आपको जाँचना चाहिए कि क्या विक्रेता ने इस मामले पर कोई एडवाइज़री प्रकाशित की है।

यह कोई गारंटी नहीं है कि log4j के एक संवेदनशील संस्करण का शामिल होना यह दर्शाता है कि उत्पाद संवेदनशील है!

यदि आपको कोई एडवाइज़री नहीं मिलती है, तो आपको उत्पाद पर इस भेद्यता के प्रभाव के बारे में पूछने के लिए विक्रेता से संपर्क करना चाहिए।

साथ ही log4j प्रोजेक्ट द्वारा प्रकाशित शमन (mitigations) से परामर्श लें। वैकल्पिक रूप से, और अधिमानतः, log4j के एक अप्रभावित संस्करण में अपग्रेड करें।

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

हालाँकि इस उद्देश्य के लिए डिज़ाइन नहीं किया गया है, यह उपकरण बल्क बाइनरी डीकंपोज़िशन और विश्लेषण के लिए STACS इंजन का उपयोग करता है।

STACS एक YARA-संचालित स्थैतिक क्रेडेंशियल स्कैनर है जो बाइनरी फ़ाइल प्रारूपों, नेस्टेड आर्काइव के विश्लेषण, रचनात्मक नियमसेट और अनदेखा सूची, और SARIF रिपोर्टिंग का समर्थन करता है।

एक उदाहरण के रूप में, यह उपकरण एक tarball का विश्लेषण कर सकता है जिसमें एक निर्यातित Docker इमेज होती है, जिसमें फ़ाइलसिस्टम पर कहीं एक JAR होता है जो इस भेद्यता से प्रभावित है।

यह नेस्टेड tar, jar, war, ear, zip, apk, bz2, tgz, xz, rpm, iso, आदि का भी विश्लेषण कर सकता है।

मुझे एक गलत सकारात्मक / नकारात्मक (false positive/negative) मिला

कृपया एक Github issue खोलें जिसमें समस्या का वर्णन हो, और प्रभावित बाइनरी आर्टिफैक्ट से लिंक हो - जहाँ संभव हो।

नियमसेट को समायोजित करने के लिए पुल रिक्वेस्ट की भी बहुत सराहना की जाएगी!

मान्यकरण

इस नियमसेट के मान्यकरण से लॉग फ़ाइलों के एक सेट के लिए validation/ निर्देशिका देखें।

टूल डाउनलोड करें