Skoči na vsebino

Izklop ni vedno prava rešitev

Zlorabe spletnih strežnikov oziroma spletnih aplikacij, ki tečejo na njih, so s selitvijo storitev na splet v porastu. Običajno prejemamo poročila o zlorabljenih spletnih portalih, ki zaradi nerednega vzdrževanja postanejo lahka tarča napadalcev. Tipičen primer je recimo dinamični spletni portal Joomla, ki je priljubljena platforma v našem šolstvu.


Ob takih prijavah se lahko zgodi, da se skrbnik spletnega strežnika po prejeti prijavi prenagli in le-tega hitro ugasne, pri tem pa se izgubijo dragoceni podatki o sami zlorabi, saj se ob zaustavitvi  strežnika prekinejo tudi vsi škodljivi procesi in izgubijo datoteke, prenesene v začasno mapo strežnika. Ponavadi za samo preprečitev nadaljnje škode v omrežju zadostuje že odklop strežnika iz omrežja, še bolje pa je, če škodljiv promet zablokiramo na požarnem zidu oziroma usmerjevalniku organizacije.


Napadalci običajno poskušajo izkoristiti ranljivosti kot so: RFI, SQL injection, itd., z namenom odlaganja škodljive vsebine ali kode na spletni strežnik. Odložena škodljiva koda lahko napadalcu koristi za izvajanje phishing napadov, ali pa za namestitev bota oziroma kode za daljinsko upravljanje in izvajanje DoS napadov na tuje IP naslove z uporabo pasovne širine namenjene spletnemu strežniku.


V nadaljevanju si bomo ogledali posledice zlorabe GNU/Linux strežnika z nameščeno spletno aplikacijo, ki ni imela nameščenih zadnjih varnostnih popravkov modulov in je bila tako ranljiva na RFI napade.

Posledice zlorabe

Posledice zlorabe se kažejo v škodljivih procesih, ki tečejo na strežniku. Osnovne informacije o teh, ki tečejo na sistemu, nam bo podal ukaz ps. Uporabimo ga lahko v povezavi z različnimi stikali, zadostuje pa že ps auxf.

Koda, ki prikazuje osnovne informacije o tekočih procesih
Ukaz ps pokaže osnovne informacije o tekočih procesih

Sumljivi procesi, ki tečejo na strežniku, so tisti z identifikacijskimi številkami (PID-i) 15364,15400 in 15586. Pri iskanju podtaknjenih procesov se osredotočimo na tiste, ki bi jih sami ne moremo uvrstiti v običajno delovanje strežnika. Dodaten indic nam prispevajo tudi dokaj sosednji PID-i procesov, vendar pa to ni pravilo za ugotavljanje parazitnih procesov.

Za bolj podroben prikaz posameznega procesa lahko uporabimo ukaz lsof, ki nam prikaže odprte datoteke izbranega procesa. Seznam odprtih datotek vsebuje datoteke na disku, cevi (pipes), mrežne vtičnice (sockets) in odprte naprave s strani procesa. S pregledom le-teh lahko najdemo potrditev za to, da s procesom “nekaj ni v redu”.

V našem primeru smo se poslužili ukaza lsof -p 15586, ki nam prikaže seznam odprtih datotek procesa 15586.

Seznam odprtih datotek
Seznam odprtih datotek

S pomočjo navedenega ukaza smo prišli do mape components/com_root, kamor je napadalec odložil škodljivo kodo. Ko izvemo lokacijo nameščene zlonamerne kode, si jo lahko previdno ogledamo…

Škodljiva koda
Škodljiva koda

Za odkrivanje načina, preko katerega je prišlo do zlorabe, nam lahko pomagajo dnevniške datoteke (access_log) spletnega strežnika in čas nastanka odloženih datotek.
V primeru, da bi ob informaciji o zlorabi izklopili strežnik, bi s tem nehote prekinili tudi vse procese, ki jih je zagnal napadalec. Pri vsakem zagonu pa se prav tako izbriše vsebina mape /tmp. Le-ta je namreč zelo prikladna za odlaganje zlonamernih datotek, saj je dostopna za pisanje prav vsem uporabnikom sistema.

Ukaz find
Ukaz find


Pomagali bi si lahko le z zoženim naborom ukazov, kot je na primer ukaz find in uporabo stikala mtime, ki nam poišče datoteke, spremenjene v določenem preteklem obdobju. Na ta način bi lahko prišli do mape, v katero je napadalec odložil svoje zlonamerne datoteke, in potrebnih časov za odkrivanje načina zlorabe.

Ukrepi

Zlorabe spletnih aplikacij preprečimo z izvajanjem rednih posodobitev. Seveda se ne moremo izogniti t.i. 0-day ranljivostim, vendar pa izkoriščanje teh ni tako pogosto, kot je slepo izkoriščanje dobro znanih obstoječih ranljivosti spletnih aplikacij, ki jih ni težko najti v že nameščenih in pozabljenih spletnih aplikacijah.

V primeru, da opazite zlorabo vašega spletnega strežnika, nikar ne prehitevajte dogodkov, temveč poskusite ugotoviti, katere datoteke je napadalec odložil na vaš sistem in na kakšen način. Ob tem je potrebno zavarovati potencialne dokaze, ki kažejo na način zlorabe in so pomembni pri nadaljnji obravnavi primera. Zavedati pa se je tudi potrebno, da z vsakim brskanjem po sistemu vplivate na podatke, ki so shranjeni na njem.
Ob tem seveda poskrbite za preprečitev nadaljnje škode z ustreznimi omejitvami oziroma odklopom sistema iz omrežja.

V kolikor boste tudi sami žrtev zlorabe, se lahko za pomoč obrnete na SI-CERT, kjer smo vam na voljo za dodatne nasvete in pomoč pri reševanju posledic zlorabe. Prijavi ne pozabite pripeti ustreznih dnevniških zapisov in odloženih datotek oziroma kode s strani napadalca.

Preberite tudi

SI-CERT s prenovljenim spletnim mestom

Glavna vodila pri prenovi so bila: bolj jasna vsebinska struktura, enostavna navigacija za obiskovalce in hitrejša orientacija na vstopni strani. V skladu z našimi zakonsko predpisanimi nalogami smo na najvidnejše mesto postavili aktualno varnostno obvestilo.
Več

“Kripto zlorabe” Twitter računov

V sredo, 15. 7 .2020, je bila družbena platforma Twitter tarča dosedaj najbolj odmevnega kibernetskega napada.
Več

SI-CERT prejel Slovensko veliko nagrado varnosti za program Varni na internetu

SI-CERT je letos prejel Slovensko veliko nagrado varnosti za program Varni na internetu
Več