Eksternt skrivebord gjennom øynene til en angriper

1. Introduksjon

Selskaper som ikke hadde fjerntilgangssystemer på plass, implementerte dem raskt for et par måneder siden. Ikke alle administratorer var forberedt på en slik "varme", som resulterte i sikkerhetsbrudd: feil konfigurasjon av tjenester eller til og med installasjon av utdaterte versjoner av programvare med tidligere oppdagede sårbarheter. For noen har disse utelatelsene allerede boomerangert, andre var mer heldige, men alle bør definitivt trekke konklusjoner. Lojaliteten til fjernarbeid har økt eksponentielt, og stadig flere bedrifter aksepterer fjernarbeid som et akseptabelt format fortløpende.

Så det er mange alternativer for å gi ekstern tilgang: ulike VPN-er, RDS og VNC, TeamViewer og andre. Administratorer har mye å velge mellom, basert på spesifikasjonene ved å bygge et bedriftsnettverk og enheter i det. VPN-løsninger er fortsatt de mest populære, men mange små selskaper velger RDS (Remote Desktop Services), de er enklere og raskere å distribuere.

I denne artikkelen vil vi snakke mer om RDS-sikkerhet. La oss lage en kort oversikt over kjente sårbarheter, og også vurdere flere scenarier for å starte et angrep på en nettverksinfrastruktur basert på Active Directory. Vi håper artikkelen vår vil hjelpe noen til å jobbe med feil og forbedre sikkerheten.

2. Nylige RDS/RDP-sårbarheter

Enhver programvare inneholder feil og sårbarheter som kan utnyttes av angripere, og RDS er intet unntak. Microsoft har ofte rapportert nye sårbarheter i det siste, så vi bestemte oss for å gi dem en kort oversikt:

Dette sikkerhetsproblemet setter brukere som kobler til en kompromittert server i fare. En angriper kan få kontroll over en brukers enhet eller få fotfeste i systemet for å ha permanent ekstern tilgang.

Denne gruppen av sårbarheter lar en uautentisert angriper eksternt kjøre vilkårlig kode på en server som kjører RDS ved hjelp av en spesiallaget forespørsel. De kan også brukes til å lage ormer – skadelig programvare som uavhengig infiserer naboenheter på nettverket. Dermed kan disse sårbarhetene sette hele selskapets nettverk i fare, og bare rettidige oppdateringer kan redde dem.

Fjerntilgangsprogramvare har fått økt oppmerksomhet fra både forskere og angripere, så vi kan snart høre om flere lignende sårbarheter.

Den gode nyheten er at ikke alle sårbarheter har offentlige utnyttelser tilgjengelig. Den dårlige nyheten er at det ikke vil være vanskelig for en angriper med ekspertise å skrive en utnyttelse for en sårbarhet basert på beskrivelsen, eller bruke teknikker som Patch Diffing (våre kolleger skrev om det i artikkel). Derfor anbefaler vi at du regelmessig oppdaterer programvaren og overvåker utseendet til nye meldinger om oppdagede sårbarheter.

3. Angrep

Vi går videre til andre del av artikkelen, hvor vi skal vise hvordan angrep på nettverksinfrastruktur basert på Active Directory begynner.

De beskrevne metodene gjelder for følgende angripermodell: en angriper som har en brukerkonto og har tilgang til Remote Desktop Gateway - en terminalserver (ofte er den tilgjengelig for eksempel fra et eksternt nettverk). Ved å bruke disse metodene vil angriperen kunne fortsette angrepet på infrastrukturen og konsolidere sin tilstedeværelse på nettverket.

Nettverkskonfigurasjonen i hvert enkelt tilfelle kan variere, men de beskrevne teknikkene er ganske universelle.

Eksempler på å forlate et begrenset miljø og øke privilegier

Når en angriper får tilgang til Remote Desktop Gateway, vil han sannsynligvis møte et eller annet begrenset miljø. Når du kobler til en terminalserver, startes en applikasjon på den: et vindu for tilkobling via Remote Desktop-protokollen for interne ressurser, Explorer, kontorpakker eller annen programvare.

Angriperens mål vil være å få tilgang til å utføre kommandoer, det vil si å starte cmd eller powershell. Flere klassiske Windows-sandbox-escape-teknikker kan hjelpe med dette. La oss vurdere dem videre.

Alternativ 1. Angriperen har tilgang til Remote Desktop-tilkoblingsvinduet i Remote Desktop Gateway:

Eksternt skrivebord gjennom øynene til en angriper

"Vis alternativer"-menyen åpnes. Alternativer vises for å manipulere tilkoblingskonfigurasjonsfiler:

Eksternt skrivebord gjennom øynene til en angriper

Fra dette vinduet kan du enkelt få tilgang til Utforsker ved å klikke på en av "Åpne" eller "Lagre"-knappene:

Eksternt skrivebord gjennom øynene til en angriper

Utforsker åpnes. Dens "adresselinje" gjør det mulig å starte tillatte kjørbare filer, samt liste opp filsystemet. Dette kan være nyttig for en angriper i tilfeller der systemstasjoner er skjult og ikke kan nås direkte:

Eksternt skrivebord gjennom øynene til en angriper

Demo video

Et lignende scenario kan reproduseres, for eksempel når du bruker Excel fra Microsoft Office-pakken som ekstern programvare.

Demo video

I tillegg, ikke glem makroene som brukes i denne kontorpakken. Våre kolleger så på problemet med makrosikkerhet i dette artikkel.

Alternativ 2. Ved å bruke de samme inngangene som i forrige versjon, starter angriperen flere tilkoblinger til det eksterne skrivebordet under samme konto. Når du kobler til igjen, vil den første lukkes, og et vindu med en feilmelding vises på skjermen. Hjelpeknappen i dette vinduet vil kalle opp Internet Explorer på serveren, hvoretter angriperen kan gå til Explorer.

Demo video

Alternativ 3. Hvis begrensninger for å starte kjørbare filer er konfigurert, kan en angriper støte på en situasjon der gruppepolicyer forbyr administratoren å kjøre cmd.exe.

Det er en måte å omgå dette ved å kjøre en bat-fil på det eksterne skrivebordet med innhold som cmd.exe /K <kommando>. En feil ved start av cmd og et vellykket eksempel på utføring av en bat-fil er vist i figuren nedenfor.

Eksternt skrivebord gjennom øynene til en angriper

Alternativ 4. Å forby lansering av applikasjoner som bruker svartelister basert på navnet på kjørbare filer er ikke et universalmiddel; de kan omgås.

Tenk på følgende scenario: vi har deaktivert tilgang til kommandolinjen, forhindret lanseringen av Internet Explorer og PowerShell ved hjelp av gruppepolicyer. Angriperen prøver å tilkalle hjelp - ingen respons. Prøver å starte powershell gjennom kontekstmenyen til et modalt vindu, kalt opp med Shift-tasten trykket - en melding som indikerer at oppstart er forbudt av administratoren. Prøver å starte powershell gjennom adressefeltet - igjen ingen svar. Hvordan omgå begrensningen?

Det er nok å kopiere powershell.exe fra mappen C:WindowsSystem32WindowsPowerShellv1.0 til brukermappen, endre navnet til noe annet enn powershell.exe, og startalternativet vises.

Som standard, når du kobler til et eksternt skrivebord, gis tilgang til klientens lokale disker, hvorfra en angriper kan kopiere powershell.exe og kjøre den etter å ha gitt det nytt navn.

Demo video

Vi har gitt bare noen få måter å omgå begrensningene på; du kan komme opp med mange flere scenarier, men de har alle én ting til felles: tilgang til Windows Utforsker. Det er mange applikasjoner som bruker standard Windows-filmanipulasjonsverktøy, og når de plasseres i et begrenset miljø, kan lignende teknikker brukes.

4. Anbefalinger og konklusjon

Som vi kan se, selv i et begrenset miljø er det rom for angrepsutvikling. Du kan imidlertid gjøre livet vanskeligere for angriperen. Vi gir generelle anbefalinger som vil være nyttige både i de alternativene vi har vurdert og i andre tilfeller.

  • Begrens programstarter til svarte/hvite lister ved å bruke gruppepolicyer.
    I de fleste tilfeller er det imidlertid fortsatt mulig å kjøre koden. Vi anbefaler at du setter deg inn i prosjektet LOLBAS, for å ha en idé om udokumenterte måter å manipulere filer og utføre kode på systemet.
    Vi anbefaler å kombinere begge typer restriksjoner: for eksempel kan du tillate lansering av kjørbare filer signert av Microsoft, men begrense lanseringen av cmd.exe.
  • Deaktiver Internet Explorer-innstillingsfaner (kan gjøres lokalt i registeret).
  • Deaktiver Windows innebygd hjelp via regedit.
  • Deaktiver muligheten til å montere lokale disker for eksterne tilkoblinger hvis en slik begrensning ikke er kritisk for brukere.
  • Begrens tilgangen til lokale stasjoner på den eksterne maskinen, og la bare tilgang til brukermapper.

Vi håper du fant det interessant i det minste, og maksimalt vil denne artikkelen bidra til å gjøre bedriftens fjernarbeid tryggere.

Kilde: www.habr.com

Legg til en kommentar