Fungsi hash ialah istilah umum untuk jenis fungsi Input fungsi jenis ini ialah data binari sewenang-wenangnya, dan output ialah data binari panjang tetap, fungsi jenis ini mempunyai ciri-ciri berikut:
Unidirectionality: Mudah dan cepat untuk mengira output daripada input, tetapi secara matematik tidak boleh dilaksanakan untuk menyimpulkan input daripada output
Kekangan perlanggaran: Amat sukar untuk mencari dua input berbeza dengan output yang sama
Fungsi yang memenuhi ciri-ciri ini boleh dipanggil fungsi hash. Menggunakan data tertentu sebagai input fungsi cincang, output dikira Adalah biasa untuk memanggil output ini nilai cincang data.
Salah satu fungsi utama fungsi hash adalah untuk menyimpan kata laluan dengan selamat Ia tidak menyimpan kata laluan secara langsung (iaitu, ia tidak menyimpan kata laluan teks biasa), tetapi menyimpan nilai hash kata laluan. Semasa pengesahan, anda hanya perlu mengira semula kata laluan input Nilai hash boleh dibandingkan dengan nilai hash kata laluan yang disimpan untuk mengetahui sama ada kata laluan adalah betul. Disebabkan kekangan satu arah dan perlanggaran fungsi hash, walaupun penyerang mendapat nilai hash kata laluan, sukar untuk mengetahui kata laluan itu sendiri.
Penyerang mendapat nilai hash kata laluan, adakah benar-benar tidak ada cara untuk mengetahui kata laluan itu sendiri? Sudah tentu tidak. Walaupun secara matematik tidak boleh dilaksanakan untuk mengira kata laluan itu sendiri secara langsung daripada nilai hash kata laluan, kita tahu bahawa fungsi hash adalah mudah dan pantas untuk mengira output daripada input. Paling teruk, anda boleh mencubanya. Hanya kata laluan yang boleh ditetapkan oleh manusia. Mereka, cuba satu persatu, anda masih boleh mencubanya jika anda bernasib baik. Operasi percubaan berterusan untuk mendapatkan input yang sepadan dengan nilai hash dipanggil letupan.
Berdasarkan idea ini, hashcat wujud. Dikatakan bahawa hashcat dilahirkan untuk membuktikan bahawa meletupkan hash adalah perkara yang sangat mudah. hashcat mendakwa sebagai alat letupan hash terpantas di dunia, dan ia juga menyokong GPU dan FGPA, jika anda memilikinya.
hashcat bukan sahaja pantas, tetapi juga menyokong lebih daripada dua ratus fungsi hash secara profesional, gunakan arahan:
hashcat - -help
Anda boleh melihat senarai semua fungsi hash yang disokong oleh hashcat, terlalu banyak saya tidak akan menyiarkannya di sini.
hashcat dipasang secara lalai dalam Kali dan boleh digunakan terus.Tetapi Kali saya dipasang dalam VirtualBox, dan saya selalu merasakan bahawa mesin maya lebih perlahan, jadi saya ingin menggunakan hashcat dalam hos fizikal. Pergi ke laman web rasmi hashchat untuk memuat turun hashcat. Sehingga kini, versi terkini ialah v3.5.0, yang dikeluarkan pada 2017.04.05. Dari tarikh kemas kini, dapat dilihat bahawa hashchat penuh dengan daya hidup. Mengeluarkan masalah penyusunan dan terus memuat turun pakej binari, yang hanya 2.7M, yang sangat kecil berbanding dengan permainan yang berharga berpuluh-puluh G.
Selepas muat turun selesai, nyahmampat hashcat dan lihat:
Fail seperti ini ialah fail boleh laku dalam linux dan windows di bawah 32-bit dan 64-bit, pilih salah satu daripadanya mengikut keadaan komputer anda sendiri. Saya memilih hashcat64.bin. Demi kecantikan, saya menambah baris dalam fail ~ /. bashrc:
alias hashcat = ' Laluan ke hashcat64.bin '
Selepas menyimpan, buka semula terminal maya untuk membuat fail ~ /. bashrc berkuat kuasa. Dengan cara ini, tidak kira di mana anda berada, anda boleh terus memasukkan arahan hashcat tanpa menukar direktori atau memasukkan "64.bin" yang hodoh, seperti yang ditunjukkan dalam rajah di bawah.
Nah, sekarang anda boleh mula meletupkan pelbagai hash menggunakan hashcat.
md5 sepatutnya menjadi salah satu fungsi hash yang paling terkenal dan digunakan secara meluas. Mula-mula gunakan Python untuk menjana beberapa nilai md5 untuk letupan Kod adalah seperti berikut:
import hashlib kata laluan = [' 123123 ', ' bond007 ', ' xxxxxx ', ' *H@ & (NT*@BR#^ '] Untuk kata laluan dalam kata laluan: md5 = hashlib.md5 () md5.update (kata laluan) print md5.hexdigest ()
Kod di atas mengira nilai cincang bagi empat rentetan masing-masing, dan hasil keluaran ialah:
4297f44b13955235245b2497399d7a93 cbdb7e2b1ed566ceb796af2df07205a3 dad3a37aa9d50688b5157698acfd7aee d77db958c179bbffae04b2b908b75c26
Simpan hasil output dalam fail md5.hash, satu nilai hahs setiap baris. Kemudian gunakan hashcat untuk meletupkan nilai hash ini, arahannya adalah seperti berikut:
hashcat -w 3 -a 0 -m 0 - -alih keluar -o md5.out md5.hash wordlist.dic
Parameter-w digunakan untuk menentukan mod kerja Terdapat empat jenis, seperti yang ditunjukkan dalam jadual berikut:
| N | Prestasi | masa berjalan | penggunaan kuasa | kesan Desktop |
|---|---|---|---|---|
| 1 | rendah | 2 ms | rendah | minimum |
| 2 | lalai | 12 ms | Ekonomi | Ketara |
| 3 | tinggi | 96 ms | tinggi | tidak responsif |
| 4 | mimpi ngeri | 480 ms | gila | tanpa kepala |
parameter-a digunakan untuk menentukan mod serangan. Maksud 0 adalah langsung dan berterusan, iaitu, ia diletupkan dengan kamus kata laluan. Terdapat lima nilai-a, seperti yang ditunjukkan dalam jadual di bawah:
| N | mod |
|---|---|
| 0 | lurus |
| 1 | gabungan |
| 3 | daya kasar |
| 6 | Topeng senarai perkataan hibrid |
| 7 | Hybrid Mask + Wordlist |
-m Fungsi cincang yang digunakan untuk menentukan nilai cincang untuk diletupkan, 0 bermakna fungsi cincang ialah md5, dan nilai lain adalah seperti yang ditunjukkan dalam jadual berikut:
| N | nama | kategori |
|---|---|---|
| 0 | MD5 | Hash mentah |
| 300 | MySQL4.1/MySQL5 | Pelayan Pangkalan Data |
| 1000 | NTLM | Sistem Pengendalian |
| 1800 | sha512crypt $6$, SHA512 (Unix) | Sistem Pengendalian |
| 2611 | vBulletin < v3.8.5 | Forum, CMS, e-dagang, rangka kerja |
Jadual ini terlalu panjang. Saya hanya akan menunjukkan beberapa fungsi hash yang terlibat dalam artikel ini di sini. Anda boleh melihat semuanya dengan parameter – bantuan.
Parameter – Alih keluar bermaksud bahawa jika nilai hash berjaya diletupkan, nilai itu akan dialih keluar daripada md5.hash.
Parameter-o diikuti dengan nama fail yang menunjukkan di mana keputusan letupan disimpan.
Dua parameter terakhir md5.hash dan wordlist.dic masing-masing ialah nilai hash dan kamus kata laluan yang akan diletupkan Nilai hash dan kamus kata laluan adalah satu dalam satu baris. Kandungan dalam md5.hash telah dikira oleh Python. Jika anda tidak mempunyai kamus kata laluan yang sesuai, anda boleh menggunakan arahan:
wget -O wordlist. dic https://samsclass.info/123/proj10/500_passwords.txt
下载一个。现在完事具备,按下回车,结果华丽地报错:(
clGetPlatformIDs (): CL_PLATFORM_NOT_FOUND_KHR
Mungkin terdapat kekurangan persekitaran operasi, jadi pasang sahaja. Saya memasang semua perkara ini:
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
Jika kelajuan rangkaian baik, ia akan dipasang dalam masa yang singkat Perintah pertama melaporkan ralat:
/sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 ialah bukan a pautan simbolik /sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 adalah bukan a simbolik pautan
Tetapi nampaknya ia tidak menjejaskan apa-apa, abaikan sahaja. Selepas memasang ini, tekan Enter sekali lagi dan jalankan arahan ralat asal. Saya mendapati bahawa tiada ralat dilaporkan lagi, dan pelaksanaan selesai dalam sekelip mata. Selepas arahan dilaksanakan, saya menyemak kandungan fail md5.hash dan md5.out dan mendapati bahawa hanya terdapat satu cincang yang tinggal dalam md5.hash Tiga cincang yang berjaya diletupkan telah dipindahkan ke fail md5.out. md5.out Terdapat tiga nilai cincang dan nilai asalnya, seperti yang ditunjukkan dalam rajah di bawah:
Nilai hash kata laluan log masuk Windows disimpan dalam fail SAM SAM ialah singkatan "Pengurus Akaun Keselamatan". Biasanya, ia terletak di
C: \Windows\system32\config\SAM
Fail SAM dilindungi oleh Windows dan tidak boleh dibaca secara langsung. Ia memerlukan bantuan alat seperti SAMInside. Cari mesin maya Windows 7, buat pengguna pentadbir baharu bernama hashcat, tetapkan kata laluan, muat turun dan nyahmampat SAMInside dalam Windows 7, jalankan dengan kebenaran pentadbir, kemudian klik Fail- > Import Pengguna Tempatan ke atas Penjadual, seperti yang ditunjukkan dalam rajah di bawah Seperti yang ditunjukkan:
Selepas itu SAMInside mungkin "tidak bertindak balas", tetapi tidak mengapa, tunggu dengan sabar selama beberapa saat, SAMInside memenuhi jangkaan dan membaca hash yang kami mahukan, seperti yang ditunjukkan dalam rajah di bawah:
Pilih pengguna "hashcat" yang kami ingin meletupkan kata laluan, tekan Ctrl +5 untuk menyalin NT-hash, kemudian kembali ke Ubuntu dengan hashcat dipasang, gunakan arahan berikut untuk menyimpan nilai hash yang disalin ke fail win7.hash:
echo 356CEAE0C89FB65ED6D6AA7A445C4CE5 356ceae0c89fb65ed6d6aa7a445c4ce5:rush2112
Untuk mendapatkan fail SAM, sila rujuk "Cara Mengeksport Windows Hash Series One". Berikut merekodkan proses membaca fail SAM dalam mesin maya Windows 7.
Jika ia adalah mesin fizikal, mulakan mesin dengan Win PE dan baca fail SAM pada cakera. Saya adalah mesin maya. Saya boleh membaca fail dalam cakera maya dengan memasang fail cakera maya ke sistem fail. Mesin maya yang saya gunakan ialah VirtualBox, yang boleh dilakukan dengan arahan vdfuse. Jika anda tidak mempunyai vdfuse, anda perlu memasang virtualbox-fuse terlebih dahulu:
sudo apt-get install virtualbox-fuse
Anda juga boleh memuat turun virtualbox-fuse Pakej pemasangan dipasang sendiri.
Selepas pemasangan selesai, terdapat arahan vdfuse, yang boleh memulakan pemetaan dan pelekap cakera maya:
mkdir -p ~ /vmdisk sudo vdfuse -t vmdk -f Win7Pro32.vmdk ~ /vmdisk/
Selepas melakukan langkah ini, lihat ~ /direktori vmdisk, yang mempunyai tiga fail: EntireDisk, Partition1 dan Partition2, direktori baharu:
mkdir -p ~ /vmdisk_en mkdir -p ~ /vmdisk_1 mkdir -p ~ /vmdisk_2
Gunakan arahan mount untuk memasang tiga fail EntireDisk, Partition1 dan Partition2 masing-masing:
sudo mount ~ /vmdisk/EntireDisk ~ /vmdisk_en sudo mount ~ /vmdisk/Partition1 ~ /vmdisk_1 sudo mount ~ /vmdisk/Partition2 ~ /vmdisk_2
mendapati bahawa pemasangan EntireDisk gagal, kandungan dalam Partition1 bukan apa yang saya mahukan, Partition2 adalah fail dalam mesin maya Windows 7, tepat apa yang saya mahukan. Salin fail SAM sasaran kami daripada vmdisk_fs:
cp ~ /vmdisk_2/Windows/System32/config/SAM . /
By the way, salin fail sistem juga:
cp ~ /vmdisk_2/Windows/System32/config/SYSTEM . /
Lihat kandungan fail SAM, seperti yang ditunjukkan dalam gambar di bawah, ternyata ia bukan fail teks biasa, memang gaya Windows,
Nah, walaupun fail SAM berjaya dibuka, kami masih tidak mendapat hash, apa yang perlu kami lakukan jika kami menukarnya seterusnya? Anda hanya boleh menggunakan alat untuk menghuraikan kandungan fail SAM. Masukkan kedua-dua fail sam dan fail sistem ke dalam Kali dan jalankan arahan:
samdump2 -o sam.hash SYSTEM sam
Kemudian lihat sam.hash, dan anda juga boleh melihat nilai hash bagi kata laluan log masuk setiap pengguna. Setiap baris dalam fail sam.hash ialah pengguna, dan format setiap baris ialah:
Nama pengguna: RID:LM-hash value: NTLM-hash value
Ambil perhatian bahawa format ini ialah format output arahan samdump2, bukan "format kata laluan hash di bawah Windows".
Pertama sekali, anda mesti mempunyai komputer yang menjalankan sistem linux. Ini mudah dikatakan, hanya mesin maya. Kemudian, jalankan arahan berikut untuk menambah pengguna baharu dan menetapkan kata laluan untuk tujuan letupan kami:
sudo adduser justforfun
Nilai cincang kata laluan log masuk pengguna dalam linux disimpan dalam fail/etc/shadow (nota: bukan/etc/passwd), gunakan arahan berikut untuk melihat nilai cincang kata laluan log masuk pengguna baharu:
test@test-VirtualBox: ~ $ sudo tail -n 1 /etc/shadow justforfun:$6$0fokwg59$6hpMS5dM9wDT/42DDoSD0i0g/wHab50Xs9iEvVLC3V20yf1kRmXZHGXCM0Efv6XU69hdgMZ4FwaMzso4hQaGQ0:17373:0:99999:7:::
arahan tail digunakan untuk membaca beberapa baris terakhir fail, lalai ialah 10 baris, gunakan parameter-n untuk menentukan bilangan baris. Pengguna yang baru kami buat secara semula jadi berada di baris terakhir, jadi gunakan tail-n 1 untuk membacanya. Hasil bacaan adalah data yang dibahagikan dengan ":" Bahagian pertama adalah nama pengguna "justforfun", dan bahagian kedua adalah nilai hash kata laluan. Bahagian lain tidak perlu dipedulikan dalam artikel ini. Kami memberi tumpuan kepada bahagian kedua. "$6$" bermula dengan
bermaksud bahawa jenis fungsi hash yang digunakan ialah SHA-512. Kecuali "$6$", dalam linux, "$1$" merujuk kepada MD5, "$2a$" merujuk kepada Blowfish, "$2y$" merujuk kepada Blowfish (pengendalian betul aksara 8-bit), "$5$" Merujuk kepada SHA-256, lihat Wikipedia:passwd untuk butiran. Di samping itu, fail/etc/login.defs juga menerangkan algoritma hash.
Bahagian "0fokwg59" yang bermula dengan "$6$" dan sebelum "$" seterusnya ialah garam. Apakah garam? Baidu tahu bahawa jawapan CNB2009 kepada soalan " Apakah nilai garam md5 " adalah mudah dan mudah difahami:
Ringkasnya, ia adalah cara untuk membuat kata laluan yang sama mempunyai nilai hash yang berbeza., iaitu pengasinan. MD5 itu sendiri tidak dapat dipulihkan, tetapi pada masa ini terdapat banyak pangkalan data di Internet yang menyokong pertanyaan balik. Jika pangkalan data kata laluan pengguna secara tidak sengaja bocor, penggodam boleh mendapatkan kata laluan pengguna melalui pertanyaan balik, atau menggunakan kod hash yang kerap muncul dalam pangkalan data (iaitu, digunakan oleh ramai orang) untuk retak kekerasan kasar (kerana ia biasanya kata laluan yang lemah). Nilai garam ialah nilai rawak tambahan yang ditambah semasa proses cincang kata laluan Contohnya, id saya ialah epilepsi dan kata laluan saya ialah 123456. Apabila ia disimpan dalam pangkalan data, saya boleh menghasut rentetan "123456/epilepsi". Apabila mengesahkan kata laluan, rentetan "(kata laluan untuk disahkan) /epilepsi ω inverted ④" juga digunakan untuk pengesahan. Dengan cara ini, apabila kata laluan bodoh lain ialah 123456, nilai hash yang berbeza masih boleh dibina dan berjaya disahkan. Pada masa ini, id saya digunakan sebagai nilai garam untuk hash kompleks untuk kata laluan. Jadi apa?. Peranan nilai garam adalah untuk mengurangkan kerugian yang disebabkan oleh kebocoran pangkalan data. Jika RP anda sangat baik dan anda meneka kata laluan saya ialah 123456, saya tidak boleh menghalang anda
Jawapan ini adalah untuk md5, dan perkara yang sama berlaku untuk fungsi hash lain. Bahagian selepas garam ialah nilai hash. Sekarang salin keseluruhan bahagian kedua ke dalam fail linux.hash Kandungan dalam linux.hash hendaklah:
$6$0fokwg59$6hpMS5dM9wDT/42DDoSD0i0g/wHab50Xs9iEvVLC3V20yf1kRmXZHGXCM0Efv6XU69hdgMZ4FwaMzso4hQaGQ0
Kemudian gunakan arahan berikut untuk meletupkan hash kata laluan log masuk linux:
hashcat -w 3 -a 0 -m 1800 - -remove -o linux.out linux.hash wordlist.dic
Selepas beberapa saat, letupan selesai, lihat hasilnya:
werner@Yasser: ~ /hashcat$ cat linux.out $6$0fokwg59$6hpMS5dM9wDT/42DDoSD0i0g/wHab50Xs9iEvVLC3V20yf1kRmXZHGXCM0Efv6XU69hdgMZ4FwaMzso4hQaGQ0:4321
Dapat dilihat bahawa letupan berjaya.
Pertama, anda mesti mempunyai Mysql. Saya kebetulan memilikinya dalam mesin maya saya. Baidu dapat mengetahui bahawa nilai cincang kata laluan log masuk Mysql disimpan dalam fail user.MYD. Di manakah fail user.MYD? Saya juga tidak tahu, saya hanya mencari:
test@test-VirtualBox: ~ $ sudo find / -name user.MYD /var/lib/mysql/mysql/user.MYD
menemuinya, ia berada di/var/lib/mysql/mysql/user.MYD, lihat kandungan fail:
sudo cat /var/lib/mysql/mysql/user.MYD
Ia bukan fail teks biasa, jadi ia tidak mempunyai banyak kaitan, tetapi anda masih boleh melihat bahawa nilai cincang kata laluan log masuk akar pengguna ialah:
6B825255FB466413D6B1B724644E23428C94BBCB
Simpan nilai ini ke dalam fail mysql.hash, gunakan arahan berikut untuk meletupkan cincang kata laluan log masuk mysql:
hashcat -w {Selepas beberapa saat, letupan selesai, lihat hasilnya:
werner@Yasser: ~ /hashcat$ cat mysql.out 6b825255fb466413d6b1b724644e23428c94bbcb:viperDapat dilihat letupan berjaya.
5. Letupan Discuz! Kata Laluan Forum
Discuz! Ia adalah program forum php yang terkenal di negara saya dan digunakan secara meluas. Sekarang mari letupkan Discuz! Nilai hash kata laluan pengguna. Pertama sekali, anda perlu mencari nilai hash. Di manakah anda boleh menemuinya? Sudah tentu dari Discuz! dalam pangkalan data.
Boleh Discuz! Di manakah pangkalan data? Beginilah cara saya menyelesaikannya, muat turun versi terkini Discuz dari laman web rasminya! Kod sumber, jalankan dan pasang, dan dapatkan Discuz! Pangkalan data
![]()
Discuz! Nama pangkalan data lalai ialah ultrax, dan jadual pre_ucenter_members menyimpan nilai cincang kata laluan log masuk "pre_" ialah awalan lalai, yang boleh ditukar semasa pemasangan, tetapi "ucenter_members" tidak akan berubah. Gunakan pernyataan sql berikut untuk menanyakan nilai cincang kata laluan log masuk:
select password,salt from pre_ucenter_members;
![]()
Simpan nilai hash dan nilai garam ke fail:
echo 69bcba126b93c6f397983629a0f70553:c13fd9 > discuz.hashNilai hash dan nilai garam berada dalam baris yang sama, dibahagikan dengan ":". Akhir sekali, letupkan hash kata laluan log masuk Discuz dengan arahan berikut:
hashcat -w 3 -a 0 -m 2611 - -remove -o discuz.out discuz.hash wordlist.dicSelepas beberapa saat, letupan selesai, lihat hasilnya:
werner@Yasser: ~ /hashcat$ cat discuz.out 69bcba126b93c6f397983629a0f70553:c13fd9:winterDapat dilihat letupan berjaya.
6. Ujian kamus besar
Setakat ini, kami menggunakan kamus kecil dengan hanya 500 perkataan, dan ia hanya mengambil masa seketika setiap kali untuk berjaya meletupkan pelbagai hash. Tidakkah anda fikir ia pelik? Ini kerana saya sengaja menetapkan kata laluan lemah dalam kamus untuk berlatih menggunakan hashcat, jika tidak, ia tidak akan membuatkan orang berasa buruk jika mereka tidak dapat meletupkannya. Adalah mustahil untuk mempunyai nasib yang begitu baik dalam amalan. Mari kita kira nilai md5 kata laluan yang tidak begitu lemah, letupkan dengan kamus besar, cuba nasib di satu pihak, dan lihat seberapa cepat hashcat boleh.
Kira nilai md5 dahulu:
import hashlib md5 = hashlib.md5 () md5.update (" werner123456!!! ") print md5.hexdigest ()Output ialah:
b17133f9abff287ed0546c1af2b171f7Kemudian pilih kamus bersaiz 10.5G yang mengandungi 940 juta kata laluan dan mula meletup:
hashcat -w 3 -a 0 -m 0 - -remove -o big.out b17133f9abff287ed0546c1af2b171f7 big.dicPerhatikan bahawa apabila terdapat hanya satu nilai hash, anda tidak perlu menyimpannya dalam fail, tetapi juga boleh menulisnya terus dalam parameter baris arahan. Saya mula meletup sebelum tidur, dan keesokan harinya saya bangun untuk melihat keputusan dan mendapati bahawa:
bermula: Wed Jul 26 22:55:27 2017 Stopped: Wed Jul 26 23:02:28 2017Ternyata hanya mengambil masa 7 minit! Saya fikir ia akan mengambil masa 7 jam, 60 kali lebih cepat daripada yang saya jangkakan! Malangnya, nilai hash tidak berjaya diletupkan. Nampaknya "werner123456!!!" tiada dalam kamus kata laluan. Nampaknya saya perlu menyediakan kamus kata laluan 100G, tetapi sangat menyusahkan untuk menyimpan dan memindahkan kamus yang begitu besar. Adakah tiada cara lain? Sudah tentu ada, ingat mod serangan? Kami telah menggunakan mod "lurus". Seterusnya, mari kita kaji mod lain.
7. Ringkasan
Apabila menggunakan hashcat untuk meletupkan hash, perkara pertama ialah mencari hash yang betul Sistem yang berbeza dan perisian yang berbeza mempunyai lokasi penyimpanan hash yang berbeza, jadi anda perlu mencari nilai hash dengan tepat; Yang kedua ialah menilai jenis hash dengan betul, menentukan sama ada hashcat menyokong hash ini, dan memilih parameter-m yang betul, jika tidak, hampir mustahil untuk berjaya; Yang ketiga ialah kamus kata laluan lebih baik. Sama ada letupan boleh berjaya pada akhirnya bergantung kepada kamus. Walaupun lebih besar kamus kata laluan tidak lebih baik, lebih baik lebih besar. hashcat juga terkenal dengan kelajuannya. Kamus besar tidak menjadi masalah untuk hashcat. Berikut adalah rekod kamus yang lebih baik: pintu kebocoran sebelumnya + koleksi kamus kata laluan lemah yang biasa digunakan. 7Z , kata laluan penyahmampatan ialah: anywlan. Di samping itu, jika anda mengumpul banyak kamus kecil, anda boleh menggabungkan, mengisih dan menduplikasi kamus kecil untuk mendapatkan kamus besar untuk letupan hashcat. Jika kamus kecil berada dalam direktori yang sama, anda boleh melakukannya dengan satu arahan:
cat * | sort | uniq > Merge.dicBagaimana jika kamus kecil disusun mengikut kategori dan diedarkan dalam direktori berbilang lapisan? Jelas sekali tidak akan berfungsi dengan hanya menggunakan arahan kucing, tetapi sebenarnya, hanya satu arahan diperlukan Dengan mengandaikan bahawa kamus kecil disimpan dalam direktori MyDictionary, arahan boleh ditulis seperti ini:
cari . /MyDictionary -type f -exec cat {} \; | isih | uniq > Merge.dic