Skjult adgangskodehacking med Smbexec

Skjult adgangskodehacking med Smbexec

Vi skriver jævnligt om, hvordan hackere ofte er afhængige af at udnytte hacking metoder uden ondsindet kodefor at undgå opdagelse. Det er de bogstaveligt talt "overlev på græs", ved at bruge standard Windows-værktøjer, og derved omgå antivirus og andre værktøjer til at detektere ondsindet aktivitet. Vi, som forsvarere, er nu tvunget til at håndtere de uheldige konsekvenser af sådanne smarte hackingteknikker: En velplaceret medarbejder kan bruge den samme tilgang til hemmeligt at stjæle data (virksomhedens intellektuelle ejendom, kreditkortnumre). Og hvis han ikke skynder sig, men arbejder langsomt og stille, vil det være ekstremt svært - men stadig muligt, hvis han bruger den rigtige tilgang og den passende Værktøj— at identificere en sådan aktivitet.

På den anden side ville jeg ikke ønske at dæmonisere medarbejdere, fordi ingen ønsker at arbejde i et forretningsmiljø lige fra Orwells 1984. Heldigvis er der en række praktiske trin og life hacks, der kan gøre livet meget sværere for insidere. Vi vil overveje hemmelige angrebsmetoder, brugt af hackere af medarbejdere med en vis teknisk baggrund. Og lidt længere vil vi diskutere muligheder for at reducere sådanne risici - vi vil studere både tekniske og organisatoriske muligheder.

Hvad er der galt med PsExec?

Edward Snowden, med rette eller urette, er blevet synonymt med insider-datatyveri. Glem forresten ikke at tage et kig på denne note om andre insidere, der også fortjener en vis berømmelsesstatus. En vigtig pointe, der er værd at understrege ved de metoder, Snowden brugte, er, at han, så vidt vi ved, er ikke installeret ingen ekstern ondsindet software!

I stedet brugte Snowden en smule social engineering og brugte sin stilling som systemadministrator til at indsamle adgangskoder og oprette legitimationsoplysninger. Intet kompliceret - ingen mimikatz, angreb man-in-the-middle eller metasploit.

Organisatoriske medarbejdere er ikke altid i Snowdens unikke position, men der er en række erfaringer at lære af begrebet "survival by grazing" at være opmærksomme på - ikke at engagere sig i nogen ondsindet aktivitet, der kan opdages, og at være særligt forsigtig med brugen af ​​legitimationsoplysninger. Husk denne tanke.

Psexec og hans fætter crackmapexec har imponeret utallige pentestere, hackere og cybersikkerhedsbloggere. Og når det kombineres med mimikatz, tillader psexec angribere at bevæge sig inden for et netværk uden at skulle kende klartekst-adgangskoden.

Mimikatz opsnapper NTLM-hashen fra LSASS-processen og videregiver derefter tokenet eller legitimationsoplysningerne - den såkaldte. "pass the hash" angreb – i psexec, der tillader en angriber at logge ind på en anden server som en anden bruger. Og med hver efterfølgende flytning til en ny server, indsamler angriberen yderligere legitimationsoplysninger, hvilket udvider rækken af ​​sine muligheder for at søge efter tilgængeligt indhold.

Da jeg først begyndte at arbejde med psexec, virkede det magisk for mig - tak Mark Russinovich, den geniale udvikler af psexec - men jeg kender også til hans støjende komponenter. Han er aldrig hemmelighedsfuld!

Den første interessante kendsgerning om psexec er, at den bruger ekstremt kompleks SMB-netværksfilprotokol fra Microsoft. Ved hjælp af SMB bliver psexec-overførsler små binær filer til målsystemet ved at placere dem i mappen C:Windows.

Dernæst opretter psexec en Windows-tjeneste ved hjælp af den kopierede binære fil og kører den under det ekstremt "uventede" navn PSEXECSVC. Samtidig kan du faktisk se alt dette, ligesom jeg gjorde, ved at se en fjernmaskine (se nedenfor).

Skjult adgangskodehacking med Smbexec

Psexecs telefonkort: "PSEXECSVC"-tjeneste. Den kører en binær fil, der blev placeret via SMB i mappen C:Windows.

Som et sidste trin åbnes den kopierede binære fil RPC forbindelse til målserveren og accepterer derefter kontrolkommandoer (via Windows cmd-skallen som standard), starter dem og omdirigerer input og output til angriberens hjemmemaskine. I dette tilfælde ser angriberen den grundlæggende kommandolinje - det samme som hvis han var forbundet direkte.

Masser af komponenter og en meget støjende proces!

De komplekse interne elementer i psexec forklarer den besked, der undrede mig under mine første test for flere år siden: "Starter PSEXECSVC..." efterfulgt af en pause, før kommandoprompten vises.

Skjult adgangskodehacking med Smbexec

Impackets Psexec viser faktisk, hvad der foregår under motorhjelmen.

Ikke overraskende: psexec gjorde en enorm mængde arbejde under hætten. Hvis du er interesseret i en mere detaljeret forklaring, så tjek ud her ved dette vidunderlig beskrivelse.

Det er klart, når det bruges som et systemadministrationsværktøj, hvilket var oprindelige formål psexec, er der intet galt med "summende" af alle disse Windows-mekanismer. For en angriber ville psexec imidlertid skabe komplikationer, og for en forsigtig og snedig insider som Snowden ville psexec eller et lignende værktøj være for stor en risiko.

Og så kommer Smbexec

SMB er en smart og hemmelighedsfuld måde at overføre filer mellem servere, og hackere har infiltreret SMB direkte i århundreder. Jeg tror, ​​at alle allerede ved, at det ikke er det værd åben SMB-porte 445 og 139 til internettet, ikke?

Ved Defcon 2013, Eric Millman (brav0hax) forelagde smbexec, så pentestere kan prøve stealth SMB-hacking. Jeg kender ikke hele historien, men så raffinerede Impacket smbexec yderligere. Til min test downloadede jeg faktisk scripts fra Impacket i Python fra Github.

I modsætning til psexec, smbexec undgår overførsel af en potentielt detekteret binær fil til målmaskinen. I stedet lever værket helt fra græsning til lancering lokal Windows kommandolinje.

Her er, hvad den gør: den sender en kommando fra den angribende maskine via SMB til en speciel inputfil, og opretter og kører derefter en kompleks kommandolinje (som en Windows-tjeneste), der vil virke velkendt for Linux-brugere. Kort sagt: den lancerer en indbygget Windows cmd-shell, omdirigerer outputtet til en anden fil og sender det derefter via SMB tilbage til angriberens maskine.

Den bedste måde at forstå dette på er at se på kommandolinjen, som jeg var i stand til at få fat i fra hændelsesloggen (se nedenfor).

Skjult adgangskodehacking med Smbexec

Er dette ikke den bedste måde at omdirigere I/O på? Tjenesteoprettelse har i øvrigt hændelses-id 7045.

Ligesom psexec opretter den også en tjeneste, der gør alt arbejdet, men tjenesten derefter slettet – den bruges kun én gang til at køre kommandoen og forsvinder derefter! En informationssikkerhedsofficer, der overvåger et offers maskine, vil ikke være i stand til at opdage indlysende Indikatorer for angreb: Der er ingen ondsindet fil, der lanceres, ingen persistent service installeres, og der er ingen beviser for, at RPC bliver brugt, da SMB er det eneste middel til dataoverførsel. Strålende!

Fra angriberens side er en "pseudo-shell" tilgængelig med forsinkelser mellem afsendelse af kommandoen og modtagelse af svaret. Men det er nok til, at en angriber – enten en insider eller en ekstern hacker, der allerede har fodfæste – begynder at lede efter interessant indhold.

Skjult adgangskodehacking med Smbexec

For at sende data tilbage fra målmaskinen til angriberens maskine, bruges den smbclient. Ja, det er den samme Samba nytte, men kun konverteret til et Python-script af Impacket. Faktisk giver smbclient dig mulighed for i det skjulte at hoste FTP-overførsler over SMB.

Lad os træde et skridt tilbage og tænke over, hvad det kan gøre for medarbejderen. I mit fiktive scenarie, lad os sige, at en blogger, finansanalytiker eller højtlønnede sikkerhedskonsulent har lov til at bruge en personlig bærbar computer til arbejde. Som et resultat af en magisk proces bliver hun stødt over for virksomheden og "går helt dårligt." Afhængigt af den bærbare computers operativsystem bruger den enten Python-versionen fra Impact eller Windows-versionen af ​​smbexec eller smbclient som en .exe-fil.

Ligesom Snowden finder hun ud af en anden brugers adgangskode enten ved at kigge sig over skulderen, eller hun er heldig og falder over en tekstfil med adgangskoden. Og ved hjælp af disse legitimationsoplysninger begynder hun at grave rundt i systemet på et nyt niveau af privilegier.

Hacking DCC: Vi har ikke brug for nogen "dum" Mimikatz

I mine tidligere indlæg om pentesting brugte jeg mimikatz meget ofte. Dette er et fantastisk værktøj til at opsnappe legitimationsoplysninger - NTLM-hashes og endda klartekst-adgangskoder gemt inde i bærbare computere, der bare venter på at blive brugt.
Tiderne har ændret sig. Overvågningsværktøjer er blevet bedre til at opdage og blokere mimikatz. Informationssikkerhedsadministratorer har nu også flere muligheder for at reducere de risici, der er forbundet med pass the hash (PtH)-angreb.
Så hvad skal en smart medarbejder gøre for at indsamle yderligere legitimationsoplysninger uden at bruge mimikatz?

Impackets kit indeholder et hjælpeprogram kaldet secretsdump, som henter legitimationsoplysninger fra Domain Credential Cache, eller kort sagt DCC. Min forståelse er, at hvis en domænebruger logger ind på serveren, men domænecontrolleren er utilgængelig, tillader DCC serveren at autentificere brugeren. Anyway, secretsdump giver dig mulighed for at dumpe alle disse hashes, hvis de er tilgængelige.

DCC hashes er ikke NTML hashes og deres kan ikke bruges til PtH-angreb.

Nå, du kan prøve at hacke dem for at få den originale adgangskode. Microsoft er dog blevet klogere med DCC og DCC hashes er blevet ekstremt svære at knække. Ja jeg har hashkat, "verdens hurtigste adgangskodegætter", men det kræver en GPU for at køre effektivt.

Lad os i stedet prøve at tænke som Snowden. En medarbejder kan udføre social engineering ansigt til ansigt og eventuelt finde ud af nogle oplysninger om den person, hvis adgangskode hun vil knække. Find for eksempel ud af, om personens online-konto nogensinde er blevet hacket, og undersøg deres cleartext-adgangskode for spor.

Og dette er det scenarie, jeg besluttede at gå med. Lad os antage, at en insider erfarede, at hans chef, Cruella, var blevet hacket flere gange på forskellige webressourcer. Efter at have analyseret flere af disse adgangskoder, indser han, at Cruella foretrækker at bruge formatet på baseballholdnavnet "Yankees" efterfulgt af det aktuelle år - "Yankees2015".

Hvis du nu forsøger at gengive dette derhjemme, så kan du downloade et lille "C" kode, som implementerer DCC hashing-algoritmen og kompilerer den. John Ripper, i øvrigt tilføjet understøttelse af DCC, så det kan også bruges. Lad os antage, at en insider ikke gider at lære John the Ripper og kan lide at køre "gcc" på ældre C-kode.

Da jeg spillede rollen som insider, prøvede jeg flere forskellige kombinationer og kunne til sidst opdage, at Cruellas adgangskode var "Yankees2019" (se nedenfor). Mission fuldført!

Skjult adgangskodehacking med Smbexec

Lidt social engineering, et strejf af spådom og en knivspids Maltego, og du er godt på vej til at knække DCC-hash.

Jeg foreslår, at vi slutter her. Vi vender tilbage til dette emne i andre indlæg og ser på endnu mere langsomme og snigende angrebsmetoder og fortsætter med at bygge videre på Impackets fremragende sæt af hjælpeprogrammer.

Kilde: www.habr.com

Tilføj en kommentar