Mimikatz is een open source Windows-hulpprogramma dat kan worden gedownload van GitHub. Mimikatz werd voor het eerst ontwikkeld in 2007 om een praktische toepassing van de Microsoft Windows Local Security Authority Subsystem Service (LSASS) te demonstreren. Mimikatz is in staat om inloggegevens van accounts te dumpen, waaronder clear text-wachtwoorden die in het systeemgeheugen zijn opgeslagen.
mimikatz — Frans voor schattige kat — is een post-exploitation tool bedoeld om aanvallers te helpen — of het nu black hat hackers, red team hackers of penetration testers zijn — om login ID’s, wachtwoorden en authenticatie tokens van gehackte systemen te extraheren om privileges te verheffen en meer toegang te krijgen tot systemen op een geschonden netwerk.
Deze Mimikatz-tutorial biedt een inleiding tot de credential hacking tool, wat Mimikatz doet en hoe Mimikatz te gebruiken om inlogwachtwoorden van een doelsysteem te extraheren.
Hackers gebruiken Mimikatz om hun aanwezigheid op slachtoffernetwerken uit te breiden door sleutels te extraheren en te gebruiken die mogelijk zijn hergebruikt op andere systemen of door sleutels te extraheren van accounts met verhoogde privileges, zoals die gebruikt worden door beheerders.
Benjamin Delpy, de Franse informatiebeveiligingsonderzoeker die Mimikatz heeft gemaakt, schreef op de Mimikatz GitHub-pagina dat de software kan worden gebruikt om “wachtwoorden in platte tekst, hash, pincode en Kerberos-tickets uit het geheugen te extraheren,” of om “pass-the-hash, pass-the-ticket uit te voeren of Golden-tickets te bouwen.” Mimikatz-aanvallen maken gebruik van standaard Windows-verificatieschema’s, maar ook van Kerberos-verificatie.
Deze mogelijkheden maken Mimikatz tot een onmisbaar hulpmiddel voor aanvallers: Het Mitre ATT&CK-framework identificeert ten minste 20 verschillende geavanceerde aanhoudende bedreigingsgroepen die zijn gedetecteerd met behulp van Mimikatz. Mimikatz is echter ook een belangrijk hulpmiddel voor verdedigers, met name voor degenen die penetratietests uitvoeren of red team-oefeningen doen om aan te tonen hoe goed — of hoe slecht — een organisatie zich tegen dergelijke aanvallen kan verdedigen.
Haal het in huis: Hoe Mimikatz te downloaden en aan de praat te krijgen
De beste plaats om Mimikatz te krijgen is via de Mimikatz GitHub project pagina, waar je de Mimikatz broncode kunt downloaden. Voorgecompileerde binaries voor Windows zijn ook beschikbaar via de Mimikatz GitHub pagina.
Als je ervoor kiest om de Mimikatz broncode te downloaden, moet je de code compileren met Microsoft Visual Studio. Het downloaden van een versie van Mimikatz, hetzij de broncode of de voorgecompileerde binaries, kan een uitdaging zijn, omdat moderne browsers en besturingssystemen Mimikatz als gevaarlijk classificeren en gebruikers ervan weerhouden om het te downloaden. Veel beveiligingsproducten voor endpoints – waaronder Microsofts eigen Windows Defender – blokkeren Mimikatz omdat de software vaak wordt gebruikt in aanvallen.
Een manier om te voorkomen dat Mimikatz wordt geblokkeerd door antimalware is het gebruik van de Invoke-Mimikatz PowerShell-module, waarmee een aanvaller met PowerShell, Microsofts raamwerk voor taakautomatisering, Mimikatz op afstand kan laden en uitvoeren zonder dat het uitvoerbare bestand naar de schijf van het beoogde systeem hoeft te worden geschreven.
Waar is Mimikatz goed voor?
Mimikatz kan veel, en zijn modulaire structuur betekent dat nieuwe mogelijkheden en functies met relatief gemak aan het platform kunnen worden toegevoegd. Zoals opgemerkt, maakt het uitvoeren van Mimikatz als een PowerShell-module het een nog effectievere aanvalstechniek.
De belangrijkste functies die Mimikatz mogelijk maakt zijn:
- Het extraheren van wachtwoorden uit het geheugen. Als Mimikatz wordt uitgevoerd met admin- of systeemrechten, kunnen aanvallers platte authenticatietokens – bijvoorbeeld wachtwoorden en PIN-codes – extraheren uit het LSASS-proces dat in het systeemgeheugen draait.
- Kerberos-tickets extraheren. Met behulp van een Kerberos module kan Mimikatz toegang krijgen tot de Kerberos API, waardoor een aantal verschillende Kerberos exploits mogelijk worden die gebruik maken van Kerberos tickets die uit het systeemgeheugen zijn gehaald.
- Het extraheren van certificaten en hun private sleutels. Een Windows CryptoAPI module stelt Mimikatz in staat om certificaten te extraheren — en de private sleutels die daaraan zijn gekoppeld — die zijn opgeslagen op het slachtoffersysteem.
Mimikatz wordt nog krachtiger wanneer het wordt gecombineerd met andere aanvalsplatforms zoals het Microsoft PowerShell hulpprogramma, het Metasploit platform of andere tools die hackers in staat stellen om de credentials te exploiteren die Mimikatz extraheert uit slachtoffersystemen.
Handleiding: Mimikatz setup and commands
Het uitvoeren van Mimikatz vanaf een executable die op een slachtoffer systeem draait of het uitvoeren van een hulpprogramma zoals PowerShell op afstand, commando’s kunnen handmatig worden uitgevoerd met een console command line of door het uitvoeren van een script om automatisch uit te voeren.
Het standaard formaat voor het geven van commando’s is het invoeren van de module van het commando gevolgd door twee dubbele punten en de naam van het commando. U kunt meer dan een commando tegelijk invoeren, maar alle commando’s die spaties bevatten moeten worden afgezet door aanhalingstekens.
De commando sessie begint als volgt nadat Mimikatz is uitgevoerd:
mimikatz #
Om Mimikatz af te sluiten, voert u het commando exit in.
Het proces van het extraheren van clear text wachtwoorden begint met het aanroepen van het debug commando uit de privilege module. Dit commando verhoogt de rechten voor Mimikatz om het debug-privilege-niveau te bereiken, en het ziet er als volgt uit:
mimikatz # privilege::debug
Privilege ’20’ OK
Om een log van Mimikatz interacties en resultaten vast te leggen, voert u in:
mimikatz # log
Gebruik ‘mimikatz.log’ voor logbestand : OK
Het standaard logbestand is mimikatz.log, maar u kunt met een commando een andere logbestandsnaam opgeven. Bijvoorbeeld:
mimikatz # log customlogfilename.log
Als het loggen eenmaal is ingeschakeld, wordt de rest van de sessie vastgelegd voor exfiltratie- of analysedoeleinden.
Het eenvoudigste en productiefste commando is misschien wel het commando dat wachtwoorden in klare tekst extraheert, ze op het console-scherm opsomt en ze naar het logbestand schrijft.
mimikatz # sekurlsa::logonpasswords
Het commando logonpasswords extraheert een gebruikers-ID en wachtwoord voor momenteel ingelogde en recent ingelogde gebruikers van het doelsysteem.
De sekurlsa module bevat andere commando’s om Kerberos referenties en encryptie sleutels te extraheren, en het kan zelfs een pass-the-hash aanval uitvoeren met de referenties die Mimikatz extraheert.
Deze Mimikatz tutorial is bedoeld als een introductie tot de hacking tool. Het is de moeite waard om te weten hoe Mimikatz in de praktijk werkt en hoe gemakkelijk het systeem exploits maakt, zelfs voor onervaren aanvallers.