Ano, přesně tak, čtete správně, v php5.cz byla nalezena chyba a využita k proniknutí do systému! Připomínám, že tato chyba se může vyskytnout i u ostatních webhostingů…
Dnes již není nic bezpečné. Vemte si: Slovenské republiky (NBU SR) tvrdil, že se jejich síť nedá shodit zvenku, ale spletl se! Hackeři pronikli do systému díky slabému heslu NBUSR123 a NBU odpojili… Ale dost už, tento článek není o NBU, ale o nabourání php5.cz! Pusťme se do rozhovoru s hackerem, který si nepřál být jmenován.
ShaiMagal: Zdravím tě, prý jsi hacknul php5.cz, je to pravda? Díky čemu jsi to dokázal?
goldenbrown: No, ne úplně hacknul… Jenom jsem využil bezpečnostní chyby, o které jsem si přečetl. Šlo o to, že můj skript mohl změnit nastavení v „php.ini“, a tudíž já jako normalní uživatel freehostingu na php5.cz jsem pak měl přístup do systému s právy webserveru.
ShaiMagal: Takže pokud to chápu správně, tak to byl lokální exploit, že? Jedná se o tvoji tvorbu?
goldenbrown: Jj, lokální exploit. Potom, co jsem si přečetl o té chybě, jsem si napsal takovej svůj skriptík, abych pohodlně mohl brouzdat po disku a číst soubory.
ShaiMagal: To zní pěkně, chceš mi říct, že jsi měl přístup po celém disku? Jak dlouho jsi sepisoval ten script?
goldenbrown: Já jsem už něco podobného psal předtím, takže jsem to jenom trochu poupravil. Měl jsem přístup téměř všude, jedině tam, kde to bylo omezené na skupinu root jsem nemohl.
ShaiMagal: Stáhl sis nějaké soubory? Poškodil jsi nějaká data? Takovéhle šance se přeci nedějí každý den, nebo ano?
goldenbrown: Ano, je pravda, že něco takového není jako zneužít php injekce na nějakém „amaterském“ webu, ale prostě jsem nic neměnil ani nemazal, stáhl jsem si kousek databáze, ale to spiš jenom tak, nehodlám s tím něco dělat, někde to šířit, a o samotné chybě jsem informoval administrátora, který už provedl určitá opatření, aby někdo jiný nemohl poškodit systém.
ShaiMagal: Nebojíš se, že budeš trestně stíhaný? Konec konců, je to podle mě trestný čin, i když jsi kontaktoval administrátora php5.cz…
goldenbrown: Nevím, opravdu nevím… Nic jsem nezměnil, žádná data… Prakticky jsem jenom využíval služby, které php5.cz zdarma nabízí (tedy php hosting).
ShaiMagal: Dobře, dal by se ten tvůj skriptík využít i na jiném php hostingu? Nebo to byla chyba pouze na php5.cz? Ještě bych se chtěl zeptat, jestli za tu chybu může administrátor nebo to nemohl ovlivnit?
goldenbrown: Dá se použít na jakémkoliv php hostingu, a ta chyba je dost zákeřná, protože je i v nejnovější verzi php 5.1.6. Obranou může být zakázání funkce „ini_restore“, jako to udělali na php5.cz (viz obrázek 1), a počkat než vyjde nová verze a nebo nainstalovat verzi z CVS. Administrátor za to v zásadě nemůže, ale měl by sledovat nové bugy/chyby, aby mohl co nejrychleji zareagovat.
ShaiMagal: Ok, jaké informace jsi získal z databáze?
goldenbrown: Je to částečný dump databáze, takže jsou tam všechna data, která se uvádí při registraci, včetně zašifrovaného hesla…
ShaiMagal: Poslední otázka, dokážeš ta zašifrovaná hesla rozšifrovat? Čím jsou šifrovaná?
goldenbrown: Sry, nezkoumal jsem to, předpokládam, že standardní MD5, takže rozšifrovat jdou, ale trvalo by to moc dlouho…
goldenbrown: Dík moc, tak zatím čuzz.
Na php5.cz se pojistili proti dalšímu proniknutí tímto způsobem:
[19. 9. 2006] UPOZORNĚNÍ: Z bezpečnostních důvodů bude až do odvolání zakázána funkce ini_restore(). Povolení ohlásíme!
Nutno dodat, že jsme zde měli „dobrého“ hackera, který nic nesmazal a upozornil administrátora na chybu! Takhle by se měl chovat každý, proto neházejte všechny hackery do jednoho soudku…
Jako důkaz tu ukážu malou ochutnávku z /etc/passwd, samozřejmě bez hesel...