Späť na portfólio
Bezpečnost webů Joomla

Webshell rozkopírovaný do viacerých častí webu

Anonymizovaný prípad, v ktorom sa rovnaký upload backdoor nachádzal v obrázkoch, médiách aj šablóne.

Menší prezentačný web mimo zdravotníctva. Predchádzajúci zásah spočíval v tom, že sa zmazal nájdený škodlivý súbor. Web sa krátko nato správal rovnako ako predtým — čo je najčastejší scenár, s ktorým sa pri opakovaných infekciách stretávame.

Čo sme našli

Audit odhalil osem náhodne pomenovaných PHP súborov s rovnakou signatúrou webshellu. Neboli len v priečinku s obrázkami, ale aj v šablónach a médiách, a pri časti z nich existovali ďalšie kópie v podpriečinkoch. Shell obsahoval nahrávací formulár a operácie na presun, kopírovanie a zápis súborov — teda všetko potrebné na to, aby sa sám množil ďalej.

Databáza obsahovala inventár tých istých súborov vo viacerých cestách a stopy po predchádzajúcom mazaní. Pôvodný vstupný vektor sa pritom nepodarilo určiť s istotou — a to je poctivejší záver než dodatočne vykonštruovaná príčina.

Ako sme postupovali

Kľúčové bolo inventarizovať kópie podľa obsahu, nie podľa názvu. Náhodne generované názvy súborov znamenajú, že hľadanie podľa mena nájde len tú kópiu, ktorú už poznáte.

Po odstránení shellov sme prešli priečinky obrázkov, médií aj šablón, šablónu a framework obnovili z dôveryhodných balíkov a skontrolovali backendové účty, session záznamy a prístupové logy. Nasledovala rotácia hesiel k Joomle, FTP/SFTP, databáze aj hostingu, nasadenie viacfaktorového overenia a obmedzenie zápisu do verejne dostupných priečinkov s assetmi. Zásah sme uzavreli opakovaným skenom a novou čistou zálohou.

Výsledok

Rozhodujúce nebolo zmazanie prvého nájdeného súboru, ale nájdenie všetkých identických kópií naprieč webom a obnovenie dôveryhodných komponentov. Obmedzenie zápisu do assetových priečinkov zároveň odstránilo mechanizmus, ktorým sa malvér šíril.

Čo si z toho odniesť

Náhodne pomenované PHP súbory v priečinkoch, ktoré majú obsahovať len obrázky, médiá alebo šablónu, znamenajú povinnosť preveriť celý webroot, zálohy aj databázový inventár. Jedna odstránená kópia neznamená uzavretý incident — a priečinok, o ktorom si myslíte, že sú v ňom „len obrázky“, je presne to miesto, kam sa malvér skrýva.