# Rastas webshell? Kaip dabar teisingai elgtis

> Radote webshell ar įtartiną PHP failą? Netrinkite, pirmiausia išsaugokite. Išsiaiškiname apimtį ir įsilaužimo kelią. Skambinkite arba rašykite per WhatsApp.

Šaltinis: https://phpsos.de/lt/soforthilfe/webshell-gefunden/  
Būsena: 2026-10-25  
Teikėjas: PHP SOS, PHP avarinė pagalba ir serverio sauga. Skubi pagalba per „WhatsApp“: https://wa.me/491736494914?text=Sveiki%2C%20PHP%20SOS%2C%20mums%20reikia%20pagalbos%20su%20m%C5%ABs%C5%B3%20PHP%20serveriu.%20%C4%AEmon%C4%97%3A%20%E2%80%A6%20Svetain%C4%97%3A%20%E2%80%A6

**Trumpai:** Webshell yra mažas failas, per kurį svetimas asmuo gali nuotoliu valdyti jūsų serverį. Kas jį rado, labai tikėtina, yra paveiktas ir turėtų nedelsdamas susisiekti. Netrinkite, neatidarykite, pirmiausia išsaugokite. Nuotoliu išsiaiškiname, kaip jis pateko į serverį, ar yra kitų prieigų, ir išvalome serverį.

> **Veikti nedelsiant:**
> **Dabar nieko netrinkite ir neįrenkite iš naujo.** Ir pats webshell iš pradžių lieka vietoje, kad galėtų būti išsaugotas. Ar tai jus palietė? Skambinkite arba rašykite per WhatsApp arba pranešykite apie radinį per [Pranešti apie avariją](https://phpsos.de/lt/notfall/).

## Radote webshell: ką tai reiškia?

Webshell yra PHP skriptas (arba kita serverio kalba parašytas skriptas), kuris priima komandas iš išorės. Su juo užpuolikai gali skaityti failus, siųstis duomenis, atsisiųsti kenkėjišką kodą ir pasiekti kitas sistemas. Todėl failas retai būna atakos tikslas. Tai užpakalinės durys, kurias įsilaužėlis palieka, kad galėtų sugrįžti.

Iš to kyla dvi pasekmės. Pirma: kas nors jau turėjo rašymo prieigą prie jūsų serverio arba galėjo vykdyti kodą. Antra: rastas failas tikriausiai nėra vienintelis. Be to, dažnai nežinoma: nuo kada jis ten ir kas per tą laiką su juo buvo daroma?

## Kaip atpažinti webshell

- PHP failas aplanke, kuriame jų neturėtų būti, pavyzdžiui, įkėlimų, talpyklos, paveikslėlių ar laikinuosiuose aplankuose
- failų pavadinimai, kurie atrodo kaip sisteminiai, bet nepriklauso jūsų programinei įrangai, arba pavadinimai su dviguba galūne
- neįskaitomas kodas su ilgomis simbolių eilutėmis, kodavimu ir komandų vykdymo funkcijomis, žr. [Užmaskuoto PHP kodo atpažinimas](https://phpsos.de/lt/blog/verschleierter-php-code/)
- pakeitimo data, kuri nedera su jūsų atnaujinimais
- prieigos prie šio failo žurnaluose, dažnai iš svetimų adresų ir su POST užklausomis
- žiniatinklio serverio procesai, paleidžiantys shell, kaip aprašyta skyriuje [Perspėjimo ženklas: žiniatinklio serveris paleidžia shell](https://phpsos.de/lt/blog/webserver-startet-shell/)

Kaip teisingai suprasti radinius, aprašyta skyriuje [PHP failai įkėlimų aplanke](https://phpsos.de/lt/blog/php-dateien-im-upload-ordner/), o išsamiai skyriuje [Webshell atpažinimas ir šalinimas](https://phpsos.de/lt/ratgeber/webshell-erkennen/).

## Ką daryti nedelsiant

1. **Neatidarykite ir nevykdykite failo.** Jokių testų naršyklėje.
2. **Netrinkite ir neperkelkite.** Nekeiskite nei turinio, nei laiko žymų.
3. **Užsirašykite:** pilną kelią, failo pavadinimą, radimo laiką, kas ir kuo jį atrado.
4. **Išsaugokite failą ir metaduomenis:** kopiją su savininku, teisėmis ir laiko žymomis. Pakanka tik skaitančių tikrinimo komandų, pavyzdžiui:

   ```bash
   stat /pfad/zur/datei.php
   sha256sum /pfad/zur/datei.php
   ```

5. **Saugokite žurnalus:** neleiskite perrašyti žiniatinklio serverio ir PHP prieigos bei klaidų protokolų. Specializuota spauda pataria saugoti serverio žurnalus nuo 2026 m. spalio 20 d.
6. **Prireikus atskirkite serverį:** jei įtariate, kad duomenys nutekinami, atjunkite svetainę nuo tinklo. Kaip tuo metu išsaugoti įrodymus, aprašo [Išsaugokite įrodymus prieš įrengdami iš naujo](https://phpsos.de/lt/blog/beweise-sichern-vor-neuinstallation/).
7. **Informuokite mus,** prieš keisdami slaptažodžius ar valydami failus.

## Kaip PHP SOS padeda konkrečiai?

1. **Įvertiname padėtį:** kas rasta, kur, kada ir kieno? Kurios sistemos veikia tame pačiame serveryje?
2. **Išsaugome ir uždarome:** išsaugome radinį, failus, duomenų bazę ir žurnalus ir užblokuojame įtartinai atrodančias prieigas.
3. **Tikriname ir valome:** ieškome kitų webshell, pakeistų branduolio failų, [paslėptų cron užduočių](https://phpsos.de/lt/blog/cronjobs-als-hintertuer/), svetimų administratoriaus paskyrų ir [nežinomų SSH raktų](https://phpsos.de/lt/blog/ssh-schluessel-pruefen/) ir juos pašaliname. Eiga atitinka paslaugą [Kenkėjiškos programinės įrangos ir webshell šalinimas](https://phpsos.de/lt/leistungen/malware-entfernung/).
4. **Sutvirtiname ir pateikiame ataskaitą:** įvardijame tikėtiną įsilaužimo kelią, jį uždarome ir apsaugome serverį. Gaunate dokumentaciją su radiniais ir laiko juosta.

## Kaip webshell pateko į serverį?

Tipiniai keliai yra pasenę papildiniai ar plėtiniai, nesaugūs failų įkėlimai, pavogti prieigos duomenys ir spragos serverio programinėje įrangoje. Nuo PHP2Shell paskelbimo atsirado dar viena galimybė: PHP be taisymų iš 8.5.12, 8.4.27, 8.3.36 ar 8.2.35 gali būti nuotoliu išnaudotas kodui vykdyti. Patvirtintų kompromitavimo rodiklių (Indicators of Compromise) apie tai nėra, aptikimas remiasi elgsena. Ar jūsų atveju įsilaužta per PHP2Shell, ar kitu keliu, galima nustatyti tik iš pėdsakų, ir mes pažymime, kas įrodyta, o kas spėjama. Kaip žurnalai tame padeda, rodo [Žiniatinklio serverio žurnalų analizė](https://phpsos.de/lt/ratgeber/logfiles-auswerten/).

Pataisa esamo webshell nepašalina. Apsauga nuo būsimų radinių taip pat priklauso: [PHP vykdymo draudimas įkėlimų aplankuose](https://phpsos.de/lt/blog/php-in-uploads-verbieten/) užkerta kelią daugeliui atvejų. Be to, atminkite [kenkėjiškų programų skaitytuvų ribas](https://phpsos.de/lt/blog/grenzen-von-malware-scannern/): skaitymas be radinio nėra atsipalaidavimo signalas.

Jei turite žinoti, kas tiksliai įvyko, pavyzdžiui, draudikui ar institucijoms, gali būti prasminga [IT forensika](https://phpsos.de/lt/leistungen/it-forensik/).

## O jei webshell po ištrynimo sugrįžta?

Tai nutinka dažnai ir dažniausiai turi dvi priežastis. Arba yra bent viena kita užpakalinė durų anga, kuri radinį sukuria iš naujo, arba įsilaužimo kelias tebėra atviras ir užpuolikas tiesiog grįžta. Nė vieno neišsprendžia pakartotinis trynimas. Todėl ieškome visų pakeitimų visumos: nauji ir pakeisti failai, įrašai duomenų bazėje ir konfigūracijoje, suplanuotos užduotys, paskyros. [Neseniai pakeistų failų sąrašas](https://phpsos.de/lt/blog/geaenderte-dateien-finden/) yra prasminga pradžia, bet specialistų patikros neatstoja.

## Ką mums atsiųsti

- Failo kelias ir pavadinimas, pageidautina kaip kopija su laiko žymomis (perdavimo būdą suderinsime)
- Prieigos žurnalų ištraukos apie šį failą, jei turite prieigą
- Serverio rūšis, hostingo teikėjas, PHP versija ir veikimo režimas, jei žinoma
- kurios svetainės ir programos veikia serveryje
- kada paskutinį kartą vyko atnaujinimai, įkėlimai ar pakeitimai

## Kodėl PHP SOS

Dirbame Made in Germany ir kartu su savo kibernetinių specialistų partnerių tinklu daugiau nei 25 metus specializuojamės IT saugumo srityje. Kontaktinis asmuo veda jus per incidentą. Dirbame nuotoliu, be atvykimo, visoje Vokietijoje ir Europoje, dokumentuojame kiekvieną žingsnį ir nežadame to, ko niekas negali pažadėti. Pasiliekame, kol incidentas bus užbaigtas ir dokumentuotas.

## Ar tai jus palietė? Skambinkite. Padėsime.

Rastas webshell yra perspėjimo ženklas, kurį reikėtų vertinti rimtai. Susisiekite dabar, skambučiu ar per WhatsApp, ir perimame nuo pirmos žinutės. [Pranešti apie avariją dabar](https://phpsos.de/lt/notfall/)


## Dažni klausimai

**Radau webshell. Ar galiu tiesiog ištrinti failą?**  
Prašom ne kaip pirmo žingsnio. Failas rodo, kada ir kaip atėjo užpuolikas. Pirmiausia jį išsaugokite kartu su laiko žymomis ir savininku, tada jis pašalinamas tikslingai. Kas tik ištrina, dažniausiai palieka kitas prieigas.

**Ar įtartiną failą turėčiau atidaryti naršyklėje, kad pamatyčiau, ką jis daro?**  
Ne. Atidarymas gali paleisti kenkėjišką kodą ir užmaskuoti kitus pėdsakus. Failą tikrinkite tik skaitydami ir geriausia kopijoje.

**Ar kenkėjiškų programų skaitytuvo pakanka visiems webshell rasti?**  
Nepatikimai. Skaitytuvai atpažįsta žinomus šablonus, bet užmaskuoti ar naujai sukurti webshell jiems išslysta. Švarus skaitymo rezultatas neįrodo, kad nieko nebeliko.

**Iš ko žinosiu, kiek laiko webshell yra serveryje?**  
Užuominų duoda pakeitimo data, prieigos ir klaidų žurnalai bei palyginimai su kitais naujais failais. Laiko žymas tačiau galima suklastoti. Todėl vertiname kelis šaltinius ir pažymime, kas įrodyta, o kas spėjama.

**Ar radinį turiu pranešti?**  
Kai tik galėjo būti paveikti asmens duomenys, gali reikėti pranešti priežiūros institucijai. Dėl to konsultuoja duomenų apsaugos pareigūnai ar teisininkai; mes pateikiame techninius faktus.

## Šaltiniai

- [BSI (Vokietijos federalinė informacijos saugumo tarnyba)](https://www.bsi.bund.de/)
- [OWASP Cheat Sheets](https://cheatsheetseries.owasp.org/)
- [BDAR 33 straipsnis: pranešimas priežiūros institucijai](https://dsgvo-gesetz.de/art-33-dsgvo/)
