วิธีการดัมพ์ไฟล์ Windows SAM ในขณะที่ระบบกำลังทำงานอยู่


14

ฉันใช้ประโยชน์จากเครื่องทดสอบโดยใช้ metasploit และสามารถรับแฮชจากไฟล์ SAM ได้ ฉันได้ลองใช้คำสั่งSYSTEMเพื่อรับมัน แต่ฉันไม่สามารถทำได้ อะไรคือวิธีการพกพาที่จะแยกแฮชออกจากไฟล์ SAM

คำตอบ:


12

มันไม่ใช่ปัญหาสิทธิ์ - Windows เก็บการล็อคแบบเอกสิทธิ์เฉพาะบุคคลในไฟล์ SAM (ซึ่งเท่าที่ฉันรู้ว่าเป็นพฤติกรรมมาตรฐานสำหรับกลุ่มรีจิสทรีที่โหลด) ดังนั้นจึงเป็นไปไม่ได้ที่กระบวนการอื่นจะเปิดขึ้น

อย่างไรก็ตาม Windows รุ่นล่าสุดมีคุณสมบัติที่เรียกว่า "Volume Shadow Copy" ซึ่งได้รับการออกแบบมาเพื่อสร้างสแน็ปช็อตแบบอ่านอย่างเดียวของไดรฟ์ข้อมูลทั้งหมดซึ่งส่วนใหญ่ใช้สำหรับการสำรองข้อมูล ล็อคไฟล์อยู่ที่นั่นเพื่อให้แน่ใจว่าข้อมูลสอดคล้องกันดังนั้นจึงไม่จำเป็นหากมีการจัดทำภาพรวมของระบบไฟล์ทั้งหมด ซึ่งหมายความว่าคุณสามารถสร้างสแน็ปช็อตC:เมาท์คัดลอกSAMไฟล์ของคุณจากนั้นจึงทิ้งสแน็ปช็อต

วิธีการทำสิ่งนี้ขึ้นอยู่กับรุ่น Windows ของคุณ: XP ต้องการโปรแกรมภายนอก Vista และ 7 มีvssadmin create shadowและ Server 2008 มีdiskshadowคำสั่ง หน้าแฮชการทุ่มตลาดอย่างปลอดภัยจาก Live Domain Controllersมีรายละเอียดเพิ่มเติมเกี่ยวกับกระบวนการนี้รวมถึงคำแนะนำและสคริปต์

หรือมีเครื่องมือต่าง ๆ เช่นsamdumpการใช้กระบวนการ LSASS ในทางที่ผิดจากหลายทิศทางเพื่อดึงข้อมูลรหัสผ่านทั้งหมดจากหน่วยความจำโดยตรง พวกเขาอาจเร็วกว่า VSS snapshot มาก แต่มีความเสี่ยงสูงกว่าที่ระบบจะล้มเหลว

ในที่สุด Google นำเสนอตัวอย่างนี้ซึ่งมีประโยชน์ที่ฉันไม่สามารถประเมินได้ว่าไม่เคยใช้ metasploit ด้วยตัวเอง:

meterpreter> use priv
meterpreter> hashdump

อะไรคือความแตกต่างระหว่างไฟล์ SAM \ SYSTEM และคีย์ย่อยของรีจิสทรี SAM \ SYSTEM (ฉันหมายถึงคำตอบของ vmarquet )? เนื้อหาเหมือนกันหรือไม่
GordonAitchJay

1
ใช่ไฟล์เหล่านั้นเป็นที่เก็บฐานข้อมูลรีจิสตรีไฟล์ "SYSTEM" เก็บข้อมูลของ HKLM \ SYSTEM (ฉันหมายความว่าจะต้องมีการจัดเก็บไว้ในไฟล์บางแห่งใช่มั้ย) คุณสามารถดูได้HKLM\SYSTEM\CurrentControlSet\Control\HiveListว่าคีย์ย่อยใดตรงกับไฟล์ใดบ้าง
user1686

12

มีวิธีแก้ไขที่ง่ายกว่าซึ่งไม่จำเป็นต้องจัดการกับเงาหรือใช้เครื่องมือภายนอก คุณสามารถคัดลอก SAM และ SYSTEM โดยใช้regคำสั่งจาก microsoft (ทดสอบบน Windows 7 และ Windows Server 2008):

reg save hklm\sam c:\sam
reg save hklm\system c:\system

(พารามิเตอร์สุดท้ายคือตำแหน่งที่คุณต้องการคัดลอกไฟล์)


จากนั้นคุณสามารถแตกแฮชบนระบบ Linux ด้วยแพ็คเกจ samdump2 (มีใน Debian:) apt-get install samdump2:

$ samdump2 system sam
Administrator:500:aad3b435b51404eeaad3b435b51404ee:c0e2874fb130015aec4070975e2c6071:::
*disabled* Guest:501:aad3b435b51404eeaad3b435b51404ee:d0c0896b73e0d1316aeccf93159d7ec0:::

หน้าต่างนี้ใช้งานได้กับรสชาติใด (หรือมากกว่าซึ่งไม่เป็น) พยายามที่จะบอกจากเว็บไซต์ MSDN แต่มันไม่ได้แสดงรายการ (อย่างน้อยฉันก็ไม่เห็นมัน)
n00b

นี่เป็นเพียงการทิ้งบัญชีท้องถิ่น ในการรับเครดิตโดเมนแคชคุณต้องได้รับความปลอดภัยจากรีจิสทรีด้วย จากนั้นคุณสามารถเรียกใช้: python /usr/share/doc/python-impacket/examples/secretsdump.py -sam SAM- การรักษาความปลอดภัยความปลอดภัย - ระบบระบบ LOCALเพื่อถ่ายโอนเครดิตแคชทั้งหมด
n00b

5

แก้ไข: ฉันตัดสินใจที่จะแก้ไขหลังจากถูกทิ้งเป็นเวลาหลายปี


ไฟล์ Windows SAM ถูกล็อคจากการคัดลอก / อ่านซึ่งแตกต่างจาก /etc/shadowระบบ Linux แต่การหลีกเลี่ยงเครื่องมือนี้จะดึงแฮชออกจากหน่วยความจำแทน

มีวิธีรับรอบนี้ที่ฉันจะกล่าวถึงด้านล่าง:

Mimikatz

mimikatz sekurlsa::logonpasswordsทำงานด้วย

fgdump

ฟังก์ชั่นที่คล้ายกันเป็น mimikatz เรียกใช้และแฮชจะถูกเทไปยังไฟล์ในเครื่อง

hashdump

สร้างเป็นมิเตอร์ล่าม สารสกัดแฮชจากหน่วยความจำ

Registry

อาจเป็นไปได้ที่จะดึงข้อมูลจากรีจิสตรี (หากคุณมีSYSTEMสิทธิ์เข้าถึง):

  1. reg save hklm\sam %tmp%/sam.reg และ reg save hklm\system %tmp%/system.reg
  2. คัดลอกไฟล์แล้วเรียกใช้: samdump2 system sam

การสำรองข้อมูล

ไฟล์ SAM ยังสามารถเก็บไว้ในตำแหน่งสำรอง: C:\Windows\Repair\SAM

ฉันควรพูดถึงว่าเครื่องมืออย่างน้อยที่สุดจะต้องมีAdministratorสิทธิ์ใช้งาน และส่วนใหญ่จะไม่ได้รับแฮชทั้งหมดยกเว้นว่าจะSYSTEMเข้าถึงได้


บางทีฉันอาจเข้าใจผิด แต่ในทางใดบ้างที่เครื่องมือเช่นMimikatzหรือfgdumpพกพามากกว่า C&A หรือแตกต่างจากมัน เท่าที่ฉันสามารถบอกได้ว่าพวกเขาเป็นเครื่องมือของบุคคลที่สามที่ไม่ได้มาพร้อมกับ Windows และจำเป็นต้องโหลดแยกต่างหาก นอกจากนี้สำหรับความอยากรู้ของตัวเองกรณีการใช้งานสำหรับเครื่องมือแฮทุ่มตลาดเมื่อมีเครื่องมืออย่าง Ophcrack อยู่?
Hashim

สามารถใช้ mimikatz เพื่อถอดรหัสแฮชในระบบปิดเครื่องผ่านดิสก์ที่สามารถบู๊ตได้หรือไม่หรือมันถูกออกแบบมาเพื่อใช้กับระบบเปิดเครื่องเท่านั้น
Hashim

1

เมธอด Obscuresec จะเอาชนะสิ่งที่คุณใช้ในเครื่องที่เปิดใช้งาน windows powershell 1.0 กำจัดเป้าหมายบางอย่างที่ฉันรู้ แต่เดี๋ยวก่อนทำได้ดีมาก! (ขอบคุณคริส)

หมายเหตุ:จำเป็นต้องมีสิทธิ์ผู้ดูแลระบบเพื่อดำเนินการดังกล่าว

คุณสามารถใช้

http://gallery.technet.microsoft.com/scriptcenter/Get-PasswordFile-4bee091d

หรือจากแหล่งอื่น (ฉันอาจเพิ่มล่าสุด)

https://github.com/obscuresec/PowerShell/blob/master/Get-PasswordFile

แนะนำให้อ่าน:

สำหรับการจับระบบระยะไกล SAM และกลุ่มลมพิษใช้ดังกล่าวข้างต้นร่วมกับ


1

ต้องการระบุวิธีการเพิ่มเติมที่ไม่ได้อธิบายไว้ที่นี่เนื่องจากมีเวลามากในการทดสอบ Red Teaming / Penetration วิธีที่ชัดเจนที่สุดไม่สามารถเข้าถึงได้ (ปฏิเสธถูกตรวจสอบโดย Blue Team ฯลฯ ) และยินดีที่ได้ทราบเทคนิคทั้งหมดที่มี

วิธีแก้ปัญหาอย่างหนึ่งของการเข้าถึงไฟล์ที่ระบบจัดการ (ไม่สามารถคัดลอก / ลบได้ตามปกติ) จะถูกvssshadow.exeบอกไว้ข้างต้น

ที่สอง - esentutil.exe.

คำสั่งที่แน่นอนเพื่อคัดลอกไฟล์ที่มีหมายเลขอ้างอิง:

esentutl.exe /y /vss c:\windows\ntds\ntds.dit /d c:\folder\ntds.dit

สิ่งนี้ใช้กับ SAM, ระบบ, การรักษาความปลอดภัย, NTDS.DIT ​​เป็นต้น

PS มีesentutl.pyแพ็คเกจของ impacket: https://github.com/SecureAuthCorp/impacket/blob/master/examples/esentutl.py

รูปภาพ PoC ของ PSS esentutl

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.