การแข็งตัวของโดเมน Windows ที่ยอดเยี่ยม
รายการเทคนิคการชุบแข็งความปลอดภัยที่ยอดเยี่ยมสำหรับ Windows
สร้างโดย Gepeto42 และ Paulwebsec แต่ได้รับแรงบันดาลใจอย่างมากจากการวิจัย Pyrotek3!
สรุป
เอกสารนี้สรุปข้อมูลที่เกี่ยวข้องกับ Derbycon Talk ของ Pyrotek และ Harmj0y เรียกว่า "111 Attacking Evilcorp กายวิภาคของแฮ็คองค์กร" วิดีโอและสไลด์มีอยู่ด้านล่าง
นอกจากนี้ยังรวมเอาเทคนิคการชุบแข็งที่จำเป็นเพื่อป้องกันการโจมตีอื่น ๆ รวมถึงเทคนิคที่กล่าวถึงโดย Gepeto42 และ Joeynoname ในระหว่างการพูดคุย Thotcon 0x7
มีอะไรขาดหายไป? สร้างคำขอดึงและเพิ่ม
ตั้งหลักเริ่มต้น
- ไม่ควรใช้ความพยายามในการชุบแข็งด้วยค่าใช้จ่ายในการอัพเกรดระบบปฏิบัติการ
- ปรับใช้ emet ไปยังเวิร์กสเตชัน (สิ้นสุดบรรทัดในเดือนกรกฎาคม 2018 - พิจารณาการรักษา EMET สำหรับ Windows 7 แต่จัดลำดับความสำคัญการอัพเกรดเป็น Windows 10 และ Edge)
- ใช้ Applocker เพื่อบล็อกเนื้อหา EXEC จากการรันในตำแหน่งผู้ใช้ (Home Dir, Profile Path, Temp ฯลฯ )
- การแข็งตัวของการโจมตี DMA? คุณไปที่นี่และบทความที่น่าสนใจจาก Synacktiv เกี่ยวกับการโจมตี DMA
- จัดการการดำเนินการ PowerShell ผ่าน Applocker หรือโหมดภาษาที่ จำกัด
- เปิดใช้งานการบันทึก PowerShell (V3+) & การบันทึกกระบวนการคำสั่ง
- Block Office Macros (Windows & Mac) บนเนื้อหาที่ดาวน์โหลดจากอินเทอร์เน็ต
- ปรับใช้เครื่องมือรักษาความปลอดภัยที่ตรวจสอบพฤติกรรมที่น่าสงสัย พิจารณาการใช้ WEF เพื่อส่งต่อเฉพาะเหตุการณ์ที่น่าสนใจไปยัง SIEM หรือระบบการบันทึกของคุณ
- ขีดจำกัดความสามารถโดยการปิดกั้น/จำกัด ไฟล์แนบผ่านอีเมล/ดาวน์โหลด:
- ส่วนขยายของ Executables:
- (ade, adp, ani, bas, bat, chm, cmd, com, cpl, crt, hlp, ht, hta, inf, ins, ISP, งาน, JS, JSE, LNK, MDA, MDB, MDE, MDZ, MSC, MSC, MSC WSF, WSH, EXE, PIF ฯลฯ )
- ไฟล์สำนักงานที่รองรับมาโคร (DOCM, XLSM, PPTM ฯลฯ )
- ตรวจสอบให้แน่ใจว่าประเภทไฟล์เหล่านี้ถูกบล็อก
- บล็อกส่วนขยายไฟล์ Excel ที่ถูกลืม/ไม่ได้ใช้งาน: IQY, SLK
- เปลี่ยนโปรแกรมเริ่มต้นสำหรับสิ่งที่เปิดด้วยการเขียนสคริปต์ Windows เป็น Notepad (ทดสอบก่อน!)
- Bat, JS, JSE, VBE, VBS, WSF, WSH, HTA, VBS ฯลฯ
- GPO: การกำหนดค่าผู้ใช้ -> การตั้งค่า -> การตั้งค่าแผงควบคุม -> ตัวเลือกโฟลเดอร์ -> เปิดด้วย
- การดำเนินการ: แทนที่
- นามสกุลไฟล์: (ส่วนขยาย)
- โปรแกรมที่เกี่ยวข้อง: %windir % system32 notepad.exe
- ตั้งค่าเป็นค่าเริ่มต้น: เปิดใช้งาน
- การป้องกันการเปิดใช้งานแพ็คเกจ OLE ใน Office ด้วยการตั้งค่ารีจิสทรี PackagerPrompt
การลาดตระเวน
- ปรับใช้ Windows 10 และ จำกัด การแจงนับกลุ่มท้องถิ่น
- จำกัด เวิร์กสเตชันในการสื่อสารเวิร์กสเตชัน
- เพิ่มความปลอดภัยใน GPO ที่ละเอียดอ่อน
- ประเมินการปรับใช้การวิเคราะห์พฤติกรรม (Microsoft ATA)
"การป้องกัน" Bloodhound::
- ใช้ NETCEASE เพื่อป้องกันการแจกแจงเซสชันที่ไม่มีสิทธิ์
- ใช้ SAMRI10 เพื่อป้องกันการรวบรวมผู้ดูแลระบบในท้องถิ่นที่ไม่มีสิทธิ์ (การแก้ไขนี้มีอยู่แล้วใน Windows 10 1607 ขึ้นไป)
การเคลื่อนไหวด้านข้าง
- กำหนดค่า GPO เพื่อป้องกันบัญชีท้องถิ่นจากการตรวจสอบเครือข่าย (KB2871997) นอกเหนือจาก KB นี้บทความ Countercept ยังแนะนำการเปลี่ยนแปลงอื่น ๆ อีกสองครั้งในรีจิสทรี:
- SET
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsaTokenLeakDetectDelaySecs = 30 สิ่งนี้จะล้างข้อมูลรับรองของผู้ใช้ที่ถูกบันทึกไว้หลังจาก 30 วินาที (เลียนแบบพฤติกรรมของ Windows 8.1+) - SET
HKEY_LOCAL_MACHINESystemCurrentControlSetControlSecurityProvidersWDigestUseLogonCredential = 0 สิ่งนี้จะป้องกันไม่ให้ข้อมูลรับรอง WDigest ถูกเก็บไว้ในหน่วยความจำอีกครั้งเช่นเดียวกับค่าเริ่มต้นสำหรับ Windows 8.1+
- ตรวจสอบให้แน่ใจว่ารหัสผ่านบัญชีผู้ดูแลระบบในพื้นที่มีการเปลี่ยนแปลงโดยอัตโนมัติ (Microsoft Laps) และลบบัญชีผู้ดูแลระบบท้องถิ่นพิเศษ
- จำกัด เวิร์กสเตชันในการสื่อสารเวิร์กสเตชัน (Windows Firewall)
- ทดสอบ PSEXEC ด้วยข้อมูลรับรองที่ดีระหว่างเวิร์กสเตชันสองแห่ง หากใช้งานได้คุณมีปัญหาการเคลื่อนไหวด้านข้าง
การเพิ่มสิทธิพิเศษ
- ลบไฟล์ด้วยรหัสผ่านใน sysvol (รวมถึง GPP)
- ตรวจสอบให้แน่ใจว่าผู้ดูแลระบบไม่เข้าสู่ระบบที่ไม่น่าเชื่อถือ (เวิร์กสเตชันปกติ) โดยการกำหนดค่าการมอบหมายการมอบหมายที่ถูกต้อง ของ ผู้ใช้ด้วย GPO
- ให้เวิร์กสเตชันหรืออุ้งเท้าที่ได้รับการยกเว้นสำหรับงานที่ได้รับการยกเว้นทั้งหมด สิ่งเหล่านี้ไม่ควรเข้าถึงอินเทอร์เน็ต
- ใช้บัญชีบริการที่มีการจัดการสำหรับ SAS เมื่อเป็นไปได้ (FGPP)
- สำหรับระบบที่ไม่สนับสนุนบัญชีบริการที่มีการจัดการให้ปรับใช้นโยบายรหัสผ่านที่ละเอียดเพื่อให้แน่ใจว่ารหัสผ่านคือ> 32 อักขระ
- ตรวจสอบให้แน่ใจว่าคอมพิวเตอร์ทุกเครื่องกำลังพูดถึง NTLMV2 & Kerberos, ปฏิเสธ LM/NTLMV1
ปกป้องข้อมูลรับรองการบริหาร
- ตรวจสอบให้แน่ใจว่าผู้ดูแลระบบทุกคนเข้าสู่เวิร์กสเตชันและเซิร์ฟเวอร์ผู้ดูแลระบบที่ได้รับอนุมัติเท่านั้น (ดู PAW ในส่วนการยกระดับสิทธิพิเศษ)
- ตรวจสอบให้แน่ใจว่ากลุ่มในตัวทั้งหมด แต่ผู้ดูแลระบบจะถูกปฏิเสธไม่ให้เข้าสู่ระบบการกำหนดผู้ใช้โดเมนผู้ใช้ที่ได้รับมอบหมาย โดยค่าเริ่มต้นผู้ให้บริการสำรองผู้ให้บริการบัญชีสามารถเข้าสู่ระบบควบคุมโดเมนซึ่งเป็นอันตราย
- เพิ่มบัญชีผู้ดูแลระบบทั้งหมดในกลุ่มผู้ใช้ที่ได้รับการป้องกัน (ต้องการ Windows 2012 R2 DCS)
- เวิร์กสเตชันและเซิร์ฟเวอร์ผู้ดูแลระบบ:
- ควบคุมและ จำกัด การเข้าถึงเวิร์กสเตชันและเซิร์ฟเวอร์ของผู้ดูแลระบบ
- ลบ NetBIOS ผ่าน TCP/IP
- ปิดการใช้งาน llmnr
- ปิดการใช้งาน WPAD
เสริมสร้าง/ลบมรดก
- เริ่มตอนนี้โดยใช้ Pingcastle ซึ่งทำการตรวจสอบโฆษณาที่เหลือเชื่อ
- การตรวจสอบ/จำกัด NTLM
- บังคับใช้การลงนาม LDAP
- เปิดใช้งานการลงนาม SMB (& การเข้ารหัสโดยที่ Poss.)
- ปิดใช้งาน WPAD & LLMNR & ทำงานเพื่อปิดการใช้งาน NetBIOS
- Windows 10, ลบ:
- SMB 1.0/CIFS
- Windows PowerShell 2.0
- ใช้ shims เพื่อเปิดใช้งานแอปพลิเคชันเก่าที่ต้องการสิทธิ์ของผู้ดูแลระบบในการทำงานโดยเชื่อว่าพวกเขามีพวกเขา
เครื่องมือ
- Pingcastle - เครื่องมือตรวจสอบ Active Directory (และฟรี!) พร้อมตัวชี้วัดที่ค่อนข้างดี
- Responder - LLMNR, NBT -NS และ MDNS Poisoner
- Bloodhound - ผู้ดูแลระบบโดเมนหกองศา
- เส้นทางการควบคุมโฆษณา - เส้นทางการควบคุม Active Directory การตรวจสอบและเครื่องมือกราฟ
- Powersploit - เฟรมเวิร์ก PowerShell Post -Exploitation
- Powerview - การรับรู้สถานการณ์ PowerShell Framework
- Empire - PowerShell และ Python Post -Exploitation Agent
- MIMIKATZ-ยูทิลิตี้เพื่อแยกรหัสผ่านธรรมดา, แฮช, รหัสพินและตั๋ว Kerberos จากหน่วยความจำ แต่ยังดำเนินการผ่านแฮช, ผ่านตั๋วหรือสร้างตั๋วทองคำ
- เครื่องมือ Cheatsheets - (Beacon, PowerView, Powerup, Empire, ... )
- UACME - เอาชนะการควบคุมบัญชีผู้ใช้ Windows
- Internals System Windows - (รวมถึง Sysmon ฯลฯ )
- Hardentools - คอลเลกชันของยูทิลิตี้ง่าย ๆ ที่ออกแบบมาเพื่อปิดใช้งาน "คุณสมบัติ" จำนวนมากที่เปิดเผยโดย Windows
- CrackMapexec - มีดกองทัพสวิสสำหรับสภาพแวดล้อม Windows/Active Directory
- Sharpsploit
- Rubeus - Rubeus เป็นชุดเครื่องมือ C# สำหรับการโต้ตอบและการละเมิด Kerberos ดิบและการละเมิด
- koadic - koadic หรือ com command & control เป็น windows หลังการสำรวจรูทคิท
- SilentTrinity - ตัวแทนโพสต์การสำรวจที่ขับเคลื่อนโดย Python, Ironpython, C#/. net
วิดีโอ
- นอกเหนือจาก MCSE: Active Directory สำหรับผู้เชี่ยวชาญด้านความปลอดภัย
- BSIDES DC 2016 - PowerShell Security: ปกป้ององค์กรจากแพลตฟอร์มการโจมตีล่าสุด
- ผู้ดูแลระบบโดเมนหกองศา ... - Andy Robbins, Will Schroeder, Rohan Vazarkar
- 111 การโจมตีกายวิภาคของ Evilcorp ของแฮ็คองค์กร
- Red vs Blue: Modern Active Directory Attacks & Defense
- Active Directory ที่น่ารังเกียจกับ PowerShell
- การตรวจจับเหตุการณ์ขั้นสูงและการล่าภัยคุกคามโดยใช้ sysmon และ splunk
- โซลูชั่นจริงจากเหตุการณ์จริง: ประหยัดเงินและงานของคุณ!
- เทคนิคการบายพาส Applocker
สไลด์
- จากเวิร์กสเตชันไปยัง Domain Admin - ทำไมการบริหารที่ปลอดภัยจึงไม่ปลอดภัย
- การใช้ประโยชน์จากความไม่มั่นคงของผู้ดูแลระบบโฆษณา
- วิธีไปจากการตอบสนองต่อการล่าสัตว์ด้วย sysinternals sysmon
- 111 การโจมตีกายวิภาคของ Evilcorp ของแฮ็คองค์กร
- โซลูชั่นจริงจากเหตุการณ์จริง: ประหยัดเงินและงานของคุณ!
ทรัพยากรเพิ่มเติม
- ความปลอดภัย
- บล็อกของ Harmj0y
- ไฟล์กำหนดค่าของ Sysmon Securitay - เทมเพลตที่มีการติดตามเหตุการณ์คุณภาพสูงเริ่มต้น
- การอธิบายและปรับการกำหนดค่า Sysmon ของ Tay และที่นี่
- การใช้ psexec
- ป้องกันการโจมตี Mimikatz
- รายการที่เป็นประโยชน์ของเหตุการณ์บันทึกความปลอดภัยของ Windows
- แนะนำ Sharpsploit: AC# Post-Exploitation Library
- จาก Kekeo ถึง Rubeus
- Windows OneLiners เพื่อดาวน์โหลด payload ระยะไกลและเรียกใช้รหัสโดยพลการ
- คำแนะนำการกำหนดค่าสำหรับการใช้งานการตั้งค่าพื้นฐาน Windows 10 และ Windows Server 2016 DOD Secure Host