Hash-funktio on yleinen termi funktiotyypille Tämän tyyppisen funktion syöttö on mielivaltaista binääridataa ja tulos on kiinteän pituinen binääritieto, tämäntyyppisellä funktiolla on seuraavat ominaisuudet:
Yksisuuntainen: Tulostuksen laskeminen syötteestä on yksinkertaista ja nopeaa, mutta tulon kääntäminen tulosta on matemaattisesti mahdotonta
Törmäysrajoitus: On äärimmäisen vaikeaa löytää kaksi eri tuloa samalla lähtöllä
Toimintoja, jotka täyttävät nämä ominaisuudet, voidaan kutsua hash-funktioiksi. Tiettyjä tietoja käytetään hash-funktion syötteenä ja tulos lasketaan. Tätä lähtöä kutsutaan tavallisesti datan hash-arvoksi.
Yksi hash-funktion tärkeimmistä tehtävistä on tallentaa salasana turvallisesti. Se ei tallenna salasanaa suoraan (eli se ei tallenna selkeän tekstin salasanaa), vaan tallentaa salasanan hash-arvon. sinun tarvitsee vain laskea syöttösalasana uudelleen Vertaamalla salasanan hash-arvoa tallennetun salasanan hash-arvoon voit tietää, onko salasana oikea. Hash-funktion yksisuuntaisuuden ja törmäysrajoitusten vuoksi hyökkääjän on vaikea tietää itse salasana, vaikka hän saa salasanan hash-arvon.
Hyökkääjä sai salasanan hash-arvon. Eikö itse salasanaa todellakaan voi tietää? Ei tietenkään. Vaikka salasanan laskeminen suoraan salasanan hash-arvosta on matemaattisesti mahdotonta, tiedämme, että hash-funktio on yksinkertainen ja nopea laskemaan tulosteen syötteestä. Pahimmillaan voit kokeilla vain ne salasanat, joita ihmiset voivat asettaa, kokeile niitä yksitellen, jos olet onnekas, voit silti kokeilla. Toimintoa, joka yrittää jatkuvasti saada syöttöä, joka vastaa hash-arvoa, kutsutaan räjäytykseksi.
Tämän idean perusteella syntyi hashcat. Sanotaan, että hashcat syntyi todistamaan, että räjähdyksen räjähtäminen on hyvin yksinkertaista. hashcat väittää olevansa maailman nopein hash-räjäytystyökalu, ja se tukee jopa GPU:ta ja FGPA:ta, jos sinulla on niitä.
hashcat ei ole vain nopea, vaan tukee myös ammattimaisesti yli kaksisataa hash-toimintoa. Käytä komentoa:
hashcat - -help
Näet luettelon kaikista hashcatin tukemista hash-toiminnoista. Niitä on niin paljon, etten julkaise niitä tänne.
hashcat on oletuksena asennettu Kaliin ja sitä voidaan käyttää suoraan. Mutta Kali on asennettu VirtualBoxiin, ja minusta tuntuu aina, että virtuaalinen kone on hitaampi, joten haluan käyttää hashcatia fyysisessä isännässä. Mene ensin Hashchatin viralliselle verkkosivustolle lataamaan hashcat. Toistaiseksi uusin versio on v3.5.0, joka julkaistiin 2017.04.05. Päivityspäivästä voidaan nähdä, että hashchat on täynnä elinvoimaa. Säästä kääntämisen vaiva ja lataa suoraan binääripaketti, joka on vain 2,7 miljoonaa, mikä on hyvin pieni verrattuna peleihin, jotka maksavat usein kymmeniä gigatavuja.
Kun lataus on valmis, purkaa hashcat ja näet:
Tällaiset tiedostot ovat 32-bittiset ja 64-bittiset suoritettavat tiedostot Linuxissa ja Windowsissa, valitse vain yksi niistä tietokoneesi tilanteen mukaan. Valitsin hashcat64.binin Kauneuden vuoksi lisäsin rivin ~ /. bashrc-tiedostoon:
alias hashcat = ' hashcat64.binin polku '
Tallentamisen jälkeen avaa virtuaalipääte uudelleen saadaksesi ~ /. bashrc-tiedoston voimaan. Tällä tavalla voit kirjoittaa hashcat-komennon suoraan vaihtamatta hakemistoja tai syöttämättä rumaa "64.bin", kuten alla olevassa kuvassa näkyy.
No, nyt voi alkaa räjäyttää erilaisia hasheja hashcatilla.
md5:n pitäisi olla yksi tunnetuimmista ja laajimmin käytetyistä hash-funktioista. Käytä ensin Pythonia luodaksesi useita MD5-arvoja räjäytystä varten. Koodi on seuraava:
import hashlib. Salasanat = [' 123123 ', ' bond007 ', ' xxxxxx ', ' *H@ & (NT*@BR#^ '] salasanalle salasanoissa: md5 = hashlib.md5 () md5.update (salasana) print md5.hexdigest ()
Yllä oleva koodi laskee neljän merkkijonon hash-arvot ja tulos on:
4297f44b13955235245b2497399d7a93 cbdb7e2b1ed566ceb796af2df07205a3 dad3a37aa9d50688b5157698acfd7aee d77db958c179bbffae04b2b908b75c26
Tallenna tulostustulos tiedostoon md5.hash, yksi hahs-arvo per rivi. Käytä sitten hashcatia räjäyttääksesi nämä hash-arvot. Komento on seuraava:
hashcat -w 3 -a 0 -m 0 - -remove -o md5.out md5.hash wordlist.dic
Parametria-w käytetään määrittämään toimintatilat, niitä on neljä, kuten alla olevassa taulukossa näkyy:
| N | Suorituskyky | Käyttöaika | Virrankulutus | Työpöydän vaikutus |
|---|---|---|---|---|
| 1 | Matala | 2 ms | matala | vähimmäismäärä |
| 2 | oletusarvo | 12 ms | taloudellinen | huomattava |
| 3 | korkea | 96 ms | korkea | ei reagoi |
| 4 | Painajainen | 480 ms | hullu | päätön |
Parametria-a käytetään määrittämään hyökkäystila, 0:n merkitys on suora ja jatkuva, eli salasanasanakirjan räjähdys, -a:lle on viisi arvoa, kuten alla olevassa taulukossa näkyy:
| N | Tila |
|---|---|
| 0 | Suora |
| 1 | Yhdistelmä |
| 3 | Brute-force |
| 6 | hybridisanaluettelo + maski |
| 7 | hybridisanaluettelo + sanaluettelo |
-m Käytetään räjäytettävän hashin määrittämiseen Arvon hash-funktio, 0 tarkoittaa, että hash-funktio on md5, muut arvot ovat seuraavassa taulukossa:
| N | nimi | luokka |
|---|---|---|
| 0 | MD5 | raaka Hash |
| 300 | MySQL4.1/MySQL5 | Tietokantapalvelin |
| 1000 | NTLM | Käyttöjärjestelmät |
| 1800 | sha512crypt $6$, SHA512 (Unix) | Käyttöjärjestelmät |
| 2611 | vBulletin < v3.8.5 | Foorumit, CMS, sähköinen kaupankäynti, kehykset |
Tämä taulukko on liian pitkä Näytän vain muutamia tässä artikkelissa mainittuja hash-funktioita. Voit nähdä ne kaikki parametrilla – help.
Parametri – remove tarkoittaa, että jos tietty hash-arvo räjäytetään onnistuneesti, arvo poistetaan md5.hashista.
Parametriä-o seuraa tiedostonimi, joka osoittaa, mihin räjäytystulokset tallennetaan.
Kaksi viimeistä parametria md5.hash ja wordlist.dic ovat räjäytettävä hash-arvo ja salasanasanakirja. Hash-arvo ja salasanasanakirja ovat molemmat yksi rivillä. Python on laskenut md5.hashin sisällön Jos sinulla ei ole sopivaa salasanasanakirjaa käsillä, voit käyttää komentoa:
wget -O wordlist.dic https://samsclass.info/123/proj10/500_passwords.txt
下载一个。现在完事具备,按下回车,结果华丽地报错:(
clGetPlatformIDs(): CL_PLATFORM_NOT_FOUND_KHR
Luultavasti jokin käyttöympäristö puuttuu, joten asenna se. Asensin yhteensä nämä asiat:
sudo apt-get install gcc make p7zip-full git lsb-core wget http://registrationcenter-download.intel.com/akdlm/irc_nas/9019/opencl_runtime_16.1.1_x64_ubuntu_6.4.0.25.tgz tar -xvf opencl_runtime_16.1.1_x64_ubuntu_6.4.0.25.tgz cd opencl_runtime_16.1.1_x64_ubuntu_6.4.0.25 sudo . /install.sh
Jos verkkonopeus on hyvä, se asennetaan hetkessä. Ensimmäinen komento ilmoittaa virheen:
/sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 on ei a symbolinen linkki /sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 on ei a symbolinen linkki
Mutta se ei näytä vaikuttavan mihinkään, joten jätä se huomiotta. Kun olet asentanut nämä, paina Enter uudelleen ja suorita alun perin virheen ilmoittanut komento. Huomaat, että virhettä ei ilmoitettu uudelleen, ja suoritus saatiin päätökseen hetkessä. Kun komento on suoritettu, tarkista tiedostojen md5.hash ja md5.out sisältö ja huomaa, että md5.hashiin on jäljellä vain yksi hash. Kolme onnistuneesti räjäytettyä hash-arvoa on siirretty tiedostoon md5.out. md5.out on kolme hash-arvoa ja niiden alkuperäisiä arvoja, kuten alla olevassa kuvassa näkyy:
Windowsin kirjautumissalasanan hash-arvo tallennetaan SAM-tiedostoon, SAM on lyhenne sanoista "security account manager". Yleensä se sijaitsee osoitteessa
C: \Windows\system32\config\SAM
SAM-tiedosto on suojattu Windowsilla, eikä sitä voida lukea suoraan työkalu, kuten SAMInside. Etsi Windows 7-virtuaalikone, luo uusi järjestelmänvalvojakäyttäjä nimeltä hashcat, aseta salasana, lataa ja purkaa SAMInside Windows 7:ssä, suorita se järjestelmänvalvojan käyttöoikeuksilla ja napsauta sitten Tiedosto- > Tuo paikalliset käyttäjät aikatauluttimeen, kuten alla on Kuten kuvassa näkyy:
SAMInside saattaa olla "ei vastaa" sen jälkeen, mutta sillä ei ole väliä, odota kärsivällisesti muutama sekunti, SAMInside lukee haluamamme hash odotusten mukaisesti, kuten alla olevassa kuvassa näkyy:
Valitse käyttäjä "hashcat", jonka salasana haluamme räjähtää, paina Ctrl +5 kopioida NT-hash ja palaa sitten Ubuntuun, jossa hashcat on asennettu, tallenna kopioitu hash-arvo tiedostoon win7.hash seuraavalla komennolla:
echo 356CEAE0C89FB65ED6D6AA7A445C4CE5 {> hashcat -w 3 -a 0 -m 1000 - -poista -o win7.out win7.hash wordlist.dic
Suoritus valmistui hetken kuluttua. Tarkista win7.out-tiedosto ja huomaa, että räjähdys onnistui. Käyttäjän hashcatin kirjautumissalasana on rush2112:
werner@Yasser: ~ /hashcat$ cat win7.out
356ceae0c89fb65ed6d6aa7a445c4ce5:rush2112
SAM-tiedoston hankkiminen on kohdassa "Kuinka viedään Windows Hash Series 1". Seuraavassa on prosessi, jossa luken SAM-tiedoston virtuaalikoneessa Windows 7.
Jos se on fyysinen kone, käynnistä kone Win PE:llä ja lue SAM-tiedosto levyltä. Oma on virtuaalikone. Voit lukea virtuaalilevyn tiedostot asentamalla virtuaalilevytiedostot tiedostojärjestelmään. Käyttämäni virtuaalikone on VirtualBox, joka voidaan tehdä komennolla vdfuse. Jos sinulla ei ole vdfusea, sinun on ensin asennettava virtualbox-fuse:
sudo apt-get install virtualbox-fuse
Voit myös ladata virtualbox-fuse-asennuspaketin ja asentaa sen itse.
Kun asennus on valmis, sinulla on vdfuse-komento, joka voi aloittaa virtuaalisen levyn kartoituksen ja asennuksen:
mkdir -p ~ /vmdisk
sudo vdfuse -t vmdk -f Win7Pro32.vmdk ~ /vmdisk/
Tarkista ~ /vmdisk-hakemisto tämän vaiheen suorittamisen jälkeen, jossa on kolme tiedostoa: EntireDisk, Partition1 ja Partition2, uusi hakemisto:
mkdir -p ~ /vmdisk_en
mkdir -p ~ /vmdisk_1
mkdir -p ~ /vmdisk_2
Käytä mount-komentoa asentaaksesi kolme tiedostoa EntireDisk, Partition1 ja Partition2:
sudo mount ~ /vmdisk/EntireDisk ~ /vmdisk_en
sudo asennus ~ /vmdisk/Partition1 ~ /vmdisk_1
sudo mount ~ /vmdisk/Partition2 ~ /vmdisk_2
havaittiin, että koko levyn asennus epäonnistui ja osio 1 ei ollut mitä halusin, osio 2 on tiedosto Windows 7-virtuaalikoneesta, juuri mitä halusin. Kopioi kohde-SAM-tiedostomme osoitteesta vmdisk_fs:
cp ~ /vmdisk_2/Windows/System32/config/SAM . /
Kopioi muuten myös järjestelmätiedosto:
cp ~ /vmdisk_2/Windows/System32/config/SYSTEM . /
Katso SAM-tiedoston sisältö, kuten alla olevassa kuvassa näkyy, ei ole pelkkä tekstitiedosto, se on todellakin Windows-tyyliä,
No, vaikka SAM-tiedosto avattiin onnistuneesti, emme vieläkään saaneet HASH-tiedostoa. Mitä meidän pitäisi tehdä, jos muutamme sen seuraavaksi? Voit käyttää vain työkaluja sam-tiedoston sisällön jäsentämiseen. Tee sekä sam-että järjestelmätiedostot kaliin ja suorita komento:
samdump2 -o sam.hash SYSTEM sam
Tarkista sitten sam.hash, voit myös nähdä kunkin käyttäjän kirjautumissalasanan hash-arvon. Jokainen sam.hash-tiedoston rivi on käyttäjä, ja kunkin rivin muoto on:
Käyttäjänimi: RID:lm-hash-arvo: ntlm-hash-arvo
Huomaa, että tämä muoto on samdump2-komennon tulostusmuoto, ei "hash-salasanamuoto Windowsissa".
3. Räjähtävä Linux-kirjautumissalasana hash
Ensinnäkin sinulla on oltava tietokone, jossa on Linux-järjestelmä. Tämä on helppo sanoa, vain virtuaalikone. Suorita sitten seuraava komento lisätäksesi uuden käyttäjän ja asettaaksesi salasanan räjähtämistä varten:
sudo adduser justforfun
Käyttäjän kirjautumissalasanan hash-arvo Linuxissa tallennetaan tiedostoon/etc/shadow (huom: ei/etc/passwd), käytä seuraavaa komentoa nähdäksesi hash-arvon uuden käyttäjän kirjautumissalasana:
test@test-VirtualBox: ~ $ sudo tail -n 1 /etc/shadow
justforfun:$6$0fokwg59$6hpMS5dM9wDT/42DDoSD0i0g/wHab50Xs9iEvVLC3V20yf1kRmXZHGXCM0Efv6XU69hdgMZ4FwaMzso4hQaGQ0:17373:0:99999:7:::
tail Komentoa käytetään lukemaan tiedoston viimeisiä rivejä, oletusarvo on 10 riviä, määritä rivien määrä parametrilla-n. Juuri luomamme käyttäjä on luonnollisesti viimeisellä rivillä, joten käytä tail-n 1:tä sen lukemiseen. Luettu tulos on ":"-jaettu tieto. Ensimmäinen osa on käyttäjätunnus "justforfun" ja toinen osa on salasanan hash-arvo. Muita osia ei tarvitse huolehtia tässä artikkelissa. Keskitymme toiseen osaan.
"$6$", joka alkaa , tarkoittaa, että käytetyn hash-funktion tyyppi on SHA-512. Linuxissa "$6$" lukuun ottamatta "$1$" viittaa MD5:een, "$2a$" viittaa Blowfishiin, "$2y$" viittaa Blowfish (8-bittisten merkkien oikea käsittely), "$5$" Viittaa SHA-256:een, katso lisätietoja Wikipediasta: passwd. Lisäksi tiedosto/etc/login.defs kuvaa myös hash-algoritmia.
Osa "0fokwg59" alkaen "$6$" seuraavaan "$" on suola. Mikä on suola? Baidu tietää, että CNB2009:n vastaus kysymykseen " Mikä on MD5-suolaarvo " on yksinkertainen ja helposti ymmärrettävä:
Yksinkertaisesti sanottuna se on tapa tehdä samasta salasanasta erilaiset hash-arvot, eli suolaaminen. MD5 itsessään on peruuttamaton, mutta tällä hetkellä Internetissä on monia tietokantoja, jotka tukevat käänteistä kyselyä. Jos käyttäjän salasanatietokanta vuotaa vahingossa, hakkerit voivat saada käyttäjän salasanan käänteisen kyselyn kautta tai käyttää tietokannassa useammin esiintyviä hash-koodeja (eli monet ihmiset käyttävät sitä) brutal force-krakkaukseen (koska se on yleensä heikko salasana). Suolaarvo on ylimääräinen satunnainen arvo, joka on lisätty salasanan hash-prosessin aikana. Esimerkiksi tunnukseni on epilepsia ja salasanani on 123456. Kun se on tallennettu tietokantaan, voin hash-merkkijonoa "123456/epilepsia". salasana vahvistetaan myös merkkijonolla "(vahvistettava salasana) /epilepsia". Tällä tavalla, kun toinen tyhmä salasana on 123456, voit silti rakentaa erilaisia hash-arvoja ja varmistaa ne onnistuneesti. Tällä hetkellä tunnukseni käytetään suola-arvoa salasanan monimutkaiseen hashiin. Joten.. Suolaarvon tehtävänä on vähentää tietokannan vuotojen aiheuttamia menetyksiä. Jos RP on erittäin hyvä ja arvasit salasanani 123456, en voi estää sinua
Tämä vastaus koskee md5:tä, ja sama pätee muihin hash-toimintoihin. Suolan jälkeinen osa on hash-arvo. Kopioi nyt koko toinen osa tiedostoon linux.hash, linux.hash-sisällön pitäisi olla:
$6$0fokwg59$6hpMS5dM9wDT/42DDoSD0i0g/wHab50Xs9iEvVLC3V20yf1kRmXZHGXCM0Efv6XU69hdgMZ4FwaMzso4hQaGQ0
Käytä sitten seuraavaa komentoa räjäyttääksesi Linuxin kirjautumissalasanan hash:
hashcat -w 3 -a 0 -m 1800 - -remove -o linux.out linux.hash wordlist.dic
Hetken kuluttua räjäytys on valmis, katso tulos:
werner@Yasser: ~ /hashcat$ cat linux.out
$6$0fokwg59$6hpMS5dM9wDT/42DDoSD0i0g/wHab50Xs9iEvVLC3V20yf1kRmXZHGXCM0Efv6XU69hdgMZ4FwaMzso4hQaGQ0:4321
On nähtävissä, että räjäytys onnistui.
4. MySQL-kirjautumissalasanan räjähdys hash
Ensinnäkin sinulla on oltava Mysql. Se sattuu olemaan virtuaalikoneessani. Baidu tietää, että MySQL-kirjautumissalasanan hash-arvo on tallennettu tiedostoon user.MYD. Missä tiedosto user.MYD on? En myöskään tiedä, etsin vain:
test@test-VirtualBox: ~ $ sudo find / -name user.MYD
/var/lib/mysql/mysql/user.MYD
löysi sen osoitteesta/var/lib/mysql/mysql/user.MYD, katso tiedoston sisältö:
sudo cat /var/lib/mysql/mysql/user.MYD
Se ei ole tavallinen tekstitiedosto, sillä ei ole paljon väliä, mutta voit silti nähdä, että käyttäjän juurikirjautumissalasanan hash-arvo on:
6B825255FB466413D6B1B724644E23428C94BBCB
Tallenna tämä arvo tiedostoon mysql.hash ja käytä seuraavaa komentoa räjäyttääksesi MySQL-kirjautumissalasanan hash:
hashcat -w { Hetken kuluttua räjäytys on valmis, katso tulokset:
werner@Yasser: ~ /hashcat$ cat mysql.out
6b825255fb466413d6b1b724644e23428c94bbcb:viper
On nähtävissä, että räjäytys onnistui.
5. Räjähdys Discuz! Foorumin salasana
Discuz! Se on tunnettu PHP-foorumiohjelma Kiinassa ja sitä käytetään laajalti. Nyt räjäytetään Discuz! Käyttäjän salasanan hash-arvo. Ensin sinun on löydettävä hash-arvo. Mistä löydän sen? Tietysti Discuzista! tietokannassa.
voidaan erottaa! Missä tietokanta on? Näin ratkaisin sen, lataa Discuzin uusin versio sen viralliselta verkkosivustolta! Lähdekoodi, suorita ja asenna se ja saat Discuz! Tietokanta
Discuz! Oletustietokannan nimi on ultrax, ja pre_ucenter_members-taulukko tallentaa kirjautumissalasanan hash-arvon "pre_" on oletusetuliite, jota voidaan muuttaa asennuksen aikana, mutta "ucenter_members" ei muutu. Käytä seuraavaa SQL-käskyä kirjautumissalasanan hash-arvon kyselyyn:
select password,salt from pre_ucenter_members;
Tallenna hash-arvot ja suolaarvot tiedostoon:
echo 69bcba126b93c6f397983629a0f70553:c13fd9 > discuz.hash
Hash-arvo ja suola-arvo ovat samalla rivillä, jaettuna ":". Käytä lopuksi seuraavaa komentoa räjähtääksesi Discuz-kirjautumissalasanan hash:
hashcat -w 3 -a 0 -m 2611 - -remove -o discuz.out discuz.hash wordlist.dic
Hetken kuluttua räjäytys on valmis, katso tulokset:
werner@Yasser: ~ /hashcat$ cat discuz.out
69bcba126b93c6f397983629a0f70553:c13fd9:winter
On nähtävissä, että räjäytys onnistui.
6. Suuri sanakirjatesti
Toistaiseksi käytämme pientä sanakirjaa, jossa on vain 500 sanaa. Eikö se ole outoa? Tämä johtuu siitä, että olen tarkoituksella asettanut heikon salasanan sanakirjaan harjoittelemaan Hashcatin käyttöä, muuten se ei saa ihmiset tuntemaan olonsa huonoksi. Käytännössä on mahdotonta saada niin hyvää onnea. Lasketaan satunnaisesti vähemmän heikon salasanan MD5-arvo, räjäytetään suurella sanakirjalla, toisaalta yritetään onnea ja toisaalta nähdään kuinka nopea hashcat voi olla.
Laske ensin MD5-arvo:
import hashlib
md5 = hashlib.md5 ()
md5.update (" werner123456!!! ")
print md5.hexdigest () Tulostus on:
b17133f9abff287ed0546c1af2b171f7
Valitse sitten 10,5G-kokoinen sanakirja, joka sisältää 940 miljoonaa salasanaa ja aloita räjähtäminen:
hashcat -w 3 -a 0 -m 0 - -poista -o big.out b17133f9abff287ed0546c1af2b171f7 big.dic
Huomaa, että kun on vain yksi hash-arvo, sinun ei tarvitse tallentaa sitä tiedostoon, voit myös kirjoittaa sen suoraan komentorivin parametreihin. Aloin räjäyttää ennen nukkumaanmenoa, heräsin seuraavana päivänä katsomaan tuloksia ja huomasin:
aloitettu: ke heinäkuu 26 22:55:27 2017
pysäytetty: ke heinäkuu 26 23:02:28 2017
Se kesti vain 7 minuuttia! Luulin, että se kestää 7 tuntia, mikä on 60 kertaa nopeampaa kuin odotin! Valitettavasti hash-arvoa ei onnistunut räjäyttämään. Näyttää siltä, että "werner123456!!!" ei ole salasanasanakirjassa. Näyttää siltä, että minun on valmisteltava 100G salasanasanakirja, mutta niin suuren sanakirjan tallentaminen ja siirtäminen on erittäin hankalaa. Eikö ole muuta tapaa? Tietenkin, muistatko hyökkäystilan? Olemme käyttäneet "suoraa" tilaa. Seuraavaksi tutkitaan useita muita tiloja.
7. Yhteenveto
Kun käytät hashcatia räjähtämään hash, ensimmäinen askel on löytää oikea hash. Eri järjestelmissä ja eri ohjelmistoissa on eri paikkoja, joissa hash-arvo on löydettävä tarkasti. Toinen on arvioida oikein hash-tyyppi, määrittää, tukeeko hashcat tätä hashia, ja valita oikeat-m-parametrit, muuten onnistuminen on lähes mahdotonta; Kolmas on, että salasanasanakirjan pitäisi olla parempi, onnistuuko räjähdys lopulta, riippuu sanakirjasta. Vaikka suurempi salasanakirja ei ole parempi, on parempi olla suurempi. hashcat on myös kuuluisa nopeudestaan, joten suuret sanakirjat eivät ole ongelma Hashcatille. Tässä on parempi sanakirja: Aiemmat vuotoportit + yleisesti käytetty heikko salasana sanakirjakokoelma. 7Z , purkusalasana on: anywlan. Lisäksi, jos keräät paljon pieniä sanakirjoja, voit yhdistää, lajitella ja poistaa pienet sanakirjat saadaksesi suuren sanakirjan Hashcat-räjäytyksen helpottamiseksi. Jos pieni sanakirja on samassa hakemistossa, voit tehdä sen yhdellä komennolla:
cat * | lajittele | uniq > Merge.dic
Entä jos pienet sanakirjat järjestetään luokittain ja jaetaan monitasoisiin hakemistoihin? Pelkkä kissakomento ei tietenkään toimi, mutta itse asiassa tarvitaan vain yksi komento Olettaen, että pienet sanakirjat on tallennettu hakemistoon MyDictionary, komento voidaan kirjoittaa näin:
find . /MyDictionary -type f -exec cat {} \; | lajitella | uniq > Merge.dic