Adott egy MySQL szerver (nálam 5.1.49) és egy tcpdump ami tartalmaz egy bejelentkezést. A következőképp történik az auth:
- kliens konnektel, szerver elküld neki 8+12=20 bájtnyi randomot amit scramble-nek nevezünk
- a kliens elkészíti a tokent a scrambleből és a jelszóból, és a felhasználónév kíséretében elküldi a szervernek
Ha van egy pcap amiben megvan ez a két csomag akkor neki lehet esni wordlisttel. A töréshez kell az algó ami úgy néz ki hogy:
- kliens oldalon a jelszót egyből sha1-el le is hasheljük, a továbbiakban őt nevezzük stage1 hasnek
- a stage2 a stage1 sha1-e, ez is kelleni fog
- a kliens auth csomagban haszált token receptje: XOR( SHA1( scramble, stage2 ), stage1)
A scramblet és a tokent a pcap fájlból ki lehet vakarni úgyhogy minden megvan ami kellhet. Írtam rá pocot, ami a fent említett szerver verziónál egész jól működik, ami dumpokon néztem azokon legalábbis nem failelt. Annyit tudni kell hogy ha a kliens auth packetben a db neve is meg van adva akkor ez így nem fog működni. Ahoz hogy úgy is menjen csiszolni kell rajta, de nem akartam bájtról bájtra felparzolni a fent említett két csomagot. Nem tudom melyik verziótol nem így képzi a tokent, 4.1-ben csak 8 byte a scramble szóval azzal se fog menni. Annyi volt a cél hogy legyen egy poc. ittvan: myhashcrack
Senkit ne zavarjon meg hogy jpg a kiterjesztés, a bloghu nem enged feltölteni mindenfélét, így .rb-t sem.
Na az a lényeg hogy usage: ./myhashcrack <pcapfile> <wordlist>
... és ha mákod van akkor működik is. :)
... és szigorúan csak legális keretek közt használni.
A bejegyzés trackback címe:
https://breach.blog.hu/api/trackback/id/tr913194480
Kommentek:
A hozzászólások a vonatkozó jogszabályok értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a Felhasználási feltételekben és az adatvédelmi tájékoztatóban.
Nincsenek hozzászólások.