5 spôsobov ako ohroziť web postavený na Typo3

Posted on 04. Nov, 2009 by admin in CMS, blog

V rámci opensource projektov používaných na Slovensku je Typo3 na treťom mieste po CMS Joomla! a WordPresse. Tento stav je platný pre slovenské domény s koncovkou .sk (nebral som do úvahy žiadne subdomény a freehostingy).

Chyby sa samozrejme vyskytujú v každom systéme, najnebezpečnejšie sú označované ako kritické. Odozva komunity na takéto problémy je veľmi pružná, chyby sú odstránené zvyčajne za niekoľko hodín (pri kritických chybách) alebo dní (podľa povahy problému). Ak máme web postavený na opensource riešení tak by sme mali sledovať aktuálne dianie aj na poli bezpečnosti (pri komerčných riešeniach by to mal zabezpečiť prevádzkovateľ riešenia).  Tu sa môže vyskytnúť niekoľko problémov, ktoré tu načrtnem (v spojení z konkrétnym exploitom ktorý som použil).

Testoval som dostatočne veľkú reprezentatívnu vzorku webov založených na Typo3 na jeden konkrétny exploit ktorý bol publikovaný ešte vo februári tohto roku (2009). Je to viac ako 6 mesiacov od vydania záplaty, takže by som očakával že nájdem len zopár webov ktoré by mali byť zraniteľné na tento exploit. Výsledky ma však presvedčili o opaku. Našiel som 5 spôsobov ako sa dostať do administračného rozhrania webu alebo databázy. Je to veľmi problematické pretože nie vždy ide útočníkovi o to aby vymazal web, často krát je lepšie sa pohybovať v rámci webu prípadne ho infikovať malwarom.

Exploit je označený ako Critical a dokáže stiahnuť konfiguračný súbor z daného webu. Na ilustráciu tu uvediem časť výstupu (konkrétne sa jedná o meno a heslo pre MySql databázu):

$typo_db_username = ‘www’; //  Modified or inserted by TYPO3 Install Tool.
$typo_db_password = ‘dedo221′; //  Modified or inserted by TYPO3 Install Tool.
$typo_db_host = ‘localhost’; //  Modified or inserted by TYPO3 Install Tool.

5 spôsobov ako ohroziť svoj web postavený na Typo3:

  1. neaktualizovanie verzie Typo3 ktorá je použitá na webe
  2. defaultná inštalácia bez akýchkoľvek zmien a defaultné heslá
  3. zabudnuté konfigura?né súbory
  4. sociálne inžinierstvo a hádanie hesiel
  5. zle zabezpečený webhosting

Neaktualizovanie verzie Typo3

Neaktualizovanie verzie je veľmi nebezpečné, pri teste som na základe neaktualizovaných webov našiel až 13% !!! webov ktoré boli zraniteľné na kritickú bezpečnostnú chybu (zistil som priamo heslo a meno k SQL databáze).  Toto číslo je alarmujúce ak si uvedomíme aké weby takéto riešenie využívajú. V ostrom kontraste boli výsledky z nemecky hovoriacich krajín (testoval som referencie významných spoločností z Rakúska a Švajčiarska), kde nebol žiadny web zraniteľný na tento exploit.

Tu je potrebné malé zastavenie. Veľmi veľa firiem si nespravuje webovú stránku, ale využíva podporu tretej strany. Je veľmi zarážajúce ak firma ktorá sa živí tvorbou webov Typo3 má vo svojom portfóliu stránky o ktoré sa má starať a napriek tomu weby sú neaktualizované a deravé.

Defaultná inštalácia a heslá bez zmien

Ďalší najčastejší prehrešok je defaultná inštalácia, kde síce zmeníte heslá, ale nezakážete prístup k inštalačnému rozhraniu. To je veľmi nebezpečné  z dvoch dôvodov: pre možnos? zneužitia na útok brutforce (útočník pozná MD5 hash) a  pre možnosť použiť defaultné heslo na vstup do rozhrania. Typo3 používa ako defaultné heslo joh316. Webov ktoré mali toto defaulné heslo nie je málo, ale z pochopiteľných príčin neuvádzam ich počet (nechcel som sa priamo prihlasovať do tohto rozhrania).  Počet webov ktoré umožňovali vstúpiť do rozhrania bolo 21%. Na prvý pohľad to nie je veľmi vážne ale ak si uvedomíme že zvyčajne je len jedna inštalácia pre niekoľko webov (týka sa to hlavne  rozsiahlých webov ktoré sú napr. pre 12 štátov sveta) a uhádnete heslo tak to je už poriadny problém.  Ak máte aktualizovaný web ale používate defaultné heslo do administrácie tak všetka námaha je prakticky zbytočná.

Zabudnuté konfiguračné súbory

Toto je trestuhodné zanedbanie bezpečnosti a ohrozenie  webu. Je veľa editačných nástrojov ktoré defaultne ukladajú záložnú kópiu editovaného súboru. V tomto prípade je to konfiguračný súbor ktorý administrátor edituje a zároveň uloží aj jeho kópiu ktorá sa dá bez problémov prehliadať. Našťastie týchto webov bolo minimum, ale našiel som tam aj jeden web ktorý patrí veľmi významnej medzinárodnej firme. Keď som videl ten web tak som si myslel že je to chyba, všetko bolo zabezpečené, web využíval najnovšiu verziu Typo3,  nemal defaultnú konfiguráciu, dokonca využíval SSL pripojenie,  proste bol dokonalý až pokiaľ som neskúsil test na zabudnuté súbory.

Vo všeobecnosti firmy ktoré tvoria weby na báze Typo3 používajú aktualizované verzie, snažia sa mať čo najlepšie zabezpečený web. Napriek tomu som našiel jednu takúto firmu ktorá má zabudnutý konfiguraľný súbor. Podľa mňa je to fiasko danej firmy (aj keď si môžeme povedať porekadlo o obuvníkovi).

Sociálne inžinierstvo a hádanie hesiel

Toto je oblasť ktorá nepriamo súvisí z použitým CMS ale napriek tomu je veľmi významná a netreba na ňu zabúdať. Na základe určitých znalostí si vie útočník vytipovať zopár problematických miest ktoré využíva ďalej. Podľa tohto som dokázal zistiť sériu webov ktoré mali zraniteľnosť na základe práce určitej firmy (dá sa predpokladať jej rukopis), prípadne dokážete uhádnuť heslo len na základe určitých predpokladov.

Ak niekto použije názov pre databázu “root” a z heslom sa príliš neobťažuje (zvyčajne tiež root, prípadne názov firmy) tak akákoľvek snaha o bezpeččosť na tomto mieste zlyhala.  Toto nie je chyba majiteľa stránky ale chyba tvorcu (predpokladám že nie sú rovnaký).

Zlý webhosting

Toto nie je chyba Typo3 (prípadne CMS systémov) ale chyba tretej strany. V mojom teste to bol otvorený port pre MySql databázu (našťastie to bol len jeden hosting ktorý ale vôbec nereagoval na moje upozornenie). Druhá vec ktorá sa možno nezdá ako veľmi dôležitá je istá “ukecanosť hostingov” pre pohodlie užívateľov. Na to aby som zistil adresu veľmi obľúbeného nástroja na stravovanie SQL databáz – phpMyAdmin som potreboval na niektorých hostingoch doslova len pár sekúnd (opä? nezabúdajme že útočník už meno a heslo pozná). Chyba to nie je, ale ak poznám heslo a názov databázy tak sa prihlásiť cez phpMyAdmin do databázy je otázka pár sekúnd. Hostingy vo všeobecnosti zvyčajne neposkytujú informácie o prihlásení do tohto rozhrania phpMyAdmin a preto majiteľ (prevádzkovateľ) stránky ani nezistí že sa niekto prihlásil do databázy.

Záver

Nemohol som tu popísať presný postup útoku, ale načtrol som aspoň problematické miesta ktoré môže útočník využiť?. V každom prípade, našiel som viac ako 30% webov ktoré mali fatálnu zraniteľnosť. Toto je veľmi alarmujúce číslo.

Na prvý pohľad by sa zdalo že použi? Typo3 je nebezpečné, je to však chyba úsudku. Samotný systém Typo3 je veľmi kvalitný, má vlastnú skupinu ktorá sa stará o bezpečnosť, reakcia na chyby je veľmi rýchla. Tento stav ktorý som popísal je problém prevádzkovateľa a tvorcu daného riešenia. Ak nesledujú aktuálne problémy tak samozrejme je len otázka času kedy je ich web napadnutý. Nehovorím tu o weboch ktoré patria nadšencom alebo jednotlivcom,  ide hlavne o veľké korporátne riešenia ktoré sú zraniteľné len pre chybu správcu. V tomto článku mi nešlo o útočenie na Typo3 ale o poukázanie aktuálneho stavu ktorý na Slovensku panuje.

Upozornenie:

Pri svojom teste som nepoškodil žiadnu webovú stránku, vybrané inštitúcie a firmy som informoval o existujúcom probléme a počkal som až pokiaľ si neupravili webové stránky tak aby neboli zraniteľné (čakal som viac ako mesiac).

-pb-

Tags: , , , , , ,

Leave a Reply