Mitä ' eroa näiden MD5-hashien välillä?

Mitä eroa on tässä muodossa:

Hash found: admin:$1$$oLN1UCc1Y3T30QkMcKMSx0 

ja seuraavassa:

5f4dcc3b5aa765d61d8327deb882cf99 

Ja myös

Kuinka muuttaa ensimmäinen hajautusmuoto toiseksi?

Kiitos eteenpäin.

Kommentit

  • Epäilen, että ensimmäinen esimerkki on vain hash. Näyttää siltä, että se sisältää käyttäjänimen selkeissä ja mahdollisesti muissa tiedoissa Mistä sait sen? Ei ole todellakaan mahdollista suorittaa uudelleenkäynnistystä tuntematta selvää tekstiarvoa.
  • Että ' s mitä minä ' m mietin myös. Mutta sain sen sen jälkeen, kun olen suorittanut reitittimenploitin reitittimelläni Kali Linuxin avulla ja lähtö sanoo tarkalleen, että > > Hash found: admin:$1$$oLN1UCc1Y3T30QkMcKMSx0. Löysin myös samanlaisen tapauksen täältä linkki

Vastaus

Ensimmäinen esimerkki näyttää varjotiedosto -lomakkeelta osoitteessa: ID (admin) Algoritmi (1 = MD5) Suola (ei mitään) Hash (oLN1UCc1Y3T30QkMcKMSx0), hashilla, joka näyttää olevan Base64-muodossa.

Toinen (5f4dcc3b5aa765d61d8327deb882cf99) näyttää olevan 128-bittinen kuusikulmajono, joka vastaa MD5-hashia hyvin.

Jos kuitenkin molemmat muunnetaan binaariksi & ja sitten takaisin vastakkaisiin muotoihin, nämä kaksi hajautusriviä eivät täsmää:

  • Hex-merkkijonon (5f4dcc3b5aa765d61d8327deb882cf99) edustaman binääriarvon Base64 on X03MO1qnZdYdgyfeuILPmQ.

  • Päinvastoin, base64-hashin (oLN1UCc1Y3T30QkMcKMSx0) kuusikulmio on a0b3755027356374f7d1090c70a312c7.

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

Kuten user1686 huomautti: oLN1UCc1Y3T30QkMcKMSx0 on MD5-salaus, joka on tuhat MD5-kierrosta, ja jokaisella kierroksella on lisäominaisuuksia. Jos molemmat hajautusmerkit ovat itse asiassa samasta salasanasta, suoran MD5-hajautusjärjestelmän pitäisi olla mahdollista muuntaa vastaavaksi no-salt MD5Crypt ohittamalla MD5Cryptin ensimmäinen MD5-laskelma ja syöttämällä sille hash salasanan sijaan.

Vastaa

Viimeisen $: n jälkeinen osa on base64-koodattu, mikä on kohtuullisen kompakti (neljästä merkistä tulee kolme tavua) tapa edustaa binääridataa tavallisina, tulostettavina merkeinä (ei ASCII-ohjauskoodeja tai mitään, mikä vaatii suurta bittiä). Toinen hash on yksinkertaisesti heksakoodattu, mikä on vähemmän tehokasta (neljästä merkistä tulee kaksi tavua), mutta helpompi lukea, etenkin ohjelmoijille (jotka käyttävät hekssiä koko ajan).

MUOKKAA: Lisäksi ensimmäinen algoritmi on melkein varmasti md5 crypt , joka on iteroitu MD5, jossa on joitain lisäasioita tehty. Siten se ei aio tuottaa samaa lähtöä kuin perus MD5 tietylle tulolle. Ja todellakin näemme, että se ei: jos muunnat osan viimeisen dollarin jälkeen hex-arvoksi, tulee ulos a0b3755027356374f7d1090c70a312c7. Se saattaa myös (at ainakin osittain), koska mielestäni md5crypt käyttää mukautettua base64: ää, jolla on samat merkit kuin tavallisella base64: llä eri järjestyksessä.

Ensimmäinen hash on esimerkki / etc / shadow salasanamuodosta. $1 tarkoittaa MD5-salausta, ja minkään seuraavan kahden $ -merkin välisen puute tarkoittaa, että se on suolaamatonta. Meillä ei ole tällaista tietoa toisesta; se voi olla suolattu tai mahdollisesti eri salasana, erilainen hajautusalgoritmi tai molemmat. On kuitenkin todennäköisempää olla paljas MD5 kuin md5crypt.

Muokattu vastaamaan MD5: n ja md5crypt: n välistä eroa

Kommentit

  • Vaikka se olisi ' suolatonta, $ 1 $ ei ole silti pelkkä MD5 – se ' s md5crypt , johon sisältyy 1000 kierrosta MD5: tä ja joitain muita mausteita.
  • Toinen hash on vain md5 (' salasana '). echo -n 'password' | md5sum tuottaa 5f4dcc3b5aa765d61d8327deb882cf99

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *