
डॉकर-आधारित बहु-चरणीय आक्रमण अनुकरण प्रयोगशाला जो CVE-2017-5638 और CVE-2021-41773 के शोषण, पार्श्व गति, और एक यथार्थवादी 10-कंटेनर नेटवर्क में Suricata IDS का पता लगाने का प्रदर्शन करती है।
7-होस्ट Docker-आधारित हमला अनुकरण प्रयोगशाला जो बहु-चरणीय किल चेन, पार्श्व गति, और बहु-बिंदु IDS पहचान प्रदर्शित करने के लिए डिज़ाइन की गई है।
यह प्रयोगशाला एक यथार्थवादी नेटवर्क वातावरण का अनुकरण करती है जहाँ एक हमलावर प्रारंभिक टोही से लेकर पैर जमाने और अंततः पिवोटिंग के माध्यम से एक उच्च-मूल्य वाले लक्ष्य तक पहुँचता है। इसमें दो स्वतंत्र Suricata IDS उदाहरण शामिल हैं जो महत्वपूर्ण होस्टों के लिए साइडकार के रूप में कार्य करते हैं, जो पूरे हमले के जीवनचक्र का एक "रक्षक दृष्टिकोण" प्रदान करते हैं।
172.28.0.0/24 सबनेट में नेटवर्क स्कैन (ICMP, TCP SYN, HTTP बैनर ग्रैबिंग) करता है।Content-Type हेडर में OGNL इंजेक्शन के माध्यम से एक कमजोर Apache Struts 2 सर्वर (web-struts) का शोषण करता है।web-struts होस्ट का उपयोग करके, हमलावर एक आंतरिक लक्ष्य के विरुद्ध द्वितीयक शोषण शुरू करता है।web-vuln) में पथ ट्रैवर्सल और RCE कमजोरी का शोषण करके रूट एक्सेस प्राप्त करता है।प्रयोगशाला में कुल 10 कंटेनर शामिल हैं:
web-struts (172.28.0.11): Apache Struts 2.3.28 (S2-045 के लिए कमजोर)।web-vuln (172.28.0.10): Apache httpd 2.4.49 (पथ ट्रैवर्सल/RCE के लिए कमजोर)।db-mysql (172.28.0.12): सहायक डेटाबेस।ssh-server (172.28.0.13): विरासत पैर जमाने का लक्ष्य।ftp-server, smb-server, dns-server: यथार्थता के लिए बुनियादी ढाँचा सेवाएँ।ids-suricata-struts: web-struts नेटवर्क नेमस्पेस की निगरानी करता है।ids-suricata-web: web-vuln नेटवर्क नेमस्पेस की निगरानी करता है।वातावरण बनाने और शुरू करने के लिए सेटअप स्क्रिप्ट चलाएँ:
./scripts/setup.sh
यह नेटवर्क को आरंभ करेगा, इमेज खींचेगा/बनाएगा, और सभी 10 कंटेनर शुरू करेगा।
प्रयोगशाला हमले के विभिन्न चरणों को ट्रिगर करने के लिए एक डिस्पैचर स्क्रिप्ट प्रदान करती है।
./scripts/attack.sh full
./scripts/attack.sh recon./scripts/attack.sh struts-foothold./scripts/attack.sh struts-pivot./scripts/attack.sh directआप अंतिम लक्ष्य पर निष्पादित करने के लिए एक कस्टम कमांड पास कर सकते हैं:
./scripts/attack.sh full "whoami; cat /etc/os-release"
अलर्ट प्रत्येक IDS उदाहरण के लिए अलग-अलग eve.json फाइलों में लिखे जाते हैं:
./alerts/web-struts/eve.json./alerts/web-vuln/eve.jsonआप निम्न का उपयोग करके दोनों फीड्स को लाइव टेल कर सकते हैं:
./scripts/tail-alerts.sh
सभी प्रयोगशाला घटकों को रोकने और हटाने के लिए:
./scripts/teardown.sh