
xz बैकडोर भेद्यता (CVE-2024-3094) पर कुछ प्रयोगशालाएँ
सुरक्षित, व्यावहारिक प्रयोगशालाएँ जो xz-utils सप्लाई-चेन बैकडोर को समझने के लिए हैं — रक्षकों, छात्रों और ब्लू-टीमर्स के लिए बनाई गई।
[!WARNING] यह प्रोजेक्ट वास्तविक, वास्तविक दुनिया के मैलवेयर (xz 5.6.0 / 5.6.1 बैकडोर) को संभालता है। इसे केवल रक्षात्मक शिक्षा और अधिकृत अनुसंधान के लिए प्रदान किया गया है। सब कुछ एक डिस्पोजेबल, पृथक गेस्ट में चलता है जिसका इंटरनेट से कोई संपर्क नहीं है। इन आर्टिफैक्ट्स को उस मशीन पर न चलाएँ जिसकी आप परवाह करते हैं, ऐसे नेटवर्क पर जिसे आप नियंत्रित नहीं करते, या किसी ऐसे सिस्टम के विरुद्ध जिसे परीक्षण करने के लिए आप अधिकृत नहीं हैं। देखें SECURITY.md।
| लैब | यह क्या करता है | पेलोड निष्पादित करता है? |
|---|
| लैब 1 — निरीक्षण | एक डिस्पोजेबल सैंडबॉक्स लॉन्च करें, ऑफलाइन में दुर्भावनापूर्ण टारबॉल प्राप्त करें, और छलावरण देखें: git-बनाम-टारबॉल build-to-host.m4 डिफ, टेस्ट-फिक्स्चर पेलोड, मैजिक मार्कर। | नहीं — केवल स्थैतिक निरीक्षण |
| लैब 2 — विस्फोट | एक पृथक तीन-VM नेटवर्क बनाएँ (analyst / compromised / normal, कोई Docker नहीं)। एनालिस्ट जंपबॉक्स से, दोनों होस्ट्स पर SSH करें ताकि लेटेंसी और pcaps की तुलना कर सकें, फिर compromised पर बैकडोर्ड sshd को अपनी Ed448 कुंजी (via xzbot) के साथ ट्रिगर करें ताकि प्री-ऑथ रूट RCE प्राप्त कर सकें — जबकि normal प्रतिरक्षित रहता है। | हाँ — पृथक VM, ऑफलाइन, आपकी कुंजी |
दो साल का सोशल-इंजीनियरिंग अभियान एक दुर्भावनापूर्ण मेंटेनर को xz-utils पर रिलीज़ अथॉरिटी सौंप दिया गया। पेलोड केवल रिलीज़ टारबॉल (git नहीं) में भेजा गया था, टेस्ट फिक्स्चर में छिपाया गया था, और x86-64 glibc सिस्टम पर बिल्ड टाइम पर सक्रिय किया गया था। रनटाइम पर इसने RSA_public_decrypt पर एक glibc IFUNC हुक का उपयोग किया (जो sshd → libsystemd → liblzma के माध्यम से पहुँचा जा सकता है) ताकि कुंजी धारक को प्री-ऑथेंटिकेशन RCE प्रदान किया जा सके — एक कमांड जो SSH प्रमाणपत्र के RSA मॉड्यूलस में छिपा हुआ था, ChaCha20-एन्क्रिप्टेड और Ed448-हस्ताक्षरित। यह C2 नहीं है और न ही कोई जादुई लॉगिन। इसे 29 मार्च 2024 को Andres Freund द्वारा लगभग 500 ms SSH स्लोडाउन के माध्यम से पकड़ा गया था, इससे पहले कि यह स्थिर डिस्ट्रोस तक पहुँचता।
make setup # install/preflight checks (Multipass or Docker, tcpdump, etc.)
make lab1 # inspection sandbox
make lab2 # build the isolated 3-VM detonation network, then: multipass shell analyst
make clean # tear everything down, purge VMs / pcaps / generated keys
पूर्वापेक्षाएँ और प्रति-लैब वॉकथ्रू docs/ में हैं।
sshd केवल लूपबैक / आंतरिक ब्रिज से बंधता है और यदि गेस्ट इंटरनेट तक पहुँच सकता है तो लैब चलने से इनकार करता है।