DanderSpritz Lab
उद्देश्य
DanderSpritz lab का लक्ष्य शोधकर्ताओं और रक्षकों को DanderSpritz - द इक्वेशन ग्रुप का पोस्ट-एक्सप्लॉयटेशन टूल-सेट और एक Windows Server 2008 डोमेन और क्लाइंट को लक्ष्य के रूप में तुरंत स्थापित करने की अनुमति देना है। Windows लक्ष्य में कुछ रिवर्स इंजीनियरिंग उपकरण हैं जो मुझे DanderSpritz और इसकी क्षमताओं की जाँच करते समय उपयोगी लगे।
DanderSpritz lab के बारे में थोड़ा पढ़ें: https://medium.com/@francisck/introducing-danderspritz-lab-461912313d7c
मैंने DanderSpritz क्षमताओं और उपकरणों का दस्तावेज़ीकरण करने के लिए एक वेबसाइट बनाई है: https://danderspritz.com
नोट: इस lab को किसी भी तरह से कठोर नहीं किया गया है (यह जानबूझकर कमजोर है) और डिफ़ॉल्ट vagrant क्रेडेंशियल्स के साथ चलता है। कृपया इसे किसी भी ऐसे नेटवर्क से कनेक्ट या ब्रिज न करें जिसकी आपको परवाह है।
आवश्यकताएँ
- 20GB+ मुफ्त डिस्क स्थान
- 8GB+ RAM
- 20GB बैंडविड्थ उपयोग (ISOs, अपडेट, सर्विस पैक आदि डाउनलोड करने के लिए)
- Packer v1.2.3 या नया
- Vagrant v2.1.1 या नया
- Vagrant-Reload Plugin
- Virtualbox (VMWare Fusion/Workstation बाद में आ रहा है)
DanderSpritz Lab शुरू करना
DanderSpritz Packer, Vagrant और Vagrant-reload प्लगइन का उपयोग करके lab को शुरू से स्थापित और कॉन्फ़िगर करता है। Packer सीधे Microsoft से Windows ISOs डाउनलोड करेगा और अनुसंधान के दौरान उपयोग के लिए सॉफ़्टवेयर के ट्रायल संस्करण स्थापित करेगा।
- इस repo को अपनी मशीन पर क्लोन करें
git clone [email protected]:francisck/DanderSpritz_lab.git
- सुनिश्चित करें कि Vagrant-reload प्लगइन स्थापित है
vagrant plugin install vagrant-reload
- ISOs डाउनलोड करने और Vagrant बक्सों का निर्माण करने के लिए निम्नलिखित कमांड चलाएँ:
packer build danderspritz_lab.json
- Vagrant बक्सों के बन जाने के बाद, VMs शुरू करें और उन्हें कुछ अतिरिक्त कॉन्फ़िगरेशन जारी रखने दें:
vagrant up
FuzzBunch प्रोजेक्ट बनाएँ
- Windows कमांड प्रॉम्प्ट (cmd) लॉन्च करें और निम्नलिखित चलाएँ:
D:\
python fb.py
- 192.168.40.3 का डिफ़ॉल्ट लक्ष्य पता सेट करें
- 192.168.40.4 का डिफ़ॉल्ट कॉलबैक पता सेट करें
- रीडायरेक्शन का उपयोग न करें (पहली बार में)
- डिफ़ॉल्ट लॉग निर्देशिका छोड़ दें
- एक नया प्रोजेक्ट बनाएँ (विकल्प 0)
- अपने नए प्रोजेक्ट को नाम दें
- डिफ़ॉल्ट लॉग्स निर्देशिका छोड़ दें

लक्ष्य मशीन का शोषण करें
- EternalBlue का उपयोग करके मशीन का शोषण करने के लिए निम्नलिखित कमांड चलाएँ
use eternalblue
- वितरण तंत्र को छोड़कर सभी डिफ़ॉल्ट विकल्प चुनें। वितरण तंत्र के रूप में "FB" (पारंपरिक परिनियोजन) का उपयोग करें
- एक बार eternalblue सफल हो जाने पर, danderspritz और peddlecheap कॉन्फ़िगर करें
DanderSpritz कॉन्फ़िगर करें और लॉन्च करें
- एक और Windows कमांड प्रॉम्प्ट (cmd) लॉन्च करें और निम्नलिखित चलाएँ:
D:\
python configure_lp
- फ़ायरवॉल के माध्यम से Java की अनुमति दें
- "लॉग डायरेक्टरी" के आगे
browse चुनें और आपके द्वारा बनाए गए FuzzBunch प्रोजेक्ट का नाम चुनें

- "go" पर क्लिक करें
PeddleCheap तैयारी (इम्प्लांट कॉन्फ़िगर करें)
- DanderSpritz कंसोल में, निम्नलिखित कमांड चलाएँ:
pc_prep
- मानक x64-winnt लेवल 3 शेयर्डलिब पेलोड चुनें
5
- उन्नत सेटिंग्स का चयन न करें
- तत्काल कॉलबैक करना चुनें
- डिफ़ॉल्ट PC ID (0) का उपयोग करें
- "क्या आप सुनना चाहते हैं?" के लिए "हाँ" चुनें
- सुनने वाले पोर्ट न बदलें
- डिफ़ॉल्ट "कॉलबैक" पता (127.0.0.1) छोड़ दें
- exe का नाम न बदलें
- डिफ़ॉल्ट कुंजी (विकल्प 2) का उपयोग करें
- सत्यापित करें कि PeddleCheap कॉन्फ़िगरेशन मान्य है
- FC (felonycrowbar) के साथ कॉन्फ़िगर न करें
- कॉन्फ़िगर किए गए बाइनरी का स्थान कॉपी करें:

DoublePulsar बैकडोर के माध्यम से इम्प्लांट (peddlecheap) वितरित करें:
- मूल Fuzzbunch विंडो में टाइप करें:
use doublepulsar
- जब पूछा जाए कि क्या आप वेरिएबल सेटिंग्स के लिए संकेत देना चाहते हैं, तो "हाँ" चुनें
- लक्ष्य आर्किटेक्चर को छोड़कर सभी डिफ़ॉल्ट वेरिएबल सेटिंग्स चुनें (विकल्प 1 चुनें)
1) x64 x64 64-bit
- "RunDLL" फ़ंक्शन चुनें (विकल्प 2)
2) RunDLL एक DLL को उपयोगकर्ता मोड प्रक्रिया में इंजेक्ट करने के लिए APC का उपयोग करें।

- अन्य सभी विकल्पों को डिफ़ॉल्ट पर छोड़ दें और जब पूछा जाए कि क्या आप प्लगइन निष्पादित करना चाहते हैं, तो "हाँ" चुनें
- आपको "Doublepulsar succeeded" देखना चाहिए
DanderSpritz के साथ PeddleCheap इम्प्लांट से कनेक्ट करें
- DanderSpritz में स्क्रीन के शीर्ष पर "PeddleCheap" चुनें
- कुंजी ड्रॉपडाउन मेनू से "डिफ़ॉल्ट" कुंजी चुनें
- लक्ष्य मशीन का पता दर्ज करें (192.168.40.3)
- "लक्ष्य से कनेक्ट करें" चुनें

- अपने Fuzzbunch प्रोजेक्ट का नाम चुनें
- DanderSpritz सर्वेक्षण के पूरा होने की प्रतीक्षा करें (काफी समय लगेगा) और रास्ते में आपको कुछ प्रश्नों के उत्तर देने होंगे
- लाभ उठाएँ!
अच्छे के लिए उपयोग करें, बुरे के लिए नहीं!
इस परियोजना का उद्देश्य सुरक्षा शोधकर्ताओं को रिवर्स इंजीनियरिंग और परीक्षण के लिए आसानी से एक पूरी तरह कार्यात्मक DanderSpritz lab बनाने और कॉन्फ़िगर करने की अनुमति देना है।
- इस lab के बाहर किसी भी लक्ष्य के विरुद्ध इसे न चलाएँ।
- इसे "रेड टीम एंगेजमेंट्स" के लिए उपयोग न करें
- अपने शोध को समुदाय में वापस योगदान करें
- किसी भी प्रश्न के लिए मुझसे संपर्क करें :)
दैनिक उपयोग
एक बार packer चला लेने के बाद, आपको इसे फिर से चलाने की आवश्यकता नहीं होगी। Vagrant बक्से आपके lab को पुनर्निर्माण, तोड़ने, पुनः आरंभ करने के लिए उपलब्ध रहेंगे।
नीचे कुछ उपयोगी कमांड हैं जिनका आप lab के साथ काम करते समय उपयोग कर सकते हैं:
बेसिक Vagrant उपयोग
- सभी DanderSprotz Lab होस्ट को ऊपर लाएँ:
vagrant up
- किसी विशिष्ट होस्ट को ऊपर लाएँ:
vagrant up <hostname>
- किसी विशिष्ट होस्ट को पुनः आरंभ करें:
vagrant reload <hostname>
- किसी विशिष्ट होस्ट को पुनः आरंभ करें और प्रावधान प्रक्रिया को फिर से चलाएँ:
vagrant reload <hostname> --provision
- किसी विशिष्ट होस्ट को नष्ट करें:
vagrant destroy <hostname>
- संपूर्ण Danderspritz Lab वातावरण को नष्ट करें:
vagrant destroy
- एक मशीन का स्नैपशॉट लें:
vagrant snapshot save <hostname> <snapshot_name>
- एक मशीन स्नैपशॉट को पुनर्स्थापित करें:
vagrant snapshot restore <hostname> <snapshot_name>
- प्रत्येक होस्ट की स्थिति जाँचें:
vagrant status
- lab वातावरण को निलंबित करें:
vagrant suspend
- lab वातावरण को फिर से शुरू करें:
vagrant resume
समाप्त Windows होस्ट को पुनः सक्रिय करें
यदि आपको कोई समस्या आती है जहाँ परीक्षण लाइसेंस समाप्त हो गया है, तो आप एक प्रशासनिक कमांड प्रॉम्प्ट पर यह कमांड चलाकर होस्ट को 3 बार तक (Windows लाइसेंस की 90 दिनों की अच्छाई के लिए) पुनः सक्रिय कर सकते हैं:
आपको मशीन को रीबूट करना होगा।
Lab जानकारी
Lab आरेख

अतिरिक्त Lab जानकारी
- डोमेन नाम: windomain.local
- प्रशासक लॉगिन (सभी मशीनें): vagrant:vagrant
- DC (डोमेन नियंत्रक): 192.168.40.2/24
- लक्ष्य: 192.168.40.3/24
- DanderSpritz: 192.168.40.4/24
Lab होस्ट
- DC - Windows 2008 R2 डोमेन नियंत्रक
- Windomain.local के लिए Windows डोमेन नियंत्रक
- WEF सर्वर कॉन्फ़िगरेशन GPO
- PowerShell लॉगिंग GPO
- उन्नत Windows ऑडिटिंग नीति GPO
- लक्ष्य - Windows 7 वर्कस्टेशन
- लक्ष्य वर्कस्टेशन/मशीन का अनुकरण करता है
- Windomain.local Windows AD डोमेन से जुड़ा
- कुछ रिवर्सिंग/दृश्यता उपकरण पूर्व-स्थापित
- आगे उपकरण स्थापना के लिए Chocolatey (FireEye Flare REPO के साथ) उपलब्ध
- DanderSpritz बॉक्स - Windows 10
- DanderSprirtz और Fuzzbunch पूर्व-स्थापित
लक्ष्य (Windows 7 SP1) पर स्थापित उपकरण
- Sysmon
- Sysinternal उपकरण (Procmon, TCPview, आदि)
- API Monitor
- InfoPe
- HxD
- PEView
- Windbg
- WireShark
- Binary Ninja
- HashCalc
- IDA 7 Free
- Ollydbg
- उन्नत ऑडिटिंग GPO
- PowerShell लॉगिंग GPO
- Windows इवेंट डोमेन नियंत्रक (WEC) को अग्रेषित किए गए
क्रेडिट/संसाधन
इस कोड का एक बड़ा प्रतिशत Chris Long के DetectionLab प्रोजेक्ट के साथ-साथ Stefan Scherer के packer-windows और adfs2 Github repos से उधार लिया और अनुकूलित किया गया है। उन सभी को एक बड़ा धन्यवाद जिन्होंने इस तरह की परियोजनाओं को आसान (या संभव भी) बनाने में अपने कोड का योगदान दिया है।
स्वीकृतियाँ