Mi a ' különbség ezen MD5 hashek között?

Mi a különbség a formátum között:

Hash found: admin:$1$$oLN1UCc1Y3T30QkMcKMSx0 

és a következők:

5f4dcc3b5aa765d61d8327deb882cf99 

És

Hogyan lehet az első hash formátumot a második formátumba változtatni?

Köszönet előre.

Megjegyzések

  • Kétlem, hogy az első példa csak egy kivonat. Úgy tűnik, hogy a felhasználónevet tartalmazza a világos és esetleg egyéb információkban . Hol szerezted? Nem igazán lehet újraváltani a tiszta szövegérték ismerete nélkül.
  • Ez ' az, amit én ' m is kíváncsi vagyok. De azt kaptam, hogy miután futtattam a routerploit-ot a routeremen a Kali Linux használatával, és a kimenet pontosan azt mondja, hogy > > Hash found: admin:$1$$oLN1UCc1Y3T30QkMcKMSx0. Itt is találtam hasonló esetet link

Válasz

Az első példa úgy néz ki, mint egy árnyékfájl űrlap itt: ID (admin) Algoritmus (1 = MD5) (nincs) Hash (oLN1UCc1Y3T30QkMcKMSx0), a hash-szal, ami úgy tűnik, hogy Base64 formátumú.

A második (5f4dcc3b5aa765d61d8327deb882cf99) 128 bites hex sztringnek tűnik, amely megfelel az MD5 hash-nak, mint jól.

Ha azonban mindkettőt bináris & -re konvertáljuk, majd visszaállítjuk ellentétes formátumukba, a két hash nem egyezik:

  • A hex sztring által képviselt bináris érték (5f4dcc3b5aa765d61d8327deb882cf99) alapja X03MO1qnZdYdgyfeuILPmQ.

  • Ezzel szemben az base64 hash (oLN1UCc1Y3T30QkMcKMSx0) hexadecimálisa a0b3755027356374f7d1090c70a312c7.

     ------- Edit ----- 

Mint user1686 rámutatott: oLN1UCc1Y3T30QkMcKMSx0 az MD5crypt, amely ezer MD5 kör, extrákkal minden körben. Ha mindkét kivonat valójában ugyanabból a jelszóból származik, akkor lehetővé kell tenni, hogy az egyenes MD5 kivonatot ekvivalensévé alakítsa no-salt MD5Crypt úgy, hogy megkerüli az MD5Crypt első MD5 számítását, és a jelszó helyett hash-t ad neki.

Válasz

Az utolsó $ utáni rész base64-kódolású, ami meglehetősen kompakt (négy karakterből három bájt lesz) módja annak, hogy a bináris adatokat általános, nyomtatható karakterként jelenítsük meg (nem ASCII vezérlő kódok vagy bármi, ami nagy bitet igényel). A második hash egyszerűen hexakódolású, ami kevésbé hatékony (négy karakterből két bájt válik), de könnyebben olvasható, különösen a programozók számára (akik állandóan hexát használnak).

SZERKESZTÉS: Ezenkívül az első az algoritmus szinte biztos, hogy az md5 crypt , amely egy iterált MD5, néhány további cuccal. Így nem fogja ugyanazt a kimenetet produkálni, mint egy MD5 alap egy adott bemenetnél. És valóban látjuk, hogy nem: ha az utolsó $ utáni alkatrészt hexává alakítja, akkor a0b3755027356374f7d1090c70a312c7 jön ki. Ez is ( legkevésbé részben azért, mert szerintem az md5crypt egy egyéni base64-et használ, amelynek ugyanazok a karakterei vannak, mint a normál base64-nek, más sorrendben.

Az első hash egy példa az / etc / shadow jelszó formátumra. Az $1 azt jelenti, hogy MD5crypt, és ha a következő két $ karakter között nincs semmi, azt sótlanítjuk. A másodikra nincs ilyen információnk; lehet sózva, esetleg más jelszó, más hash algoritmus vagy mindkettő. Bár valószínűbb, hogy csupasz MD5, mint az md5crypt.

Szerkesztve, hogy tükrözze az MD5 és az md5crypt közötti különbséget

Megjegyzések

  • Még ha ' sózatlan is, az $ 1 $ még mindig nem pusztán MD5 – ez ' s md5crypt , amely 1000 MD5 kört tartalmaz, hozzáadva néhány más fűszert.
  • A második kivonat csak md5 (' jelszó '). echo -n 'password' | md5sum 5f4dcc3b5aa765d61d8327deb882cf99

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük