
# प्रॉक्समॉक्स सलाहकार आईडी के लिए पुनर्प्राप्ति नोट्स: PSA-2026-00043-1 (CVE-2023-54391)
एक वाइपर से पुनर्प्राप्ति जो रैनसमवेयर के रूप में प्रस्तुत हुआ, इंटरनेट-एक्सपोज़्ड Proxmox इंफ्रास्ट्रक्चर पर हमले के बाद (PSA-2026-00043-1 / CVE-2023-54391)।
हमलावर ने गेस्ट को मिटा दिया और फाइलसिस्टम को क्षतिग्रस्त छोड़ दिया। गेस्ट के आधार पर दो पुनर्प्राप्ति ट्रैक:
ये उपकरण और पद्धति हैं, सामान्यीकृत ताकि वे उसी स्थिति में किसी के लिए उपयोगी हों। स्रोत के विरुद्ध केवल-पठनीय, CC0। कोई वास्तविक पुनर्प्राप्त डेटा शामिल नहीं है; उदाहरण आउटपुट प्लेसहोल्डर का उपयोग करता है।
क्षतिग्रस्त डिस्क अब आपकी एकमात्र प्रति है जो बची है। इसे ठीक न करें। इसकी इमेज बनाएं।
blockdev --setro /dev/<source> # 1. केवल-पठनीय, तुरंत
dd if=/dev/<source> of=/safe/disk.img bs=4M conv=noerror,sync # 2. सुरक्षित स्टोरेज पर इमेज
# 3. fsck, mount rw, या "repair" न करें; यह ब्लॉक ओवरराइट करता है जिसकी कार्वर को आवश्यकता है
# 4. हर स्रोत पास को scripts/source_guard.sh में लपेटें
# 5. केवल इमेज से पुनर्प्राप्त करें, मूल से कभी नहीं
साझा अनुशासन, विभाजित कार्वर। किसी को भी के साथ चलाएं। Python 3.8+ / bash, कोई तृतीय-पक्ष पैकेज नहीं। को Linux की आवश्यकता है।
-hsource_guard.sh/proc/diskstats| स्क्रिप्ट | ट्रैक | यह क्या करता है |
|---|---|---|
scripts/source_guard.sh | साझा | एक पुनर्प्राप्ति कमांड को लपेटता है; राइट-काउंटर अंतर के माध्यम से साबित करता है कि स्रोत केवल-पठनीय रहा। किसी भी स्रोत राइट पर विफल होता है। |
scripts/wt_leaf_carve.py | डेटाबेस | कच्चे WiredTiger लीफ पेजों से BSON निकालता है। पेज आकार डिकोड द्वारा, फिट द्वारा नहीं; अनिवार्य सकारात्मक नियंत्रण। |
scripts/bson_frame.py | डेटाबेस | ऑन-डिस्क फ्रेमिंग द्वारा BSON दस्तावेज़ों की गणना/सत्यापन करता है। डिफ़ॉल्ट रूप से पूरी-फाइल; एक नमूना FLOOR के रूप में चिह्नित है। |
scripts/fs_carve_classify.py | फाइलसिस्टम | निकाले गए फाइल टुकड़ों को सामग्री द्वारा, फ़ाइलनाम द्वारा नहीं वर्गीकृत करता है; प्रति-फाइल मेनिफेस्ट लिखता है; व्यापक गोपनीयता स्कैन। |
scripts/sensitivity_scan.py | साझा | क्रेडेंशियल/PII एक्सपोज़र के लिए पुनर्प्राप्त डेटा को RED/AMBER/GREEN स्तरों में विभाजित करता है। गणना प्रिंट करता है, मान कभी नहीं। |
scripts/integrity_verify.py | साझा | साबित करता है कि एक पुनर्गठित प्रति स्रोत के प्रति वफादार है। सामग्री-कीड (रीनेम से बचता है); OK/FAILED कॉलम पढ़ता है, एग्ज़िट कोड नहीं। |
scripts/make_demo.py | — | टूलकिट का अभ्यास करने के लिए सिंथेटिक BSON फिक्स्चर उत्पन्न करता है (कोई वास्तविक डेटा नहीं)। |
python3 scripts/make_demo.py
python3 scripts/bson_frame.py --total demo/*.bson
python3 scripts/sensitivity_scan.py demo/*.bson
python3 scripts/integrity_verify.py --compare demo/source demo/copy
इस क्रम में चलाया गया। कार्व चरण गेस्ट द्वारा शाखाबद्ध होता है; setro/image बुकएंड और सामग्री-कीड सत्यापन दोनों मामलों में समान हैं।
क्षतिग्रस्त डिस्क ──setro+image──► केवल-पठनीय इमेज
│
डेटाबेस ──────────►│◄────────── फाइलसिस्टम
WT पेज निकालें │ फाइलें निकालें
दस्तावेज़ गिनें │ सामग्री द्वारा वर्गीकृत करें + मेनिफेस्ट
│
एक्सपोज़र स्तर (RED/AMBER/GREEN)
प्रति सत्यापित करें (सामग्री-कीड)
│
पुनर्प्राप्ति
find | sort | xargs sha256sum | sha256sum पथ और लोकेल को भी हैश करता है। LC_ALL=C, या प्रति-फाइल मेनिफेस्ट का उपयोग करें।sha256sum -c FAILED प्रिंट करते हुए 0 से बाहर निकलता है। कॉलम पढ़ें, $? नहीं।शुरुआती बिंदु, टर्नकी नहीं। प्रोडक्शन WiredTiger पेज कम्प्रेशन (snappy/zstd) और सेल एन्कोडिंग का उपयोग करता है जिसे सामान्य कार्वर स्टब करता है। कम्प्रेस्ड पेजों के लिए अपना स्वयं का मजबूत डिकोडर जोड़ें। हर संख्या को सकारात्मक नियंत्रण और दूसरे, अलग उपकरण के विरुद्ध क्रॉस-चेक करें: दो उपकरण जो एक धारणा साझा करते हैं, धारणा के कारण सहमत होते हैं, इसलिए नहीं कि यह सही है; बाइट्स पढ़ना ही इसे पकड़ता है।
यदि आपका डेटा समान नहीं है (अलग डेटाबेस, ऐप, या फाइलसिस्टम), पद्धति अभी भी लागू होती है: स्रोत को केवल-पठनीय सेट करें, इमेज करें, प्रति से निकालें, शून्य पर विश्वास करने से पहले सकारात्मक-नियंत्रित करें, पूरी चीज़ गिनें, सामग्री द्वारा सत्यापित करें। कार्वर बदलें; अनुशासन रखें।
मूल कारण को सख्त करें: Proxmox वेब UI :8006 पर इंटरनेट से पहुंच योग्य नहीं होना चाहिए। आधिकारिक Proxmox सुरक्षा सलाहकारों का पालन करें:
https://forum.proxmox.com/threads/proxmox-virtual-environment-security-advisories.149331/
लेखक की पुनर्प्राप्ति और सख्ती पर सामान्य सलाह के साथ एक अधिक उपयोगकर्ता-अनुकूल लेखन: https://claude.ai/code/artifact/621495ce-4972-405a-ad90-f7703f7dc2f1
CC0 / सार्वजनिक डोमेन। LICENSE देखें।