Awesome Windows Domain Hardening 
विंडोज़ के लिए बेहतरीन सुरक्षा सुदृढ़ीकरण (Security Hardening) तकनीकों की एक चुनिंदा सूची।
इसे gepeto42 और PaulWebSec द्वारा बनाया गया है, लेकिन यह PyroTek3 के शोध से अत्यधिक प्रेरित है!
सारांश
यह दस्तावेज़ Pyrotek और Harmj0y के DerbyCon वार्ता "111 Attacking EvilCorp Anatomy of a Corporate Hack" से संबंधित जानकारी का सारांश प्रस्तुत करता है। वीडियो और स्लाइड्स नीचे उपलब्ध हैं।
इसमें अन्य हमलों को रोकने के लिए आवश्यक सुदृढ़ीकरण तकनीकें भी शामिल हैं, जिनमें gepeto42 और joeynoname द्वारा उनके THOTCON 0x7 वार्ता के दौरान चर्चा की गई तकनीकें शामिल हैं।
कुछ छूट रहा है? Pull Request बनाएँ और उसे जोड़ें।
- कोई भी सुदृढ़ीकरण प्रयास ऑपरेटिंग सिस्टम को अपग्रेड करने की कीमत पर नहीं होना चाहिए।
- वर्कस्टेशनों पर EMET तैनात करें (जुलाई 2018 में समर्थन समाप्त - Windows 7 के लिए EMET बनाए रखने पर विचार करें, लेकिन Windows 10 और Edge में अपग्रेड को प्राथमिकता दें)।
- उपयोगकर्ता स्थानों (होम डायरेक्टरी, प्रोफ़ाइल पथ, temp, आदि) में exec सामग्री को चलने से रोकने के लिए AppLocker का उपयोग करें।
- DMA हमलों के विरुद्ध सुदृढ़ीकरण? यह लें और Synacktiv से DMA हमलों पर एक दिलचस्प लेख
- AppLocker या constrained language mode के माध्यम से PowerShell निष्पादन प्रबंधित करें।
- PowerShell लॉगिंग (v3+) और कमांड प्रोसेस लॉगिंग सक्षम करें।
- इंटरनेट से डाउनलोड की गई सामग्री पर Office मैक्रोज़ ब्लॉक करें (Windows और Mac)।
- संदिग्ध व्यवहार की निगरानी करने वाली सुरक्षा टूलिंग तैनात करें। अपने SIEM या लॉगिंग सिस्टम पर केवल दिलचस्प इवेंट अग्रेषित करने के लिए WEF का उपयोग करने पर विचार करें।
- ईमेल/डाउनलोड के माध्यम से अटैचमेंट को ब्लॉक/प्रतिबंधित करके क्षमता सीमित करें:
- निष्पादन योग्य (executable) एक्सटेंशन:
- (ade, adp, ani, bas, bat, chm, cmd, com, cpl,
crt, hlp, ht, hta, inf, ins, isp, job, js, jse, lnk, mda, mdb,
mde, mdz, msc, msi, msp, mst, pcd, pif, reg, scr, sct, shs,
url, vb, vbe, vbs, wsc, wsf, wsh, exe, pif, आदि)
- मैक्रोज़ का समर्थन करने वाली Office फ़ाइलें (docm, xlsm, pptm, आदि)
- सुनिश्चित करें कि ये फ़ाइल प्रकार ब्लॉक हैं।
- भूले हुए/अप्रयुक्त Excel फ़ाइल एक्सटेंशन ब्लॉक करें: IQY, SLK
- Windows स्क्रिप्टिंग के साथ खुलने वाली किसी भी चीज़ के लिए डिफ़ॉल्ट प्रोग्राम को notepad में बदलें (पहले परीक्षण करें!)
- bat, js, jse, vbe, vbs, wsf, wsh, hta, vbs, आदि
- GPO: User Configuration -> Preferences -> Control Panel Settings -> Folder Options -> Open With
- Action: Replace
- File Extension: (extension)
- Associated Program: %windir%\system32\notepad.exe
- Set as default: Enabled.
- Office में PackagerPrompt रजिस्ट्री सेटिंग के साथ OLE पैकेजों की सक्रियता को रोकें
टोह (Reconnaissance)
- Windows 10 तैनात करें और स्थानीय समूह गणना (local group enumeration) सीमित करें।
- वर्कस्टेशन-से-वर्कस्टेशन संचार सीमित करें।
- संवेदनशील GPO की सुरक्षा बढ़ाएँ।
- व्यवहार विश्लेषण (Microsoft ATA) की तैनाती का मूल्यांकन करें।
BloodHound "prevention" (रोकथाम):
- अनप्रिविलेज्ड सत्र गणना (unprivileged session enumeration) को रोकने के लिए NetCease का उपयोग करें।
- अनप्रिविलेज्ड स्थानीय एडमिन संग्रह को रोकने के लिए Samri10 का उपयोग करें (यह फिक्स Windows 10 1607 और उससे ऊपर में पहले से मौजूद है)।
पार्श्विक गतिविधि (Lateral Movement)
- स्थानीय खातों को नेटवर्क प्रमाणीकरण से रोकने के लिए GPO कॉन्फ़िगर करें (KB2871997)।
इस KB के अतिरिक्त, Countercept लेख रजिस्ट्री में दो अन्य परिवर्तनों की अनुशंसा करता है:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\TokenLeakDetectDelaySecs = 30 सेट करें। यह लॉग ऑफ़ किए गए उपयोगकर्ताओं के क्रेडेंशियल्स को 30 सेकंड के बाद साफ़ कर देगा (Windows 8.1+ के व्यवहार की नकल करते हुए)।
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\WDigest\UseLogonCredential = 0 सेट करें। यह Wdigest क्रेडेंशियल्स को मेमोरी में संग्रहीत होने से रोकेगा, जैसा कि Windows 8.1+ के लिए डिफ़ॉल्ट है।
- सुनिश्चित करें कि स्थानीय व्यवस्थापक खाते के पासवर्ड स्वचालित रूप से बदले जाएँ (Microsoft LAPS) और अतिरिक्त स्थानीय एडमिन खातों को हटाएँ।
- वर्कस्टेशन-से-वर्कस्टेशन संचार सीमित करें (Windows Firewall)।
- दो वर्कस्टेशनों के बीच मान्य क्रेडेंशियल्स के साथ psexec का परीक्षण करें। यदि यह काम करता है, तो आपके पास पार्श्विक गतिविधि (lateral movement) की समस्या है।
विशेषाधिकार वृद्धि (Privilege Escalation)
- SYSVOL में पासवर्ड वाली फ़ाइलें हटाएँ (GPP सहित)।
- GPO के साथ DENY उपयोगकर्ता अधिकार असाइनमेंट कॉन्फ़िगर करके सुनिश्चित करें कि एडमिन अविश्वसनीय सिस्टम (सामान्य वर्कस्टेशन) पर लॉग ऑन न करें।
- सभी उच्च-विशेषाधिकार वाले कार्यों के लिए Privileged Access Workstations या PAWs प्रदान करें। उनके पास इंटरनेट तक पहुँच कभी नहीं होनी चाहिए।
- संभव होने पर SAs के लिए Managed Service Accounts का उपयोग करें (FGPP)
- उन सिस्टमों के लिए जो Managed Service Accounts का समर्थन नहीं करते, Fine-Grained Password Policy तैनात करें ताकि पासवर्ड 32 वर्णों से अधिक हों।
- सुनिश्चित करें कि सभी कंप्यूटर NTLMv2 और Kerberos का उपयोग कर रहे हैं, LM/NTLMv1 अस्वीकार करें।
प्रशासन क्रेडेंशियल्स की सुरक्षा (Protect Administration Credentials)