Otkriven jednostavan način za preuzimanje sesije korisnika bez lozinke
Zbog propusta u Windowsu moguće je preuzeti kontrolu nad RDS-om i RemoteApp sesijama i neprimetno se kretati kroz mrežu.
Ukoliko ste nekada koristili Remote Desktop Services ili Terminal Services onda znate da postoji opcija da se povežete sa sesijom drugog korisnika ukoliko znate njegovu lozinku. Da li ste znali da možete da pristupite sesiji drugog korisnika i bez lozinke?
Možete da kliknete desnim klikom na korisnika u Task Manageru, koristite tsadmin.msc ili komandu tscon.exe. Tražiće vam lozinku i nećete moći dalje ukoliko se ne autentifikujete kao korisnik, ali ukoliko pokrenete tscon.exe kao SYSTEM korisnik, možete se povezati na bilo koju sesiju bez lozinke.
Pogledajte demonstraciju:
Ne izlazi vam prozor već vas samo povezuje sa desktopom korisnika. Ako ste pomisliti: „Pa da, ako ste prijavljeni kao SYSTEM, već imate pristup rootu i možete da uradite bilo šta“, da, to je tačno. Možete recimo da dođete do lozinki korisnika prekidanjem memorije servera, ali to je dugačak proces u poređenju sa jednostavnom komandom tscon.exe sa brojem sesije pomoću koje dobijate momentalni pristup desktopu datog korisnika, i to bez ostavljanja tragova i eksternih alata.
Dakle, ovde govorimo o tome šta sve može da se uradi brzo i tiho. Napadačima je važno šta mogu da urade pomoću određene tehnike. Pomoću samo jedne jednostavne komande moguće je dobiti pristup sesiji datog korisnika.
Domet ove tehnike
Šta sve možete pomoću ove tehnike:
- Možete nastaviti prekinute sesije tako da ako se neko izlogovao recimo pre 3 dana, možete se bez problema povezati i početi sa korišćenjem te sesije.
- Ova tehnika otključava zaključane sesije. Ako korisnik nije za računarom, možete mu ukrasti sesiju i to će otključati „radnu stanicu“ bez ikakvih kredencijala.
- Ovo funkcioniše za fizičku konzolu. Možete dobiti pristup ekranu sa udaljene lokacije. Ovo takođe otključava fizičku konzolu.
- Možete pristupiti bilo kojoj sesiji. Npr, ako je u pitanju Helpdesk, možete se povezati bez autentifikacije. Ako je u pitanju Admin domena, takođe. Zbog mogućnosti da nastavite prekinute sesije, veoma je pojednostavljeno lateralno kretanje kroz mrežu.
- Možete da dobijete SYSTEM privilegije eksploatacijom win32k SYSTEM (postoji mnogo ranjivosti), a onda da koristite ovu tehniku.
- Nisu potrebni eksterni alati. Ne zapisuje se nikakav .exe fajl na disk.
- Ukoliko ne znate gde tačno da gledate, nećete primetiti šta se dešava.
- Proces se odvija sa udaljene lokacije. Možete preuzeti kontrolu nad sesijama sa udaljenih računara čak iako niste ulogovani na dati server.
Iako Microsoft ne smatra da je ovo bezbednosna ranjivost, a mnogi drugi tvrde da sa administratorskim privilegijama ionako možete da uradite bilo šta, Aleksander Korzikov koji je ukazao na ovaj bezbednosni propust, kaže da postoji više scenarija u kojima insajder sa lošim namerama može zloupotrebi ovu "falinku".
Primer banke: Neki zaposleni u banci ima pristup sistemu naplate i koristi posebne kredencijale za pristupanje istom. Taj zaposleni dođe na posao, uloguje se na sistem naplate i radi. Za vreme pauze zaključa svoj računar i izađe. Za to vreme administrator, koji nema pristup sistemu naplate, koristi ovaj propust i preuzima računar (iako je zaključan) zaposlenog. Administrator onda može da pristupi sistemu naplate, zloupotrebi ga i ne bude otkriven.
Postupak dobijanja pristupa u SYSTEM za tscon.exe
Ukoliko ste administrator sistema, možete koristiti servis na sledeći način: U suštini, veoma je jednostavno. Koristite quser komandu kako biste dobili ID sesije koju želite da preuzmete i ime vaše sesije (SESSIONNAME). Onda pokrenite tscon pomoći ID-ja sesije za preuzimanje i imena vaše sesije (SESSIONNAME). Vaša sesija će biti zamenjena za preuzetu sesiju. Servis će se difoltno pokrenuti kao SYSTEM i – dobili ste pristup!
Ovaj "trik" radi na skoro svim verzijama Windows OS-a.
Za uspešno iskorišćavanje ovo propusta (ili samo karakteristike), napadač mora da ima fizički pristup mašini, ali korišćenjem Remote Desktop Protocol (RDP) sesije na hakovanoj mašini moguće je sprovesti ovu vrstu napada i sa udaljene lokacije.
Kako sanirati propust?
- OS – Problem se nažalost odnosi na sve verzije Windowsa od 2000. do danas.
- Grupne polise — Koristite grupne polise kako biste se izlogovali iz diskonektovanih sesija, ili momentalno ili ubrzo nakon što se korisnik diskonektuje. Ovo nije popularan potez u IT okruženjima, ali rizik da će doći do preuzimanja sesije pomoću jedne ugrađene komande je sasvim realan i stoga treba pažljivo razmisliti. Takođe, preporučuje se log off kod neaktivnih sesija.
- Ne izlažite RDS/RDP internetu —Ukoliko pak morate, obavezno koristite multi-faktorsku autentifikaciju. Možete koristiti Microsoft RD Gateway ili Azure Multi-Factor Authentication Server i za mali novac dobiti potrebnu multi-faktorsku autentifikaciju. Ukoliko RDP direktno izložite internetu i neko napravi local user ili ukoliko korisnici vašeg domena imaju kredencijale koje je lako pogoditi ili koje koriste na više mesta, očekujte probleme. Postoje slučajevi u kojima je recimo u bolnicama plasiran ransomware preko RDS servera.
Izvori: medium.com, thehackernews.com, korznikov.com.