Remote Desktop door de ogen van een aanvaller

1. Inleiding

Bedrijven die niet over systemen voor externe toegang beschikten, hebben deze een paar maanden geleden met spoed geïmplementeerd. Niet alle beheerders waren voorbereid op een dergelijke ‘hitte’, die resulteerde in beveiligingsproblemen: onjuiste configuratie van services of zelfs installatie van verouderde versies van software met eerder ontdekte kwetsbaarheden. Voor sommigen hebben deze omissies al een grote vlucht genomen, anderen hadden meer geluk, maar iedereen zou zeker conclusies moeten trekken. De loyaliteit aan werken op afstand is exponentieel toegenomen, en steeds meer bedrijven accepteren voortdurend werken op afstand als een acceptabele vorm.

Er zijn dus veel opties voor het bieden van externe toegang: verschillende VPN's, RDS en VNC, TeamViewer en andere. Beheerders hebben genoeg om uit te kiezen, gebaseerd op de specifieke kenmerken van het bouwen van een bedrijfsnetwerk en de apparaten daarin. VPN-oplossingen blijven het populairst, maar veel kleine bedrijven kiezen voor RDS (Remote Desktop Services), deze zijn eenvoudiger en sneller in te zetten.

In dit artikel zullen we meer praten over RDS-beveiliging. Laten we een kort overzicht maken van bekende kwetsbaarheden, en ook verschillende scenario's overwegen voor het lanceren van een aanval op een netwerkinfrastructuur op basis van Active Directory. We hopen dat ons artikel iemand zal helpen aan bugs te werken en de beveiliging te verbeteren.

2. Recente RDS/RDP-kwetsbaarheden

Elke software bevat fouten en kwetsbaarheden die door aanvallers kunnen worden uitgebuit, en RDS vormt daarop geen uitzondering. Microsoft heeft de laatste tijd regelmatig nieuwe kwetsbaarheden gemeld, daarom hebben we besloten ze een kort overzicht te geven:

Door deze kwetsbaarheid lopen gebruikers die verbinding maken met een gecompromitteerde server gevaar. Een aanvaller kan de controle krijgen over het apparaat van een gebruiker of voet aan de grond krijgen in het systeem om permanente toegang op afstand te krijgen.

Door deze groep kwetsbaarheden kan een niet-geverifieerde aanvaller op afstand willekeurige code uitvoeren op een server waarop RDS draait met behulp van een speciaal vervaardigd verzoek. Ze kunnen ook worden gebruikt om wormen te creëren: malware die onafhankelijk aangrenzende apparaten in het netwerk infecteert. Deze kwetsbaarheden kunnen dus het hele bedrijfsnetwerk in gevaar brengen, en alleen tijdige updates kunnen deze kwetsbaarheden redden.

Software voor externe toegang heeft steeds meer aandacht gekregen van zowel onderzoekers als aanvallers, dus het is mogelijk dat we binnenkort meer soortgelijke kwetsbaarheden zullen horen.

Het goede nieuws is dat niet voor alle kwetsbaarheden publieke exploits beschikbaar zijn. Het slechte nieuws is dat het voor een aanvaller met expertise niet moeilijk zal zijn om een ​​exploit voor een kwetsbaarheid te schrijven op basis van de beschrijving of met behulp van technieken als Patch Diffing (onze collega's schreven erover in статье). Daarom raden wij u aan de software regelmatig bij te werken en het verschijnen van nieuwe berichten over ontdekte kwetsbaarheden in de gaten te houden.

3. Aanvallen

We gaan verder met het tweede deel van het artikel, waar we zullen laten zien hoe aanvallen op netwerkinfrastructuur op basis van Active Directory beginnen.

De beschreven methoden zijn van toepassing op het volgende aanvallermodel: een aanvaller die een gebruikersaccount heeft en toegang heeft tot de Remote Desktop Gateway - een terminalserver (vaak is deze bijvoorbeeld toegankelijk vanaf een extern netwerk). Door deze methoden te gebruiken, kan de aanvaller de aanval op de infrastructuur voortzetten en zijn aanwezigheid op het netwerk consolideren.

De netwerkconfiguratie kan in elk specifiek geval verschillen, maar de beschreven technieken zijn vrij universeel.

Voorbeelden van het verlaten van een beperkte omgeving en het vergroten van privileges

Bij toegang tot de Remote Desktop Gateway zal een aanvaller waarschijnlijk een beperkte omgeving tegenkomen. Wanneer u verbinding maakt met een terminalserver, wordt daarop een applicatie gestart: een venster voor verbinding via het Remote Desktop-protocol voor interne bronnen, Explorer, kantoorpakketten of andere software.

Het doel van de aanvaller zal zijn om toegang te krijgen om opdrachten uit te voeren, dat wil zeggen om cmd of powershell te starten. Verschillende klassieke Windows sandbox-ontsnappingstechnieken kunnen hierbij helpen. Laten we ze verder bekijken.

optie 1. De aanvaller heeft toegang tot het Remote Desktop-verbindingsvenster binnen de Remote Desktop Gateway:

Remote Desktop door de ogen van een aanvaller

Het menu "Toon opties" wordt geopend. Er verschijnen opties voor het manipuleren van verbindingsconfiguratiebestanden:

Remote Desktop door de ogen van een aanvaller

Vanuit dit venster kunt u eenvoudig toegang krijgen tot Verkenner door op een van de knoppen “Openen” of “Opslaan” te klikken:

Remote Desktop door de ogen van een aanvaller

Verkenner wordt geopend. De “adresbalk” maakt het mogelijk om toegestane uitvoerbare bestanden te starten en het bestandssysteem weer te geven. Dit kan handig zijn voor een aanvaller in gevallen waarin systeemschijven verborgen zijn en niet rechtstreeks toegankelijk zijn:

Remote Desktop door de ogen van een aanvaller

Demovideo

Een soortgelijk scenario kan bijvoorbeeld worden gereproduceerd wanneer u Excel uit het Microsoft Office-pakket als externe software gebruikt.

Demovideo

Vergeet bovendien de macro's die in dit kantoorpakket worden gebruikt niet. Onze collega's keken hierbij naar het probleem van de macroveiligheid статье.

optie 2. Met dezelfde invoer als in de vorige versie start de aanvaller verschillende verbindingen met het externe bureaublad onder hetzelfde account. Wanneer u opnieuw verbinding maakt, wordt de eerste gesloten en verschijnt er een venster met een foutmelding op het scherm. De helpknop in dit venster roept Internet Explorer op de server op, waarna de aanvaller naar Explorer kan gaan.

Demovideo

optie 3. Als beperkingen voor het starten van uitvoerbare bestanden zijn geconfigureerd, kan een aanvaller een situatie tegenkomen waarin groepsbeleid de beheerder verbiedt cmd.exe uit te voeren.

Er is een manier om dit te omzeilen door een bat-bestand op het externe bureaublad uit te voeren met inhoud zoals cmd.exe /K <opdracht>. Een fout bij het starten van cmd en een succesvol voorbeeld van het uitvoeren van een bat-bestand worden weergegeven in de onderstaande afbeelding.

Remote Desktop door de ogen van een aanvaller

optie 4. Het verbieden van het starten van applicaties die gebruik maken van zwarte lijsten op basis van de naam van uitvoerbare bestanden is geen wondermiddel; ze kunnen worden omzeild.

Beschouw het volgende scenario: we hebben de toegang tot de opdrachtregel uitgeschakeld en de lancering van Internet Explorer en PowerShell voorkomen met behulp van groepsbeleid. De aanvaller probeert om hulp te roepen, maar geen reactie. Proberen om powershell te starten via het contextmenu van een modaal venster, opgeroepen met de Shift-toets ingedrukt - een bericht dat aangeeft dat starten verboden is door de beheerder. Probeert powershell te starten via de adresbalk - opnieuw geen reactie. Hoe de beperking omzeilen?

Het volstaat om powershell.exe van de map C:WindowsSystem32WindowsPowerShellv1.0 naar de gebruikersmap te kopiëren, de naam te wijzigen in iets anders dan powershell.exe en de startoptie verschijnt.

Wanneer verbinding wordt gemaakt met een extern bureaublad, wordt standaard toegang geboden tot de lokale schijven van de client, vanwaar een aanvaller powershell.exe kan kopiëren en uitvoeren nadat de naam ervan is gewijzigd.

Demovideo

We hebben slechts een paar manieren gegeven om de beperkingen te omzeilen; er zijn nog veel meer scenario's die u kunt bedenken, maar ze zijn allemaal verenigd door toegang te krijgen tot Windows Verkenner. Er zijn veel toepassingen die standaard Windows-hulpmiddelen voor bestandsmanipulatie gebruiken, en wanneer ze in een beperkte omgeving worden geplaatst, kunnen soortgelijke technieken worden gebruikt.

4. Aanbevelingen en conclusie

Zoals we kunnen zien, is er zelfs in een beperkte omgeving ruimte voor aanvalsontwikkeling. Je kunt het leven van de aanvaller echter moeilijker maken. We geven algemene aanbevelingen die nuttig zullen zijn, zowel in de opties die we hebben overwogen als in andere gevallen.

  • Beperk het starten van programma's tot zwarte/witte lijsten met behulp van groepsbeleid.
    In de meeste gevallen blijft het echter mogelijk om de code uit te voeren. Wij raden u aan om vertrouwd te raken met het project LOLBAS, om een ​​idee te krijgen van ongedocumenteerde manieren om bestanden te manipuleren en code op het systeem uit te voeren.
    We raden u aan beide soorten beperkingen te combineren: u kunt bijvoorbeeld het starten van door Microsoft ondertekende uitvoerbare bestanden toestaan, maar het starten van cmd.exe beperken.
  • Schakel de instellingentabbladen van Internet Explorer uit (kan lokaal in het register worden gedaan).
  • Schakel de ingebouwde Windows-help uit via regedit.
  • Schakel de mogelijkheid uit om lokale schijven te koppelen voor externe verbindingen als een dergelijke beperking niet van cruciaal belang is voor gebruikers.
  • Beperk de toegang tot lokale schijven van de externe machine en laat alleen toegang tot gebruikersmappen over.

We hopen dat je het op zijn minst interessant vond, en dat dit artikel hoogstens zal helpen het werken op afstand binnen jouw bedrijf veiliger te maken.

Bron: www.habr.com

Voeg een reactie