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/tr573194480

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.