
CVE-2023-44604 का शोषण. एक Kali Linux VM (attacker) और एक Debian 11 सर्वर VM (victim) का उपयोग करते हुए
[चेतावनी]
यह परियोजना केवल शैक्षिक और प्रयोगशाला उद्देश्यों के लिए है। इन तकनीकों का उपयोग केवल उन वातावरणों में करें जिनके आप स्वामी हैं या जिनका परीक्षण करने के लिए आप अधिकृत हैं।
यह लैब CVE-2023-46604 के शोषण का अनुकरण करेगा, जिसमें एक Kali Linux VM (हमलावर) और एक Debian 11 सर्वर VM (पीड़ित) का उपयोग किया जाएगा।
यह लैब तभी काम करेगा जब आपका होस्ट ऑपरेटिंग सिस्टम Windows हो!
--> यदि आप Linux का उपयोग कर रहे हैं, तो यह लैब काम नहीं करेगा!
चेतावनी
Apache और Java सॉफ्टवेयर VM पर (स्क्रिप्ट का उपयोग करके) स्वचालित रूप से स्थापित हो जाएंगे। इन्हें अपने होस्ट पीसी पर मैन्युअल रूप से स्थापित न करें!
हम इस अभ्यास में निम्नलिखित सॉफ्टवेयर का उपयोग करते हैं:
VBoxManage स्थापित करें, और कमांड को एक पर्यावरण चर बनाएं:
रिपॉजिटरी को अपनी पसंद के स्थान पर क्लोन या डाउनलोड करें। (vboxmanage कमांड को इस फ़ोल्डर में काम करने में सक्षम होना चाहिए)
C:\Users\<user_name>\CVE-2023-46604\अपने स्थानीय सिस्टम पर रिपॉजिटरी क्लोन करने के बाद, उस फ़ोल्डर (\CVE-2023-46604\) में एक नया फ़ोल्डर VDI\ जोड़ें।
आपकी फ़ोल्डर संरचना अब इस प्रकार दिखनी चाहिए:
CVE-2023-46604\
│
├── .gitignore
│
├── LICENSE
│
├── README.md
│
├── scripts\
│ ├── DebCreate.ps1
│ ├── DebDelete.ps1
│ ├── KalCreate.ps1
│ ├── KalDelete.ps1
│ ├── sshDebian.ps1
│ ├── sshKali.ps1
│ ├── softwareInstallDebian.sh
│ └── softwareInstallKali.sh
│
└── VDI\
इस लैब में स्क्रिप्ट VM बनाने और हटाने के लिए VDI फ़ाइलों का उपयोग करती हैं। अब हम निम्नलिखित VDI फ़ाइलें डाउनलोड करेंगे:
CVE-2023-46604\VDI\ फ़ोल्डर में रखें।Debian-original.vdi के रूप में सहेजें।CVE-2023-46604\VDI\ फ़ोल्डर में रखें।Kali-original.vdi के रूप में सहेजें।आपकी फ़ोल्डर संरचना अब इस प्रकार दिखनी चाहिए:
CVE-2023-46604\
│
├── .gitignore
│
├── LICENSE
│
├── README.md
│
├── scripts\
│ ├── DebCreate.ps1
│ ├── DebDelete.ps1
│ ├── KalCreate.ps1
│ ├── KalDelete.ps1
│ ├── sshDebian.ps1
│ ├── sshKali.ps1
│ ├── softwareInstallDebian.sh
│ └── softwareInstallKali.sh
│
└── VDI\
├── Debian-original.vdi
└── Kali-original.vdi
उपयोगकर्ता नाम: osboxes
पासवर्ड: osboxes.org
cd scripts
.\DebCreate.ps1
.\sshDebian.ps1
[नोट]
पहले SSH कनेक्शन पर, आपको ऐसा संदेश दिखाई दे सकता है:The authenticity of host '[127.0.0.1]:2220' can't be established. ED25519 key fingerprint is SHA256:... Are you sure you want to continue connecting (yes/no/[fingerprint])?यह सामान्य है। SSH आपको चेतावनी दे रहा है कि VM का होस्ट कुंजी अभी तक आपकी
.ssh/known_hostsफ़ाइल में संग्रहीत नहीं है।
यदि आप अपने Debian VM की जाँच करना चाहते हैं, तो आप VM में SSH कर सकते हैं:
ssh -p2220 [email protected]
उपयोगकर्ता नाम: osboxes
पासवर्ड: osboxes.org
cd scripts
.\KalCreate.ps1
vboxmanage startvm "Kali Linux"
# जब ssh सक्षम किया जाता है, तो सर्वर बूट पर प्रारंभ होगा।
sudo systemctl enable ssh
# VM बंद करें।
sudo poweroff
अब से, VM बूट होने पर SSH स्वचालित रूप से प्रारंभ होगा।
यदि आप अपने Kali VM की जाँच करना चाहते हैं, तो आप VM में SSH कर सकते हैं:
ssh -p2225 [email protected]
.\sshKali.ps1
[नोट]
पहले SSH कनेक्शन पर, आपको ऐसा संदेश दिखाई दे सकता है:The authenticity of host '[127.0.0.1]:2225' cant be established. ED25519 key fingerprint is SHA256:... Are you sure you want to continue connecting (yes/no/[fingerprint])?यह सामान्य है। SSH आपको चेतावनी दे रहा है कि VM का होस्ट कुंजी अभी तक आपकी
.ssh/known_hostsफ़ाइल में संग्रहीत नहीं है।
अब आपके पास Debian पीड़ित VM पर रिमोट कमांड निष्पादन (RCE) पहुँच है।
आप कुछ Linux कमांड निष्पादित कर सकते हैं यह सत्यापित करने के लिए कि अब आपके पास Debian11 VM तक दूरस्थ पहुँच है:
# Show the current directory
pwd
# Check the operating system
cat /etc/os-release
# Check the current user
whoami
# Check the kernel information
uname -a
सफल शोषण के बाद:
┌─────────────────────┐
│ Host System │
│ (VirtualBox Host) │
└─────────┬───────────┘
│
┌────────────────┴────────────────┐
│ │
NAT + Port Forwarding NAT + Port Forwarding
SSH: localhost:2225 SSH: localhost:2220
│ │
┌───────────┴───────────┐ ┌───────────┴───────────┐
│ Kali Linux VM │ │ Debian 11 Server │
│ (Attacker) │ │ (Victim) │
│ │ │ │
│ NIC1: NAT │ │ NIC1: NAT │
│ NIC2: Internal Net │<───────>│ NIC2: Internal Net │
│ "inet" │ │ "inet" │
└───────────────────────┘ └───────────────────────┘
जब आप एक VM बनाना चाहते हैं, तो आप scripts/ फ़ोल्डर में निम्नलिखित कमांड चलाते हैं:
.\DebCreate.ps1.\KaliCreate.ps1जब एक नया VM बनाया जाता है, तो DebCreate.ps1 और KalCreate.ps1 स्क्रिप्ट पहले मूल VDI फ़ाइल की एक प्रति बनाती हैं (जैसे Debian-original.vdi)। फिर VBoxManage इस प्रति का उपयोग VM बनाने के लिए करता है।
यह सुनिश्चित करता है कि VM के अंदर की गई कोई भी सॉफ्टवेयर स्थापना या कॉन्फिगरेशन परिवर्तन भविष्य के VM निर्माणों में सहेजे नहीं जाते हैं, जिससे प्रत्येक नया VM एक स्वच्छ VDI से शुरू हो सकता है।
VM से बाहर निकलने के बाद, आप VM (और VDI की एक प्रति) को हटाने के लिए 2 कमांड में से एक दर्ज कर सकते हैं। scripts/ फ़ोल्डर में निम्नलिखित कमांड चलाएँ:
.\DebDelete.ps1.\KaliDelete.ps1जब VM बनाए जाते हैं, तो वे एक मूल VDI से संचालित होने के लिए एक प्रति का उपयोग करते हैं। इस तरह, VM हटाते समय, पहले से स्थापित सॉफ्टवेयर नए VM पर नहीं रहेगा।