Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

NTDS.DIT offline hashdump, avagy a meztelen igazság a domaines jelszótárolásról.

Hasonló előadás


Az előadások a következő témára: "NTDS.DIT offline hashdump, avagy a meztelen igazság a domaines jelszótárolásról."— Előadás másolata:

1 NTDS.DIT offline hashdump, avagy a meztelen igazság a domaines jelszótárolásról

2 Bemutatkozás Barta Csaba Deloitte Zrt. Manager CHFI

3 NTDS.DIT? Active Directory elsődleges adattároló állománya Helye: %WINDOWS%\NTDS\ntds.dit Mit tartalmaz –Az összes AD-ben tárolt objektumot Felhasználók Csoportok Jogosultságok

4 Hogyan juthatunk hozzá? Volume Shadow Copy Online forensic pillanatkép DC kikapcsolas + masolas

5 NTDS.DIT felépítés Táblák –datatable (AD objektumok és attribútumaik) –linktable (hivatkozások pl.: memberof) –sdtable (security descriptors /Server 2003 óta/)

6 NTDS.DIT felépítés 2 A schema-ban leírt összes tulajdonság megtalálható minden objektum-rekordban (csak nincs kitöltve)  emiatt akár több ezer mezőből is állhat egy rekord Attr 1Attr 2Attr 3 Obj 112null Obj 2null23

7 Hol tárolódnak a jelszavak? A jelszó hash-eket a datatable tárolja Érdekesebb user attribútumok ATTm3 – SAMAccountName ATTm13 – Description ATTk – SID ATTk – Titkosított LM hash ATTk – Titkosított NT hash ATTk – Titkosított NT PWD history ATTk – Titkosított LM PWD history ATTk – Titkosított PEK

8 Hash titkosítás A jelszó hash-ek titkosítva tárolódnak Standard algoritmusok (RC4, MD5, DES) A titkosító kulcs (PEK) tartományonként különbözik, –megtalálható az NTDS.DIT állományban (szintén titkosítva a bootkey segítségével)

9 Dekriptálás menete Bootkey kinyerése a registryből PEK dekriptálás Jelszó hash dekriptálás PEK-el Jelszó hash dekriptálás DES-el

10 PEK dekriptálás md5=MD5.new() md5.update(bootkey) for i in range(1000): md5.update(enc_pek[0:16]) rc4_key=md5.digest(); rc4 = ARC4.new(rc4_key) pek=rc4.encrypt(enc_pek[16:]) return pek[36:]

11 Jelszó hash dekriptálás md5 = MD5.new() md5.update(pek) md5.update(enc_hash[0:16]) rc4_key = md5.digest(); rc4 = ARC4.new(rc4_key) denc_hash = rc4.encrypt(enc_hash[16:]) (des_k1,des_k2) = sid_to_key(rid) d1 = DES.new(des_k1, DES.MODE_ECB) d2 = DES.new(des_k2, DES.MODE_ECB) hash = d1.decrypt(denc_hash[:8]) + d2.decrypt(denc_hash[8:]) return hash

12 Jelszó history Miért fontos a vizsgálata –Jelszóválasztási minta keresése –LM hashek Hol tárolódik –Az ATTk és ATTk attribútumokban tárolódik Egymás után másolva (titkosítva) Külön-külön kell dekriptálni őket

13 Jelszó history dekriptálás Bootkey kinyerése a registryből PEK dekriptálás History dekriptálás PEK-el Jelszó hash- ek dekriptálás DES-el egyenként

14

15 Köszönöm a figyelmet!


Letölteni ppt "NTDS.DIT offline hashdump, avagy a meztelen igazság a domaines jelszótárolásról."

Hasonló előadás


Google Hirdetések