# Webshell nalezen? Jak nyní správně postupovat

> Našli jste webshell nebo podezřelý soubor PHP? Nemažte, nejdřív zajistěte. Ověříme rozsah i vstupní bod. Zavolejte nebo napište přes WhatsApp.

Zdroj: https://phpsos.de/cs/soforthilfe/webshell-gefunden/  
Stav: 25.10.2026  
Poskytovatel: PHP SOS, Nouzová pomoc pro PHP a bezpečnost serverů. Okamžitá pomoc přes WhatsApp: https://wa.me/491736494914?text=Dobr%C3%BD%20den%2C%20PHP%20SOS%2C%20pot%C5%99ebujeme%20pomoc%20s%20na%C5%A1%C3%ADm%20PHP%20serverem.%20Firma%3A%20%E2%80%A6%20Web%3A%20%E2%80%A6

**Stručně:** Webshell je malý soubor, přes který může cizí osoba vzdáleně ovládat váš server. Kdo ji našel, je velmi pravděpodobně zasažen a měl by se ihned ozvat. Nemazat, neotevírat, nejdřív zajistit. Na dálku objasníme, jak se na server dostala, zda existují další přístupy, a server vyčistíme.

> **Jednejte ihned:**
> **Nyní nic nemažte a nic znovu nenasazujte.** Také samotná webshell zatím zůstane ležet, aby ji bylo možné zajistit. Týká se to vás? Zavolejte nebo napište přes WhatsApp, nebo nález nahlaste přes [Nahlásit nouzi](https://phpsos.de/cs/notfall/).

## Našli jste webshell: co to znamená?

Webshell je skript PHP (nebo skript v jiném serverovém jazyce), který přijímá příkazy zvenčí. Útočníci tak mohou číst soubory, stahovat data, dohrávat škodlivý kód a dosáhnout dalších systémů. Soubor proto jen zřídka bývá cílem útoku. Je to zadní vrátka, která po sobě zanechává vloupač, aby se mohl vrátit.

Z toho plynou dva důsledky. Za prvé: někdo už měl na váš server přístup pro zápis nebo mohl spouštět kód. Za druhé: nalezený soubor pravděpodobně není jediný. K tomu přistupuje, co často nevíte: od kdy tam leží a co se s ním mezitím dělo?

## Podle čeho webshell poznáte

- soubor PHP ve složce, kde žádný být nemá, například v nahraných souborech, cache, obrázcích nebo dočasných adresářích
- názvy souborů, které vypadají jako systémové soubory, ale k vašemu software nepatří, nebo názvy s dvojitou příponou
- nečitelný kód s dlouhými řetězci znaků, kódováním a funkcemi pro spouštění příkazů, viz [Rozpoznání zastřeného kódu PHP](https://phpsos.de/cs/blog/verschleierter-php-code/)
- datum změny, které nesedí k vašim aktualizacím
- přístupy k tomuto souboru v lozích, často z cizích adres a s požadavky POST
- procesy webového serveru, které spouštějí shell, jak je popsáno v článku [Varovný signál: webový server spouští shell](https://phpsos.de/cs/blog/webserver-startet-shell/)

Jak nálezy správně vyložit, najdete v článku [Soubory PHP ve složce pro nahrávání](https://phpsos.de/cs/blog/php-dateien-im-upload-ordner/) a podrobně v článku [Rozpoznání a odstranění webshellů](https://phpsos.de/cs/ratgeber/webshell-erkennen/).

## Co udělat hned

1. **Soubor neotevírat a nespouštět.** Žádné testy v prohlížeči.
2. **Nemazat ani nepřesouvat.** Neměňte obsah ani časová razítka.
3. **Zapsat si:** úplnou cestu, název souboru, čas nálezu, kdo ho objevil a čím.
4. **Zajistit soubor a metadata:** kopii s vlastníkem, oprávněními a časovými razítky. Stačí kontrolní příkazy jen pro čtení, například:

   ```bash
   stat /pfad/zur/datei.php
   sha256sum /pfad/zur/datei.php
   ```

5. **Uchovat logy:** nenechte přepsat přístupové a chybové protokoly webového serveru a PHP. Odborný tisk radí uchovat logy serveru od 20. 10. 2026.
6. **Server v případě potřeby odstínit:** pokud tušíte, že unikají data, odpojte web od sítě. Jak přitom zachovat důkazy, popisuje stránka [Zajistit důkazy před novou instalací](https://phpsos.de/cs/blog/beweise-sichern-vor-neuinstallation/).
7. **Informovat nás,** než se změní hesla nebo vyčistí soubory.

## Jak PHP SOS konkrétně pomáhá?

1. **Zmapování situace:** Co bylo nalezeno, kde, kdy a kým? Jaké systémy leží na stejném serveru?
2. **Zajištění a uzavření:** Zajistíme nález, soubory, databázi a logy a zablokujeme přístupy, které působí podezřele.
3. **Kontrola a vyčištění:** Hledáme další webshelly, změněné základní soubory, [skryté cron úlohy](https://phpsos.de/cs/blog/cronjobs-als-hintertuer/), cizí účty administrátorů a [neznámé klíče SSH](https://phpsos.de/cs/blog/ssh-schluessel-pruefen/) a odstraňujeme je. Postup odpovídá službě [Odstranění malwaru a webshellů](https://phpsos.de/cs/leistungen/malware-entfernung/).
4. **Hardening a zpráva:** Pojmenujeme pravděpodobný vstupní bod, uzavřeme ho a server zabezpečíme. Dostanete dokumentaci s nálezy a časovou osou.

## Jak se webshell dostala na server?

Typické cesty jsou zastaralé pluginy nebo rozšíření, nezabezpečená nahrávání souborů, odcizené přístupové údaje a zranitelnosti v software serveru. Od zveřejnění PHP2Shell přibývá další možnost: PHP bez oprav z verzí 8.5.12, 8.4.27, 8.3.36 nebo 8.2.35 lze zneužít ke vzdálenému spuštění kódu. Potvrzené indikátory kompromitace (Indicators of Compromise) k tomu neexistují, detekce se opírá o chování. Zda vstup u vás vedl přes PHP2Shell, nebo jinou cestou, lze odvodit jen ze stop, a my označujeme, co je doloženo a co domněnka. Jak v tom pomáhají logy, ukazuje článek [Vyhodnocení logů webového serveru](https://phpsos.de/cs/ratgeber/logfiles-auswerten/).

Záplata přitom existující webshell neodstraní. K tomu patří i ochrana proti budoucím nálezům: [Zakázat spouštění PHP ve složkách pro nahrávání](https://phpsos.de/cs/blog/php-in-uploads-verbieten/) brání mnoha případům. Mějte také na paměti [hranice skenerů malwaru](https://phpsos.de/cs/blog/grenzen-von-malware-scannern/): sken bez nálezu není signál, že je vše v pořádku.

Pokud potřebujete vědět, co přesně se stalo, například pro pojišťovnu nebo úřady, může být smysluplná [IT forenzní analýza](https://phpsos.de/cs/leistungen/it-forensik/).

## A co když se webshell po smazání vrací?

To se stává často a mívá to zpravidla dvě příčiny. Buď existují alespoň jedna další zadní vrátka, která nález znovu vytvářejí, nebo je vstupní brána dál otevřená a útočník prostě přijde znovu. Ani jedno se nevyřeší opakovaným mazáním. Proto hledáme souhrn všech změn: nové a změněné soubory, záznamy v databázi a konfiguraci, naplánované úlohy, účty. [Seznam nedávno změněných souborů](https://phpsos.de/cs/blog/geaenderte-dateien-finden/) je přitom rozumným začátkem, ale nenahrazuje kontrolu odborníky.

## Co nám poslat

- cestu a název souboru, pokud možno jako kopii s časovými razítky (způsob předání dohodneme)
- výňatky z přístupových logů kolem tohoto souboru, pokud máte přístup
- druh serveru, hosting, verzi PHP a provozní režim, pokud jsou známy
- jaké weby a aplikace na serveru běží
- kdy naposledy proběhly aktualizace, nahrávání nebo změny

## Proč PHP SOS

Pracujeme v duchu „Made in Germany“ a spolu s naší partnerskou sítí odborníků na kybernetickou bezpečnost se již více než 25 let specializujeme na IT bezpečnost. Jeden kontaktní bod vás incidentem provede. Pracujeme na dálku bez cestování v celém Německu i v Evropě, dokumentujeme každý krok a nedáváme sliby, které nikdo nemůže splnit. Zůstáváme u toho, dokud není incident uzavřen a zdokumentován.

## Týká se to vás? Zavolejte nám. Pomůžeme.

Nalezená webshell je varovné znamení, které byste měli brát vážně. Ozvěte se hned, telefonem nebo přes WhatsApp, a my přebíráme situaci od první zprávy. [Nahlásit nouzi hned](https://phpsos.de/cs/notfall/)


## Časté dotazy

**Našel jsem webshell. Smím soubor jednoduše smazat?**  
Prosím ne jako první krok. Soubor ukazuje, kdy a čím útočník přišel. Nejdřív ho zajistěte včetně časových razítek a vlastníka, poté se cíleně odstraní. Kdo jen maže, zpravidla zanechá další přístupy.

**Mám podezřelý soubor otevřít v prohlížeči, abych viděl, co dělá?**  
Ne. Otevření může škodlivý kód spustit a smazat další stopy. Soubor kontrolujte jen pro čtení a nejlépe na kopii.

**Stačí skener malwaru k nalezení všech webshellů?**  
Ne spolehlivě. Skenery rozpoznávají známé vzory, ale zastřené nebo nově vytvořené webshelly jim unikají. Čistý sken neprokazuje, že už nic nezbylo.

**Jak zjistím, jak dlouho už webshell na serveru leží?**  
Vodítko dávají datum změny, přístupové a chybové logy i srovnání s dalšími novými soubory. Časová razítka však lze zfalšovat. Proto posuzujeme více zdrojů a označujeme, co je doloženo a co domněnka.

**Musím nález nahlásit?**  
Jakmile by mohly být dotčeny osobní údaje, může být nutné hlášení dozorovému úřadu. K tomu poradí pověřenec pro ochranu osobních údajů nebo právníci; technická fakta dodáme my.

## Zdroje

- [BSI: Spolkový úřad pro informační bezpečnost (Německo)](https://www.bsi.bund.de/)
- [OWASP Cheat Sheets](https://cheatsheetseries.owasp.org/)
- [GDPR čl. 33: hlášení dozorovému úřadu](https://dsgvo-gesetz.de/art-33-dsgvo/)
