A Pass-the-Hash (PtH) támadás egy kifinomult és rendkívül veszélyes kibertámadási módszer, amely lehetővé teszi a támadók számára, hogy felhasználói hitelesítő adatokat használjanak fel anélkül, hogy valaha is ismernék a tényleges jelszót. Ez a technika kihasználja a Windows operációs rendszerek és az Active Directory hitelesítési mechanizmusainak sajátosságait, különösen azt a tényt, hogy a rendszerek gyakran a jelszó hash-ét (kivonatát) tárolják és továbbítják a hitelesítés során, nem magát a nyílt szöveges jelszót. A támadó, miután megszerezte egy felhasználó jelszó hash-ét, képes azt „továbbadni” a hálózaton, hogy más rendszereken is hitelesítse magát, ezzel hozzáférést szerezve érzékeny erőforrásokhoz és tovább terjeszkedve a hálózaton belül.
A PtH támadások különösen hatékonyak a vállalati környezetekben, ahol a felhasználók gyakran rendelkeznek azonos helyi rendszergazdai jelszóval több gépen, vagy ahol a szolgáltatási fiókok hash-ei magas jogosultságokkal bírnak. Ez a módszer nem egy egyszerű jelszófeltörés, hanem egy sokkal alattomosabb megközelítés, amely a hitelesítési protokollok működésének mélyreható ismeretén alapul. A támadók célja nem a jelszó visszafejtése, hanem a hash közvetlen felhasználása a hitelesítéshez.
A Jelszó Hash-ek Természete és Szerepe a Hitelesítésben
Mielőtt mélyebben belemerülnénk a Pass-the-Hash támadás részleteibe, elengedhetetlen megérteni, mi is az a jelszó hash, és miért olyan kritikus a szerepe a modern hitelesítési rendszerekben. Amikor egy felhasználó beírja a jelszavát egy rendszerbe, a rendszer biztonsági okokból általában nem tárolja vagy továbbítja azt nyílt szöveges formában. Ehelyett a jelszót egy egyirányú kriptográfiai algoritmussal feldolgozza, létrehozva egy fix hosszúságú karakterláncot, amelyet hash-nek vagy kivonatnak nevezünk. Ez a folyamat visszafordíthatatlan: a hash-ből nem lehet visszaszerezni az eredeti jelszót.
Miért Használunk Hash-eket?
- Biztonság: Ha egy adatbázis, amely jelszavakat tárol, kompromittálódik, a támadók csak a hash-eket szerzik meg, nem a nyílt szöveges jelszavakat. Ez jelentősen megnehezíti a jelszavakhoz való hozzáférést.
- Integritásellenőrzés: A hash-ek használhatók adatok integritásának ellenőrzésére is. Ha egy fájl hash-e megváltozik, az azt jelenti, hogy a fájl tartalma módosult.
- Hatékonyság: A hash-ek összehasonlítása gyorsabb és hatékonyabb lehet, mint a nyílt szöveges jelszavak kezelése, különösen nagyméretű rendszerekben.
A Windows Hash Típusai: LAN Manager (LM) és NTLM
A Windows operációs rendszerek történelmileg két fő hash típust használtak a jelszavak tárolására és hitelesítésére: az LM hash-t és az NTLM hash-t.
LAN Manager (LM) Hash
- Korai Windows verziók: Az LM hash-t a Windows NT 4.0-ig és korábbi verziókig használták alapértelmezés szerint.
- Gyengeségek: Rendkívül gyenge és sebezhető.
- A jelszót először 14 karakteres darabokra vágja (ha hosszabb, a többit levágja).
- Ezután két 7 karakteres blokkra osztja, és minden blokkot külön-külön hashel.
- Nem különbözteti meg a kis- és nagybetűket (case-insensitive).
- Gyenge titkosítási algoritmust (DES) használ.
- Könnyen feltörhető szivárványtáblákkal (rainbow tables) vagy brute-force támadásokkal, különösen rövid jelszavak esetén.
- Jelenlegi állapot: Bár a modern Windows rendszerek alapértelmezetten nem generálnak LM hash-eket, ha a jelszó megváltoztatására régi, nem megerősített protokollokon keresztül kerül sor, vagy ha a rendszergazda explicit módon engedélyezi, akkor még mindig létrejöhetnek. Ezért fontos az LM hash tárolásának letiltása a modern Active Directory környezetekben.
NT LAN Manager (NTLM) Hash
- Alapértelmezett Windows hash: Az NTLM hash az LM hash utódja, és a Windows 2000-től kezdve az alapértelmezett jelszó hash formátum.
- Javulások:
- Erősebb kriptográfiai algoritmust (MD4) használ.
- Támogatja a hosszabb jelszavakat.
- Megkülönbözteti a kis- és nagybetűket (case-sensitive).
- Nehezebben törhető fel, mint az LM hash, de még mindig sebezhető brute-force támadásokkal, különösen gyenge jelszavak esetén.
- A PtH támadások alapja: Az NTLM hash az a kulcs, amely lehetővé teszi a Pass-the-Hash támadásokat. Az NTLM hitelesítési protokoll lényege, hogy a kliens nem a jelszót, hanem annak NTLM hash-ét használja egy kihívás-válasz (challenge-response) mechanizmusban.
A Kihívás-Válasz Mechanizmus az NTLM Hitelesítésben
Az NTLM hitelesítés egy háromlépéses kihívás-válasz protokoll:
- Tárgyalás (Negotiate): A kliens (pl. egy felhasználó számítógépe) üzenetet küld a szervernek, jelezve, hogy hitelesíteni szeretné magát.
- Kihívás (Challenge): A szerver generál egy véletlenszerű számot, az úgynevezett „kihívást” (challenge), és elküldi a kliensnek.
- Válasz (Response): A kliens a saját jelszó hash-ét (NTLM hash) és a szervertől kapott kihívást felhasználva generál egy „választ” (response). Ezt a választ elküldi a szervernek. A szerver a saját jelszó hash adatbázisában tárolt hash-t és a generált kihívást felhasználva maga is legenerálja a várható választ. Ha a kliens által küldött válasz megegyezik a szerver által generált válasszal, a hitelesítés sikeres.
A lényeg: A kliensnek soha nem kell elküldenie a nyílt szöveges jelszót a szervernek. Ehelyett a hash-et használja a válasz generálásához. A Pass-the-Hash támadás pontosan ezt a mechanizmust használja ki: ha a támadó rendelkezik a felhasználó NTLM hash-ével, képes a válasz generálására, és így sikeresen hitelesítheti magát anélkül, hogy valaha is ismerné a tényleges jelszót.
A Pass-the-Hash Támadás Működése Lépésről Lépésre
A PtH támadás nem egyetlen, izolált lépés, hanem egy több fázisból álló folyamat, amely a hálózati behatolás és a jogosultságok eszkalációjának részeként valósul meg. Az alábbiakban részletesen bemutatjuk a támadás tipikus lépéseit.
1. Kezdeti Behatolás (Initial Compromise)
Minden PtH támadás egy kezdeti behatolással kezdődik a célhálózatba. Ez többféleképpen történhet:
- Adathalászat (Phishing): Egy rosszindulatú e-mail, amely egy linkre kattintásra vagy egy fertőzött melléklet megnyitására ösztönzi a felhasználót.
- Exploit kit-ek: Szoftverek vagy weboldalak sebezhetőségeinek kihasználása a felhasználó gépén.
- Brute-force támadás: Gyenge vagy alapértelmezett jelszavak feltörése nyilvánosan elérhető szolgáltatásokon (pl. RDP, SSH, VPN).
- Malware: Kártevő szoftverek (pl. trójaiak, kémprogramok) telepítése, amelyek billentyűzetfigyelést (keylogging) vagy credential dumping-ot végeznek.
A cél ezen a ponton az, hogy hozzáférést szerezzenek egyetlen géphez a hálózaton belül, még ha az alacsony jogosultságú felhasználóként is történik.
2. Helyi Jogosultságok Eszkalálása (Local Privilege Escalation)
Miután a támadó hozzáférést szerzett egy gépezethez, a következő lépés a helyi jogosultságok eszkalálása. Gyakran az első behatolás standard felhasználói jogosultságokkal történik, ami korlátozza a támadó mozgásterét. A cél az, hogy rendszergazdai (Administrator) vagy System jogosultságokat szerezzenek az adott gépen.
- Operációs rendszer sebezhetőségei: Régi vagy nem patchelt operációs rendszerekben található hibák kihasználása.
- Hibás konfigurációk: Rosszul beállított fájlrendszer-jogosultságok, szolgáltatások, vagy registry bejegyzések.
- Harmadik féltől származó szoftverek sebezhetőségei: Telepített alkalmazások (pl. böngészők, PDF olvasók, média lejátszók) biztonsági réseinek kihasználása.
A helyi rendszergazdai jogosultságok kritikusak, mivel ezek szükségesek a jelszó hash-ek kinyeréséhez a memóriából vagy a helyi SAM adatbázisból.
3. Jelszó Hash-ek Kinyerése (Credential Dumping)
Ez a PtH támadás kulcsfontosságú lépése. Miután a támadó rendszergazdai jogokat szerzett a kompromittált gépen, hozzáférhet a memóriában vagy a helyi tárolóban található hitelesítő adatokhoz. A Windows a felhasználók jelszó hash-eit a Local Security Authority Subsystem Service (LSASS) folyamat memóriájában tárolja a gyors hitelesítés érdekében. Emellett a helyi felhasználók hash-ei a Security Account Manager (SAM) adatbázisban is megtalálhatók.
Ezen információk kinyerésére számos eszköz létezik, a legismertebb és leggyakrabban használt a Mimikatz.
- Mimikatz: Egy nyílt forráskódú eszköz, amelyet Benjamin Delpy fejlesztett ki. Képes kinyerni a nyílt szöveges jelszavakat, hash-eket, PIN kódokat és Kerberos jegyeket a memóriából.
- `privilege::debug` parancs a jogosultságok emeléséhez.
- `sekurlsa::logonpasswords` parancs a memóriában lévő jelszavak és hash-ek megjelenítéséhez.
- PowerShell alapú eszközök: Például a PowerSploit keretrendszer része, amely script alapú hash kinyerési módszereket kínál, gyakran a Mimikatz funkcióit utánozva.
- Regedit vagy samdump2: A SAM adatbázis és a SYSTEM registry hive exportálásával, majd offline feltörésével is kinyerhetők a hash-ek. Ez azonban igényel némi előkészületet, és a rendszeren hagyhat nyomokat.
A támadó célja ezen a ponton az, hogy minél több felhasználó NTLM hash-ét megszerezze, különösen azokat, amelyek magas jogosultságokkal rendelkeznek (pl. domain adminok, szolgáltatási fiókok).
4. Lateral Movement (Oldalirányú Mozgás) a Megszerzett Hash-ekkel
Miután a támadó megszerezte a hash-eket, megkezdődik a „Pass-the-Hash” fázis. A támadó most már nem próbálja meg feltörni a jelszót, hanem közvetlenül felhasználja a megszerzett NTLM hash-t, hogy hitelesítse magát a hálózat más rendszerein. Ez a lateral movement (oldalirányú mozgás) fázis, amelynek célja a hálózat mélyebb rétegeibe való behatolás és a magasabb jogosultságú erőforrások elérése.
A támadó különböző eszközöket és technikákat használhat a hash-ek továbbítására:
- Mimikatz PtH funkciója: A Mimikatz beépített funkciókkal rendelkezik a PtH támadások végrehajtására. A `sekurlsa::pth` parancs segítségével a támadó megadhatja a megszerzett hash-t, a felhasználónevet és a domain nevet, majd a Mimikatz egy új folyamatot indít, amely ezen hitelesítő adatokkal fut. Ez lehetővé teszi a támadó számára, hogy hálózati erőforrásokat (megosztott mappák, távoli asztali kapcsolatok, PowerShell remoting) érjen el a kompromittált felhasználó nevében.
- PsExec: A PsExec a Sysinternals csomag része, amelyet általában rendszergazdák használnak távoli parancsok futtatására. A támadók azonban visszaélhetnek vele. Ha a PsExec-et egy olyan folyamatból indítják, amelyet a Mimikatz már „injektált” a megszerzett hash-sel, akkor a PsExec is azzal a hash-sel fog hitelesíteni a célgépen.
- Remote Desktop Protocol (RDP): A távoli asztali kapcsolatok is kihasználhatók. A Mimikatz képes injectálni a hash-t az RDP kliensbe, lehetővé téve a támadó számára, hogy RDP-vel csatlakozzon más gépekhez a megszerzett hash-sel.
- Windows Management Instrumentation (WMI): A WMI egy hatékony eszköz a Windows rendszerek távoli kezelésére. A támadók WMI-n keresztül is végrehajthatnak kódokat és parancsokat a megszerzett hash-sel, anélkül, hogy interaktív bejelentkezésre lenne szükségük.
- PowerShell Remoting: Hasonlóan az RDP-hez és WMI-hez, a PowerShell remoting is használható a hash továbbítására.
A lateral movement célja általában egy magasabb jogosultságú felhasználói fiók hash-ének megszerzése (pl. Domain Admin), vagy egy olyan gép elérése, amelyen érzékeny adatok találhatók. Ez a fázis addig folytatódik, amíg a támadó el nem éri a végső célját, legyen az adatlopás, rendszerek megrongálása, vagy a teljes hálózati irányítás átvétele.
5. Jogosultságok Eszkalálása a Domain Szinten (Domain Privilege Escalation)
A végső cél gyakran a Domain Admin jogosultságok megszerzése az Active Directoryban. Ha a támadó sikeresen megszerezte egy Domain Admin felhasználó hash-ét, akkor gyakorlatilag korlátlan hozzáférése van a teljes tartományhoz. Ezen a ponton a támadó képes:
- Új felhasználókat és csoportokat létrehozni.
- Létező fiókok jelszavát megváltoztatni.
- Érzékeny adatokhoz hozzáférni.
- Háttereket (backdoors) telepíteni a tartományban.
- Golden Ticket vagy Silver Ticket támadásokat végrehajtani a tartós hozzáférés biztosítására.
A Pass-the-Hash támadás rendkívül veszélyes, mert lehetővé teszi a támadók számára, hogy a hálózaton belül „láthatatlanul” mozogjanak, elkerülve a hagyományos jelszó alapú detektálási mechanizmusokat, mivel soha nem kell feltörniük, vagy akár ismerniük a tényleges jelszót.
Miért olyan Hatékony a Pass-the-Hash Támadás?
A PtH támadások hatékonysága több tényezőre vezethető vissza, amelyek a Windows hitelesítési protokolljainak és a tipikus vállalati hálózati konfigurációknak a sajátosságaiból adódnak.
1. Jelszó Nélküli Hitelesítés
A legfontosabb ok, amiért a PtH olyan hatékony, az az, hogy teljesen megkerüli a jelszó ismeretének szükségességét. A hagyományos támadások során a támadónak valamilyen módon meg kell szereznie a nyílt szöveges jelszót (pl. brute-force, szótártámadás, keylogging, phishing) vagy vissza kell fejtenie a hash-t. A PtH esetében elegendő a hash birtoklása. Mivel a Windows hitelesítési protokolljai (különösen az NTLM) a hash-eket használják a kihívás-válasz mechanizmusban, a hash önmagában is elegendő a hitelesítéshez.
2. NTLM Protokoll Sebezhetősége
Az NTLM protokoll, bár javulást jelentett az LM protokollhoz képest, alapvetően sérülékeny a PtH támadásokkal szemben. A protokoll kialakítása lehetővé teszi, hogy a kliens a hash-et használja a válasz generálásához anélkül, hogy a szerver valaha is látná az eredeti jelszót. Ez a „feature” válik „buggá” a támadók kezében.
- Kihívás-válasz mechanizmus: Ahogy korábban említettük, a szerver kihívást küld, a kliens pedig a jelszó hash-ével és a kihívással együtt generál egy választ. Ha a támadó rendelkezik a hash-sel, ő maga is generálhatja a helyes választ, ezzel hitelesítve magát.
- Hash tárolása a memóriában: Az LSASS folyamat a gyors hitelesítés érdekében tárolja a felhasználók NTLM hash-eit a memóriában. Ez egy legitim funkció, de a támadók kihasználják ezt azáltal, hogy kinyerik ezeket a hash-eket.
3. Keresztfunkcionális Jelszók és Helyi Rendszergazdai Fiókok
Sok szervezetben gyakori, hogy ugyanazt a helyi rendszergazdai jelszót használják több gépen. Ez a gyakorlat jelentősen megkönnyíti a PtH támadásokat:
- Ha a támadó megszerez egy helyi rendszergazdai hash-t az egyik gépen, és ez a hash megegyezik más gépeken használt helyi rendszergazdai hash-sel, akkor a támadó ezt a hash-t felhasználva azonnal hozzáférhet ezekhez a gépekhez.
- Hasonlóképpen, ha egy domain felhasználó (különösen egy domain admin) bejelentkezik egy kompromittált gépre, a jelszó hash-e a gép memóriájában marad, és a támadó kinyerheti. Ezután ezt a domain felhasználói hash-t felhasználhatja a hálózat bármely más pontján, ahol a felhasználónak jogosultsága van.
4. A Kerberos Protokoll és a PtH
Bár a PtH elsősorban az NTLM hash-ekre fókuszál, fontos megjegyezni, hogy a Kerberos protokoll is érintett lehet, különösen a hash-ek megszerzésének szempontjából. A Kerberos egy sokkal erősebb és modernebb hitelesítési protokoll, mint az NTLM, és kevésbé sebezhető a hash-ek továbbadásával szemben, mivel a hitelesítés jegyekre (tickets) épül. Azonban a Kerberos jegyek generálásához szükséges kulcsok (amelyek a jelszó hash-ekből származnak) továbbra is jelen vannak a memóriában.
- Golden Ticket és Silver Ticket: Ezek a támadások a Kerberos protokoll sebezhetőségeit használják ki. Nem közvetlenül PtH támadások, de a PtH-hoz hasonlóan a jelszó hash-ek (vagy a belőlük származó kulcsok) megszerzésére épülnek a hamisított Kerberos jegyek generálásához. A Golden Ticket a Kerberos Key Distribution Center (KDC) fiók (krbtgt) hash-ének megszerzésével lehetővé teszi tetszőleges jegyek generálását. A Silver Ticket egy szolgáltatás fiók hash-ének megszerzésével teszi lehetővé jegyek generálását egy adott szolgáltatáshoz.
- Hash-ek kinyerése Kerberos környezetben: Még Kerberos környezetben is, ha egy felhasználó bejelentkezik, az NTLM hash-e (vagy a Kerberos kulcsok) a memóriában maradnak. A Mimikatz és más eszközök képesek kinyerni ezeket az adatokat, és ezután a támadó használhatja őket PtH támadáshoz vagy Kerberos jegyek generálásához.
5. Hagyományos Biztonsági Eszközök Megkerülése
A PtH támadások gyakran megkerülik a hagyományos biztonsági eszközöket, mint például a jelszóerősség ellenőrzőket vagy a jelszó feltörési kísérleteket detektáló rendszereket. Mivel a támadó nem próbálja meg feltörni a jelszót, és nem generál sok sikertelen bejelentkezési kísérletet, a behatolás észrevétlen maradhat a tipikus riasztások számára.
- Nincs brute-force: Nincsenek ismétlődő, sikertelen bejelentkezési kísérletek, amelyek riasztást generálnának.
- Nincs jelszó átadás: A nyílt szöveges jelszavak soha nem kerülnek át a hálózaton, így a hálózati forgalom elemzésével sem könnyű észrevenni a támadást, hacsak nem specifikusan a PtH-ra optimalizált detekciós mechanizmusok vannak beállítva.
Ezek a tényezők együttesen teszik a Pass-the-Hash támadásokat az egyik legveszélyesebb és leggyakoribb technikává a fejlett perzisztens fenyegetések (APT) és a belső hálózaton belül mozgó támadók eszköztárában.
Eszközök a Pass-the-Hash Támadásokhoz

Számos eszköz áll rendelkezésre a Pass-the-Hash támadások végrehajtásához, mind a jelszó hash-ek kinyerésére, mind azok felhasználására. Ezek az eszközök gyakran beépülnek nagyobb biztonsági tesztelő keretrendszerekbe, de önállóan is használhatók.
1. Mimikatz
Ahogy korábban említettük, a Mimikatz a PtH támadások abszolút királya. Ez egy rendkívül sokoldalú eszköz, amelyet a Benjamin Delpy fejlesztett ki, eredetileg a Windows biztonsági gyengeségeinek bemutatására. A Mimikatz képes:
- Jelszó hash-ek kinyerése: Az LSASS folyamatból NTLM hash-ek, Kerberos kulcsok és néha még nyílt szöveges jelszavak kinyerése.
- Kerberos jegyek manipulálása: Golden Ticket és Silver Ticket támadások végrehajtása.
- PtH végrehajtása: Képes új folyamatokat indítani a megszerzett hash-ekkel, lehetővé téve a támadó számára, hogy hálózati erőforrásokat érjen el.
- Példa parancs:
sekurlsa::pth /user:felhasznalo /domain:domain.local /ntlm:hash_erteke /run:cmd.exe
- Példa parancs:
- Pass-the-Ticket (PtT): Kerberos jegyek felhasználása hitelesítésre.
A Mimikatz gyakran az első eszköz, amelyet a támadók bevetnek egy Windows környezetben a hitelesítő adatok megszerzésére.
2. CrackMapExec (CME)
A CrackMapExec egy sokoldalú hálózati eszköz a hálózati felderítéshez, hitelesítő adatok teszteléséhez és a lateral movement-hez. Bár nem elsősorban hash kinyerésre szolgál, képes a megszerzett hash-eket felhasználni a hálózaton való mozgásra:
- PtH támogatás: Lehetővé teszi a felhasználók számára, hogy NTLM hash-ekkel hitelesítsék magukat SSH, SMB, WinRM (PowerShell Remoting) és más protokollokon keresztül.
- Enumeráció: Képes a hálózati erőforrások, felhasználók és csoportok enumerálására a megszerzett hash-ekkel.
- Parancs végrehajtás: Távoli parancsok futtatása a kompromittált felhasználó nevében.
A CME kiválóan alkalmas a lateral movement automatizálására egy PtH támadás során.
3. Impacket Toolkit
Az Impacket egy Python osztálygyűjtemény a hálózati protokollok programozott eléréséhez. A támadók és penetrációs tesztelők széles körben használják, mivel számos hasznos szkriptet tartalmaz, amelyek kihasználják a Windows hitelesítési mechanizmusait, beleértve a PtH-t is.
- psexec.py: A PsExec funkcionalitását utánozza, lehetővé téve a parancsok végrehajtását távoli gépeken NTLM hash-sel.
- smbexec.py: Hasonló a psexec.py-hoz, de SMB protokollon keresztül hajtja végre a parancsokat.
- wmiexec.py: WMI-n keresztül hajt végre parancsokat.
- secretsdump.py: Képes kinyerni az NTLM hash-eket a SAM adatbázisból és az NTDS.dit fájlból (Active Directory adatbázisa).
Az Impacket szkriptjei rendkívül rugalmasak és csendesek lehetnek, ami megnehezíti a detektálásukat.
4. Metasploit Framework
A Metasploit egy átfogó penetrációs tesztelő keretrendszer, amely számos modult tartalmaz a kihasználásokhoz, kártevőkhöz és utólagos kihasználáshoz (post-exploitation). Számos modulja támogatja a PtH támadásokat:
- Post-exploitation modulok: Képesek kinyerni a jelszó hash-eket a kompromittált rendszerekről.
- Exploitation modulok: Egyes modulok közvetlenül felhasználhatják a megszerzett hash-eket a távoli rendszereken való hitelesítéshez és kódvégrehajtáshoz.
A Metasploit egy teljes körű platform a támadási életciklus minden fázisához, beleértve a PtH-t is.
5. Responder
A Responder egy LLMNR (Link-Local Multicast Name Resolution), NBT-NS (NetBIOS Name Service) és MDNS (Multicast DNS) mérgező eszköz. Bár nem közvetlenül PtH végrehajtó eszköz, gyakran használják a PtH támadások előkészítő fázisában:
- Hash-ek gyűjtése: A Responder képes elfogni a hálózati kihívás-válasz hitelesítési kísérleteket, és rávenni a klienseket, hogy elküldjék az NTLM hash-eiket. Ez akkor fordul elő, ha egy gép nem találja a kért erőforrást a DNS-ben, és a hálózaton keresztül kérdezi meg a környező gépeket. A Responder válaszol, eljátszva a kért szervert, és begyűjti a kliens NTLM hash-ét.
Ez egy passzívabb, mégis hatékony módja a hash-ek megszerzésének a hálózaton belül.
6. BloodHound
Bár nem egy PtH végrehajtó eszköz, a BloodHound egy rendkívül hasznos eszköz a támadók számára az Active Directory környezetekben való navigáláshoz és a jogosultságok eszkalációs útvonalainak azonosításához. Segít vizualizálni a kapcsolatokat a felhasználók, csoportok, számítógépek és erőforrások között, beleértve azokat az útvonalakat is, amelyek PtH támadásokkal kihasználhatók.
- Útvonal azonosítás: Segít a támadónak megtalálni a „leggyengébb láncszemet” vagy a legrövidebb utat a domain admin jogosultságokhoz a megszerzett hitelesítő adatok (beleértve a hash-eket is) felhasználásával.
Ezen eszközök együttes használata, vagy akár csak egy-kettő mesteri ismerete is rendkívül hatékonnyá teszi a támadókat a Pass-the-Hash támadások végrehajtásában.
A Pass-the-Hash Támadások Detektálása
A Pass-the-Hash támadások detektálása kihívást jelenthet, mivel nem hagyományos jelszófeltörési kísérletek. Azonban számos technika és eszköz létezik, amelyek segíthetnek az ilyen típusú tevékenységek azonosításában a hálózaton.
1. Eseménynapló Elemzés (Event Log Analysis)
A Windows eseménynaplók, különösen a biztonsági naplók, rendkívül értékes információforrást jelentenek. A megfelelő eseményazonosítók (Event IDs) figyelése kritikus a PtH detektálásában.
- Eseményazonosító 4624: Sikeres bejelentkezés.
- Bejelentkezési típus 3 (Network): Hálózati bejelentkezés. Ha egy gép, amelyen egy felhasználó nem is dolgozik, hálózati bejelentkezést kezdeményez a felhasználó nevében, az gyanús lehet.
- Bejelentkezési típus 9 (RunAs): Futatás más felhasználóként.
- Gyanús forrás IP-címek: Ha egy bejelentkezés ismeretlen vagy szokatlan IP-címről érkezik.
- Eseményazonosító 4648: Bejelentkezés kísérlet explicit hitelesítő adatokkal (RunAs).
- Ez az esemény akkor jön létre, ha egy felhasználó explicit módon más hitelesítő adatokkal próbál meg bejelentkezni, ami PtH támadás során is előfordulhat.
- Eseményazonosító 4672: Rendszergazdai jogosultságú bejelentkezés (Special Logon).
- Eseményazonosító 4776: A hitelesítési szerver NTLM hitelesítést kísérelt meg.
- Ez az esemény a domain kontrollereken jön létre. Ha egy felhasználó a normálistól eltérő számú NTLM bejelentkezést kezdeményez, vagy ha olyan gépről érkezik NTLM bejelentkezés, amelytől nem várható, az gyanús lehet.
- Eseményazonosító 4657: Registry érték módosítása. Az LM hash tárolásának engedélyezése vagy letiltása itt látszik.
A kulcs a normális viselkedéstől való eltérések azonosítása. Egy SIEM (Security Information and Event Management) rendszer elengedhetetlen a nagy mennyiségű naplóadat elemzéséhez és a korrelációk felderítéséhez.
2. Viselkedésalapú Elemzés és Anomália Detektálás
Mivel a PtH támadások gyakran legitim protokollokat használnak, a viselkedésalapú elemzés hatékonyabb lehet, mint a szabályalapú detektálás. Az Endpoint Detection and Response (EDR) és Network Detection and Response (NDR) megoldások kulcsfontosságúak itt.
- Szokatlan bejelentkezési minták:
- Egy felhasználó több gépre is bejelentkezik rövid időn belül.
- Egy felhasználó olyan gépekre jelentkezik be, amelyekhez normális esetben nincs hozzáférése vagy nem is használja.
- Bejelentkezések szokatlan időpontokban vagy szokatlan forrás IP-címekről.
- Ismeretlen folyamatok és parancsok:
- Az LSASS folyamat memóriájának olvasása (Mimikatz).
- Gyanús parancsok futtatása (pl. `powershell.exe -enc`, `psexec.exe`).
- Kód végrehajtása távoli gépeken (pl. WMI, PsExec, PowerShell Remoting) rendszergazdai jogosultságokkal, anélkül, hogy a felhasználó interaktívan bejelentkezett volna.
- Hálózati forgalom elemzése:
- NTLM autentikációs forgalom figyelése. Bár a hash nem látható, a hitelesítési kísérletek mintázata, a forrás és cél közötti szokatlan kapcsolatok jelezhetnek problémát.
- Kerberos jegyek gyanús kérései vagy manipulációi.
3. Endpoint Detection and Response (EDR)
Az EDR megoldások rendkívül hatékonyak a PtH detektálásában, mivel mélyen behatolnak az operációs rendszerbe és figyelik a folyamatokat, fájlrendszer-hozzáférést és a memóriahasználatot.
- LSASS folyamat monitorozása: Az EDR rendszerek riasztást generálnak, ha egy ismeretlen vagy gyanús folyamat próbálja meg olvasni az LSASS memóriáját. Ez a Mimikatz és más hash kinyerő eszközök fő célpontja.
- Gyanús fájlhozzáférés: A SAM adatbázis vagy az NTDS.dit fájl gyanús hozzáférése.
- PowerShell és parancssor monitorozás: A gyanús parancssori argumentumok vagy PowerShell szkriptek végrehajtásának észlelése, amelyek hash-ek kinyerésére vagy PtH végrehajtására utalhatnak.
4. Honeypot-ok és Honeynet-ek
A honeypot-ok csaliként szolgáló rendszerek, amelyek célja a támadók vonzása és tevékenységük megfigyelése. Egy speciálisan konfigurált honeypot, amely látszólag érzékeny hitelesítő adatokkal rendelkezik, segíthet a PtH támadások detektálásában.
- Ha egy támadó megpróbálja használni a honeypot-ról megszerzett (hamis) hash-t más rendszereken, a biztonsági csapat azonnal riasztást kap.
- Ez egy proaktív megközelítés, amely segíthet a támadási technikák megértésében és a belső hálózati fenyegetések korai észlelésében.
5. Fejlett Hitelesítési Naplózás
A Windows Server 2012 R2-től és Windows 8.1-től kezdve elérhető a „Process Creation” és „Audit Credential Validation” naplózási beállítások finomhangolása. Ezek a beállítások részletesebb információkat szolgáltatnak a folyamatokról és a hitelesítési kísérletekről, ami megkönnyíti a PtH-hoz hasonló támadások detektálását.
- Audit Process Creation (Event ID 4688): Naplózza minden új folyamat indítását, beleértve a parancssori argumentumokat is. Ez kulcsfontosságú a Mimikatz és más eszközök futtatásának észleléséhez.
- Audit Credential Validation (Event ID 4776): Részletesebb információt nyújt az NTLM hitelesítési kísérletekről.
A sikeres detektálás kulcsa a rétegzett megközelítés: a naplóelemzés, a viselkedésalapú detektálás és az EDR megoldások kombinációja biztosítja a legjobb védelmet a Pass-the-Hash támadások ellen.
Védekezés a Pass-the-Hash Támadások Ellen
A Pass-the-Hash támadások elleni védekezés átfogó stratégiát igényel, amely magában foglalja a rendszerkonfigurációt, a hálózati szegmentációt, a hitelesítő adatok kezelését és a felhasználói oktatást. Nincs egyetlen „csodaszer”, de a több rétegű védelem jelentősen csökkentheti a PtH támadások sikerességének esélyét.
1. Erős Jelszószabályzat és Többfaktoros Hitelesítés (MFA)
Bár a PtH nem igényli a jelszó ismeretét, az erős jelszavak és az MFA továbbra is alapvető fontosságúak a támadási lánc korábbi fázisainak megakadályozásában.
- Erős, egyedi jelszavak: A komplex jelszavak (hossz, speciális karakterek, számok, kis- és nagybetűk kombinációja) megnehezítik a kezdeti behatolást a brute-force vagy szótártámadásokkal.
- Jelszó rotáció: Rendszeres jelszócsere, különösen a kiemelt jogosultságú fiókok esetében.
- Többfaktoros hitelesítés (MFA): Az MFA hozzáad egy extra védelmi réteget. Még ha a támadó meg is szerzi a jelszó hash-ét (vagy akár a nyílt szöveges jelszót), az MFA hiányában nem tud hitelesíteni. Fontos azonban megjegyezni, hogy az MFA nem véd közvetlenül a PtH ellen, ha a támadó már a hálózaton belül van, és kihasználja a hash-t a Kerberos vagy NTLM protokollokon keresztül. Az MFA a kezdeti behatolás és a távoli hozzáférés (pl. VPN, OWA) elleni védelmet erősíti.
2. Helyi Rendszergazdai Fiókok Kezelése (LAPS)
Ez az egyik leghatékonyabb védekezés a lateral movement (oldalirányú mozgás) ellen, amely a PtH támadások alapja.
- Local Administrator Password Solution (LAPS): A Microsoft LAPS megoldása automatikusan randomizálja és rendszeresen frissíti az egyes munkaállomások helyi rendszergazdai fiókjának jelszavát. A jelszavakat az Active Directoryban tárolja, titkosítva, és csak arra jogosult felhasználók (pl. IT helpdesk) férhetnek hozzá.
- Előny: Ha egy támadó kompromittál egy gépet és megszerzi a helyi rendszergazdai hash-ét, az a hash csak azon az egy gépen használható, mivel minden gépnek egyedi jelszava és hash-e van. Ez megakadályozza a lateral movement-et a helyi rendszergazdai fiókokon keresztül.
- A helyi rendszergazdai fiók letiltása vagy átnevezése: Biztonsági alapelv, hogy az alapértelmezett „Administrator” fiókot le kell tiltani, vagy legalább át kell nevezni, és erős, egyedi jelszót kell beállítani.
3. Credential Guard és Device Guard (Windows 10/Server 2016+)
Ezek a Windows 10 és Windows Server 2016 (és újabb) funkciói jelentősen növelik a hitelesítő adatok védelmét.
- Credential Guard: A Credential Guard virtualizáció-alapú biztonságot (VBS) használ a hitelesítő adatok izolálására. Az LSASS folyamatot egy izolált, virtualizált környezetben futtatja, ami megnehezíti a Mimikatz-hoz hasonló eszközök számára a jelszó hash-ek és Kerberos jegyek kinyerését a memóriából. Ez az egyik leghatékonyabb közvetlen védekezés a Mimikatz-alapú hash dumping ellen.
- Device Guard (jelenleg Windows Defender Application Control – WDAC): Segít megakadályozni, hogy nem megbízható alkalmazások (beleértve a kártevőket és a támadó eszközöket) fusson a rendszeren.
Ezek a funkciók megkövetelik a megfelelő hardveres támogatást (UEFI, Secure Boot, virtualizációs technológiák).
4. Active Directory Biztonsági Optimalizálás
Az Active Directory a hálózat gerince, ezért a megfelelő konfiguráció kulcsfontosságú.
- LM hash tárolásának letiltása: Győződjön meg róla, hogy a Group Policy beállításokkal (Network security: Do not store LAN Manager hash value on next password change) tiltva van az LM hash-ek tárolása.
- Admin Tiering Modell (Tiered Administration Model): Különböző adminisztrációs szintek létrehozása (pl. Tier 0 – Domain Adminok, Tier 1 – Szerver adminok, Tier 2 – Munkaállomás adminok). Ez biztosítja, hogy a magas jogosultságú fiókok csak magas biztonságú, dedikált munkaállomásokról jelentkezzenek be, és soha ne használják őket alacsonyabb biztonságú rendszereken. Ez megakadályozza, hogy egy domain admin hash-e egy kompromittált munkaállomáson landoljon.
- Szolgáltatási fiókok kezelése: A szolgáltatási fiókoknak erős, hosszú, egyedi jelszavakkal kell rendelkezniük, amelyeket rendszeresen cserélnek. Lehetőleg használjanak Managed Service Accounts (MSA) vagy Group Managed Service Accounts (gMSA) fiókokat, amelyek automatikusan kezelik a jelszavakat.
- Domain Admin fiókok védelme: A Domain Admin fiókokat csak akkor szabad használni, ha feltétlenül szükséges, és csak magas biztonságú, dedikált adminisztrációs munkaállomásokról.
5. Hálózati Szegmentáció és Tűzfalak
A hálózati szegmentáció korlátozza a támadó mozgásterét, még akkor is, ha sikerül behatolnia egy részbe.
- VLAN-ok és tűzfalak: A hálózat felosztása VLAN-okra, és tűzfal szabályok alkalmazása a szegmensek között, hogy korlátozza a kommunikációt. Például a szerverek csak a szükséges portokon kommunikálhassanak egymással, és a munkaállomások ne tudjanak közvetlenül kommunikálni a domain kontrollerekkel azokon a portokon, amelyeken keresztül a PtH támadások zajlanak.
- Korlátozott hozzáférés: Csak a szükséges hálózati hozzáférés biztosítása a felhasználóknak és rendszereknek (least privilege elv).
6. Rendszeres Javítások és Frissítések
A szoftverek és operációs rendszerek naprakészen tartása alapvető fontosságú. A Microsoft rendszeresen ad ki biztonsági javításokat, amelyek orvosolják az ismert sebezhetőségeket, beleértve azokat is, amelyek a PtH támadásokhoz vezethetnek.
- Folyamatos patch management: Győződjön meg arról, hogy minden rendszeren telepítve vannak a legfrissebb biztonsági frissítések.
7. Folyamatos Monitorozás és Naplóelemzés
Ahogy a detektálásnál is említettük, a proaktív monitorozás kulcsfontosságú a PtH támadások korai észleléséhez.
- SIEM és EDR megoldások: Használjon SIEM és EDR rendszereket a naplóadatok gyűjtésére, korrelálására és elemzésére. Konfigurálja a riasztásokat a gyanús eseményekre (pl. LSASS hozzáférés, szokatlan bejelentkezések, abnormális hálózati forgalom).
- Auditálási beállítások: Győződjön meg arról, hogy a Windows biztonsági auditálási beállításai megfelelően vannak konfigurálva a részletes naplózáshoz.
8. Felhasználói Tudatosság és Oktatás
Az emberi tényező továbbra is a leggyengébb láncszem lehet. A felhasználók oktatása a phishingről, a gyanús e-mailekről és a biztonságos jelszógyakorlatokról elengedhetetlen a kezdeti behatolás megakadályozásához.
- Phishing szimulációk: Rendszeres phishing tesztek a felhasználók tudatosságának növelésére.
- Biztonsági képzések: Folyamatos oktatás a legújabb fenyegetésekről és a biztonságos online viselkedésről.
A Pass-the-Hash támadások elleni védekezés alapja a „nulla bizalom” (Zero Trust) elvének alkalmazása, ahol minden felhasználói és eszköz hitelesítést alaposan ellenőriznek, függetlenül attól, hogy a hálózaton belülről vagy kívülről érkezik-e, és a legkisebb jogosultság elvét követik minden hozzáférésnél.
A Pass-the-Hash Támadások Helye a Kiberbiztonsági Ökoszisztémában
A Pass-the-Hash (PtH) támadások nem elszigetelt jelenségek, hanem szerves részét képezik a modern kibertámadási kampányoknak, különösen az Advanced Persistent Threats (APT) csoportok és a belső hálózati behatolók (insider threats) esetében. Helyüket a támadási életciklusban (Cyber Kill Chain) a „lateral movement” és a „privilege escalation” fázisokban találjuk meg, ahol kulcsszerepet játszanak a hálózatban való további terjeszkedésben.
PtH a Cyber Kill Chain-ben
A Cyber Kill Chain egy modell, amely a tipikus támadási fázisokat írja le. A PtH támadás a következő szakaszokban jelenik meg:
- Felderítés (Reconnaissance): A támadó információkat gyűjt a célpontról. Ez nem közvetlenül PtH, de a megszerzett információk (pl. domain nevek, felhasználói nevek) később felhasználhatók.
- Fegyveresítés (Weaponization): A támadó létrehozza a támadási eszközt (pl. Mimikatz, PowerShell szkriptek).
- Szállítás (Delivery): A támadó eljuttatja a kártevőt vagy az exploitot a célponthoz (pl. phishing e-mail, fertőzött weboldal).
- Kihasználás (Exploitation): A támadó kihasznál egy sebezhetőséget, hogy hozzáférést szerezzen egy rendszerhez. Ez a kezdeti behatolás.
- Telepítés (Installation): A támadó állandó hozzáférést biztosító háttereket telepít.
- Parancs és Vezérlés (Command and Control): A támadó kommunikációs csatornát létesít a kompromittált rendszerrel.
- Akció a Célon (Actions on Objectives): Ez az a fázis, ahol a PtH igazán érvényesül. Miután a támadó hozzáférést szerzett egy géphez, és helyi rendszergazdai jogosultságokat szerzett (gyakran a 6. lépés részeként), kinyeri a hash-eket. Ezeket a hash-eket ezután felhasználja a lateral movement-hez, hogy más rendszereket érjen el, és jogosultságokat eszkaláljon a domain szintjén, egészen a végső cél eléréséig (pl. adatlopás, rendszerek megsemmisítése, zsarolóvírus telepítése).
A PtH kulcsszerepet játszik az „Akció a Célon” fázisban, lehetővé téve a támadó számára, hogy hatékonyan mozogjon a hálózaton belül anélkül, hogy további jelszavakat kellene feltörnie.
Kapcsolat Más Támadásokkal
A PtH gyakran együtt jár vagy előkészít más, kifinomult támadásokat:
- Golden Ticket Támadás: Ha egy támadó Domain Admin jogosultságú fiók hash-ét szerzi meg (különösen a `krbtgt` fiók hash-ét, amely a Kerberos Key Distribution Center szolgáltatási fiókja), akkor képes hamis „Golden Ticket” Kerberos jegyeket generálni. Ezek a jegyek gyakorlatilag korlátlan hozzáférést biztosítanak a teljes Active Directory tartományhoz, és a támadó bármely felhasználóként vagy csoportként hitelesíthet, anélkül, hogy a jelszóval kellene bajlódnia. Ez egy rendkívül tartós és nehezen észlelhető fenyegetés.
- Silver Ticket Támadás: Hasonló a Golden Ticket-hez, de egy adott szolgáltatás fiókjának hash-ét használja fel hamis Kerberos szolgáltatásjegyek (Service Tickets) generálására. Ez lehetővé teszi a támadó számára, hogy egy adott szolgáltatáshoz (pl. SQL Server, fájlmegosztás) hozzáférjen, anélkül, hogy a szolgáltatás valódi hitelesítő adatait ismerné. Ez specifikusabb, de még mindig nagyon veszélyes.
- Pass-the-Ticket (PtT): Ez a technika magát a Kerberos jegyet használja fel, nem a jelszó hash-ét. Miután egy támadó megszerezte egy felhasználó Kerberos jegyét (például a memóriából), azt felhasználhatja, hogy hitelesítse magát más rendszereken anélkül, hogy a jelszót vagy a hash-t ismerné. Bár technikailag különbözik a PtH-tól, a cél és a hatékonyság hasonló.
- Credential Stuffing és Brute-Force: Bár a PtH elkerüli a jelszófeltörést, a kezdeti behatolás során még mindig alkalmazhatók ezek a módszerek, ha a támadó nem rendelkezik közvetlen hozzáféréssel.
A PtH Támadások Evolúciója
A PtH támadások nem újkeletűek, de folyamatosan fejlődnek. A kezdeti időkben az LM hash-ek voltak a fő célpontok. A Microsoft biztonsági intézkedéseinek bevezetése (pl. LM hash letiltása, Credential Guard) arra kényszerítette a támadókat, hogy kifinomultabb technikákat alkalmazzanak, és az NTLM hash-ekre, majd a Kerberos jegyek manipulálására fókuszáljanak.
- In-memory credential dumping: A Mimikatz megjelenése forradalmasította a hash-ek kinyerését az LSASS folyamatból, ami korábban sokkal nehezebb volt.
- Fileless malware és Living Off The Land (LOTL) technikák: A modern támadók gyakran kerülik a merevlemezre való írást, és inkább a memóriában futó szkripteket (pl. PowerShell) használnak, vagy kihasználják a rendszerbe épített eszközöket (pl. PsExec, WMI), hogy elkerüljék a hagyományos vírusirtók detektálását. Ez a PtH támadásokat is érinti, mivel a hash-ek kinyerése és a lateral movement a rendszeres eszközökön keresztül történik.
- Cloud környezetek: Bár a PtH elsősorban az on-premise Active Directory környezetekre jellemző, a felhőbe migrált hibrid környezetekben is releváns maradhat, ha az on-premise AD továbbra is kulcsszerepet játszik a hitelesítésben.
A Pass-the-Hash támadások továbbra is a legfontosabb fenyegetések közé tartoznak a vállalati hálózatokban. Komplexitásuk, hatékonyságuk és a hagyományos biztonsági mechanizmusok megkerülésének képessége miatt elengedhetetlen a mélyreható megértésük és az ellenük való proaktív védekezés.