Rejtett jelszó feltörése az Smbexec segítségével

Rejtett jelszó feltörése az Smbexec segítségével

Rendszeresen írunk arról, hogy a hackerek gyakran támaszkodnak a kihasználásra hackelési módszerek rosszindulatú kód nélkülaz észlelés elkerülése érdekében. Ők szó szerint "túlélni a legelőn", szabványos Windows-eszközökkel, ezáltal megkerülve a víruskeresőket és a rosszindulatú tevékenységek észlelésére szolgáló egyéb segédprogramokat. Védekezőként most kénytelenek vagyunk megküzdeni az ilyen ügyes hackelési technikák sajnálatos következményeivel: egy jól elhelyezett alkalmazott ugyanezt a módszert alkalmazhatja titkos adatok (céges szellemi tulajdon, hitelkártyaszám) ellopására. És ha nem rohan, hanem lassan és csendesen dolgozik, az rendkívül nehéz lesz - de még mindig lehetséges, ha a megfelelő megközelítést és a megfelelőt használja. Tools, — az ilyen tevékenység azonosítása.

Másrészt nem szeretném démonizálni az alkalmazottakat, mert senki sem akar egyenesen Orwell 1984-éből származó üzleti környezetben dolgozni. Szerencsére számos gyakorlati lépés és életmentő hack létezik, amelyek jelentősen megnehezíthetik a bennfentesek életét. Megfontoljuk titkos támadási módszerek, amelyet hackerek használnak bizonyos technikai háttérrel rendelkező alkalmazottak. És egy kicsit tovább fogunk beszélni az ilyen kockázatok csökkentésének lehetőségeiről - mind a technikai, mind a szervezeti lehetőségeket tanulmányozzuk.

Mi a baj a PsExec-el?

Edward Snowden, jogosan vagy helytelenül, a bennfentes adatlopás szinonimájává vált. Egyébként ne felejts el egy pillantást vetni ezt a jegyzetet más bennfentesekről, akik szintén megérdemelnek némi hírnevet. A Snowden által alkalmazott módszerekkel kapcsolatban érdemes kiemelni az egyik fontos szempontot, hogy legjobb tudomásunk szerint ő nem telepítette nincs külső rosszindulatú szoftver!

Ehelyett Snowden egy kis szociális tervezést alkalmazott, és rendszergazdai pozícióját használta fel jelszavak gyűjtésére és hitelesítő adatok létrehozására. Semmi bonyolult - semmi mimikatz, támadások közép ember vagy metasploit.

A szervezeti alkalmazottak nem mindig vannak Snowden egyedi helyzetében, de számos tanulságot le kell vonni a „legelés általi túlélés” fogalmából, amelyekkel tisztában kell lenni – hogy ne vegyenek részt semmilyen észlelhető rosszindulatú tevékenységben, és különösen óvatosan használja a hitelesítő adatokat. Emlékezz erre a gondolatra.

Psexec és az unokatestvére crackmapexec számtalan pentesztert, hackert és kiberbiztonsági bloggert nyűgöztek le. A mimikatz-cal kombinálva a psexec lehetővé teszi a támadók számára, hogy anélkül mozogjanak a hálózaton belül, hogy ismerniük kellene a szöveges jelszót.

A Mimikatz elkapja az LSASS folyamatból származó NTLM hash-t, majd átadja a tokent vagy hitelesítő adatokat – az ún. "pass the hash" támadás – a psexec-ben, amely lehetővé teszi a támadó számára, hogy bejelentkezzen egy másik szerverre egy másik felhasználó. A támadó minden további új kiszolgálóra való költözéskor további hitelesítő adatokat gyűjt, bővítve lehetőségeit az elérhető tartalom keresésében.

Amikor először elkezdtem dolgozni a psexec-el, varázslatosnak tűnt számomra – köszönöm Mark Russinovich, a psexec zseniális fejlesztője – de tudok az övéről is zajos alkatrészek. Soha nem titkolózik!

Az első érdekes tény a psexecről, hogy rendkívül összetett SMB hálózati fájl protokoll a Microsofttól. Az SMB használatával a psexec kis méretben továbbít kettős fájlokat a célrendszerbe, helyezze el őket a C:Windows mappába.

Ezután a psexec létrehoz egy Windows szolgáltatást a másolt bináris használatával, és a rendkívül „váratlan” PSEXECSVC néven futtatja azt. Ugyanakkor mindezt valójában láthatod, ahogy én is, egy távoli gépet figyelve (lásd lent).

Rejtett jelszó feltörése az Smbexec segítségével

A Psexec hívókártyája: "PSEXECSVC" szolgáltatás. Egy bináris fájlt futtat, amelyet SMB-n keresztül helyeztek el a C:Windows mappában.

Utolsó lépésként megnyílik a másolt bináris fájl RPC kapcsolat a célkiszolgálóra, majd elfogadja a vezérlőparancsokat (alapértelmezés szerint a Windows cmd shelljén keresztül), elindítja azokat, és átirányítja a bemenetet és a kimenetet a támadó otthoni gépére. Ebben az esetben a támadó az alapvető parancssort látja – ugyanúgy, mintha közvetlenül csatlakozna.

Sok alkatrész és nagyon zajos folyamat!

A psexec összetett belső elemei megmagyarázzák azt az üzenetet, amely néhány évvel ezelőtti első tesztjeim során zavarba ejtett: „A PSEXECSVC indítása...”, amelyet egy szünet követ a parancssor megjelenése előtt.

Rejtett jelszó feltörése az Smbexec segítségével

Az Impacket Psexecje valójában megmutatja, mi történik a motorháztető alatt.

Nem meglepő: a psexec hatalmas munkát végzett a motorháztető alatt. Ha kíváncsi a részletesebb magyarázatra, nézze meg itt ezek csodálatos leírás.

Nyilvánvalóan rendszeradminisztrációs eszközként használva, ami volt eredeti célja psexec, nincs semmi baj az összes Windows-mechanizmus „zümmögésével”. Egy támadó számára azonban a psexec bonyodalmakat okozna, és egy olyan óvatos és ravasz bennfentes számára, mint a Snowden, a psexec vagy egy hasonló segédprogram túl nagy kockázatot jelentene.

És akkor jön az Smbexec

Az SMB egy okos és titkos módszer a fájlok szerverek közötti átvitelére, és a hackerek évszázadok óta közvetlenül behatolnak az SMB-be. Szerintem már mindenki tudja, hogy nem éri meg nyisd ki SMB 445-ös és 139-es port az internetre, igaz?

A 2013-as Defconon Eric Millman (brav0hax) mutatta be smbexec, hogy a résztvevők kipróbálhassák a lopakodó SMB-hackelést. Nem ismerem az egész történetet, de aztán az Impacket tovább finomította az smbexec-et. Valójában a teszteléshez letöltöttem a szkripteket a Python Impacket alkalmazásából GitHub.

A psexec-től eltérően az smbexec kerüli egy potenciálisan észlelt bináris fájl átvitele a célgépre. Ehelyett a segédprogram teljes egészében a legelőtől az indulásig él helyi Windows parancssor.

A következőképpen működik: SMB-n keresztül átad egy parancsot a támadó gépről egy speciális bemeneti fájlnak, majd létrehoz és futtat egy összetett parancssort (mint egy Windows szolgáltatás), amely ismerősnek tűnik a Linux-felhasználók számára. Röviden: elindít egy natív Windows cmd shellt, átirányítja a kimenetet egy másik fájlba, majd SMB-n keresztül visszaküldi a támadó gépére.

Ezt úgy érthetjük meg legjobban, ha megnézzük a parancssort, amelyet az eseménynaplóból tudtam a kezembe venni (lásd lent).

Rejtett jelszó feltörése az Smbexec segítségével

Nem ez a legjobb módja az I/O átirányításának? A szolgáltatás létrehozásának egyébként 7045 eseményazonosítója van.

A psexechez hasonlóan ez is létrehoz egy szolgáltatást, amely elvégzi az összes munkát, de a szolgáltatást azután eltávolították – csak egyszer használatos a parancs futtatására, majd eltűnik! Az áldozat gépét figyelő információbiztonsági tiszt nem fogja tudni észlelni nyilvánvaló Támadás jelei: Nem indul rosszindulatú fájl, nincs állandó szolgáltatás telepítése, és nincs bizonyíték az RPC használatára, mivel az SMB az egyetlen adatátviteli eszköz. Ragyogó!

A támadó oldaláról egy „pszeudo shell” áll rendelkezésre a parancs elküldése és a válasz fogadása közötti késéssel. De ez teljesen elég ahhoz, hogy egy támadó – akár egy bennfentes, akár egy külső hacker, aki már megtapasztalja a lábát – elkezdjen érdekes tartalmat keresni.

Rejtett jelszó feltörése az Smbexec segítségével

Az adatok visszaküldésére a célgépről a támadó gépére ezt használják smbclient. Igen, ez ugyanaz a Samba hasznosság, de az Impacket csak Python-szkriptre konvertálta. Valójában az smbclient lehetővé teszi az FTP-átvitelek rejtett fogadását SMB-n keresztül.

Tegyünk egy lépést hátra, és gondoljuk át, mit tehet ez a munkavállaló számára. Az én fiktív forgatókönyvem szerint, tegyük fel, hogy egy blogger, pénzügyi elemző vagy jól fizetett biztonsági tanácsadó használhat személyes laptopot munkához. Valamilyen mágikus folyamat eredményeként megsértődik a társaságon, és „minden rosszra fordul”. A laptop operációs rendszerétől függően vagy az Impact Python verzióját, vagy az smbexec vagy az smbclient Windows verzióját használja .exe fájlként.

Snowdenhez hasonlóan ő is megtudja egy másik felhasználó jelszavát úgy, hogy átnéz a válla fölött, vagy szerencséje van és belebotlik egy szöveges fájlba a jelszóval. És ezeknek a hitelesítő adatoknak a segítségével a kiváltságok új szintjén kezdi el ásni a rendszert.

DCC feltörése: Nincs szükségünk "hülye" Mimikatzra

A pentesztelésről szóló korábbi bejegyzéseimben nagyon gyakran használtam a mimikatz-ot. Ez egy nagyszerű eszköz a hitelesítő adatok lehallgatására - NTLM-kivonatok és még a laptopok belsejében elrejtett, tiszta szövegű jelszavak is, amelyek csak a felhasználásra várnak.
Az idő megváltozott. A megfigyelő eszközök jobbak lettek a mimikatz észlelésében és blokkolásában. Az információbiztonsági adminisztrátorok ezentúl több lehetőséggel rendelkeznek a hash (PtH) támadásokkal kapcsolatos kockázatok csökkentésére.
Mit tegyen tehát egy okos alkalmazott, hogy további hitelesítő adatokat gyűjthessen a mimikatz használata nélkül?

Az Impacket készlete tartalmaz egy segédprogramot titkok lerakó, amely lekéri a hitelesítési adatokat a Domain Credential Cache-ből vagy röviden DCC-ből. Úgy gondolom, hogy ha egy tartományi felhasználó bejelentkezik a kiszolgálóra, de a tartományvezérlő nem elérhető, a DCC lehetővé teszi a szerver számára a felhasználó hitelesítését. Mindenesetre a secretsdump lehetővé teszi az összes kivonat kiírását, ha rendelkezésre állnak.

A DCC hash-ek nem NTML-kivonatokat és nem használható PtH támadásra.

Nos, megpróbálhatja feltörni őket, hogy megkapja az eredeti jelszót. A Microsoft azonban okosabb lett a DCC-vel, és a DCC-kivonatokat rendkívül nehéz feltörni. Igen van hashcat, "a világ leggyorsabb jelszókitalálója", de a hatékony működéshez GPU szükséges.

Ehelyett próbáljunk meg Snowdenhez hasonlóan gondolkodni. Egy alkalmazott szemtől szemben végezhet szociális manipulációt, és esetleg megtudhat néhány információt arról a személyről, akinek a jelszavát fel akarja törni. Például derítse ki, hogy az adott személy online fiókját feltörték-e valaha, és vizsgálja meg az egyértelmű jelszavát, hogy nincs-e nyoma.

És ez az a forgatókönyv, amely mellett döntöttem. Tegyük fel, hogy egy bennfentes megtudta, hogy főnökét, Cruellát többször is feltörték különböző internetes forrásokon. A jelszavak közül több elemzése után rájön, hogy Cruella szívesebben használja a baseballcsapat „Yankees” nevének formátumát, amelyet az aktuális év – „Yankees2015” követ.

Ha most megpróbálja reprodukálni ezt otthon, akkor letölthet egy kis "C" kód, amely megvalósítja a DCC-kivonatoló algoritmust, és lefordítja azt. John a Ripper, egyébként hozzáadta a DCC támogatást, így az is használható. Tételezzük fel, hogy egy bennfentes nem akarja vesződni Hasfelmetsző János tanulásával, és szereti a "gcc"-t futtatni a régi C kódon.

A bennfentes szerepét színlelve többféle kombinációt kipróbáltam, és végül sikerült felfedeznem, hogy Cruella jelszava „Yankees2019” (lásd lent). Küldetés teljesítve!

Rejtett jelszó feltörése az Smbexec segítségével

Egy kis social engineering, egy csipetnyi jóslás és egy csipetnyi Maltego, és már jó úton haladsz a DCC hash feltöréséhez.

Azt javaslom, hogy itt fejezzük be. Erre a témára más bejegyzésekben visszatérünk, és még több lassú és lopakodó támadási módszert nézünk meg, továbbra is építve az Impacket kiváló segédprogramjaira.

Forrás: will.com

Hozzászólás