Remote Desktop set fra en angribers perspektiv

1. Introduktion

Virksomheder, der ikke havde etableret fjernadgangssystemer, indførte hastigt sådanne for et par måneder siden. Ikke alle administratorer var forberedte på en sådan "krisesituation", hvilket førte til sikkerhedsmæssige svagheder: forkert konfiguration af tjenester eller endda installation af forældede versioner af software med tidligere kendte sårbarheder. Nogle har allerede fået konsekvenserne af disse svagheder retur, mens andre har været heldigere, men der er helt sikkert vigtige lektioner at lære for alle. Loyaliteten til fjernarbejde er steget markant, og flere og flere virksomheder accepterer fjernarbejde som en acceptabel permanent løsning.

Der er mange muligheder for at sikre fjernadgang: forskellige VPN, RDS og VNC, TeamViewer og andre. Administratorer har et bredt udvalg at vælge imellem, baseret på den specifikke opbygning af virksomhedens netværk og de enheder, der indgår deri. VPN-løsninger forbliver de mest populære, men mange små virksomheder vælger RDS (Remote Desktop Services), da de er enklere og hurtigere at implementere.

I denne artikel vil vi se nærmere på sikkerheden ved RDS. Vi vil give en kort oversigt over kendte sårbarheder og tage nogle angrebsscenarier på netværksinfrastruktur baseret på Active Directory under overvejelse. Vi håber, at vores artikel kan hjælpe nogen med at lære af deres fejl og øge sikkerheden.

2. Nyere sårbarheder i RDS/RDP

Al software indeholder fejl og sårbarheder, som bliver udnyttet af kriminelle, og RDS er ikke en undtagelse. For nylig har Microsoft ofte rapporteret om nye sårbarheder, og vi har besluttet at give en kort oversigt over dem:

Denne sårbarhed udsætter brugere, der opretter forbindelse til en kompromitteret server, for risiko. En angriber kan få kontrol over brugerens enhed eller slå sig ned i systemet for at få konstant fjernadgang.

Denne gruppe af sårbarheder giver en ikke-autoriseret angriber mulighed for at udføre vilkårlig kode eksternt på en server med RDS ved hjælp af en specifikt udformet anmodning. De kan også bruges til at skabeorme — ondsindet software, der selv inficerer nærliggende netværksenheder. Dermed kan disse sårbarheder udsætte hele virksomhedens netværk for risiko, og den eneste løsning er rettidig opdatering.

Software for remote access has gained increased attention from both researchers and attackers, so we may soon hear about new vulnerabilities of this kind.

The good news is that not all vulnerabilities have publicly available exploits. The bad news is that an attacker with expertise can easily write an exploit for a vulnerability based on descriptions or by using techniques like Patch Diffing (which our colleagues wrote about in artikel). Therefore, we recommend regularly updating the software and keeping an eye out for new reports of discovered vulnerabilities.

3. Attacks

We move on to the second part of the article, where we will show how attacks on a network infrastructure based on Active Directory begin.

The methods described are applicable to the following threat model: an attacker with a user account and access to the Remote Desktop Gateway - a terminal server (which is often accessible, for example, from an external network). By applying these methods, the attacker can continue the attack on the infrastructure and establish their presence in the network.

The network configuration in each specific case may vary, but the described techniques are quite universal.

Examples of escaping from a restricted environment and privilege escalation

When accessing the Remote Desktop Gateway, the attacker will likely face a somewhat limited environment. When connecting to the terminal server, an application starts: a window for connecting via the Remote Desktop protocol for internal resources, a file explorer, office packages, or any other software.

The attacker's goal will be to gain access to command execution, i.e., to launch cmd or PowerShell. Several classic sandbox escape techniques for Windows can assist in this. Let’s explore them further.

Mulighed 1. The attacker has access to the Remote Desktop connection window within the Remote Desktop Gateway:

Remote Desktop set fra en angribers perspektiv

The “Show Options” menu is revealed. Options appear for manipulating connection configuration files:

Remote Desktop set fra en angribers perspektiv

From this window, it is possible to access the Explorer freely by pressing any of the “Open” or “Save” buttons:

Remote Desktop set fra en angribers perspektiv

Stifinder åbner. Dens "adressefelt" giver mulighed for at starte tilladte eksekverbare filer samt liste filsystemet. Dette kan være nyttigt for en angriber, hvis systemdrev er skjulte, og direkte adgang til dem ikke er mulig:

Remote Desktop set fra en angribers perspektiv

→ Demo-video

Et lignende scenarie kan reproduceres, for eksempel ved at bruge Excel fra Microsoft Office-pakken som fjernsoftware.

→ Demo-video

Desuden bør man ikke glemme makroerne, der anvendes i denne kontorpakke. Vore kolleger har set på sikkerhedsproblemerne ved makroer i denne artikel.

Mulighed 2. Ved at bruge de samme forudsætninger som i den tidligere version, starter angriberen flere forbindelser til den fjernarbejdsplads under den samme konto. Når der genopretter forbindelsen, vil den første blive lukket, og en fejlinformation vises på skærmen. Hjælp-knappen i denne dialog vil starte Internet Explorer på serveren, hvorefter angriberen kan gå til Stifinder.

→ Demo-video

Mulighed 3. Med etablerede begrænsninger på at starte eksekverbare filer, kan angriberen støde på situationer, hvor gruppepolitikker forbyder administratoren at køre cmd.exe.

Der er en måde at omgå dette ved at køre en bat-fil på den fjernarbejdsplads med indholdet cmd.exe /K . Fejl ved kørsel af cmd og et vellykket eksempel på kørsel af bat-filen er vist på billedet nedenfor.

Remote Desktop set fra en angribers perspektiv

Mulighed 4. Forbud mod at starte programmer ved hjælp af sortlister baseret på navne på eksekverbare filer er ikke en panacée; de kan omgås.

Lad os overveje følgende scenarie: vi har forbudt adgangen til kommandoprompten, forbudt Internet Explorer og PowerShell ved hjælp af gruppepolitikker. Angriberen forsøger at kalde hjælp – der er ingen respons. Forsøger at starte PowerShell gennem kontekstmenuen i modalvinduet, der fremkaldes med Shift-tasten – en meddelelse om forbud mod at starte af administratoren. Forsøger at starte PowerShell gennem adressefeltet – igen ingen respons. Hvordan kan man omgå begrænsningen?

Det er tilstrækkeligt at kopiere powershell.exe fra mappen C:WindowsSystem32WindowsPowerShellv1.0 til brugerens mappe, ændre navnet til et, der er forskelligt fra powershell.exe, og muligheden for at starte vil være til stede.

Som standard giver forbindelse til den fjernarbejdsplads adgang til klientens lokale drev, hvorfra angriberen kan kopiere powershell.exe og derefter starte det efter at have omdøbt det.

→ Demo-video

Vi har kun nævnt nogle få måder at omgå begrænsninger på; der kan tænkes mange flere scenarier, men de har alle det tilfælles, at de involverer Windows Stifinder. Der findes mange applikationer, der bruger standardmidlerne i Windows til at arbejde med filer, og når de placeres i et begrænset miljø, kan lignende teknikker anvendes.

4. Anbefalinger og konklusion

Som vi kan se, er der selv i et begrænset miljø plads til at udvikle angreb. Det er dog muligt at gøre livet vanskeligere for angriberen. Vi giver her nogle generelle anbefalinger, som vil være nyttige både i de varianter, vi har gennemgået, og i andre tilfælde.

  • Begræns programudførelse med sorte/hvide lister ved hjælp af gruppepolitikker.
    I de fleste tilfælde forbliver det muligt at køre kode. Vi anbefaler at se nærmere på projektet LOLBAS, for at få indsigt i udbudte metoder til manipulation med filer og udførelse af kode i systemet.
    Vi anbefaler at kombinere begge typer begrænsninger: man kan f.eks. tillade kørsel af eksekverbare filer, der er signeret af Microsoft, men begrænse kørsel af cmd.exe.
  • Deaktiver indholdskortene i Internet Explorer (kan gøres lokalt i registreringsdatabasen).
  • Deaktiver kaldet til den indbyggede Windows-hjælp via regedit.
  • Deaktiver muligheden for at montere lokale drev for fjernforbindelser, medmindre en sådan begrænsning ikke er kritisk for brugerne.
  • Begræns adgangen til lokale drev på den fjernbetjente maskine og lad kun brugernes mapper være tilgængelige.

Vi håber, at du har fundet dette interessant, og at denne artikel i bedste fald vil hjælpe med at gøre din virksomheds fjernarbejde mere sikkert.

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster