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

Aktívny webshell s úplnou kontrolou nad webom

Anonymizovaný prípad kritickej kompromitácie Joomla webu, pri ktorej samotné mazanie súborov nestačilo.

Zdravotnícky web na Joomle. Klient prišiel s tým, že sa web správa „divne“ — a priniesol zálohu s prosbou, nech ju nasadíme späť. Namiesto toho sme zálohu najprv preverili offline. Ukázalo sa, že práve to rozhodlo o celom priebehu obnovy.

Čo sme našli

V zálohe boli dva rozsiahle PHP webshelly zo známej rodiny administračných shellov, samostatný backdoor umožňujúci upload súborov a spúšťanie systémových príkazov, a upravené pravidlá v priečinkoch, ktoré mali obsahovať iba statické súbory. Bezpečnostný inventár navyše evidoval desiatky historických payloadov v náhodne pomenovaných podpriečinkoch jedného z rozšírení.

Zaujímavé bolo, čo sme nenašli: samotné jadro Joomly bolo obsahovo v poriadku a rozšírenia boli relatívne aktuálne. To je situácia, v ktorej bežný sken ľahko vyhodnotí web ako „takmer čistý“. Na závažnosti nálezu to však nič nemení — nájdené súbory dokopy umožňovali správu súborov, upload, mazanie, zmenu oprávnení, spúšťanie príkazov a prístup ku konfigurácii aj databáze.

Ako sme postupovali

Pôvodnú zálohu sme ponechali ako nemenný dôkazový zdroj a pracovali sme na oddelenej kópii. Podozrivé PHP súbory a upravené pravidlá sme izolovali, nie rovno zmazali — pri aktívnom shelli je poradie krokov dôležitejšie než rýchlosť.

Obnovu sme postavili ako čistý rebuild z overených distribučných balíkov, nie ako mazanie jednotlivých nálezov. Rozšírenia sme preinštalovali namiesto toho, aby sme sa spoliehali na to, že sú nedotknuté. Nasledovala kontrola databázy, administrátorských účtov, oprávnení a konfiguračných tajomstiev, rotácia všetkých prístupov a záverečné porovnanie čistej kópie s produkčným stavom.

Výsledok

Zálohu sme označili za nevhodnú na priame nasadenie. Odporúčaná obnova viedla cez čistý rebuild — keby sa namiesto toho nasadila pôvodná záloha, web by sa vrátil do prevádzky aj s kompletnou sadou nástrojov útočníka.

Čo si z toho odniesť

Aktuálne jadro neznamená čistý web. Pri aktívnom shelli je správny predpoklad, že mohol byť kompromitovaný celý webroot, účty aj uložené tajomstvá — a obnova tomu musí zodpovedať. Antivírusový sken ani zmazanie jedného nájdeného súboru nie je v takej situácii dokončené odvírovanie.