Dabartinė padėtis: PHP2Shell. Du kritiniai PHP pažeidžiamumai (CVSS 9,2) leidžia vykdyti kenkėjišką kodą be prisijungimo. Pataisos nuo 2026-10-21.Ką dabar daryti →

Kenkėjiškų programų skeneriai svetainėms: ką jie randa ir ko ne

Skeneris nieko nepraneša, vadinasi, viskas gerai? Nebūtinai. Kokių rūšių svetainių skenerių yra, ką mato kiekvienas ir ko iš principo matyti negali.

Būsena 4 min. skaitymoAptikimas ir forensika

Trumpai: svetainės kenkėjiškų programų skeneris randa daugiausia žinomus šablonus failuose arba pateiktame puslapyje. Naujas ir užmaskuotas kodas, užpakalinės durys duomenų bazėje, svetimos paskyros, cron užduotys ir SSH raktai dažnai lieka nematomi. Todėl „nieko nerasta“ nereiškia „švaru“. Patikra tampa patikima tik derinant skenerį, palyginimą su originalu, duomenų bazės ir sistemos patikrą bei elgsenos stebėseną.

Apgaulinga ramybė po žalios varnelės

Po PHP2Shell daugelis operatorių padarė tai, kas atrodo savaime suprantama: paleido skenerį. Internetinė paslauga patikrina pradžios puslapį, saugumo papildinys peržiūri žiniatinklio katalogą, rezultatas žalias. Atrodo, kad klausimas, ar prieš pataisą kas nors įvyko, atsakytas.

Problema slypi principe. Dauguma skenerių lygina turinį su žinomos kenkėjiškos programinės įrangos šablonais. Tačiau pažeidžiamumams CVE-2026-109618 ir CVE-2026-109619 nėra paskelbtų, patvirtintų kompromitavimo indikatorių (Indicators of Compromise); aptikimas remiasi elgsenos analize. Skeneris negali ieškoti pėdsakų, kurių niekas nepažįsta. Geriausiu atveju jis randa bendrą kenkėjišką programinę įrangą, kuri buvo atsisiųsta po įsilaužimo, jei ji atitinka žinomus šablonus.

Tai skenerių nepadaro bevertių. Tai tik reiškia, kad jų rezultatą reikia teisingai įvertinti. Kokie požymiai svarbūs be skenerių, aprašo Ar jau esu pažeistas?.

Svetainės kenkėjiškų programų skeneris: trys konstrukcijos

Konstrukcija Ką mato Ko nemato
Išorinis skeneris (internetinė paslauga) pateiktus puslapius, įtrauktus skriptus, nukreipimus, juodąsias sąrašus failų, duomenų bazės, paskyrų, visko, kas pateikiama tik esant sąlygoms
Skeneris CMS (papildinys ar plėtinys) failus žiniatinklio kataloge, iš dalies duomenų bazės turinį, palyginimą su branduolio failais sistemos lygmens, cron užduočių, SSH; veikia galbūt pažeistoje sistemoje
Skeneris serveryje (pagal parašus) visus skaitomus failus, taip pat už žiniatinklio katalogo ribų nežinomų ir užmaskuotų šablonų, duomenų bazės, paskyrų, elgsenos

Išoriniai skeneriai naudingi matomoms pasekmėms atpažinti, pavyzdžiui, nukreipimams ar įrašams juodajame sąraše. Tačiau daugelis įsilaužimų šlamšto ar nukreipimo turinį pateikia tik tam tikriems lankytojams, pavyzdžiui, paieškos sistemoms ar mobiliesiems įrenginiams. Tada skeneris mato švarų puslapį.

Skeneriai CMS mato daugiau, bet turi esminę problemą: jie veikia toje pačioje sistemoje, kurią turėtų tikrinti. Pakankamų teisių turintis kodas gali paveikti jų rezultatus, paslėpti failus ar išjungti skenerį. Serverio skeneriai dirba už programos ribų, bet lieka priklausomi nuo šablonų.

Ką skeneriai iš esmės praleidžia

Nepriklausomai nuo konstrukcijos, yra sričių, kurias failų ar puslapių skeneris vargiai gali apimti:

  1. Naujas ar individualiai užmaskuotas kodas: kiekvienas variantas, atrodantis kitaip nei žinomi šablonai, praslysta.
  2. Duomenų bazė: skriptai turinyje, pakeisti nustatymai, trigeriai ir svetimos paskyros. Daugiau apie tai skyriuje Duomenų bazės patikra dėl įterpto kodo.
  3. Prieigos: papildomos administratoriaus paskyros, SSH raktai, duomenų bazės naudotojai, paskyros hostingo valdymo skydelyje.
  4. Sistemos paslaugos ir cron užduotys: mechanizmai, kurie reguliariai atsisiunčia kenkėjišką kodą.
  5. Nepastebimi teisėtų failų pakeitimai: viena papildoma eilutė branduolio faile, atrodanti nekenksmingai.
  6. Nutekėję duomenys: ar prisijungimo duomenys arba klientų duomenys nukopijuoti, nerodo joks skeneris.

Kas vietoj to suteikia tikrumo

Daugiau saugumo suteikia skirtingai veikiančių patikros rūšių derinys:

  • Palyginimas su originalu: jis randa kiekvieną žinomų failų pakeitimą nepriklausomai nuo šablonų. Eigą aprašo CMS branduolio failų palyginimas su originalu.
  • Tikslinga įtartinų požymių paieška: PHP failai įkėlimų aplankuose, neseniai pakeisti failai, užmaskuotas kodas, vykdomieji failai laikinuosiuose aplankuose.
  • Paskyrų ir sistemos paslaugų patikra: naudotojus, raktus, cron užduotis ir paslaugas palyginti su žinoma tiksline būsena.
  • Žurnalų analizė: užklausos į nežinomus failus, klaidų susikaupimai, neįprasti prisijungimai.
  • Elgsenos stebėsena: žiniatinklio serverio procesai, paleidžiantys apvalkalą (shell), netikėti išeinantys ryšiai, nauji failai jautriuose aplankuose.

Paskutinė kategorija svarbiausia, kai žinomų pėdsakų nėra. Ji klausia ne to, kaip kenkėjiškas kodas atrodo, o ką jis daro. Žiniatinklio serverio procesas, kuris staiga paleidžia apvalkalą, išsiskiria, nesvarbu, kaip užmaskuotas jį paleidžiantis kodas.

Patarimas

Serverio skenerį paleiskite iš švarios sistemos per tik skaitomą kopiją, o ne pačiame įtartiname serveryje. Taip įterptas kodas negali paveikti rezultato.

Kaip prasmingai naudoti skenerius

Skeneriai turi savo vietą kaip vienas įrankis tarp kelių. Išorinis skeneris tinka kaip reguliari matomų pasekmių kontrolė, pavyzdžiui, kas savaitę. Skeneris CMS kasdien praneša apie žinomą kenkėjišką programinę įrangą ir pakeistus branduolio failus. Serverio skeneris papildo žinomų šablonų paiešką visoje failų sistemoje.

Lemia požiūris į rezultatą. Radinys yra aiški patikros užduotis ir pateisina pilną tyrimą, nes retai paveiktas tik vienas failas. Tuščias rezultatas, priešingai, yra tik teiginys apie patikrintus šablonus. Savo dokumentacijoje užfiksuokite, kuris skeneris kada ir su kokia būsena veikė, ir rašykite ne „sistema švari“, o „žinomų šablonų nerasta“.

Vadovybei tai reiškia: žalia varnelė nepakeičia patikros, kurią atlieka tas, kas kartu vertina failus, duomenų bazę, paskyras ir elgseną. Po incidento su galimu kodo vykdymu, kaip įmanoma PHP2Shell atveju, ši patikra turėtų įvykti.

Jei skeneris vis dėlto praneša apie radinį, reikia greito, bet tvarkingo veikimo. Neištrinkite pranešto failo iš karto skenerio funkcija. Pirmiausia išsaugokite failą ir žurnalus, kad būtų galima išsiaiškinti, kaip jis pateko į serverį. Kaip vyksta pilnas išvalymas, aprašo paslauga Kenkėjiškų programų ir webshell šalinimas.

Kaip PHP SOS padeda konkrečiai?

  • Skenerius derinome su palyginimu su originalu, tikslinga paieška ir paskyrų, paslaugų bei žurnalų analize.
  • Įtartinas sistemas tikriname per išsaugotas kopijas, kad rezultatų neįtakotų pažeista sistema.
  • Kiekvieną rezultatą sąžiningai pažymime kaip įrodytą, tikėtiną arba nežinomą.
  • Su serverių saugumo stebėsena nuolat stebime jūsų serverių elgseną, o ne tik žinomus šablonus.

Dažni klausimai

Ar mano svetainė švari, jei kenkėjiškų programų skeneris nieko neranda?

Nebūtinai. Skeneriai randa daugiausia žinomus šablonus. Naujas ar gerai užmaskuotas kodas, užpakalinės durys duomenų bazėje, svetimos paskyros, cron užduotys ir SSH raktai dažnai lieka neaptikti. Tuščias rezultatas yra dalis vaizdo, o ne išteisinimas.

Kuo skiriasi išorinis skeneris nuo papildinio skenerio?

Išorinis skeneris kreipiasi į svetainę iš išorės ir mato tik tai, kas pateikiama. Papildinio skeneris veikia CMS viduje ir gali skaityti failus, bet veikia toje pačioje sistemoje, kuri galbūt pažeista. Abu turi savų aklųjų taškų.

Ar yra skenerių parašų PHP2Shell?

PHP2Shell nėra paskelbtų, patvirtintų kompromitavimo indikatorių (Indicators of Compromise). Todėl skeneriai negali tikslingai ieškoti patvirtintų PHP2Shell pėdsakų. Aptikimas remiasi elgsenos analize ir bendrų kompromitavimo požymių paieška.

Kuris skeneris geriausias?

Klausimas klaidina. Svarbiau už konkretų produktą yra skirtingų patikros rūšių derinys: palyginimas su originalu, paieška failuose ir duomenų bazėje, paskyrų ir sistemos paslaugų patikra bei elgsenos stebėsena.

Šaltiniai

Skubus kontaktas

Kiekviena valanda svarbi. Parašykite mums dabar.

Trumpai aprašykite sistemą, PHP versiją ir pastebėjimus. Mes atsakysime, išsiaiškinsime padėtį ir dirbsime nuotoliu, kol incidentas bus užbaigtas ir dokumentuotas.

Skubi pagalba