Er du nybegynder inden for cybersikkerhed? Vil du være på dens offensive side? Som en rød teamer lærer du mange teknikker og taktikker, der hjælper dig med at udføre cyberdræbningskædens aktiviteter. En sådan opgave er privilegie-eskalering, hvor du får fat i password-hash.
hashcat er et kraftfuldt og alsidigt værktøj, der brute forcer de gemte legitimationsoplysninger ved hjælp af kendte hashes ved at udføre forskellige angrebsformer. Artiklen dækker dette kodeordsknækningsværktøj, der bruges af penetrationstestere, systemadministratorer, spioner eller hackere til at finde adgangskoder.
Hvad er hashes?
Hashing er en envejs matematisk funktion eller unik identifikator, der returnerer et output med fast længde uanset inputstørrelse/-længde. Derfor er det en irreversibel proces, der ikke kræver en nøgle som i kryptering for at dechifrere hashværdien.
Det mest almindelige formål med hashing er at sikre dataintegritet mod manipulation under datatransmission. Egenskaberne ved hashing er som følger:
- Tilbyder hurtig beregning
- Gode algoritmer undgår det samme output for forskellige input
- De har en deterministisk karakter
- Små ændringer i input har væsentlig indflydelse på output-hashværdien
Hvorfor bruge hashcat?
hashcat er et multithreaded-værktøj, der giver dig mulighed for at konfigurere antallet af tråde og begrænse udførelse baseret på prioritet. Det understøtter over 300 hashing-algoritmer såsom MD4, MD5, SHA1, SHA512, bcrypt, HMAC-SHA512, NTLM, MySQL, WHIRLPOOL, blandt mange andre. Den er tilgængelig til alle typer operativsystemer, inklusive Windows, Linux, Unix og BSD.
Måder at knække adgangskodehash ved hjælp af hashcat
hashcat tilbyder en række forskellige angrebstilstande (kombinator, regelbaseret, brute-force-gætning, hybrid- og ordbogsangreb) for at give bedre dækning. Her er en forklaring på nogle angreb, som hashcat bruger til at knække hash-kodeord:
- Brute-force angreb: Et brute-force angreb bruger alle mulige tegnkombinationer til at bestemme den nøjagtige adgangskode. Det har dog en begrænsning af maksimal adgangskodelængde og antal tegn. Desuden kan et avanceret niveau af brute-force-angreb også optimere tiden ved at lave kompleksitetsantagelser. For eksempel kan en avanceret brute-force-teknik antage, at det første tegn er mere tilbøjeligt til at være store bogstaver, og cifre er mest tilbøjelige til at blive vist i slutningen af en adgangskode osv.
- Ordbogsangreb: Et ordbogsangreb bruger en forudberegnet liste over adgangskoder afhængigt af informationen indsamlet omkring målet eller et mønster, der observeres på tværs af brugere. Derfor kræver det nogle mest almindeligt anvendte adgangskoder og tilføjer nogle permutationer til dem for at øge omfanget.
- Hybrid angreb: Hybrid er en kombination af de ovenfor diskuterede angreb, da den tjekker om adgangskoden er "knækkelig" via et ordbogsangreb og går videre til brute-force teknikken, hvis det ikke er muligt.
Sådan installeres hashcat på Linux
hashcat er tilgængelig som standard i Kali Linux. For at installere det på Ubuntu og Debian:
sudo apt-get opdatering
sudo apt-get install hashcat
På Fedora, CentOS og andre RHEL-baserede distros:
sudo dnf opdatering
sudo dnf installer hashcat
Sådan installeres hashcat på Arch Linux:
sudo pacman -Syu
sudo pacman -S hashcat
Efter installation, brug hjælpekommandoen for at liste alle tilgængelige muligheder:
hashcat --hjælp
Nogle hashcat-muligheder og deres beskrivelse er som følger:
Muligheder | Beskrivelse |
---|---|
-m | Den type hash med en standardværdi på 0, dvs. MD5 hash |
-en | Angrebstype, 0 for et lige angreb, 2 for kombination og 3 for et brute-force angreb |
-o | Gemmer knækket adgangskode i en outputfil |
ordliste | Kræver en sti til ordlisten over adgangskoder for at matche og knække hasherne |
Bemærk: Før du arbejder med hashcat, skal du sikre dig, at dit system overholder dets hardwarekrav. Tjek ud officiel hjemmeside for flere detaljer.
Crack hashes fra filen /etc/shadow i Linux
Det /etc/shadow fil gemmer de forvanskede eller hasherede værdier af alle brugerens adgangskoder på Linux. Det er en kritisk fil med strenge adgangstilladelser; det er og skal kun være tilgængeligt af root-kontoen.
Derfor, hvis du støder på en læsbar /etc/shadow fil gennem enhver almindelig brugerkonto, kan du få hash-værdien af root-kontoen og knække adgangskode-hashen ved hjælp af hashcat-værktøjet.
Til demonstrationsformål skal du skifte til root-kontoen og oprette en ny brugerkontoalice for at forstå, hvordan hashcat virker:
sudo su
sudo useradd -c "Alice" alice
Opret en adgangskode vha kommandoen passwd:
passwd alice
Tjek den hash-kodede adgangskodeværdi inde i /etc/shadow fil som følger:
cut -d: -f1 /etc/shadow | grep alice
Produktion:
alice:$y$j9T$TANXgpk59y8r3jgPbDl/w/$UqiK6yahwqfyqhcegWLa1.z64TyePP5.VQpUnLqI3VD: 19023:0:99999:7::
Hashen i ovenstående output begynder fra "alice:" og frem; gem det i en ny fil hash.txt.
Du kan gå til hashcat-hjemmesiden at identificere typen af hashfunktion og tilhørende referenceværdi. SHA512 hash-tilstand er generelt identificeret af $6$ sigt og har en referenceværdi på 1800.
Du kan også kigge efter krypteringsmetoden inde i login.defs fil:
grep ENCRYPT_METHOD /etc/login.defs
Kontroller derefter den tilknyttede værdi af hashing-funktionen ved hjælp af hashcat-kommandoen som følger:
hashcat -h | grep sha512
Brug nu hashcat-værktøjet til at knække hashen med -en flag for angrebstilstand, -m flag for hash-referenceværdi (da det ikke understøtter hash-funktionsnavn), hash.txt filsti og en sti til ordlisten rockyou.txt.
hashcat -m 1800 -a 0 hash.txt /usr/share/wordlists/rockyou.txt
Produktion:
.
.
$y$j9T$TANXgpk59y8r3jgPbDl/w/$UqiK6yahwqfyqhcegWLa1.z64TyePP5.VQpUnLqI3VD: 12345
.
.
Bemærk: På Kali Linux, den rockyou.txt fil er tilgængelig som standard inde i /usr/share/wordlists vejviser. Du kan også bruge andre ordlister ved at køre følgende kommando i terminalen:
find ordlister | mindre
Produktion:
For andre Linux-distributioner skal du dog downloade rockyou.txt fil fra GitHub-lageret som følger:
wget https://github.com/danielmiessler/SecLists/blob/master/Passwords/Leaked-Databases/rockyou-20.txt
Knæk adgangskoder på Linux med hashcat
Et velbygget autentificeringssystem gemmer ikke brugeradgangskoder i almindelig tekst og klart syn, da de kan forårsage sikkerhedssårbarheder. En bedre godkendelsesmekanisme gemmer adgangskoder som hashes i sikre og utilgængelige filer. En adgangskodeknækker såsom hashcat er dog designet til at dechifrere eller gætte adgangskoderne ved hjælp af forskellige angrebstilstande.
Denne artikel beskriver måder, en penetrationstester skal vide for at knække hash-kodeord ved hjælp af hashcat-værktøjet. Som en rød teamer er det nødvendigt at forstå de teknikker, en angriber kan bruge til at kompromittere godkendelseskontrollerne og give retningslinjer for dækning af systemets smuthuller.
Ignorerer du filhash-bekræftelse på egen risiko? Brug disse værktøjer til at bekræfte, at den fil, du downloader, er sikker.
Læs Næste
- Linux
- Sikkerhed
- Sikkerhed
- Linux apps
- Linux kommandoer
- Etisk hacking
- Hacking

Rumaisa er freelanceskribent på MUO. Hun har båret mange hatte, fra en matematiker til en informationssikkerhedsentusiast, og arbejder nu som SOC-analytiker. Hendes interesser inkluderer at læse og skrive om nye teknologier, Linux-distributioner og alt omkring informationssikkerhed.
Abonner på vores nyhedsbrev
Tilmeld dig vores nyhedsbrev for tekniske tips, anmeldelser, gratis e-bøger og eksklusive tilbud!
Klik her for at abonnere