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

Bemutatkozás Barta Csaba Deloitte Zrt. Manager CHFI

Hasonló előadás


Az előadások a következő témára: "Bemutatkozás Barta Csaba Deloitte Zrt. Manager CHFI"— 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 1 Attr 2 Attr 3 Obj 1 1 2 null Obj 2 3

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 Hol tárolódik
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 egyenként DES-el

14 DEMO

15 Köszönöm a figyelmet!


Letölteni ppt "Bemutatkozás Barta Csaba Deloitte Zrt. Manager CHFI"

Hasonló előadás


Google Hirdetések