
We regularly write about how hackers often rely on the use of , to avoid detection. They literally , using standard Windows tools, thereby bypassing antivirus software and other malware detection utilities. We, as defenders, are now forced to deal with the sad consequences of such cunning hacking techniques: a well-positioned employee can use the same approach for covert data theft (company intellectual property, credit card numbers). And if they don't rush and work slowly and inconspicuously, it will be extremely difficult—but still possible—if the right approach and appropriate , are applied to detect such activity.
On the other hand, I wouldn't want to demonize employees, as no one wants to work in a business environment straight out of Orwell's "1984." Fortunately, there are several practical steps and hacks that can greatly complicate life for insiders. We will examine covert attack methods, used by hackers among employees with some technical background. Later, we will discuss options for reducing such risks—exploring both technical and organizational courses of action.
What's wrong with PsExec?
Edward Snowden, fairly or not, has become synonymous with insider data theft. By the way, don't forget to take a look at about other insiders, also worthy of some notoriety. It's worth emphasizing one important point about the methods used by Snowden— as far as we know, he did not install any external malicious software!
On the contrary, Snowden applied a bit of social engineering and leveraged his position as a system administrator to collect passwords and create credentials. Nothing complicated—no , attacks of .
Employees of organizations are not always in the unique position of Snowden, but from the concept of "surviving on scraps," several lessons can be learned that are important to know—do not engage in any malicious actions that can be detected, and be especially careful when using credentials. Keep this thought in mind.
en zijn neef bewogen ontelbare pentesters, hackers en bloggers op het gebied van informatiebeveiliging. In combinatie met mimikatz stelt psexec aanvallers in staat om binnen het netwerk te bewegen zonder dat ze het wachtwoord in platte tekst hoeven te kennen.
Mimikatz onderschept de NTLM-hash van het LSASS-proces en geeft dan het token of de inloggegevens door – de zogeheten «pass the hash» aanval – naar psexec, waardoor de aanvaller op een andere server kan inloggen als een andere gebruiker. En met elke volgende beweging naar een nieuwe server verzamelt de aanvaller aanvullende inloggegevens en breidt hij zijn mogelijkheden uit in de zoektocht naar beschikbare content.
Toen ik voor het eerst met psexec werkte, leek het me gewoon magisch – dank aan , de geniale ontwikkelaar van psexec, – maar ik weet ook van zijn luidruchtige componenten. Het is absoluut niet discreet!
Het eerste interessante feit over psexec is dat het een uiterst ingewikkeld netwerkbestandprotocol SMB van Microsoft gebruikt. Via SMB verzendt psexec kleine binaire bestanden naar het doelsysteem, waarbij ze in de C:Windows-map worden geplaatst.
Daarna creëert psexec een Windows-service met de gekopieerde binaire en start deze onder een extreem «onverwacht» naam PSEXECSVC. Dit kun je daadwerkelijk zien, net als ik, door naar de externe machine te kijken (zie hieronder).

Visitekaartje van Psexec: de service «PSEXECSVC». Deze start het binaire bestand dat via SMB naar de C:Windows-map is geplaatst.
In de laatste fase opent het gekopieerde binaire bestand een RPC-verbinding met de doelserver en ontvangt vervolgens beheerscommando's (standaard – via de cmd-shell van Windows), voert deze uit en geeft invoer en uitvoer door naar de thuismachine van de aanvaller. De aanvaller ziet een basisopdrachtregel – precies zoals als hij direct is verbonden.
Talrijke componenten en een zeer luidruchtig proces!
Het ingewikkelde mechanisme van interne processen van psexec verklaart het bericht dat me destijds verwarde tijdens mijn eerste testen enkele jaren geleden: «Starting PSEXECSVC ...» en de daaropvolgende pauze voordat de opdrachtregel verschijnt.

Psexec van Impacket laat in feite zien wat er «onder de motorkap» gebeurt.
Het is niet verrassend: psexec heeft een enorme hoeveelheid werk 'onder de motorkap' gedaan. Als je meer gedetailleerde uitleg wilt, bekijk dan geweldige beschrijving.
Het is duidelijk dat het gebruik in systeemadministratie, wat de oorspronkelijke bedoeling was van psexec, geen probleem is met het 'zoemen' van al deze Windows-mechanismen. Voor een aanvaller zal psexec echter complicaties veroorzaken, en voor een voorzichtige en sluwe insider, zoals Snowden, zou psexec of een vergelijkbaar hulpmiddel te groot risico zijn. En dan komt Smbexec op de proppen
SMB is een vindingrijke en verborgen manier om bestanden tussen servers over te dragen, en hackers hebben al sinds mensenheugenis rechtstreeks in SMB ingebroken. Ik neem aan dat iedereen al weet dat je niet
de In 2013 presenteerde Eric Millman (
brav0haxIn tegenstelling tot psexec, het .
overdragen van potentieel detecteerbare binaire bestanden naar de doelmachine. In plaats daarvan leeft het hulpmiddel volledig van 'afval' door een lokale Windows-opdrachtprompt uit te voeren. Wat het doet: het verzendt een commando van de aanvallende machine via SMB naar een speciaal inkomend bestand, en creëert vervolgens en voert een complexe opdrachtprompt uit (als een Windows-service), die bekend zal voorkomen voor Linux-gebruikers. Kortom: het draait de native Windows-shell cmd, leidt de uitvoer naar een ander bestand en verzendt het vervolgens via SMB terug naar de machine van de aanvaller. De beste manier om dit te begrijpen, is door de opdrachtprompt te bestuderen die ik uit het logboek van gebeurtenissen heb kunnen krijgen (zie hieronder).
Is dit niet de grootste manier om invoer/uitvoer om te leiden? Trouwens, het maken van een service heeft gebeurtenis-ID 7045.
Net als psexec creëert het ook een service die al het werk doet, maar de service wordt daarna

verwijderd
– deze wordt slechts één keer gebruikt om het commando uit te voeren en verdwijnt dan! Een medewerker van de beveiligingsdienst die het slachtoffer volgt, kan geen voor de hand liggende signalen detecteren dat aanvalsindicatoren: er is geen malafide uitvoerbaar bestand, er wordt geen permanente service geïnstalleerd en er is geen bewijs van het gebruik van RPC, aangezien SMB het enige middel is voor gegevensoverdracht. Geniaal!
Aan de aanvallerszijde is er een 'pseudo-shell' beschikbaar met vertragingen tussen het verzenden van een commando en het ontvangen van een antwoord. Maar dit is voldoende voor de aanvaller - of het nu een insider is of een externe hacker die al een basis heeft - om te beginnen met het zoeken naar interessante inhoud.

Voor het terugsturen van gegevens van de doelmachine naar de machine van de aanvaller wordt gebruikt . Ja, dit is hetzelfde Samba, maar dan herschreven als een Python-script door Impacket. In feite stelt smbclient je in staat om FTP stealthy over SMB te organiseren.
Laten we een stap terug doen en nadenken over wat dit kan betekenen voor de werknemer. In mijn hypothetische scenario, laten we zeggen dat een blogger, financieel analist of goedbetaalde beveiligingsconsultant is toegestaan om zijn persoonlijke laptop voor werk te gebruiken. Door een of andere magische proces voelt ze zich beledigd door het bedrijf en 'gaat ze over de schreef'. Afhankelijk van het besturingssysteem van de laptop gebruikt ze ofwel de Python-versie van Impact of de Windows-versie van smbexec of smbclient in de vorm van een .exe-bestand.
Net als Snowden leert ze het wachtwoord van een andere gebruiker, ofwel door het af te kijken over de schouder, ofwel heeft ze geluk en komt ze een tekstbestand met het wachtwoord tegen. En met deze inloggegevens begint ze rond te neuzen in het systeem op een nieuw niveau van privileges.
DCC-hacking: we hebben geen 'domme' Mimikatz nodig
In mijn eerdere berichten over pentesting heb ik vaak gebruik gemaakt van mimikatz. Het is een geweldige tool voor het onderscheppen van inloggegevens - NTLM-hashes en zelfs wachtwoorden in platte tekst, verstopt in laptops en wachtend om gebruikt te worden.
Tijden zijn veranderd. Monitoringtools zijn beter geworden in het detecteren en blokkeren van mimikatz. Informatiebeveiligingsbeheerders hebben ook meer opties om de risico's van 'pass the hash'-aanvallen (verder - PtH) te verminderen.
Wat moet een slimme werknemer doen om extra inloggegevens te verzamelen zonder gebruik te maken van mimikatz?
In de set van Impacket zit een hulpprogramma genaamd , die de referenties uit de Domain Credential Cache haalt, of kortweg DCC. Voor zover ik begrijp, als een domeingebruiker inlogt op de server maar de domeincontroller niet beschikbaar is, stelt DCC de server in staat om de gebruiker te authentiseren. Hoe dan ook, secretsdump stelt je in staat om al deze hashes te dumpen, als ze beschikbaar zijn.
DCC-hashes zijn geen NTLM-hashes en hun kunnen niet worden gebruikt voor PtH-aanvallen.
Je kunt proberen ze te kraken om het originele wachtwoord te verkrijgen. Microsoft is echter slimmer geworden in het omgaan met DCC, en het is uiterst moeilijk geworden om DCC-hashes te kraken. Ja, er is , 's werelds snelste wachtwoordkraker', maar die vereist een GPU voor effectieve werking.
Laten we in plaats daarvan proberen te denken als Snowden. Een medewerker kan face-to-face sociale engineering toepassen en mogelijk informatie over de persoon waarmee ze het wachtwoord willen kraken, te weten komen. Bijvoorbeeld, achterhalen of het online-account van die persoon ooit is gehackt en hun wachtwoord in het openbaar bekijken op zoek naar aanwijzingen.
En dat is het scenario dat ik wil volgen. Laten we aannemen dat de insider heeft ontdekt dat zijn baas, Cruella, meerdere keren is gehackt op verschillende websites. Na het analyseren van enkele van deze wachtwoorden realiseert hij zich dat Cruella de voorkeur geeft aan het gebruiken van het naamformaat van het honkbalteam 'Yankees' gevolgd door het actuele jaar – 'Yankees2015'.
Als je dit nu thuis probeert na te spelen, kun je een klein programmaatje downloaden, 'C' , dat het DCC-hashingalgoritme implementeert en dit compileren. , dat trouwens ondersteuning voor DCC heeft toegevoegd, zodat het ook kan worden gebruikt. Laten we aannemen dat de insider niet wil rommelen met John the Ripper en houdt van het draaien van 'gcc' op verouderde C-code.
Door de rol van de insider te spelen heb ik verschillende combinaties geprobeerd en uiteindelijk ontdekte ik dat Cruella's wachtwoord 'Yankees2019' is (zie hieronder). Missie geslaagd!

Een beetje sociale engineering, een snufje gokken en een snuifje Maltego – en je bent al op weg om de DCC-hash te kraken.
Ik stel voor dit hierbij te laten. We zullen op dit onderwerp in andere publicaties terugkomen en nog meer langzame en subtiele aanvalsmethoden bekijken, steeds teruggrijpend op de geweldige set tools van Impacket.
Bron: habr.com
