Hashcat är ett lösenordssprängningsverktyg och ett av de nödvändiga verktygen för informationssäkerhet. Jag bokmärker härmed den här artikeln för att spela in en sammanfattning i nödsituationer.
Hashcat är det snabbaste lösenordsknäckningsprogrammet i världen. Det är ett distribuerat verktyg med öppen källkod som stöder flera plattformar och algoritmer.
Officiell: https://hashcat.net/hashcat/
Github:https://github.com/hashcat/hashcat
https://github.com/hashcat/hashcat/releases 下载最新版压缩包,解压根据自己的平台运行 hashcat64.exe 或者 hashcat32.exe
Ange hashtypen som ska knäckas, följt av numret som motsvarar hashtypen
Ange det knäckningsläge som ska användas, och dess värde hänvisar till parametrarna senare:
- [ Attack Modes ] - # | läge = = = + = = = = = = = 0 | rak # direkt ordbok knäck 1 | kombination # kombination knäck 3 | Brute-force # Mask Brute force cracking 6 | Hybrid ordlista + Mask # ordbok + Mask knäck 7 | Hybrid Mask + Wordlist # Mask + ORDBOOK CRACK
Aktivera inkrementellt knäckningsläge och låt hashcat utföra knäckning inom det angivna lösenordslängdsintervallet
Minsta lösenordslängd, följt av ett heltal, konfigurera INCREMENT-läget för att använda det tillsammans
Lösenordets maximala längd, följt av ett heltal, konfigurera INCREMENT-läget för att använda det tillsammans
Ignorera varningsmeddelandet under knäckningsprocessen
<
- -outfile Ange lagringsplatsen för hashen och motsvarande klartextslösenord efter framgångsrik knäckning
- -optimized-kernel-enable Aktivera optimerad kärna (begränsa lösenordslängden)
- -opencl-devices Ange OpenCL-enheter Listan över enheter jag stöder här är följande:
Kod
* Enhet #1: Intel (R) Core (TM) i7-9750H CPU @ 2,60GHz, Hoppade över. * Enhet #2: Intel (R) UHD Grafik 630, 384/1536 MB Allokerbar, 24MCU * Enhet #3: AMD Radeon Pro 555X Compute Engine, 1024/4096 MB allokerbar, 12MCU
- -opencl-device-types Ange enhetstypen för opencl Hashcat stöder följande enhetstyper:
bash
1 | CPU2 | GPU3 | FPGA, DSP, samprocessor
Allmänt använda -D 2 Ange GPU-knäckning
bash
? | Teckenuppsättning = = = + = = = = = = = = = =
l | abcdefghijklmnopqrstuvwxyz # Små bokstäver a-z
u | ABCDEFGHIJKLMNOPQRSTUVWXYZ # Storbokstäver A-Z
d | 0123456789 # Antal 0-9
h | 0123456789abcdef # siffror + abcdef
H | 0123456789ABCDEF # siffror + ABCDEF
s | ! " #$% & ' () * +, -. /:; < = >? @ [\] ^_` {|} ~ # Specialtecken
en | ? Jag? Du? d? s # Alla synliga tecken på tangentbordet
b | 0 - 0xff # Det kan användas för att matcha lösenord som mellanrum
bash
- -custom-charset1 [chars] motsvarar -1 - -custom-charset2 [chars] motsvarar -2 - -custom-charset3 [tecken] motsvarar -3 - -custom-charset4 [tecken] motsvarar -4
med i masken? 1、? 2、? 3、? 4 för att representera
några fall:
bash
- -custom-charset1 abcd123456! @- +
Vid den här tiden? 1 betyder abcd123456! @- +
bash
- -custom-charset2 ? Jag? d
Vid den här tiden? 2 betyder ? Jag? d är ? h siffror + små bokstäver:
bash
-3 abcdef -4 123456
vid denna tidpunkt ? 3? 3? 3? 3? 4? 4? 4? 4 uttrycks som de fyra första siffrorna kan vara abcdef, och de fyra sista siffrorna kan vara 123456
kod
1q2w3e4r` MD5-värdet är ` 5416d7cd6ef195a0f7622a9c56b55e84
bash
hashcat -a 0 -m 0 ' 5416d7cd6ef195a0f7622a9c56b55e84 ' hashpass.txt -o success.txt
Ibland visas följande uppmaning när du knäcker det:
kod
INFO: Alla hashs hittade i potfil! använd - -visa för att visa dem.
Detta visar att lösenordet har knäckts av oss tidigare, så hashcaten visas inte längre. Du kan lägga till parametrar - -show senare för att visa lösenordet:
bash
hashcat -a 0 -m 0 ' cbc8f5435c87e13c5d14e6ce92358d68 ' hashpass.txt - -visa cbc8f5435c87e13c5d14e6ce92358d68: 123456@abc
Platsen där hashcat lagrar den framgångsrikt knäckta lösenordsfilen är: ~ /. hashcat/hashcat.potfile
Om du vill visa det knäckta lösenordet direkt kan du ta bort den direkt filen.
bash
bash
hashcat -a 1 -m 0 ' 5416d7cd6ef195a0f7622a9c56b55e84 ' hashpass1.txt hashpass1.txt
bash
echo -n admin888 |openssl MD5 7fef6171469e80d32c0559f88b377245
Knäck MD5-värdet för admin888 :
bash
hashcat -a 6 -m 0 ' 7fef6171469e80d32c0559f88b377245 ' hashpass.txt -O
bash
hashcat -a 7 -m 0 ' 7fef6171469e80d32c0559f88b377245 ' ' admi? Jag? d? d? d ' hashpass.txt -O
MD5-kryptering på 23323323 :
bash
$ echo -n 23323323 |openssl MD5 5a745e31dbbd93f4c86d1ef82281688b
Använd hashcat för att knäcka:
bash
hashcat -a 3 -m 0 - -force ' 5a745e31dbbd93f4c86d1ef82281688b ' '? d? d? d? d? d? d? d? d ' -O
bash
$ echo -n lösenord |openssl MD5 a9d402bfcde5792a8b531b3a82669585
Använd hashcat för att knäcka:
bash
hashcat -a 3 -m 0 -1 '? Jag? u ' - -Kraft ' a9d402bfcde5792a8b531b3a82669585 ' '? 1? 1? 1? 1? 1? 1? 1? 1 ' -O
En anpassad regel -1 är definierad här, just nu ? 1 betyder ? Jag? u, det vill säga stora och små bokstäver.
Admin88 MD5-värdet är 2792e40d60bac94b4b163b93566e65a9
bash
hashcat -a 3 -m 0 -1 '? Jag? Du? d ' - -kraft ' 2792e40d60bac94b4b163b93566e65a9 ' - -ökning - -ökning-min 5 - -ökning-max 7 '? 1? 1? 1? 1? 1? 1? 1 ' -O
En anpassad regel -1 är definierad här, just nu ? 1 betyder ? Jag? Du? d, det vill säga stora och små bokstäver + siffror.
admin23323 MD5-värdet är a9991129897a44e0d1c2855c3d7dccc4
bash
hashcat -a 3 -m 0 -1 '? Jag? Du? d ' - -force ' a9991129897a44e0d1c2855c3d7dccc4 ' ' admin? 1? 1? 1? 1? 1 ' -O
Se lösenord för mysql:
mysql
mysql > välj lösenord från mysql.user; +-------------------------------------------+ | Lösenord | +-------------------------------------------+ | * 81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | | * 81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | | * 81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | | * 81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | +-------------------------------------------+ 4 rader i set (0.00 sec)
börja sedan använda ordbokscrack:
bash
hashcat -a 0 -m 300 - -force ' 81F5E21E35407D884A6CD4A731AEBFB6AF209E1B ' hashpass.txt -O
Visa /etc/shadow lösenordsfil:
bash
root@kali-linux: ~ # katt /etc/shadowroot:$6$4ojiBMDPrehqrLkX$d2t7cn8lkklk4sdxgch1ieqjhnsuekxanuxsxiziwutndsqyd.9secu80sx9duehgmhoeoEv2o0acytjmett1:18201:0:99999:7::: daemon:*:18024:0:99999:7::: bin:*:18024:0:99999:7::: sys:*:18024:0:99999:7::: Synkronisering:*:18024:0:99999:7::: Spel:*:18024:0:99999:7::: Mann:*:18024:0:99999:7::: lp:*:18024:0:99999:7::: mail:*:18024:0:99999:7::: Nyheter:*:18024:0:99999:7::: uucp:*:18024:0:99999:7::: proxy:*:18024:0:99999:7::: www-data:*:18024:0:99999:7::: Säkerhetskopia:*:18024:0:99999:7::: lista:*:18024:0:99999:7::: irc:*:18024:0:99999:7::: gnats:*:18024:0:99999:7::: Ingen:*:18024:0:99999:7::: _apt:*:18024:0:99999:7::: systemd-timesync:*:18024:0:99999:7::: systemd-nätverk:*:18024:0:99999:7::: systemd-lösa:*:18024:0:99999:7::: mysql:!: 18024:0:99999:7::: ntp:*:18024:0:99999:7::: MeddelandeBus:*:18024:0:99999:7::: arpwatch:!: 18024:0:99999:7::: Debian-exim:!: 18024:0:99999:7::: uuidd:*:18024:0:99999:7::: Rödstrumpor:!: 18024:0:99999:7::: tss:*:18024:0:99999:7::: rwhod:*:18024:0:99999:7::: jod:*:18024:0:99999:7::: miredo:*:18024:0:99999:7::: dnsmasq:*:18024:0:99999:7::: Inlägg:*:18024:0:99999:7::: usbmux:*:18024:0:99999:7::: rtkit:*:18024:0:99999:7::: stunnel4:!: 18024:0:99999:7::: sshd:*:18024:0:99999:7::: Debian-snmp:!: 18024:0:99999:7::: sslh:!: 18024:0:99999:7::: Puls:*:18024:0:99999:7::: Talavsändare:!: 18024:0:99999:7::: avahi:*:18024:0:99999:7::: saned:*:18024:0:99999:7::: inetsim:*:18024:0:99999:7::: färg:*:18024:0:99999:7::: geoclue:*:18024:0:99999:7::: king-phisher:*:18024:0:99999:7::: Debian-gdm:*:18024:0:99999:7::: dradis:*:18024:0:99999:7::: nötkött-xss:*:18024:0:99999:7::: systemd-kärnadump:!!: 18082::::::
Du kan se att root har ett lösenord, och den tidigare användningen är $6 Krypteringsmetoden för ythash är: sha512crypt $6$, SHA512 (Unix).
bash
# Mask knäckning root lösenord Registrera inte framgångsrikt knäckt hash i potfilen Ange enhet 2 (kärndisplay) för att köra lösenordet och aktivera optimering hashcat -a 3 -m 1800 - -force ' $6$4ojiBMDPrehqrLkX$d2T7Cn8LKkLk4SDXgCh1IEqjhnsUekXaNUXSxiZIwUTndSqyd.9sEcu80sX9DuEHGmHOeoMev2O0ACYtjMett1 ' '? Jag? Jag? Jag? l ' -O -d 2 - -potfile-disable# Mask knäckning root lösenord Ignorera användarnamn Registrera inte framgångsrik knäckning i potfile hash Ange enhet 2 (kärndisplay) för att köra lösenord och aktivera optimering hashcat -a 3 -m 1800 - -force ' root:$6$4ojiBMDPrehqrLkX$d2t7cn8lkklk4sdxgch1ieqjhnsuekxanuxsxiziwutndsqyd.9secu80sx9duehgmhoeoEv2o0acytjmett1 ' '? Jag? Jag? Jag? l ' -O -d 2 - -användarnamn - -potfile-disable
CPU:n och den oberoende grafiken som följer med macOS kan inte knäckas, här växlade Guoguang själv manuellt -d 2 och använde kärnskärmen för att lyckas springa ut:
bash
hashcat -a 0 -m 3000 - -force ' 921988ba001dc8e14a3b108f3fa6cb6d ' password.txt
bash
| Parametrar | Typ | Beskrivning | Kunimitsukas förståelse | Exempel |
|---|---|---|---|---|
| – hjärnserver | | Aktivera hjärnserver | Aktivera den primära servern | |
| -z, – hjärnklient | | Aktivera hjärnklient, aktiverar-s | Aktivera distribuerade klienter | |
| – brain-client-features | Num | Definiera brain Client-funktioner, se nedan | Definiera klientfunktioner | – brain-client-features =3 |
| – brain-host | Str | Hjärnservervärd (IP eller domän) | Primärserverns IP eller domän | – brain-host =127.0.0.1 |
| – brain-port | port | brain server port | primära serverport | – brain-port =13743 |
| – brain-password | Str | brain server autentiseringslösenord | <17x1 7> Autentiseringslösenord för huvudservern | – brain-password = e8acfc7280c48009 |
| – brain-session | Hex | Återskriver automatiskt beräknad hjärnsession | Skriv automatiskt över den redan beräknade huvudsessionen | – brain-session =0x2ae611db |
| – brain-session-whitelist | Hex | Tillåt endast givna sessioner, separerade med kommatecken | Endast givna konversationer tillåts, separerade med kommor | – brain-session-whitelist =0x2ae611db |
bash
- [ hjärna klient funktioner ] - # | funktioner = = = + = = = = = = = 1 | Skicka Hashade Lösenord # Skicka knäckt lösenord 2 | Skicka attack Positioner # Skicka knäckt plats 3 | skicka hashade lösenord och attack positioner # skicka knäckta lösenord och knäckta positioner