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.