Mimikatz är ett Windows-verktyg med öppen källkod som kan laddas ner från GitHub. Mimikatz utvecklades först 2007 för att demonstrera ett praktiskt utnyttjande av Microsoft Windows Local Security Authority Subsystem Service, eller LSASS, och kan dumpa inloggningsinformation för konton, inklusive lösenord i klartext som lagras i systemminne.
mimikatz – franska för söt katt – är ett verktyg för att hjälpa angripare – oavsett om det är black hat-hackers, red team-hackers eller penetrationstestare – att extrahera inloggnings-ID:n, lösenord och autentiseringstoken från hackade system för att höja privilegier och få större tillgång till system i ett intrångsdrabbat nätverk.
Denna handledning om Mimikatz ger en introduktion till verktyget för autentiseringshackning, vad Mimikatz gör och hur man använder Mimikatz för att extrahera inloggningslösenord från ett målsystem.
Hackerare använder Mimikatz för att utöka sin närvaro på offrets nätverk genom att extrahera och använda nycklar som kan ha återanvänts på andra system eller genom att extrahera nycklar från konton med förhöjda privilegier, t.ex. sådana som används av administratörer.
Benjamin Delpy, den franska informationssäkerhetsforskaren som skapade Mimikatz, skrev på Mimikatz GitHub-sida att programvaran kan användas för att ”extrahera lösenord i klartext, hash, PIN-koder och Kerberos-biljetter från minnet” eller för att ”utföra pass-the-hash, pass-the-ticket eller bygga Golden tickets”. Mimikatz attacker utnyttjar standard Windows autentiseringsscheman samt Kerberos autentisering.
Dessa möjligheter gör Mimikatz till ett måste-verktyg för angripare: Mitre ATT&CK-ramverket identifierar minst 20 olika grupper av avancerade, bestående hot som har upptäckts med hjälp av Mimikatz. Men Mimikatz är också ett viktigt verktyg för försvarare, särskilt de som utför penetrationstester eller red team-övningar för att visa hur bra – eller hur dåligt – en organisation kan försvara sig mot sådana attacker.
För att få det: Hur man laddar ner Mimikatz och får det att fungera
Det bästa stället att få tag på Mimikatz är från Mimikatz GitHub-projektets sida, där du kan ladda ner källkoden till Mimikatz. Förkompilerade binärer för Windows finns också tillgängliga från Mimikatz GitHub-sidan.
Om du väljer att ladda ner Mimikatz källkod måste du kompilera koden med Microsoft Visual Studio. Att ladda ner någon version av Mimikatz, antingen källkoden eller de förkompilerade binärfilerna, kan vara en utmaning, eftersom moderna webbläsare och operativsystem klassificerar Mimikatz som farligt och blockerar användare från att ladda ner det. Många säkerhetsprodukter för slutpunkter – inklusive Microsofts eget Windows Defender – blockerar Mimikatz eftersom programvaran ofta används i attacker.
Ett sätt att undvika att bli blockerad av antimalware är att använda Invoke-Mimikatz PowerShell-modulen, som gör det möjligt för en angripare som kör PowerShell, Microsofts ramverk för automatisering av arbetsuppgifter, att läsa in och exekvera Mimikatz på distans utan att behöva skriva in den körbara filen på målsystemets disk.
Vad är Mimikatz bra för?
Mimikatz kan göra mycket, och dess modulära struktur innebär att nya egenskaper och funktioner kan läggas till plattformen relativt enkelt. Som nämnts gör körning av Mimikatz som en PowerShell-modul det till en ännu effektivare angreppsteknik.
De viktigaste funktionerna som Mimikatz möjliggör är bland annat:
- Extrahera lösenord från minnet. När den körs med administratörs- eller systemrättigheter kan angripare använda Mimikatz för att extrahera autentiseringstoken i klartext – till exempel lösenord och PIN-koder – från LSASS-processen som körs i systemminnet.
- Extrahera Kerberos-biljetter. Med hjälp av en Kerberos-modul kan Mimikatz få tillgång till Kerberos API, vilket möjliggör ett antal olika Kerberos-exploits som använder Kerberos-biljetter som har extraherats från systemminne.
- Extraktion av certifikat och deras privata nycklar. En Windows CryptoAPI-modul gör det möjligt för Mimikatz att extrahera certifikat – och de privata nycklar som är kopplade till dem – som är lagrade på offrets system.
Mimikatz blir ännu kraftfullare när den kombineras med andra angreppsplattformar, t.ex. Microsoft PowerShell-verktyget, Metasploit-plattformen eller andra verktyg som gör det möjligt för hackare att utnyttja de autentiseringsuppgifter som Mimikatz extraherar från offrets system.
Hands-on tutorial:
Oavsett om Mimikatz exekveras från en körbar fil som körs på offrets system eller om ett verktyg som PowerShell exekveras på distans, kan kommandon köras manuellt med en konsolkommandorad eller genom att ett skript exekveras så att det körs automatiskt.
Standardformatet för att utfärda kommandon är att skriva in kommandomodulen följt av två kolon och kommandonamnet. Du kan ange mer än ett kommando åt gången, men alla kommandon som innehåller blanksteg måste avgränsas med citationstecken.
Kommandosessionen startar så här efter att Mimikatz exekverats:
mimikatz #
För att avsluta Mimikatz anger du kommandot exit.
Processen för att extrahera lösenord i klartext startar genom att du anropar debug-kommandot från privilegiemodulen. Detta kommando höjer behörigheterna för Mimikatz för att komma till privilegienivån debug, och det ser ut så här:
mimikatz # privilege::debug
Privilege ’20’ OK
För att registrera en logg över Mimikatz interaktioner och resultat, ange:
mimikatz # log
Using ’mimikatz.log’ for logfile : OK
Standardloggfilen är mimikatz.log, men du kan ange ett annat namn på loggfilen med ett kommando. Till exempel:
mimikatz # log customlogfilename.log
När loggningen är aktiverad kommer resten av sessionen att spelas in för exfiltrering eller analysändamål.
Det kanske enklaste och mest produktiva kommandot är det som extraherar lösenord i klartext, listar dem på konsolskärmen och skriver dem till loggfilen.
mimikatz # sekurlsa::logonpasswords
Kommandot logonpasswords extraherar användar-ID och lösenord för för för närvarande inloggade och nyligen inloggade användare i målsystemet.
Modulen sekurlsa innehåller andra kommandon för att extrahera Kerberos-uppgifter och krypteringsnycklar, och den kan till och med utföra en pass-the-hash-attack med hjälp av de uppgifter som Mimikatz extraherar.
Den här handledningen för Mimikatz är tänkt att fungera som en introduktion till hackerverktyget. Det är värt att veta hur Mimikatz fungerar i praktiken och hur lätt det gör systemexploateringar även för osofistikerade angripare.