Remote Desktop kroz oči napadača

1. uvod

Tvrtke koje nisu imale sustave daljinskog pristupa hitno su ih postavile prije nekoliko mjeseci. Nisu svi administratori bili spremni na takvu "vrućinu", što je rezultiralo sigurnosnim propustima: neispravnom konfiguracijom servisa ili čak instaliranjem zastarjelih verzija softvera s prethodno otkrivenim propustima. Nekima su ovi propusti već bili bumerang, drugi su imali više sreće, ali svatko svakako treba izvući zaključke. Odanost radu na daljinu eksponencijalno je porasla, a sve više tvrtki kontinuirano prihvaća rad na daljinu kao prihvatljiv format.

Dakle, postoji mnogo opcija za pružanje udaljenog pristupa: razni VPN-ovi, RDS i VNC, TeamViewer i drugi. Administratori imaju mnogo izbora, ovisno o specifičnostima izgradnje korporativne mreže i uređaja u njoj. VPN rješenja ostaju najpopularnija, međutim, mnoge male tvrtke biraju RDS (Remote Desktop Services), jednostavnije su i brže se postavljaju.

U ovom ćemo članku govoriti više o RDS sigurnosti. Napravimo kratki pregled poznatih ranjivosti, a također razmotrimo nekoliko scenarija za pokretanje napada na mrežnu infrastrukturu temeljenu na Active Directory. Nadamo se da će naš članak pomoći nekome da radi na bugovima i poboljša sigurnost.

2. Nedavne RDS/RDP ranjivosti

Svaki softver sadrži pogreške i ranjivosti koje napadači mogu iskoristiti, a RDS nije iznimka. Microsoft u posljednje vrijeme često prijavljuje nove ranjivosti, pa smo im odlučili dati kratak pregled:

Ova ranjivost dovodi korisnike koji se spajaju na kompromitirani poslužitelj u opasnost. Napadač može preuzeti kontrolu nad korisničkim uređajem ili se učvrstiti u sustavu kako bi imao trajni udaljeni pristup.

Ova skupina ranjivosti omogućuje neautentificiranom napadaču daljinsko izvršavanje proizvoljnog koda na poslužitelju koji izvodi RDS pomoću posebno izrađenog zahtjeva. Također se mogu koristiti za stvaranje crva—zlonamjernog softvera koji neovisno inficira susjedne uređaje na mreži. Dakle, ove ranjivosti mogu ugroziti cijelu mrežu tvrtke, a samo ih pravovremena ažuriranja mogu spasiti.

Softver za daljinski pristup dobio je sve veću pozornost i od strane istraživača i od napadača, tako da bismo uskoro mogli čuti za više sličnih ranjivosti.

Dobra vijest je da nemaju sve ranjivosti dostupne javne eksploatacije. Loša vijest je da stručnom napadaču neće biti teško napisati exploit za ranjivost na temelju opisa ili koristeći tehnike kao što je Patch Diffing (naši kolege pisali su o tome u članak). Stoga preporučamo da redovito ažurirate softver i pratite pojavu novih poruka o otkrivenim propustima.

3. Napadi

Prelazimo na drugi dio članka, gdje ćemo pokazati kako počinju napadi na mrežnu infrastrukturu temeljenu na Active Directory-u.

Opisane metode primjenjive su na sljedeći model napadača: napadač koji ima korisnički račun i ima pristup Remote Desktop Gatewayu - terminalnom poslužitelju (često mu je moguće pristupiti npr. s vanjske mreže). Korištenjem ovih metoda napadač će moći nastaviti napad na infrastrukturu i učvrstiti svoju prisutnost na mreži.

Konfiguracija mreže u svakom slučaju može se razlikovati, ali opisane tehnike su prilično univerzalne.

Primjeri napuštanja ograničenog okruženja i povećanja privilegija

Prilikom pristupa Remote Desktop Gatewayu, napadač će vjerojatno naići na neku vrstu ograničenog okruženja. Kada se spojite na terminalski poslužitelj, na njemu se pokreće aplikacija: prozor za povezivanje putem Remote Desktop protokola za interne resurse, Explorer, uredske pakete ili bilo koji drugi softver.

Cilj napadača bit će dobiti pristup za izvršavanje naredbi, odnosno pokretanje cmd-a ili powershell-a. U tome vam može pomoći nekoliko klasičnih tehnika izlaska iz sandboxa sustava Windows. Razmotrimo ih dalje.

Opcija 1. Napadač ima pristup prozoru veze s udaljenom radnom površinom unutar Remote Desktop Gatewaya:

Remote Desktop kroz oči napadača

Otvara se izbornik "Prikaži opcije". Pojavljuju se opcije za rukovanje konfiguracijskim datotekama veze:

Remote Desktop kroz oči napadača

Iz ovog prozora možete jednostavno pristupiti Exploreru klikom na bilo koji od gumba "Otvori" ili "Spremi":

Remote Desktop kroz oči napadača

Otvara se Explorer. Njegova "adresna traka" omogućuje pokretanje dopuštenih izvršnih datoteka, kao i ispisivanje datotečnog sustava. To može biti korisno napadaču u slučajevima kada su diskovi sustava skriveni i ne može im se izravno pristupiti:

Remote Desktop kroz oči napadača

Demo video

Sličan scenarij može se reproducirati, na primjer, kada koristite Excel iz paketa Microsoft Office kao udaljeni softver.

Demo video

Osim toga, ne zaboravite na makronaredbe koje se koriste u ovom uredskom paketu. Naši su kolege u ovome promatrali problem makro sigurnosti članak.

Opcija 2. Koristeći iste ulaze kao u prethodnoj verziji, napadač pokreće nekoliko veza na udaljenu radnu površinu pod istim računom. Kada se ponovno povežete, prvi će se zatvoriti, a na ekranu će se pojaviti prozor s obavijesti o pogrešci. Gumb za pomoć u ovom prozoru će pozvati Internet Explorer na poslužitelju, nakon čega napadač može otići u Explorer.

Demo video

Opcija 3. Ako su konfigurirana ograničenja za pokretanje izvršnih datoteka, napadač može naići na situaciju u kojoj grupna pravila zabranjuju administratoru pokretanje cmd.exe.

Postoji način da se to zaobiđe pokretanjem bat datoteke na udaljenoj radnoj površini sa sadržajem poput cmd.exe /K <naredba>. Pogreška pri pokretanju cmd-a i uspješan primjer izvršavanja bat datoteke prikazan je na slici ispod.

Remote Desktop kroz oči napadača

Opcija 4. Zabrana pokretanja aplikacija pomoću crnih popisa na temelju naziva izvršnih datoteka nije lijek za sve, oni se mogu zaobići.

Razmotrite sljedeći scenarij: onemogućili smo pristup naredbenom retku, spriječili pokretanje Internet Explorera i PowerShell-a pomoću grupnih pravila. Napadač pokušava pozvati pomoć - nema odgovora. Pokušaj pokretanja PowerShell-a putem kontekstnog izbornika modalnog prozora, pozvanog s pritisnutom tipkom Shift - poruka koja pokazuje da je pokretanje zabranio administrator. Pokušava pokrenuti powershell preko adresne trake - opet nema odgovora. Kako zaobići ograničenje?

Dovoljno je kopirati powershell.exe iz mape C:WindowsSystem32WindowsPowerShellv1.0 u korisničku mapu, promijeniti ime u nešto drugo osim powershell.exe i pojavit će se opcija launch.

Prema zadanim postavkama, prilikom povezivanja na udaljenu radnu površinu, omogućen je pristup lokalnim diskovima klijenta, odakle napadač može kopirati powershell.exe i pokrenuti ga nakon preimenovanja.

Demo video

Naveli smo samo nekoliko načina za zaobilaženje ograničenja; možete smisliti mnogo više scenarija, ali svi imaju jednu zajedničku stvar: pristup Windows Exploreru. Postoje mnoge aplikacije koje koriste standardne Windows alate za rukovanje datotekama, a kada se stave u ograničeno okruženje, mogu se koristiti slične tehnike.

4. Preporuke i zaključak

Kao što vidimo, čak iu ograničenom okruženju postoji prostor za razvoj napada. Međutim, možete zagorčati život napadaču. Nudimo opće preporuke koje će biti korisne kako u opcijama koje smo razmotrili tako iu drugim slučajevima.

  • Ograničite pokretanje programa na crne/bijele liste pomoću pravila grupe.
    Međutim, u većini slučajeva ostaje moguće pokrenuti kôd. Preporučujemo da se upoznate s projektom LOLBE, imati predodžbu o nedokumentiranim načinima manipuliranja datotekama i izvršavanja koda na sustavu.
    Preporučujemo kombiniranje obje vrste ograničenja: na primjer, možete dopustiti pokretanje izvršnih datoteka koje je potpisao Microsoft, ali ograničiti pokretanje cmd.exe.
  • Onemogućite kartice postavki Internet Explorera (može se učiniti lokalno u registru).
  • Onemogućite ugrađenu pomoć za Windows putem regedita.
  • Onemogućite mogućnost montiranja lokalnih diskova za udaljene veze ako takvo ograničenje nije kritično za korisnike.
  • Ograničite pristup lokalnim pogonima udaljenog stroja, ostavljajući pristup samo korisničkim mapama.

Nadamo se da vam je bio barem zanimljiv, a najviše da će ovaj članak pomoći da rad na daljinu vaše tvrtke bude sigurniji.

Izvor: www.habr.com

Dodajte komentar