Verborgen wachtwoordhacken met Smbexec

Verborgen wachtwoordhacken met Smbexec

We schrijven regelmatig over hoe hackers vaak vertrouwen op het gebruik van hackmethoden zonder schadelijke codeom detectie te voorkomen. Ze letterlijk "overleven op het voedsel dat beschikbaar is", gebruikmakend van standaardmiddelen WindowsDaarmee worden antivirusprogramma's en andere malware-detectietools omzeild. Als verdedigers worden we nu geconfronteerd met de ernstige gevolgen van dergelijke slimme hacktechnieken: een goed geplaatste medewerker kan dezelfde aanpak gebruiken om heimelijk gegevens te stelen (bedrijfseigendom, creditcardnummers). En als ze de tijd nemen, langzaam en stiekem te werk gaan, zal het extreem moeilijk zijn – maar nog steeds mogelijk als de juiste aanpak en tactieken worden gebruikt. Gereedschap, — om dergelijke activiteiten te identificeren.

Aan de andere kant wil ik werknemers niet demoniseren, want niemand wil werken in een zakelijke omgeving die zo uit Orwells 1984 lijkt te komen. Gelukkig zijn er een aantal praktische stappen en lifehacks die het leven voor insiders aanzienlijk moeilijker kunnen maken. We zullen kijken naar stealth-aanvalsmethoden, gebruikt door hackers met enige technische achtergrond. Even verderop bespreken we opties om dergelijke risico's te verminderen - we bestuderen zowel technische als organisatorische actiemogelijkheden.

Wat is er mis met PsExec?

Edward Snowden is, terecht of onterecht, synoniem geworden met insider-datadiefstal. Nu we het daar toch over hebben, lees zeker eens deze notitie over andere insiders die ook een zekere beroemdheidsstatus verdienen. Een belangrijk punt om te vermelden over Snowdens methoden is dat hij, voor zover wij weten, niet geïnstalleerd geen externe malware!

In plaats daarvan gebruikte Snowden een beetje social engineering en misbruikte hij zijn positie als systeembeheerder om wachtwoorden te verzamelen en inloggegevens te creëren. Niets ingewikkelds – niets. mimikatz, aanvallen man in het midden of metasploit.

Organisaties bevinden zich niet altijd in Snowdens unieke positie, maar er zijn wel een aantal lessen te leren uit het concept van "leven van het land": doe geen kwaadaardige dingen die gedetecteerd kunnen worden en wees extra voorzichtig met je inloggegevens. Houd dat in gedachten.

Psexec en zijn neef crackmapexec hebben indruk gemaakt op talloze pentesters, hackers en beveiligingsbloggers. En in combinatie met mimikatz stelt psexec aanvallers in staat om zich door het netwerk te bewegen zonder het wachtwoord in platte tekst te hoeven kennen.

Mimikatz onderschept de NTLM-hash van het LSASS-proces en geeft vervolgens het token of de inloggegevens door – de zogenaamde "pass the hash"-aanval – in psexec, waardoor een aanvaller namens een andere server kan inloggen een ander gebruiker. En met elke volgende verplaatsing naar een nieuwe server verzamelt de aanvaller extra inloggegevens, waardoor zijn mogelijkheden om naar beschikbare content te zoeken, toenemen.

Toen ik voor het eerst psexec begon te gebruiken, voelde het voor mij als magie - bedankt Aan Mark Russinovich, de geniale ontwikkelaar van psexec, maar ik weet ook over zijn luidruchtig componenten. Het is helemaal niet verborgen!

Het eerste interessante feit over psexec is dat het een uiterst complexe SMB-netwerkbestandsprotocol van Microsoft. Met behulp van SMB draagt psexec kleine binair bestanden naar het doelsysteem kopiëren en in de C:-map plaatsen.Windows.

Vervolgens maakt psexec aan Windows-service gebruikt het gekopieerde binaire bestand en voert het uit onder de zeer "onverwachte" naam PSEXECSVC. Je kunt dit alles, net als ik, zien door de externe machine te monitoren (zie hieronder).

Verborgen wachtwoordhacken met Smbexec

Het visitekaartje van Psexec is de service "PSEXECSVC". Deze voert een binair bestand uit dat via SMB in de C:-map is geplaatst.Windows.

Als laatste stap wordt het gekopieerde binaire bestand geopend RPC-verbinding naar de doelservver en accepteert vervolgens besturingsopdrachten (standaard via de cmd-shell). Windows), waardoor ze worden gestart en de invoer en uitvoer worden omgeleid naar de thuiscomputer van de aanvaller. De aanvaller ziet een eenvoudige opdrachtprompt – hetzelfde alsof hij rechtstreeks verbonden was.

Veel componenten en een proces dat veel lawaai maakt!

De complexe interne werking van psexec verklaart de melding die mij tijdens mijn eerste tests een paar jaar geleden in verwarring bracht: "Starting PSEXECSVC..." en de daaropvolgende pauze voordat de opdrachtprompt verscheen.

Verborgen wachtwoordhacken met Smbexec

Met Psexec van Impacket kun je zien wat er zich onder de motorkap afspeelt.

Geen wonder: psexec heeft veel werk onder de motorkap verricht. Als je geïnteresseerd bent in een meer gedetailleerde uitleg, bekijk dan dit hierdoor prachtige beschrijving.

Het is duidelijk dat het gebruikt werd als een systeembeheertool, wat het ook was. oorspronkelijke doel psexec, er is niets mis met het "zoemen" van al deze mechanismen. Windows Nee. Voor een aanvaller zou psexec echter complicaties opleveren, en voor een voorzichtige en sluwe insider zoals Snowden zou psexec of een vergelijkbaar programma een te groot risico vormen.

En hier komt Smbexec

SMB is een slimme en heimelijke manier om bestanden tussen servers te versturen, en hackers hacken al eeuwenlang rechtstreeks in SMB. Ik neem aan dat iedereen inmiddels wel weet dat je dat niet moet doen. Open SMB-poorten 445 en 139 staan op het internet, toch?

In 2013 bij Defcon, Eric Millman (brav0hax) aan de wereld voorgesteld smbexec, zodat pentesters stiekem SMB-hacken konden uitproberen. Ik ken het hele verhaal niet, maar toen heeft Impacket smbexec verder verfijnd. Sterker nog, voor mijn tests heb ik de Python-scripts van Impacket gedownload van GitHub.

In tegenstelling tot psexec, smbexec vermijdt het overbrengen van een potentieel detecteerbaar binair bestand naar de doelmachine. In plaats daarvan leeft het hulpprogramma volledig van de "forage" via launch lokaal opdrachtregel Windows.

Wat het doet, is het commando van de aanvallende machine via SMB naar een speciaal invoerbestand sturen, waarna het een complexe commandoregel aanmaakt en uitvoert (als een service). Windows), wat Linux-gebruikers bekend zal voorkomen. Kort gezegd: het draait de native code. Windows-cmd shell, leidt de uitvoer om naar een ander bestand en stuurt het vervolgens via SMB terug naar de machine van de aanvaller.

De beste manier om dit te begrijpen is door naar de opdrachtregel te kijken. Deze kon ik vinden in het gebeurtenislogboek (zie hieronder).

Verborgen wachtwoordhacken met Smbexec

Is dit niet de beste manier om I/O om te leiden? Overigens heeft de service-creatie gebeurtenis-ID 7045.

Net als psexec creëert het ook een service die al het werk doet, maar de service daarna verwijderd – het wordt slechts één keer gebruikt om een opdracht uit te voeren en verdwijnt dan! Een informatiebeveiligingsfunctionaris die de machine van het slachtoffer bewaakt, kan dit niet detecteren overduidelijk Indicatoren voor een aanval: er is geen schadelijk uitvoerbaar bestand, er is geen persistente service geïnstalleerd en er is geen bewijs dat RPC wordt gebruikt, aangezien SMB het enige middel voor gegevensoverdracht is. Geweldig!

De aanvaller heeft een 'pseudo-shell' tot zijn beschikking met vertragingen tussen het versturen van een commando en het ontvangen van een antwoord. Dit is echter voldoende voor de aanvaller – of het nu een insider is of een externe hacker die al voet aan de grond heeft – om op zoek te gaan naar interessante content.

Verborgen wachtwoordhacken met Smbexec

Om gegevens van de doelmachine terug te sturen naar de machine van de aanvaller, smbclient. Ja, het is dezelfde Samba. nut, maar alleen omgezet naar een Python-script door Impacket. Smbclient stelt je in staat om heimelijk FTP-overdracht via SMB te organiseren.

Laten we even een stap terug doen en bedenken wat dit voor een werknemer zou kunnen betekenen. In mijn fictieve scenario mag bijvoorbeeld een blogger, financieel analist of hoogbetaalde beveiligingsconsultant haar persoonlijke laptop voor haar werk gebruiken. Door een of ander magisch proces krijgt ze een hekel aan het bedrijf en gaat ze tekeer. Afhankelijk van het besturingssysteem van de laptop gebruikt ze ofwel Impacts versie van Python of Windows een versie van smbexec of smbclient als een .exe-bestand.

Net als Snowden leert ze het wachtwoord van een andere gebruiker door over hun schouder mee te kijken, of ze heeft geluk en stuit op een tekstbestand met het wachtwoord. En met die gegevens begint ze met een ongekende mate van privileges in het systeem te snuffelen.

DCC-hacking: we hebben geen 'domme' Mimikatz nodig

In mijn vorige berichten over pentesting heb ik mimikatz veel gebruikt. Het is een geweldige tool voor het onderscheppen van inloggegevens – NTLM-hashes en zelfs platte tekstwachtwoorden – die in laptops sluimeren en alleen maar wachten om misbruikt te worden.
De tijden zijn veranderd. Monitoringtools zijn beter geworden in het detecteren en blokkeren van mimikatz. Beheerders van informatiebeveiliging hebben ook meer mogelijkheden om de risico's van pass-the-hash (PtH)-aanvallen te verminderen.
Wat moet een slimme werknemer doen om extra inloggegevens te verzamelen zonder mimikatz te gebruiken?

De Impacket-suite bevat een hulpprogramma genaamd geheimen dumpen, die inloggegevens ophaalt uit de Domain Credential Cache, of kortweg DCC. Zoals ik het begrijp, kan de server de gebruiker authenticeren als een domeingebruiker inlogt op een server, maar de domeincontroller niet beschikbaar is. Met secretsdump kun je trouwens al deze hashes dumpen als ze beschikbaar zijn.

DCC-hashes zijn geen NTML-hashes en hun kan niet worden gebruikt voor PtH-aanvallen.

Je kunt proberen ze te kraken om het originele wachtwoord te achterhalen. Microsoft is echter slimmer geworden met DCC en het kraken van DCC-hashes is extreem moeilijk geworden. Ja, er is hasjkat, "de snelste wachtwoordraader ter wereld", maar om effectief te kunnen werken is een GPU nodig.

Laten we in plaats daarvan proberen te denken zoals Snowden. Een medewerker zou face-to-face social engineering kunnen uitvoeren en misschien informatie te weten komen over de persoon wiens wachtwoord ze wil kraken. Ze zou bijvoorbeeld kunnen achterhalen of het online account van die persoon ooit is gehackt en het wachtwoord in platte tekst kunnen onderzoeken op aanwijzingen.

En dat is het scenario dat ik heb gekozen. Stel dat de insider erachter is gekomen dat zijn baas, Cruella, meerdere keren is gehackt op meerdere websites. Na het analyseren van een aantal van deze wachtwoorden, realiseert hij zich dat Cruella de voorkeur geeft aan de notatie van de honkbalteamnaam "Yankees", gevolgd door het huidige jaartal: "Yankees2015".

Als u dit momenteel thuis probeert te reproduceren, kunt u een kleine "C" downloaden code, het DCC-hashalgoritme implementeren en het compileren. John the RipperOverigens is er ondersteuning voor DCC toegevoegd, dus dat kan ook gebruikt worden. Laten we aannemen dat de insider geen zin heeft om John the Ripper te bestuderen en liever "gcc" op oude C-code draait.

Ik speelde de rol van een insider en probeerde een paar verschillende combinaties uit. Uiteindelijk ontdekte ik dat Cruella's wachtwoord "Yankees2019" was (zie hieronder). Missie geslaagd!

Verborgen wachtwoordhacken met Smbexec

Met een beetje social engineering, een beetje gokwerk en een snufje Maltego ben je op weg naar het kraken van de DCC-hash.

Ik stel voor dat we hier stoppen. We zullen in andere publicaties op dit onderwerp terugkomen en nog tragere en stealth-aanvalsmethoden overwegen, waarbij we blijven vertrouwen op de uitstekende tools van Impacket.

Bron: www.habr.com

Koop betrouwbare hosting voor sites met DDoS-bescherming, VPS VDS-servers 🔥 Koop betrouwbare websitehosting met DDoS-bescherming, VPS- en VDS-servers | ProHoster