Ukratko: Web shell je mala datoteka putem koje stranac može na daljinu upravljati Vašim poslužiteljem. Tko je pronašao jedan, vrlo je vjerojatno pogođen i treba se odmah javiti. Ne brisati, ne pozivati, prvo osigurati. Na daljinu razjašnjavamo kako je dospio na poslužitelj, postoje li drugi pristupi i čistimo poslužitelj.
Sada ništa ne brisati i ništa ne postavljati iznova. I sam web shell zasad ostaje gdje je kako bi se mogao osigurati. Jeste li pogođeni? Nazovite ili pišite putem WhatsAppa, ili nalaz prijavite preko Prijavite hitni slučaj.
Pronašli ste web shell: što to znači?
Web shell je PHP skripta (ili skripta u drugom jeziku poslužitelja) koja izvana prima naredbe. Napadači tako mogu čitati datoteke, preuzimati podatke, naknadno učitavati zlonamjerni kod i dosezati daljnje sustave. Datoteka stoga rijetko je cilj napada. Ona su stražnja vrata koja provalnik ostavlja da bi se vratio.
Iz toga proizlaze dvije posljedice. Prvo: netko je već imao pristup za pisanje na Vaš poslužitelj ili je mogao izvršavati kod. Drugo: pronađena datoteka vjerojatno nije jedina. Tome se pridodaje ono što se često ne zna: od kada je tamo i što je u međuvremenu s njom učinjeno?
Po čemu prepoznajete web shell
- PHP datoteka u mapi u kojoj ih ne bi smjelo biti, primjerice prijenosi, predmemorija, slike ili privremeni direktoriji
- nazivi datoteka koji izgledaju kao sistemske datoteke, ali ne pripadaju Vašem softveru, ili nazivi s dvostrukom ekstenzijom
- nečitljiv kod s dugim nizovima znakova, kodiranjem i funkcijama za izvršavanje naredbi, vidi Prepoznavanje zamagljenog PHP koda
- datum izmjene koji ne odgovara Vašim ažuriranjima
- pristupi toj datoteci u zapisnicima, često s tuđih adresa i s POST zahtjevima
- procesi web-poslužitelja koji pokreću ljusku, kako je opisano na stranici Znak upozorenja: web-poslužitelj pokreće ljusku
Kako ispravno tumačiti nalazišta, piše na stranici PHP datoteke u mapi za prijenos, a opširno na stranici Prepoznavanje i uklanjanje web shellova.
Što učiniti odmah
- Datoteku ne pozivati i ne izvršavati. Nikakvi testovi u pregledniku.
- Ne brisati i ne premještati. Ne mijenjajte ni sadržaj ni vremenske oznake.
- Zabilježiti: puni put, naziv datoteke, vrijeme nalaza, tko ju je otkrio i čime.
- Osigurati datoteku i metapodatke: kopija s vlasnikom, pravima i vremenskim oznakama. Dovoljne su naredbe za provjeru koje samo čitaju, primjerice:
bash
stat /pfad/zur/datei.php
sha256sum /pfad/zur/datei.php
- Sačuvati zapisnike: ne dopustite da se zapisnici pristupa i pogrešaka web-poslužitelja i PHP-a prepišu. Stručni tisak savjetuje čuvanje zapisnika poslužitelja od 20. 10. 2026.
- Po potrebi izolirati poslužitelj: ako sumnjate da podaci cure, stranicu odspojite s mreže. Kako pritom sačuvati dokaze, opisuje stranica Osigurajte dokaze prije ponovne instalacije.
- Obavijestiti nas prije nego što se mijenjaju lozinke ili čiste datoteke.
Kako PHP SOS konkretno pomaže?
- Procijeniti situaciju: Što je pronađeno, gdje, kada i od koga? Koji sustavi se nalaze na istom poslužitelju?
- Osigurati i zatvoriti: Osiguravamo nalaz, datoteke, bazu podataka i zapisnike te blokiramo pristupe koji djeluju sumnjivo.
- Provjeriti i očistiti: Tražimo daljnje web shellove, izmijenjene jezgrene datoteke, skrivene cron poslove, tuđe administratorske račune i nepoznate SSH ključeve te ih uklanjamo. Postupak odgovara usluzi Uklanjanje malwarea i web shellova.
- Ojačati i izvijestiti: Imenujemo vjerojatan ulaz, zatvaramo ga i osiguravamo poslužitelj. Dobivate dokumentaciju s nalazima i vremenskom crtom.
Kako je web shell dospio na poslužitelj?
Tipični putovi su zastarjeli dodaci ili proširenja, nesigurni prijenosi datoteka, ukradeni pristupni podaci i ranjivosti u softveru poslužitelja. Otkako je objavljen PHP2Shell, dodaje se još jedna mogućnost: PHP bez ispravaka iz 8.5.12, 8.4.27, 8.3.36 ili 8.2.35 može se na daljinu zloupotrijebiti za izvršavanje koda. Potvrđenih indikatora kompromitacije (Indicators of Compromise) za to nema, otkrivanje se temelji na ponašanju. Je li ulaz kod Vas išao putem PHP2Shella ili nekim drugim putem, može se zaključiti samo iz tragova, a mi označavamo što je dokazano, a što pretpostavka. Kako zapisnici pritom pomažu, pokazuje stranica Analiza zapisnika web-poslužitelja.
Zakrpa pritom ne uklanja postojeći web shell. Zaštita od budućih nalaza također je dio toga: zabrana izvršavanja PHP-a u mapama za prijenos sprječava mnoge slučajeve. Imajte na umu i ograničenja skenera zlonamjernog softvera: sken bez nalaza nije signal za prestanak opasnosti.
Ako morate znati što se točno dogodilo, primjerice za osiguratelja ili tijela, može biti smislena IT forenzika.
A ako se web shell nakon brisanja vrati?
To se često događa i uglavnom ima dva razloga. Ili postoje barem jedna dodatna stražnja vrata koja nalaz iznova stvaraju, ili je ulaz i dalje otvoren i napadač jednostavno dolazi ponovno. Ni jedno ni drugo ne rješava se ponovljenim brisanjem. Zato tražimo cjelokupnost promjena: nove i izmijenjene datoteke, unose u bazi podataka i konfiguraciji, zakazane zadatke, račune. Popis nedavno izmijenjenih datoteka pritom je smislen početak, ali ne zamjenjuje provjeru stručnjaka.
Što nam trebate poslati
- put i naziv datoteke, po mogućnosti kao kopiju s vremenskim oznakama (put predaje dogovaramo)
- izvatke iz zapisnika pristupa oko te datoteke, ako imate pristup
- vrstu poslužitelja, pružatelja hostinga, verziju PHP-a i način rada, ako je poznato
- koje web-stranice i aplikacije rade na poslužitelju
- kada su zadnji put bila ažuriranja, prijenosi ili promjene
Zašto PHP SOS
Radimo Made in Germany i više od 25 godina s našom mrežom partnera stručnjaka za kibernetičku sigurnost specijalizirani smo za IT sigurnost. Jedna kontakt osoba vodi Vas kroz incident. Radimo na daljinu bez dolaska u cijeloj Njemačkoj i Europi, dokumentiramo svaki korak i ne dajemo obećanja koja nitko ne može ispuniti. Ostajemo uz Vas dok incident nije zaključen i dokumentiran.
Jeste li pogođeni? Nazovite. Pomažemo.
Pronađen web shell znak je upozorenja koji biste trebali shvatiti ozbiljno. Javite se odmah, pozivom ili putem WhatsAppa, a preuzimamo od prve poruke. Prijavite hitni slučaj odmah
Česta pitanja
Pronašao sam web shell. Smijem li datoteku jednostavno obrisati?
Molimo ne kao prvi korak. Datoteka pokazuje kada je i čime napadač došao. Prvo je osigurajte zajedno s vremenskim oznakama i vlasnikom, a zatim se ciljano uklanja. Tko samo briše, uglavnom ostavlja dodatne pristupe.
Trebam li sumnjivu datoteku otvoriti u pregledniku da vidim što radi?
Ne. Poziv može izvršiti zlonamjerni kod i zamutiti dodatne tragove. Datoteku provjeravajte samo čitanjem i najbolje na kopiji.
Je li skener zlonamjernog softvera dovoljan za pronalaženje svih web shellova?
Ne pouzdano. Skeneri prepoznaju poznate uzorke, ali zamagljeni ili novoizgrađeni web shellovi im izmiču. Čist sken ne dokazuje da više ništa nije ostalo.
Kako znam koliko dugo je web shell na poslužitelju?
Naznake daju datum izmjene, zapisnici pristupa i pogrešaka te usporedbe s drugim novim datotekama. Vremenske oznake se, međutim, mogu krivotvoriti. Zato procjenjujemo više izvora i označavamo što je dokazano, a što pretpostavka.
Moram li nalaz prijaviti?
Čim bi mogli biti pogođeni osobni podaci, prijava nadzornom tijelu može biti potrebna. O tome savjetuju službenici za zaštitu podataka ili odvjetnici; mi isporučujemo tehničke činjenice.