Stručne: Webshell je malý súbor, cez ktorý môže cudzia osoba na diaľku ovládať váš server. Kto nejaký našiel, je veľmi pravdepodobne postihnutý a mal by sa ozvať hneď. Nemazať, neotvárať, najprv zabezpečiť. Na diaľku objasníme, ako sa dostal na server, či existujú ďalšie prístupy, a server vyčistíme.
Teraz nič nemažte a nič neinštalujte odznova. Aj samotný webshell zatiaľ zostane ležať, aby sa mohol zabezpečiť. Ste postihnutý? Zavolajte alebo napíšte cez WhatsApp, alebo nález nahláste cez Nahlásiť núdzový prípad.
Našli ste webshell: čo to znamená?
Webshell je skript PHP (alebo skript v inom serverovom jazyku), ktorý prijíma príkazy zvonka. Útočníci pomocou neho môžu čítať súbory, sťahovať údaje, doťahovať škodlivý kód a dosiahnuť ďalšie systémy. Súbor preto zriedka býva cieľom útoku. Je to zadné vrátko, ktoré páchateľ zanechá, aby sa mohol vrátiť.
Z toho vyplývajú dva dôsledky. Po prvé: Niekto už mal zapisovací prístup na váš server alebo mohol spúšťať kód. Po druhé: Nájdený súbor pravdepodobne nie je jediný. K tomu pristupuje to, čo často nevieme: Odkedy tam leží a čo sa medzitým s ním robilo?
Podľa čoho webshell spoznáte
- súbor PHP v adresári, v ktorom by žiadny nemal ležať, napríklad v nahrávaniach, cache, obrázkoch alebo dočasných adresároch
- názvy súborov, ktoré vyzerajú ako systémové súbory, ale nepatria k vášmu softvéru, alebo názvy s dvojitou príponou
- nečitateľný kód s dlhými reťazcami znakov, kódovaním a funkciami na spúšťanie príkazov, pozri Rozpoznanie zamaskovaného kódu PHP
- dátum zmeny, ktorý nezodpovedá vašim aktualizáciám
- prístupy na tento súbor v logoch, často z cudzích adries a s požiadavkami POST
- procesy webového servera, ktoré spúšťajú shell, ako je popísané v časti Varovný signál: webový server spúšťa shell
Ako nálezy správne vyhodnotiť, popisuje časť Súbory PHP v adresári pre nahrávanie a podrobne Rozpoznanie a odstránenie webshellov.
Čo urobiť hneď
- Súbor neotvárať a nespúšťať. Žiadne testy v prehliadači.
- Nemazať a nepresúvať. Nemeňte ani obsah, ani časové pečiatky.
- Zapísať si: úplnú cestu, názov súboru, čas nálezu, kto ho objavil a čím.
- Zabezpečiť súbor a metadáta: Kópia s vlastníkom, oprávneniami a časovými pečiatkami. Stačia kontrolné príkazy iba na čítanie, napríklad:
bash
stat /pfad/zur/datei.php
sha256sum /pfad/zur/datei.php
- Uchovať logy: Nenechať prepísať prístupové a chybové protokoly webového servera a PHP. Odborná tlač radí uchovať logy servera od 20. 10. 2026.
- V prípade potreby server oddeliť: Ak sa domnievate, že údaje unikajú, odpojte stránku od siete. Ako pritom zachovať dôkazy, popisuje Zabezpečte dôkazy skôr, než inštalujete odznova.
- Informovať nás, skôr než sa zmenia heslá alebo vyčistia súbory.
Ako PHP SOS konkrétne pomáha?
- Zmapovať situáciu: Čo sa našlo, kde, kedy a kto to našiel? Ktoré systémy ležia na tom istom serveri?
- Zabezpečiť a uzavrieť: Zabezpečíme nález, súbory, databázu a logy a zablokujeme prístupy, ktoré pôsobia podozrivo.
- Skontrolovať a vyčistiť: Hľadáme ďalšie webshelly, zmenené základné súbory, skryté cronjoby, cudzie administrátorské účty a neznáme kľúče SSH a odstraňujeme ich. Postup zodpovedá službe Odstránenie malvéru a webshellov.
- Spevniť a podať správu: Pomenujeme pravdepodobný vstup, uzavrieme ho a zabezpečíme server. Dostanete dokumentáciu s nálezmi a časovou osou.
Ako sa webshell dostal na server?
Typickými cestami sú zastarané pluginy alebo rozšírenia, nezabezpečené nahrávanie súborov, ukradnuté prístupové údaje a zraniteľnosti v softvéri servera. Od zverejnenia PHP2Shell pribúda ďalšia možnosť: PHP bez opráv z verzií 8.5.12, 8.4.27, 8.3.36 alebo 8.2.35 sa dá na diaľku zneužiť na spustenie kódu. Potvrdené Indicators of Compromise k tomu neexistujú, rozpoznanie sa opiera o správanie. Či vstup u vás prebehol cez PHP2Shell, alebo inou cestou, sa dá odvodiť iba zo stôp a my označujeme, čo je preukázané a čo domnienka. Ako pomáhajú logy, ukazuje Vyhodnotenie logov webového servera.
Záplata pritom existujúci webshell neodstráni. K tomu patrí aj ochrana proti budúcim nálezom: Zákaz spúšťania PHP v adresároch pre nahrávanie zabráni mnohým prípadom. Zvážte aj hranice skenerov malvéru: Sken bez nálezu nie je signál na odvolanie poplachu.
Ak potrebujete vedieť, čo presne sa stalo, napríklad pre poisťovateľa alebo úrady, môže byť užitočná IT forenzná analýza.
A ak sa webshell po zmazaní vráti?
Stáva sa to často a majú to väčšinou dva dôvody. Buď existuje aspoň jedno ďalšie zadné vrátko, ktoré nález znova vytvorí, alebo je vstupná brána stále otvorená a útočník jednoducho príde znova. Ani jedno sa nevyrieši opakovaným mazaním. Preto hľadáme súhrn zmien: nové a zmenené súbory, záznamy v databáze a konfigurácii, plánované úlohy, účty. Zoznam nedávno zmenených súborov je zmysluplným začiatkom, ale nenahrádza kontrolu odborníkmi.
Čo by ste nám mali poslať
- cestu a názov súboru, pokiaľ možno ako kópiu s časovými pečiatkami (spôsob odovzdania dohodneme)
- úryvky z prístupových logov okolo tohto súboru, ak máte prístup
- typ servera, poskytovateľa hostingu, verziu PHP a režim prevádzky, ak sú známe
- ktoré weby a aplikácie na serveri bežia
- kedy naposledy prebehli aktualizácie, nahrávania alebo zmeny
Prečo PHP SOS
Pracujeme Made in Germany a vďaka partnerskej sieti kybernetických profesionálov sa už vyše 25 rokov špecializujeme na IT bezpečnosť. Jeden kontaktný partner vás incidentom prevedie. Pracujeme na diaľku bez výjazdu v celej Európe, dokumentujeme každý krok a nedávame sľuby, ktoré nikto nemôže dodržať. Zostávame pri tom, kým nie je incident uzavretý a zdokumentovaný.
Ste postihnutý? Zavolajte. Pomôžeme vám.
Nájdený webshell je varovný signál, ktorý by ste mali brať vážne. Ozvite sa hneď, telefonicky alebo cez WhatsApp, a preberáme prípad od prvej správy. Nahlásiť núdzový prípad teraz
Časté otázky
Našiel som webshell. Môžem súbor jednoducho zmazať?
Prosím nie ako prvé. Súbor ukazuje, kedy a čím útočník prišiel. Najprv ho zabezpečte vrátane časových pečiatok a vlastníka, potom sa cielene odstráni. Kto len maže, zvyčajne zanechá ďalšie prístupy.
Mám podozrivý súbor otvoriť v prehliadači, aby som videl, čo robí?
Nie. Otvorenie môže spustiť škodlivý kód a zahladiť ďalšie stopy. Súbor kontrolujte iba na čítanie a najlepšie na kópii.
Stačí skener malvéru na nájdenie všetkých webshellov?
Nie spoľahlivo. Skenery rozpoznajú známe vzory, ale zamaskované alebo nové webshelly im unikajú. Čistý sken nedokazuje, že tam nič nezostalo.
Ako zistím, ako dlho webshell na serveri leží?
Náznaky poskytujú dátum zmeny, prístupové a chybové logy aj porovnania s inými novými súbormi. Časové pečiatky sa však dajú sfalšovať. Preto posudzujeme viac zdrojov a označujeme, čo je preukázané a čo domnienka.
Musím nález nahlásiť?
Hneď ako by mohli byť dotknuté osobné údaje, môže byť potrebné oznámenie dozornému orgánu. Poradia vám zodpovedné osoby pre ochranu údajov alebo právnici; technické fakty dodáme my.