1. Innføring
Bedrifter uten etablert system for fjernarbeid innførte hasteløsninger for noen måneder siden. Ikke alle administratorer var forberedt på en slik "vinterstorm", noe som resulterte i sikkerhetshull: feilkonfigurerte tjenester eller til og med installasjon av utdaterte programvareversjoner med tidligere kjente sårbarheter. Noen har allerede fått disse feilene tilbake som et boomerang, mens andre har vært mer heldige, men alle bør absolutt lære noe av dette. Lojaliteten til fjernarbeid har økt betydelig, og flere og flere selskaper aksepterer fjernarbeid som en vanlig format på permanent basis.
Det finnes mange alternativer for å sikre fjernadgang: ulike VPN, RDS, VNC, TeamViewer og flere andre. Administratorer har mye å velge mellom, basert på spesifikasjonene til det bedriftsnettverket og enhetene i det. VPN-løsninger forblir de mest populære, men mange små selskaper velger RDS (Remote Desktop Services), siden de er enklere og raskere å implementere.
I denne artikkelen vil vi snakke nærmere om sikkerheten til RDS. Vi gir en kort oversikt over kjente sårbarheter og vurderer flere angrepsscenarier som involverer nettverksinfrastrukturen basert på Active Directory. Vi håper vår artikkel vil hjelpe noen til å lære av feil og forbedre sikkerheten.
2. Nylige sårbarheter i RDS/RDP
Alle programvarer inneholder feil og sårbarheter som kan utnyttes av kriminelle, og RDS er ikke noe unntak. I det siste har Microsoft ofte rapportert om nye sårbarheter, så vi har valgt å gi en kort oversikt over dem:
Denne sårbarheten setter brukere som kobler seg til et kompromittert server i fare. En angriper kan få kontroll over brukerens enhet eller etablere fast tilgang til systemet for fjernkontroll.
- / /
Denne gruppen av sårbarheter tillater en uautorisert angriper å kjøre vilkårlig kode på en server med RDS ved hjelp av en spesiallaget forespørsel. De kan også brukes til å lage ormer — skadelig programvare som selvinfiserer tilknyttede enheter i nettverket. Dermed kan disse sårbarhetene sette hele selskapets nettverk i fare, og bare rettidig oppdatering kan redde dem.
Programvare for fjernadgang har fått økt oppmerksomhet fra både forskere og angripere, så vi kan snart høre om nye lignende sårbarheter.
Det gode nyheten er at ikke alle sårbarheter har offentlige utnyttelser tilgjengelig. Det dårlige er at det for en angriper med ekspertise ikke vil være vanskelig å skrive en utnyttelse for en sårbarhet basert på beskrivelsen, eller ved å bruke teknikker som Patch Diffing (som våre kolleger har skrevet om i ). Derfor anbefaler vi å oppdatere programvaren regelmessig og følge med på nye meldinger om oppdagede sårbarheter.
3. Angrep
Vi går over til den andre delen av artikkelen, hvor vi viser hvordan angrep på nettverksinfrastruktur basert på Active Directory begynner.
Metodene som beskrives er relevante for følgende angripermodell: en angriper med en brukerkonto som har tilgang til Remote Desktop Gateway – terminalserveren (som ofte er tilgjengelig, for eksempel fra eksterne nettverk). Ved å bruke disse metodene kan angriperen fortsette angrepet på infrastrukturen og befestet sitt nærvær i nettverket.
Nettverkskonfigurasjonen kan variere i hvert enkelt tilfelle, men de beskrevne teknikkene er ganske universelle.
Eksempler på å bryte ut av en begrenset miljø og heve privilegier
Når angriperen får tilgang til Remote Desktop Gateway, vil de sannsynligvis støte på et begrenset miljø. Når de kobler til terminalserveren, startes en applikasjon: vindu for å koble til interne ressurser via Remote Desktop-protokollen, filutforsker, kontorprogramvare eller annen programvare.
Angriperens mål vil være å få tilgang til kommandokjøring, det vil si å starte cmd eller powershell. Flere klassiske teknikker for å bryte ut av «sandkassen» for Windows kan hjelpe i dette. La oss se på dem videre.
Option 1. Angriperen har tilgang til vinduet for å koble til Remote Desktop innenfor Remote Desktop Gateway:

Menyen "Vis alternativer" åpnes. Alternativer for å manipulere konfigurasjonsfiler for tilkoblingen vises:

Fra dette vinduet kan man enkelt få tilgang til filutforskeren ved å klikke på noen av knappene "Åpne" eller "Lagre":

Filutforskeren åpnes. Dens "adressefelt" gir muligheten til å starte tillatte kjørbare filer, samt liste opp filsystemet. Dette kan være nyttig for en angriper i tilfeller hvor systemdisker er skjult og direkte tilgang til dem ikke er mulig:

→
Et lignende scenario kan gjenoppleves, for eksempel ved å bruke Excel fra Microsoft Office-pakken som fjernprogramvare.
→
I tillegg bør man ikke glemme makroene som brukes i denne kontorpakken. Våre kolleger har vurdert sikkerhetsproblemer relatert til makroer i denne .
Option 2. Ved å bruke de samme forutsetningene som i forrige alternativ, etablerer angriperen flere tilkoblinger til den eksterne skrivebordsøkt under den samme kontoen. Ved ny tilkobling vil den første bli lukket, og det vil vises et vindu med en feilmelding på skjermen. Hjelpeknappen i dette vinduet vil starte Internet Explorer på serveren, etter hvilket angriperen kan gå til Filutforskeren.
→
Alternativ 3. Når det er innstilt begrensninger på å starte kjørbare filer, kan angriperen stå overfor situasjonen hvor gruppepolitikker forbyr administratoren å starte cmd.exe.
Det er en måte å omgå dette på ved å starte en bat-fil på det eksterne skrivebordet med innhold av typen cmd.exe /K . Feil ved oppstart av cmd og et vellykket eksempel på kjøring av bat-filen er vist i bildet nedenfor.

Alternativ 4. Å forby oppstart av applikasjoner ved hjelp av svartelister basert på navnet på kjørbare filer er ikke en panacea, de kan omgås.
La oss se på følgende scenario: vi har forbudt tilgang til kommandolinjen, forbudt oppstart av Internet Explorer og PowerShell ved hjelp av gruppepolitikker. Angriperen prøver å fremkalle hjelpen — ingen respons. Prøver å starte PowerShell via kontekstmenyen i modalvinduet, kalt frem med Shift-tasten — melding om forbud mot oppstart av administratoren. Prøver å starte PowerShell via adressefeltet — igjen ingen respons. Hvordan omgå begrensningen?
Det er tilstrekkelig å kopiere powershell.exe fra mappen C:WindowsSystem32WindowsPowerShellv1.0 til brukerens mappe, endre navnet til noe annet enn powershell.exe, og muligheten til å starte vil være tilgjengelig.
Som standard gir tilkobling til den eksterne skrivebordsøkten tilgang til klientens lokale disker, hvorfra angriperen kan kopiere powershell.exe og starte det etter omdøping.
→
Vi har bare nevnt noen metoder for å omgå begrensninger, det kan tenkes mange flere scenarier, men felles for dem alle er at de går gjennom Windows Utforsker. Det finnes mange applikasjoner som bruker standard Windows-verktøy for filhåndtering, og når de plasseres i et begrenset miljø, kan lignende teknikker brukes.
4. Anbefalinger og konklusjon
Som vi ser, er det fortsatt rom for å utvikle angrepet selv i et begrenset miljø. Det er imidlertid mulig å gjøre livet vanskeligere for angriperen. Vi gir generelle anbefalinger som vil være nyttige både i de scenariene vi har vurdert, og i andre tilfeller.
- Begrens kjøringen av programmer med svarte/hvite lister ved hjelp av gruppepolicyer.
I de fleste tilfeller er det likevel mulig å kjøre kode. Vi anbefaler å bli kjent med prosjektet , for å få innblikk i udokumenterte metoder for filmanipulering og kodekjøring i systemet.
Vi anbefaler å kombinere begge typer begrensninger: for eksempel kan man tillate kjøring av kjørbare filer signert av Microsoft, men begrense kjøring av cmd.exe. - Deaktiver innstillingsfanene i Internet Explorer (dette kan gjøres lokalt i registeret).
- Deaktiver tilgang til den innebygde Windows-hjelpen ved hjelp av regedit.
- Deaktiver muligheten for å montere lokale disker for eksterne tilkoblinger, med mindre slike restriksjoner ikke er kritiske for brukerne.
- Begrens tilgangen til lokale disker på den eksterne maskinen, la kun tilgang være mulig til brukermapper.
Vi håper du har funnet dette interessant, og at denne artikkelen i beste fall vil hjelpe deg med å gjøre fjernarbeidet til bedriften din tryggere.
Kilde: habr.com
