Skjult passordhacking med Smbexec

Skjult passordhacking med Smbexec

Vi skriver jevnlig om hvordan hackere ofte er avhengige av utnyttelse hackingmetoder uten ondsinnet kodefor å unngå oppdagelse. De bokstavelig talt "overleve på beite", bruker standard Windows-verktøy, og omgår dermed antivirus og andre verktøy for å oppdage ondsinnet aktivitet. Vi, som forsvarere, er nå tvunget til å håndtere de uheldige konsekvensene av slike smarte hackingteknikker: En velplassert ansatt kan bruke samme tilnærming til å stjele data (bedriftens immaterielle rettigheter, kredittkortnumre). Og hvis han ikke skynder seg, men jobber sakte og stille, vil det være ekstremt vanskelig - men fortsatt mulig hvis han bruker riktig tilnærming og passende Verktøy, — for å identifisere slik aktivitet.

På den annen side ville jeg ikke ønske å demonisere ansatte fordi ingen ønsker å jobbe i et forretningsmiljø rett fra Orwells 1984. Heldigvis finnes det en rekke praktiske trinn og life hacks som kan gjøre livet mye vanskeligere for innsidere. Vi vil vurdere skjulte angrepsmetoder, brukt av hackere av ansatte med noe teknisk bakgrunn. Og litt lenger vil vi diskutere alternativer for å redusere slike risikoer - vi vil studere både tekniske og organisatoriske alternativer.

Hva er galt med PsExec?

Edward Snowden, med rette eller urette, har blitt synonymt med innsidedatatyveri. Forresten, ikke glem å ta en titt på dette notatet om andre innsidere som også fortjener litt berømmelsesstatus. Et viktig poeng som er verdt å fremheve med metodene Snowden brukte, er at han, så vidt vi vet installerte ikke ingen ekstern skadelig programvare!

I stedet brukte Snowden litt sosial ingeniørkunst og brukte sin stilling som systemadministrator til å samle inn passord og opprette legitimasjon. Ingenting komplisert - ingen mimikatz, angrep mannen i midten eller Metasploit.

Organisasjonsansatte er ikke alltid i Snowdens unike posisjon, men det er en rekke lærdommer å lære av begrepet «survival by grazing» å være oppmerksomme på – å ikke engasjere seg i noen ondsinnet aktivitet som kan oppdages, og å være spesielt forsiktig med bruk av legitimasjon. Husk denne tanken.

Psexec og fetteren hans crackmapexec har imponert utallige pentestere, hackere og nettsikkerhetsbloggere. Og når kombinert med mimikatz, lar psexec angripere bevege seg innenfor et nettverk uten å måtte vite klartekstpassordet.

Mimikatz avskjærer NTLM-hashen fra LSASS-prosessen og sender deretter tokenet eller legitimasjonen - den såkalte. "pass hash"-angrepet – i psexec, slik at en angriper kan logge seg på en annen server som av en annen bruker. Og med hver påfølgende flytting til en ny server, samler angriperen inn ytterligere påloggingsinformasjon, og utvider spekteret av sine evner til å søke etter tilgjengelig innhold.

Da jeg først begynte å jobbe med psexec virket det magisk for meg - takk Mark Russinovich, den geniale utvikleren av psexec - men jeg vet også om hans støyende komponenter. Han er aldri hemmelighetsfull!

Det første interessante faktum om psexec er at den bruker ekstremt kompleks SMB-nettverksfilprotokoll fra Microsoft. Ved å bruke SMB blir psexec-overføringer små binær filer til målsystemet, og plasser dem i C:Windows-mappen.

Deretter oppretter psexec en Windows-tjeneste ved å bruke den kopierte binære filen og kjører den under det ekstremt "uventede" navnet PSEXECSVC. Samtidig kan du faktisk se alt dette, som jeg gjorde, ved å se på en ekstern maskin (se nedenfor).

Skjult passordhacking med Smbexec

Psexecs telefonkort: "PSEXECSVC"-tjeneste. Den kjører en binær fil som ble plassert via SMB i C:Windows-mappen.

Som et siste trinn åpnes den kopierte binære filen RPC-tilkobling til målserveren og godtar deretter kontrollkommandoer (via Windows cmd-skallet som standard), starter dem og omdirigerer inndata og utdata til angriperens hjemmemaskin. I dette tilfellet ser angriperen den grunnleggende kommandolinjen - det samme som om han var koblet direkte.

Mange komponenter og en veldig bråkete prosess!

Den komplekse interne delen av psexec forklarer meldingen som undret meg under mine første tester for flere år siden: "Starter PSEXECSVC..." etterfulgt av en pause før ledeteksten vises.

Skjult passordhacking med Smbexec

Impackets Psexec viser faktisk hva som foregår under panseret.

Ikke overraskende: psexec gjorde en enorm mengde arbeid under panseret. Hvis du er interessert i en mer detaljert forklaring, sjekk ut her disse fantastisk beskrivelse.

Åpenbart, når det brukes som et systemadministrasjonsverktøy, som var opprinnelige formål psexec, det er ingenting galt med "summing" av alle disse Windows-mekanismene. For en angriper vil imidlertid psexec skape komplikasjoner, og for en forsiktig og utspekulert innsider som Snowden vil psexec eller et lignende verktøy være for stor risiko.

Og så kommer Smbexec

SMB er en smart og hemmelighetsfull måte å overføre filer mellom servere på, og hackere har infiltrert SMB direkte i århundrer. Jeg tror alle allerede vet at det ikke er verdt det åpen SMB-porter 445 og 139 til Internett, ikke sant?

På Defcon 2013, Eric Millman (brav0hax) presentert smbexec, slik at pentestere kan prøve stealth SMB-hacking. Jeg kjenner ikke hele historien, men så videreutviklet Impacket smbexec. Faktisk, for min testing, lastet jeg ned skriptene fra Impacket i Python fra Github.

I motsetning til psexec, smbexec unngår overføre en potensielt oppdaget binær fil til målmaskinen. I stedet lever verktøyet helt fra beite til lansering lokal Windows kommandolinje.

Her er hva den gjør: den sender en kommando fra den angripende maskinen via SMB til en spesiell inndatafil, og lager og kjører deretter en kompleks kommandolinje (som en Windows-tjeneste) som vil virke kjent for Linux-brukere. Kort sagt: den lanserer et naturlig Windows cmd-skall, omdirigerer utdataene til en annen fil, og sender den deretter via SMB tilbake til angriperens maskin.

Den beste måten å forstå dette på er å se på kommandolinjen, som jeg fikk tak i fra hendelsesloggen (se nedenfor).

Skjult passordhacking med Smbexec

Er ikke dette den beste måten å omdirigere I/O på? Forresten, tjenesteoppretting har hendelses-ID 7045.

Som psexec oppretter den også en tjeneste som gjør alt arbeidet, men tjenesten etter det fjernet – den brukes bare én gang for å kjøre kommandoen og forsvinner så! En informasjonssikkerhetsoffiser som overvåker et offers maskin vil ikke kunne oppdage åpenbart Indikatorer for angrep: Det er ingen ondsinnet fil som blir lansert, ingen vedvarende tjeneste blir installert, og det er ingen bevis for at RPC brukes siden SMB er det eneste middelet for dataoverføring. Strålende!

Fra angriperens side er et "pseudo-shell" tilgjengelig med forsinkelser mellom sending av kommandoen og mottak av svaret. Men dette er nok til at en angriper – enten en insider eller en ekstern hacker som allerede har fotfeste – begynner å lete etter interessant innhold.

Skjult passordhacking med Smbexec

For å sende data tilbake fra målmaskinen til angriperens maskin, brukes den smbclient. Ja, det er samme Samba utility, men bare konvertert til et Python-skript av Impacket. Faktisk lar smbclient deg i det skjulte være vert for FTP-overføringer over SMB.

La oss ta et skritt tilbake og tenke på hva dette kan gjøre for den ansatte. I mitt fiktive scenario, la oss si at en blogger, finansanalytiker eller høyt betalt sikkerhetskonsulent har lov til å bruke en personlig bærbar datamaskin til jobben. Som et resultat av en magisk prosess tar hun anstøt av selskapet og "går helt dårlig." Avhengig av operativsystemet for den bærbare datamaskinen, bruker den enten Python-versjonen fra Impact, eller Windows-versjonen av smbexec eller smbclient som en .exe-fil.

I likhet med Snowden finner hun ut en annen brukers passord enten ved å se seg over skulderen, eller hun er heldig og snubler over en tekstfil med passordet. Og ved hjelp av disse legitimasjonene begynner hun å grave rundt systemet på et nytt nivå av privilegier.

Hacking DCC: Vi trenger ingen "dumme" Mimikatz

I mine tidligere innlegg om pentesting brukte jeg mimikatz veldig ofte. Dette er et flott verktøy for å avskjære legitimasjon - NTLM-hasher og til og med klartekstpassord gjemt inne i bærbare datamaskiner, som bare venter på å bli brukt.
Tidene har endret seg. Overvåkingsverktøy har blitt bedre til å oppdage og blokkere mimikatz. Informasjonssikkerhetsadministratorer har nå også flere alternativer for å redusere risikoen forbundet med å sende hash-angrep (PtH).
Så hva bør en smart ansatt gjøre for å samle inn ekstra legitimasjon uten å bruke mimikatz?

Impackets sett inkluderer et verktøy som heter secretsdump, som henter legitimasjon fra Domain Credential Cache, eller DCC for kort. Min forståelse er at hvis en domenebruker logger på serveren, men domenekontrolleren er utilgjengelig, lar DCC serveren autentisere brukeren. Uansett, secretsdump lar deg dumpe alle disse hashene hvis de er tilgjengelige.

DCC-hasher er ikke NTML-hasher og kan ikke brukes til PtH-angrep.

Vel, du kan prøve å hacke dem for å få det originale passordet. Microsoft har imidlertid blitt smartere med DCC og DCC-hash har blitt ekstremt vanskelig å knekke. Ja jeg har hashcat, "verdens raskeste passordgjetter", men det krever en GPU for å fungere effektivt.

La oss heller prøve å tenke som Snowden. En ansatt kan utføre sosial engineering ansikt til ansikt og eventuelt finne ut litt informasjon om personen hvis passord hun vil knekke. Finn for eksempel ut om personens nettkonto noen gang har blitt hacket, og undersøk klartekstpassordet for spor.

Og dette er scenariet jeg bestemte meg for å gå med. La oss anta at en innsider fikk vite at sjefen hans, Cruella, hadde blitt hacket flere ganger på forskjellige nettressurser. Etter å ha analysert flere av disse passordene, innser han at Cruella foretrekker å bruke formatet til baseballlagsnavnet "Yankees" etterfulgt av inneværende år - "Yankees2015".

Hvis du nå prøver å reprodusere dette hjemme, kan du laste ned en liten "C" kode, som implementerer DCC hashing-algoritmen, og kompilerer den. John Ripper, forresten lagt til støtte for DCC, så det kan også brukes. La oss anta at en innsider ikke vil bry seg om å lære John the Ripper og liker å kjøre "gcc" på eldre C-kode.

Jeg forestilte meg rollen som en insider og prøvde flere forskjellige kombinasjoner og kunne til slutt oppdage at Cruellas passord var "Yankees2019" (se nedenfor). Oppdrag fullført!

Skjult passordhacking med Smbexec

Litt sosial ingeniørkunst, en dæsj spådom og en klype Maltego, og du er på god vei til å knekke DCC-hashen.

Jeg foreslår at vi slutter her. Vi kommer tilbake til dette emnet i andre innlegg og ser på enda mer langsomme og snikende angrepsmetoder, og fortsetter å bygge på Impackets utmerkede sett med verktøy.

Kilde: www.habr.com

Legg til en kommentar