::::::::::. :::::::..   :::.,::::::   :::         ...     .        :   
    `;;;```.;;;;;;;``;;;;  ;;;;;;;''''   ;;;      .;;;;;;;.  ;;,.    ;;;  
     `]]nnn]]'  [[[,/[[['  [[[ [[cccc    [[[     ,[[     \[[,[[[[, ,[[[[, 
      $$$""     $$$$$$c    $$$ $$""""    $$'     $$$,     $$$$$$$$$$$"$$$ 
      888o      888b "88bo,888 888oo,__ o88oo,.__"888,_ _,88P888 Y88" 888o
      YMMMb     MMMM   "W" MMM """"YUMMM""""YUMMM  "YMMMMMP" MMM  M'  "MMM



Tento clanok povodne vysiel v roku 2002 v e-zine Prielom #17.

utoky, utoky, ach tie utoky

koordinacne centrum cert odhaduje, ze pocet
utokov na pocitacove systemy v roku 2001 prekroci hodnotu 40000, co je
dvojnasobok poctu incidentov hlasenych minuly rok. pravdepodobne pojde o
virtualne utoky, nemyslim zeby niekto nahlasoval ze vyfackal svoj pocitac
pretoze mu opat spadol jeho (ne)oblubeny operacny system.

zvacseniu poctu utokov napomohlo najma priaznive prostredie (nedostatky v
zabezpeceni systemov) a existencia navodov ako postupovat. tento text nema ani
nahodou za ciel vam davat navod na utok, ale ma sluzit len ako studijny
material pre ludii, ktori sa zaoberaju bezpecnostou pocitacovych systemov.

na pocitacove systemy sa utoci z rovnakeho dovodu ako na ine ciele. pre
zabavu, alebo pre zisk (prestize, penazi, cohokolvek). existuje niekolko
sposobov ako zautocit na pocitacovy system a zaroven sa vyhnut odhaleniu.
pravdepodobne najlepsi sposob ako sa vyhnut problemom, je dat urobit riskantnu
pracu niekomu inemu. najlepsie anonymne a bez velkych nakladov. musime najst
niekoho, koho nebude zaujimat kto sme, niekoho kto nema tolko inteligencie,
aby sa bal rizika, niekoho kto nekladie hlupe otazky, niekoho, komu nebudeme
musiet platit. najmime si robotov.

pocitacovy system je mozne ohrozit z vnutra alebo z vonku. v tomto clanku sa
nebudeme zaoberat internymi utokmi (mame pristup do systemu, na ktory je utok
zamerany), ale obratime pozornost na cast, ktora obsahuje vacsiu vyzvu, na
napadnutie systemu z vonku, z akejkolvek casti internetu.

vyber ciela

k prevedeniu utoku su potrebne minimalne dve veci. utocnik a ciel. v
nasledujucich riadkoch budeme uvazovat ze utocnikom sme my. ako ciel utoku si
mozme vybrat len jeden pocitac, alebo mozme zautocit na viacero podobnych
cielov sucasne. utok na jeden ciel je mozne chapat ako podmnozinu hromadneho
utoku, takze sa nim nebudeme specialne zaoberat. isto vas napadne ze pre utok
voci viacerym cielom je najlepsie extrahovat zoznam cielov, napr. z databaz
pridelenych dns mien, alebo ip adries. no, nieje to celkom dobry napad. poucme
sa na priklade z nedalekej minulosti, ked sa cervo-virus nimda vyuzivajuci
chybu v iis od microsoftu pokusal napadnut vsetko co malo (aj nemalo) http
server. je to ako keby sme sa pokusali odomknut fab klucom vsetky zamky na
ktore narazime, ved zamok ako zamok, nie? urcite bude lepsou metodou
vytipovat si vsetky fab zamky a tie podrobit blizsiemu, velmi intimnemu
skumaniu. priamo sa nam natiska slovny zvrat: "a co som robot?!". bingo.
nechame to robotom. stretavame sa s nimi stale, vuzivame ich takmer kazdy den.
su to vyhladavacie sluzby. google, altavista, yahoo, lycos a kto vie este, pod
akymi krycimi menami sa skryvaju. zadame im vhodne naformulovanu poziadavku a
oni nam radi a ochotne vychrlia zoznam cielov, ktorym stoji za to sa venovat.

zaujimaju nas systemy, ktore su napadnutelne zvonku. systemy, ktore voci
internetu disponuju slabinami. slabinami, ktore su oficialne nazyvane
sluzbami. sluzby, v ktorych sa neprestajne objavuju nove a nove chyby. podla
nich si vyberieme nase ciele. vyhladavacie sluzby ich uz pre nas zmapovali,
alebo ich pre nas zmapuju. protokol http, server poskytujuci stranky pisane v
php, jave. aplikacie poskytujuce rozhranie pre webove prehliadace. a je toho
este ovela viac.

prieskum

pred zahajenim utoku si robime prieskum. oplati sa to, ciastocne tym vylucime
neuspech utoku. nenapadne si obzrieme miesto nasho buduceho uderu.
vyhodnotime ziskane informacie, poopravime strategiu. bohuzial, tu uz zacina
riziko, vstupujeme na nebezpecnu podu. mozme nas prieskum ciastocne
zamaskovat, no urcite sa niekomu budeme zdat podozrivi. najlepsie, co mozme
urobit, je poslat niekoho namiesto nas. roboti su neunavni, ked nam pomohli s
vyberom cielov, pomozu nam aj s prieskumom. pokial uz to neurobili iniciativne
sami. ak je sluzba, na ktoru sa zameriavame avizovana niekde na www, roboti ju
urcite nasli a zaradili do svojej bazy dat. ak nie, pripravime im slusne
susto. zoznam systemov spolu so zoznamom vyuzitelnych slabin. a pockame si.
vysledky na seba zvycajne nedavaju dlho cakat. a ak si robotov pracujucich pre
nas niekto vsimne, no a co? robotom je v dnesnej dobe dovolene to, co sa
normalnym smrtelnikom neprepaci ani nahodou.

utok

ked sme pri prieskume zacinali riskovat, teraz sliapeme po minovom poli.
samotny utok mozme previest osobne, ale, naozaj je nutne riskovat odhalenie?
viete o nejakom generalovi, ktory by bojoval v prednej lini? sposoby pouzite
pri prieskume, su velmi dobre aplikovatelne aj pri utoku. staci nam len dat
prieskumnikom zbrane a rozkaz k utoku. je vela zle naprogramovanych sluzieb,
ktore zlozi vhodne napisany vstupny retazec. retazec, ktory namiesto nas posle
vyhliadnutemu cielu pricinlivy robot. staci mu ho len naservirovat a vyckat.

prax

po par kilobajtoch hlupo a nudne napisanej teorie je cas siahnut po par
prikladoch. v prielome 16
napisal salo clanok [1] o tom, ako
pouzit www vyhladavace pre najdenie chybne napisanych php stranok.

druhy priklad sa bude tykat aplikacie napisanej v perle, wwwboard od matt
wrighta. jedna sa o script, ktory na www umiestnuje nastenku. tato nastenke je
spravovatelna cez www interface. wwwboard ma v implicitnej instalacii volne
cez web pristupny subor s menom a heslom spravcu nastenky. pre najdenie
servrov, ktore obsahuju wwwboard sa nam staci opytat napr. vyhladavaca google
nasledovnu otazku:

http://www.google.com/search?q=allinurl:+wwwboard&num=100&start=0&sa=N&filter=0

dostaneme priblizne 2,720,000 odkazov na wwwboard. ak napr. za url
`http://www.bizweb2000.com/wwwboard/' pridame passwd.txt, dostaneme vystup
`bizweb20:gcxmt4ul6.j0s'. takze mozme urobit stranku s odkazom
`http://www.bizweb2000.com/wwwboard/passwd.txt' a po jej najdeni robotom, si
vystup cisto a bezbolestne vyzdvihnut v databaze vyhladavaca. skuste si odkaz:

http://www.google.com/search?q=allinurl:+wwwboard/passwd.txt&num=100&sa=N&filter=0.

sposob enkrypcie je znamy, ako ziskat povodne heslo, tiez. to nam staci aby
sme sme si nastenku upravili podla svojho. a ked uz mame meno a heslo, preco
ich nevyskusat na systeme, na ktorom wwwboard bezi, pripadne na stroji, z
ktoreho sa spravca hlasi? mozte na to vziat jed, ze nie kazdy si vymysla
jedinecne hesla pre svoje systemy.

neexistuje sposob ako zabranit takymto utokom. jedina ochrana je pouzivanie
dobre a bezpecne napisanych programov a ich spravna konfiguracia. ale kto dnes
vie ci je program beziaci prave na vasom pocitaci dobre a bezpecne napisany?
nikto. len cas ukaze.

pouzite zdroje:

[1] prielom 16: salo, php nase kazdodenne
[2] phrack, issue 0x39, phile #0x0a: michal zalewski, against the system: rise of the robots
[3] cnn.com record year for security breaks expected
[4] information technology -- essential but vulnerable: how prepared are we for attacks?

mikulas papuca s priatelkou, prielom(at)hysteria.sk