Staňte se hackerem

Dobrý systém detekce napadení (intrusion-detection system) je jedním ze způsobů, jak odrazit případný útok hackerů....


Dobrý systém detekce napadení (intrusion-detection system) je jedním ze
způsobů, jak odrazit případný útok hackerů. Neustálé sledování novinek
týkajících se bezpečnostních hrozeb a instalace nejnovějších patchů je další
skvělou myšlenkou. Pokus o hacknutí svého vlastního webu za účelem ověření, zda
je skutečně bezpečný, pak může být dalším krokem v jeho zajištění proti cizím
útočníkům. Tzv. etický hacking může odhalit slabá místa vašeho webu ještě před
tím, než se o to pokusí "zlí hoši".
Jestliže se vám povede nabourat se do své vlastní sítě, bude to znamením, že je
na čase učinit nezbytná opatření k tomu, abyste ve své firmě vytvořili opravdu
bezpečné prostředí. Vytvoření záložních kopií serverových souborů a
konfiguračních dat pak může znamenat záchranu zejména tehdy, jestliže úspěšnost
vašich pokusů o hacknutí sítě firmy předčila i ta nejdivočejší očekávání. A než
začnete, přesvědčete se také, že lidé, kterých se to bude týkat, předem vědí,
oč se hodláte pokusit. Ve svých reportech a poznámkách o stavu firemní sítě
raději o podobných aktivitách nemluvte jako o hackingu. Použijte např. termín
"audit" či "kontrola" to zní mnohem lépe. Nicméně to, co budete provádět, je
možné nazvat také etický hacking. Zde si popíšeme jeden konkrétní postup, který
může posloužit jako vodítko pro vaše vlastní pokusy.

Použité nástroje
V průběhu našeho nedávného projektu, jehož cílem bylo zlepšit zabezpečení webu
založeného na Microsoft Internet Information Serveru (IIS) 5.0, jsme pro
nabourání sítě použili pět nástrojů:
NetCat 1.1 společnosti @stake jde o skripty řízenou utilitu, která se připojuje
k webu, vysílá HTML požadavky a ukazuje odezvu webu.
Whisker 2.1 pro Unix a Whisker 1.4 pro Windows firmy Rain Forest Puppy nástroje
pro kontrolu webů, které získají obsah webu, spustí programy na webovém serveru
a prolomí hesla chránící weby.
Brutus AET2 společnosti HooBie a Entry 2.7 firmy EliteSys jde o osvědčené
rychlé nástroje pro cracking hesel.
Teleport Pro 1.29 společnosti Tennyson Maxwell Information Systems web spider
(webový pavouk), který vyhledává a kopíruje soubory webového serveru.
Plánem naší malé hry, již můžeme označit za "self-hacking", bylo získat přístup
k našemu webu jeho bombardováním špatně formulovanými URL adresami, prosekat se
autentizačními barikádami tipováním a zkoušením hesel a zkopírování souborů z
tohoto webu poté, co prolomíme jeho zabezpečovací systém. Zmíněných pět
nástrojů nám pomohlo odkrýt operační systém a další soubory na webovém serveru,
přelstít ochranu hesly a dokonce získat (pro tento účel samozřejmě smyšlená)
čísla kreditních karet.

Skutečně špatné znaky
Náš průzkum v kombinaci s dokumentací NetCat naznačoval, že bychom se mohli na
server dostat s využitím bugu ISS v Unicode. Tato chyba v Microsoft ISS serveru
byla objevena už v říjnu roku 2000, nicméně mnozí z provozovatelů webů kupodivu
dosud neaplikovali bezpečnostní patche, které ji opravují.
Funguje to asi takto: Hacker zkouší získat přístup k síti prostřednictvím
určitého typu nestandardně formulované URL adresy, která může způsobit, že
webový server umožní útočníkovi přístup k adresářům obsahujícím soubory (a to i
spustitelné), k nimž by se dostat neměl. Hacker je následně může stáhnout/
zkopírovat a případně je vzdáleně spustit.
Naším prvním cílem bylo získat některé základní informace o webu. Při typické
interakci s webovým serverem mu posílá klientský prohlížeč požadavek
"GET/Default.htm" spolu s různými identifikačními daty browseru (jako například
Mozilla/4.0+ compatible; +MSIE+5.5; +Windows +NT +4.0). Webový server reaguje
vrácením kódu 200, který indikuje úspěšné vyřízení požadavku, a poskytne
některé ze svých identifikačních informací i obsah webové stránky Default.htm.
Zkoušení reakcí serveru nám o našem specifickém webovém serveru mnohé
prozradilo. Jednoduše jsme objevili detaily, které nám umožnily získat přístup
k souborům operačního systému, datovým souborům, skriptovým programům i
databázím.
Příkladem takového nebezpečného typu URL je
192.100.16.32/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir+d:. V případě,
že dosud nebyl použit odpovídající bezpečnostní patch, reaguje web na takovou
URL poskytnutím seznamu adresářů a souborů na disku D tohoto serveru.
Byli jsme tedy schopni použít speciální znaky (nepřípustná kódování Unicode
znaku "/") v rámci bizarně vyhlížejících URL adres pro získání přístupu do
adresářů, do nichž bychom zkrátka přístup mít neměli (jako např.
directoryWINNTSystem32). Uvnitř zmíněného adresáře jsme našli program
příkazového shellu CMD.EXE.
V samostatných testech jsme posléze experimentovali také s unixovými a
linuxovými stroji, na nichž jsme provozovali webový server Apache. Přitom jsme
zjistili, že soubory v unixových a linuxových systémech jsou taktéž vystaveny
riziku. Server např. může obsahovat indexační program v podobě CGI skriptu v
Perlu jako součást svých vyhledávacích funkcí. Zasláním GET požadavku
www.site.com/index.cgi?page=index.cgi na server jsme odkryli zdrojový kód
programu index.cgi. Takto je možné shromáždit některé informace o webu např.
pomocí prozkoumání zmíněného perlového skriptu, který implementuje jeho určitou
funkci.

Ukradená čísla kreditek
Chybu IIS serveru v Unicode a další výstřednosti Windows jsme použili k tomu,
abychom zjistili, které soubory jsou na serveru, prohlédli si jejich obsah a
zkopírovali je. Následně jsme si opatřili hesla, abychom se vyhnuli
neautorizovanému přístupu k serveru. A rychle bylo zřejmé, že především pokud
je správa hesel prováděna s přílišnou dávkou lhostejnosti, nejsou pro hackery
žádnou překážkou.
Nástroje Whisker, Brutus a Entry neměly mnoho práce s hádáním jednoduchých
hesel skládajících se z údajů souvisejících se jmény či daty narození, která
jsme původně vytvořili. Uvedené programy však byly navíc schopny najít i
správná hesla založená na permutacích jednoduchých hesel, s nimiž jsme začali.
Jakmile jsme zjistili heslo pro stroj s Windows, byli jsme schopni obejít
softwar IIS, Apache nebo Netscape. Protože bylo sdílení souborů a tisku na
webovém serveru pod Windows defaultně aktivováno, potřebovali jsme pouze
prostřednictvím CMD.EXE zadat následující jednoduchý příkaz pro přístup k
souborům: NET USE F:ServerNameShareName password.
Dokonce i poté, co jsme znemožnili sdílení souborů a tisku, jsme stále byli
schopni použít program Teleport Pro k tomu, abychom téměř bez námahy
zkopírovali soubory na jiný počítač. Je třeba vědět pouze heslo pro přihlášení
se k účtu s právy dostačujícími pro přístup k souborům. Nalezení hesla přitom
nebylo nijak zásadně obtížné, když jsem použili softwarový nástroj, který
generuje permutace položek zadaných prostřednictvím seznamu slov (která
reprezentují jednoduchá hesla). Uvedené nástroje jsou navíc neuvěřitelně
rychlé. V závislosti na faktorech, jako jsou šířka pásma, latence a rychlost
CPU, je nástroj pro prolomení hesla schopný provést až 30 tisíc pokusů za
minutu.
Dobrý nástroj pro cracking hesel je rychlý a navíc flexibilní. Například před
tím, než jsme spustili Brutus, aby vygeneroval permutace zkoušených hesel,
která jsme mu poskytli ve formě souboru obsahujícího seznam často používaných
slov, jsme programu řekli, jakou podobu či charakter by měla mít hesla, která
by měl vyzkoušet. Mohli jsme specifikovat, že testovaná hesla by se měla
skládat z malých nebo velkých písmen či jejich kombinací, pouze z numerických
znaků, jakýchkoliv stisknutých kláves a znaků atd. V případě nástroje Brutus
jsme mohli také definovat minimální a maximální počet znaků, které by mělo
každé zkušební heslo obsahovat.
I před tím, než jsme vložili nová striktní vodítka pro upřesnění podoby
hledaných hesel, byly nástroje pro cracking schopny rychle nalézt množství
existujících hesel webového serveru. V jednom z našich pokusů o hacknutí webu
jsme pomocí kombinace programů Brutus a Teleport Pro jednoduše a nenásilně
odkryli obsah simulovaného souboru s čísly kreditních karet. Soubor nebo
databáze by stejně tak mohla obsahovat jakékoliv jiné soukromé nebo z
obchodního hlediska citlivé informace, jež je možné potenciálně zneužít.

Závěrečná doporučení
Nastavení hesel může překazit neautorizovaný přístup na webový server, ovšem
pouze tehdy, jestliže použijete hesla, která nelze snadno uhodnout či odhalit.
Doporučujeme proto přijmout firemní politiku týkající se hesel, která by
specifikovala, že heslo každého uživatele musí být dlouhé nejméně 6 (či dokonce
8) znaků, má obsahovat písmena i číslice, v jakém intervalu je třeba hesla
pravidelně měnit a že nesmí být založena na jménech nebo číslech odpovídajících
datům narození uživatelů.
V průběhu našeho projektu, jehož účelem bylo zvýšení bezpečnosti webu, jsme
zjistili, že hackeři mohou většinou až příliš jednoduše použít nestandardně
formulované URL adresy či další triky pro získání přístupu k serverům a
souborům také ve vaší síti. Abychom úspěšně odrazili veškeré pokusy o prolomení
a vstup do naší sítě, sestavili jsme si několik jednoduchých procedur, které
zajišťují aplikování bezpečnostních patchů i pravidelné sledování souborů logů
pro kontrolu, zda nedošlo k pokusům o proniknutí na náš webový server.
Stanovili jsme si také proceduru pro kontrolu formou etického hackingu našeho
webu, který nyní bude prováděn pravidelně.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.