A Mimikatz egy nyílt forráskódú Windows segédprogram, amely letölthető a GitHubról. A Mimikatz-t először 2007-ben fejlesztették ki a Microsoft Windows Local Security Authority Subsystem Service (LSASS) gyakorlati kihasználásának bemutatására, és képes a fiókok bejelentkezési adatait, beleértve a rendszermemóriában tárolt tiszta szövegű jelszavakat is.
A mimikatz — franciául cuki macskát jelent — egy utólagos kihasználás utáni eszköz, amelynek célja, hogy segítse a támadókat — legyenek azok fekete kalapos hackerek, vörös csapatos hackerek vagy behatolástesztelők — a bejelentkezési azonosítók, jelszavak és hitelesítési tokenek kinyerésében a feltört rendszerekből, hogy jogosultságokat emeljenek és nagyobb hozzáférést szerezzenek a feltört hálózaton lévő rendszerekhez.
Ez a Mimikatz oktatóanyag bevezetést nyújt a hitelesítő adatok feltörésére szolgáló eszközbe, bemutatja, hogy mit tud a Mimikatz, és hogyan lehet a Mimikatz segítségével bejelentkezési jelszavakat kinyerni egy célrendszerből.
A hackerek a Mimikatz segítségével kiterjesztik jelenlétüket az áldozathálózatokon olyan kulcsok kinyerésével és felhasználásával, amelyeket esetleg más rendszereken már újra felhasználtak, vagy olyan fiókok kulcsainak kinyerésével, amelyek magasabb jogosultságokkal rendelkeznek, például a rendszergazdák által használt fiókokból.
Benjamin Delpy, a Mimikatzot létrehozó francia információbiztonsági kutató a Mimikatz GitHub-oldalán azt írta, hogy a szoftver használható “plaintext jelszavak, hash, PIN-kód és Kerberos-jegyek memóriából történő kivonására”, vagy “pass-the-hash, pass-the-ticket vagy Golden jegyek építésére”. A Mimikatz támadások kihasználják a szabványos Windows hitelesítési sémákat, valamint a Kerberos hitelesítést.
Ezek a képességek a Mimikatz-ot a támadók számára kötelező eszközzé teszik: A Mitre ATT&CK keretrendszer legalább 20 különböző fejlett tartós fenyegetéscsoportot azonosított, amelyeket a Mimikatz használatával észleltek. A Mimikatz azonban a védők számára is kulcsfontosságú eszköz, különösen azok számára, akik behatolásteszteket végeznek vagy vörös csapatgyakorlatokat hajtanak végre annak demonstrálására, hogy egy szervezet mennyire jól – vagy mennyire rosszul – képes védekezni az ilyen támadások ellen.
Elérés:
A Mimikatz beszerzésének legjobb helye a Mimikatz GitHub projekt oldala, ahonnan letölthető a Mimikatz forráskódja. A Mimikatz GitHub oldaláról Windowsra előre lefordított binárisok is elérhetők.
Ha a Mimikatz forráskód letöltése mellett dönt, a kódot a Microsoft Visual Studio segítségével kell lefordítania. A Mimikatz bármelyik verziójának letöltése – akár a forráskód, akár az előre lefordított binárisok – kihívást jelenthet, mivel a modern böngészők és operációs rendszerek a Mimikatz-t veszélyesnek minősítik, és blokkolják a letöltését. Sok végpontbiztonsági termék – beleértve a Microsoft saját Windows Defenderét is – blokkolja a Mimikatz-t, mivel a szoftvert gyakran használják támadásokban.
A rosszindulatú szoftverek elleni védekezés egyik módja a blokkolás elkerülésének az Invoke-Mimikatz PowerShell modul használata, amely lehetővé teszi a PowerShell-t, a Microsoft feladatautomatizálási keretrendszerét futtató támadó számára a Mimikatz távoli betöltését és végrehajtását anélkül, hogy a futtatható fájlt a célzott rendszer lemezére kellene írnia.
Mire jó a Mimikatz?
A Mimikatz sok mindenre képes, és moduláris felépítése azt jelenti, hogy viszonylag könnyen hozzáadhatók új funkciók és funkciók a platformhoz. Mint megjegyeztük, a Mimikatz PowerShell-modulként való futtatása még hatékonyabb támadási technikává teszi.
A Mimikatz által lehetővé tett fő funkciók a következők:
- Jelszavak kivonása a memóriából. Admin vagy rendszerjogokkal futtatva a támadók a Mimikatz segítségével egyszerű szövegű hitelesítési tokeneket — például jelszavakat és PIN-kódokat — tudnak kinyerni a rendszermemóriában futó LSASS folyamatból.
- Kerberos jegyek kinyerése. Egy Kerberos modul segítségével a Mimikatz hozzáférhet a Kerberos API-hoz, lehetővé téve számos különböző Kerberos exploitot, amelyek a rendszermemóriából kinyert Kerberos jegyeket használják.
- Tanúsítványok és privát kulcsaik kinyerése. A Windows CryptoAPI modul lehetővé teszi a Mimikatz számára az áldozat rendszerén tárolt tanúsítványok — és a hozzájuk tartozó privát kulcsok — kinyerését.
A Mimikatz még hatékonyabbá válik, ha más támadási platformokkal, például a Microsoft PowerShell segédprogrammal, a Metasploit platformmal vagy más olyan eszközökkel kombináljuk, amelyek lehetővé teszik a hackerek számára, hogy kihasználják a Mimikatz által az áldozat rendszeréből kinyert hitelesítő adatokat.
Kézi bemutató: Mimikatz beállítása és parancsok
Függetlenül attól, hogy a Mimikatz-t az áldozat rendszerén futó futtatható futtatható-e egy futtatható programból vagy távolról futtatható egy segédprogram, például a PowerShell, a parancsok manuálisan futtathatók a konzol parancssorával vagy egy szkript automatikus futtatásával.
A parancsok kiadásának alapértelmezett formátuma a parancs moduljának megadása, amelyet két kettőspont és a parancs neve követ. Egyszerre több parancsot is megadhat, de a szóközöket tartalmazó parancsokat idézőjelekkel kell elválasztani.
A parancssorozat a következőképpen indul a Mimikatz végrehajtása után:
mimikatz #
A Mimikatz elhagyásához adja meg az exit parancsot.
A tiszta szövegű jelszavak kinyerésének folyamata a debug parancs meghívásával kezdődik a jogosultsági modulból. Ez a parancs megemeli a Mimikatz jogosultságait a debug jogosultsági szintre, és így néz ki:
mimikatz # privilege::debug
Privilege ’20’ OK
A Mimikatz interakciók és eredmények naplózásához írja be:
mimikatz # log
Using ‘mimikatz.log’ for logfile : OK
Az alapértelmezett naplófájl a mimikatz.log, de a paranccsal más naplófájl nevet is megadhat. Például:
mimikatz # log customlogfilename.log
Mihelyt a naplózás be van kapcsolva, a munkamenet további része rögzítésre kerül exfiltrációs vagy elemzési célokra.
A legegyszerűbb és talán legproduktívabb parancs az, amely kivonja a plaintext jelszavakat, felsorolja azokat a konzol képernyőjén és kiírja a naplófájlba.
mimikatz # sekurlsa::logonpasswords
A logonpasswords parancs kivonja a célrendszer aktuálisan és nemrég bejelentkezett felhasználóinak felhasználói azonosítóját és jelszavát.
A sekurlsa modul más parancsokat is tartalmaz a Kerberos hitelesítő adatok és titkosítási kulcsok kinyerésére, sőt, a Mimikatz által kinyert hitelesítő adatok felhasználásával pass-the-hash támadást is képes végrehajtani.
Ez a Mimikatz bemutató a hackereszköz bemutatására szolgál. Érdemes megismerni, hogyan működik a Mimikatz a gyakorlatban, és mennyire egyszerűvé teszi a rendszer kihasználását még a járatlan támadók számára is.