Hacking, cracking a warez Igor Gomboš Univerzita Karlova, Matematicko-fyzikální fakulta, Praha, Česká republika
Abstract. Tento text sa zaobírá problematikou dnes čím dál tím víc aktuální – hackingem a crackingem (kvůli velké provázanosti jsem warez sloučil právě s problematikou crackingu). Snaží sa o struční popis těchto skupin, jejich motivace a postupů v praxi. Nechýba krátký pohled do minulosti i nejznámější zástupci oborů ze současnosti. Dále čitateli článek přibližuje možnosti ochrany před útoky a postupy státních orgánů (policie) v ČR. Na konec uvádí příklad samotného zdrojového kódu e-mail bomberu a slovník užitečných pojmů z problematiky.
1. ÚVOD Hacking a cracking je velmi kontroverzní problematika. Většina lidí si pod hackerem automaticky představí unuděného, zhrbeného teenagera s umaštěnými vlasy a mnoha dioptriemi, nabourávajícího se každé pondělí do Pentagonu, kradoucího a prodávajícího informace za miliony dolarů. Ohrožujícího celosvětový mír a stabilitu celého vesmíru. Jste si tím ale tak jisti? Skuste jim dát šanci a alespoň očima přeleťte pár kapitol tohoto článku. Možná budete překvapeni. Alespoň co se „pravýchÿ hackerů týká:)
2. HACKING 2.1. Hacking - historie Existuje více možných interpretací významu slova hacker a mnohdy se dva lidi bavící se o hackerech „míjíÿ a nerozumí, protože každý pod tím termínem rozumí něco jiného. Tento text proto začneme vysvětlením základu této problematiky, přičemž nemůžeme obejít alespoň krátkou exkurzi do její historie. Slovo hacking v komunitě radioamatérů 50-tých let minulého století znamenalo svépomocné kreativní hledaní cesty ke zlepšení výkonu. Tento termín si půjčili z anglo-amerického žargonu pro jezdění na koních, kde hacking (třeba narozdíl od honu na lišku) byla jenom nenucená vyjížďka bez nějakého zřejmého cíle. Pak tento termín zdomácněl na MIT (ještě v časech před příchodem počítačů): hack znamenal jednoduchý, ale často neuhlazený, způsob řešení. Mluvilo se tak v souvislosti se spáchaním nějaké „lumpárnyÿ studenty MIT. Provinilec byl (a tradice stále trvá - viz. www.hacks.mit.edu) nazýván hackerem. Hacking prohibited V šedesátých letech je už u hackingu v rodící se počítačové kultuře možné mluvit o isté analogii s různými úpravami strojů (zvýšení výkonu, znížení podvozku, . . . ) značky Harley-Davidson v státě Jižní Kalifornie, zvané též „choppingÿ. Již spomínaná počítačová základna na MIT vznikla, když členové kroužku železničného modelářství začali používat počítač Digital Equipment Corporation PDP-1 a přenesli svůj „vláčikářskýÿ slang do počítačů. Vzniklou hackerskou komunitu je asi nejlepší rozdělit podle generací. Každá generace vyrůstala v jiných podmínkách počítačového světa. Každá měla jiná pravidla a v každé době se na hackery pohlíželo jinak. Opravdoví specialisté, kteří si jako jediní zaslouží označení hacker, byli původci většiny nosných myšlenek, na kterých dnes stojí téměř celá oblast IT. Ve většině případů jde o dávnou historii sedmdesátých let. Hackeři byli v té době studenti, soustředění kolem výpočetních center jednotlivých univerzit. Mít právo používat titul hacker byla v té době čest. Znamenalo to, že
IGOR GOMBOŠ: HACKING, CRACKING A WAREZ
jste skutečný odborník. Značná část těchto hackerů se postupem doby proměnila v ředitele úspěšných firem. Do této kategorie spadá i Bill Gates nebo o něco mladší Linus Torvalds. Co je oběma společné, přestože nyní reprezentují odlišné proudy, jsou znalosti a to, že své úsilí napřeli konstruktivním směrem. Oba dva dokázali napsat úspěšný operační systém. Podobných případů se najdou desítky. Dnes se tato generace označuje jako „stará gardaÿ. Vyrůstali v jiné době, jejich hackerské aktivity nešly mimo rámec školy, nebo univerzity, neškodili širokému okruhu osob, protože to technicky ani nebylo možné. Na akademické půdě se jejich hackerské výstřelky daly tolerovat, byly, až na pár výjimek, také „akademickéÿ. Ve všeobecném konsenzu uznávali určitý systém „pravidelÿ, pokud to tak možno nazvat. Daly by se zhrnout asi takto: 1. 2. 3. 4.
Přístup k počítačové technologii pro všechny bez rozdílu a zdarma Všechny informace zdarma Nedůvěra vládě (obecně autoritám) a podpora decentralizace Hackeři mají být posuzováni podle jejich dovedností jinými hackery a ne nějakou formální organizací nebo jinými nerelevantními kritérii 5. Na počítači je možné vytvořit i umění a krásu 6. Počítače mohou změnit život k lepšímu Později bylo nutné přijmout některá další pravidla doplňující původních šest bodů: 7. Nikdy nepoškodit systém 8. Nevlamovat se do státních počítačů Dále si vysvětlíme proč. Druhá skupina, která stále převyšuje běžné uživatele svými počítačovými schopnostmi, je již mnohem více problematická. Je to dáno mimo jiné tím, že dnes působí v naprosto jiném prostředí než stará garda. Nikoli na akademické půdě, ale v celosvětové počítačové síti, která je stále více využívána komerčně. Na rozdíl od hackerů z 60.let nežije hackerská generace 90.let v chráněném univerzitním prostředím, které prvním hackerům poskytovalo všechno co chtěli - akademickou svobodu, myšlenkovou volnost, technické vybavení, uznání jejich schopností. To také vedlo ke změně náhledu na hackery. Official hacker emblem Jejich aktivity tak ztratily punc odbornosti, přestože vyžadují vysoký stupeň znalostí a schopností a stále častěji je na ně pohlíženo jako na osoby, které škodí. Z pohledu komerčních firem. Přes veškeré, někdy oprávněné výhrady, jim nelze upřít znalosti a schopnosti, pomocí kterých vyvíjejí silný tlak na zlepšování bezpečnosti sítí a kvality programů. Svou činností, často na hraně zákona (a občas i za hranou) odhalují vážné nedostatky komerčních projektů. Možná je tento způsob vynucování nápravy nekorektní, v některých případech nezákonný, srovnatelný s „braním zákona do vlastních rukouÿ, ale ruku na srdce - bez hackerů a jejich veřejných útoků bychom dnes neměli k dispozici mnoho service-packů a security patchů. Naše počítače by byly mnohem více otevřené, méně chráněné a zranitelné. Dalším důvodem, proč není třeba dělat kolem hackerů, kteří skutečně něco umí, velký humbuk, je skutečnost, která se potvrdila již u zmíněné staré gardy a platí obecně - pokud hacker něco skutečně umí, dříve či později převede své aktivity na zcela legální platformu, prospěšnou společnosti. Tento trend lze pozorovat i u řady hackerských serverů, které se stávají pomalu servery komerčními, transformují se do firem, nabízejí produkty pro zajištění bezpečnosti. Prostě si prošly pubertou a dospívají. Poslední, nejmladší, skupinou hackerů jsou tzv. script-kiddies. Je to skupina, která si vůbec nezaslouží označení hacker. Také proti takovému „házení do jednoho pytleÿ příslušníci staré
IGOR GOMBOŠ: HACKING, CRACKING A WAREZ
gardy, ex-hackeři a řada počítačových specialistů protestuje. O co víc jsou aktivity script-kiddies neplodné, o to více jsou zničující. Mezi osobou, která je schopna vytvořit vlastní program a člověkem, který si z internetu nahraje do svého počítače nějaký hotový nástroj a jen ho použije pro své zviditelnění, je velká propast. Bohužel, jak už to bývá, mnoho lidí, kteří se k problematice hackerů vyjadřují, vůbec neví o čem je řeč. Jedině tak mohou označit tvůrce viru VBS/OnTheFly - Kournikova virus za hackera. Téměř celý vir je shodný s kódem, který produkuje volně dostupný generátor virů. Do stejné skupiny patří i tvůrci DOS útoků (viz Slovník). Minimální přínos ve smyslu odhalení nových nedostatků a chyb v programech a systémech, o to větší paseka na internetu. Útok na web server, postavený na jeho zahlcení, je pod úroveň každého hackera. Důvod, proč dnešní společnost (hlavně v médiích je to to samé co softwarový cracker ) oprávněně spojuje hackery s kriminální činností, spočívají v tom, že stále více hackerů nezná původní ideály vzniklé na MIT a dalších amerických univerzitách, nebo je vědomě ignoruje. K tomu přispívají i texty, které se vydávají za hackerská pravidla, avšak rozhodně jimi nejsou, neboť obsahují jen minimum původních etických pravidel. Vývoj hackerů tak proto připomíná úpadek. Zjevně za to ale namůžou samotní „staříÿ hackeři. 2.2. Hacking - know your enemy(?) Zhrňme si tedy, co je původní a správný výklad (podle tzv. Jargon File): HACKER [původně někdo, kdo vyrábí nábytek sekerou - tesař] 1. Člověk, kterého baví zkoumat detaily programovatelných systémů a způsoby jak maximálně využít jejich schopnosti, narozdíl od běžných užívatelů 2. Člověk, který programuje s nadšením (dokonce posedlostí) nebo dává přednost programování před teoretickými úvahami o programování. 3. Osoba schopna ocenit „hack valueÿ. 4. Člověk, který je dobrý v rychlém programování. 5. Expert v používaní konkrétního programu nebo někdo, kdo daný program často používá při své práci; jako např. Unix hacker. 6. Jakýkoli expert nebo nadšenec. Člověk může být například hackerem v astronomii. 7. Člověk, pro kterého je překonávání překážek tvorivým způsobem intelektuální výzvou. 8. (nesprávně) Zlomyslný šťoura, který se snaží získat choulostivé informace špiclovaním. Odtud napr. password hacker, network hacker apod. Správný termín pro tento vyznam je cracker (viz Slovník). Výraz hacker může také označovat příslušnost ke globální komunitě v určité síti. Základní informace o této kultuře naleznete v „How To Become A Hackerÿ („Jak se stát hackeremÿ). Hackeři se považují za jakousi elitu (meritokracii, ustavenou na základě schopností), která je ovšem velice otevřená novým členům. Ještě krátká ukázka z textu člověka s přezdívkou SotN (Shadow of the Net). Část textu je ve slovenštině, to ale doufám pro vás není velká překážka, všechno v originále bez další jazykové úpravy: ... zakladne pravidla normalneho hackera [alebo nehackujte policiu] Hacker by mal predovsetkym mat svoj nazor, mal by vediet o co mu ide a co chce. Presnu definiciu hackera najdete v jargon file, hackery se potom rozdeluju na darksidehackerov,samuraiov. . . a take podobne blbosti, k samotnemu hackovaniu su vam vsetky tieto pravidla nanic . . . tu napisem par pravidiel, ktore by mal/mohol hacker dodrziavat a zaroven aj trocha z hackerskej etiky
IGOR GOMBOŠ: HACKING, CRACKING A WAREZ
... HACKERS ETICZK: 1. Vira, ze sdileni informaci je spravne a dobre, a ze je etickou povinnosti hackeru delit se o sve poznatky psanim open-source a usnadnovanim pristupu k informacim a pocitacovym zdrojum v maximalni mozne mire. 2. Vira, ze „nabouravaniÿ do systemu pro pobaveni a ziskani zkusenosti je eticky v poradku, dokud vsak nedojde k vandalismu, zcizeni informaci ci poruseni jejich utajeni. Oba tyto zakladni principy jsou mezi hackery siroce, i kdyz nikoli vseobecne, prijimany. Vetsina hackeru se hlasi k hackerske etice v prvnim zde uvedenem vyznamu a naplnuje jeji vyznam psanim a zverejnovanim open-source softwaru. Nekteri jdou v tomto trendu jeste dale a prosazuji myslenku, ze vsechny informace by meli byt volne dostupne a jakakoli patentova kontrola je spatna; toto je filosofie, ktera stoji za GNU projektem. Smysl 2 je vice kontroverzni: nekteri lide povazuji samotny akt crackingu za neeticky. Avsak vira, ze „eticky crackingÿ nesmi znamenat destrukci alespon umirnuje lidi, kteri se povazuji za „benigniÿ (maligni = zhoubny vs. benigni = nezhoubny - napr. nador) crackery (take samurai). Z tohoto pohledu je povazovano za nejvyssi formu hackerske etikety (a) nabourat se do systemu (b) vysvetlit spravci, nejlepe mailem ze superuzivatelskeho accountu, jak k nabourani doslo a jak lze tuto diru „zalepitÿ. Nejlepsim ukazkou obou smyslu hackerske etiky je skutecnost, ze temer vsichni hackeri se aktivne podileji na sireni a sdileni technickych triku, softwaru a (tam kde to jde) pocitacovych zdroju s ostatnimi hackery. Obrovske site jako Usenet, FidoNet a Internet funguji bez centralni kontroly prave diky tomuto fenomenu; spolehaji a zduraznuji smysl komunity, ktera je snad nejvetsim prinosem hackerstvi. ... Pro doplnění celkového pohledu na tuto komunitu vám doporučuji přečíst si i známý manifest hackera jménem The Mentor. Můžete ho najít na www.mala.bc.ca/~soules/media112/hacker.htm. 2.3. Hacking - techniky Existují v podstatě dvě základní oblasti možných průniků: • vzdálený přístup (za využití špatného nakonfigurování systému anebo pokusem o ošálení uživatele tak, aby na svém počítači spustil kód, který mu nějakým způsobem vnutíte kupříkladu všechny viry a trojské koně ukryté v přílohách e-mailů • lokální přístup, kdy je hacker schopen získat fyzický přístup k počítači a s ním i možnost získat jednotlivá systémová hesla z tzv. PWL souboru, který je uložen v kořenovém adresáři systému, nebo použít tzv. „autorunÿ mechanismus u CDROM mechanik. Vzdálený přístup k počítači je možný čtyřmi základními způsoby: • přímé připojení ke sdíleným zdrojům počítače (sdílené disky, dial-up server apod.) • nainstalování backdoor serveru • využití známých chyb operačního systému (padání do „modré obrazovkyÿ apod.) • denial of service (odepření služby)
IGOR GOMBOŠ: HACKING, CRACKING A WAREZ
První tři z vyjmenovaných způsobů lze využít pouze v případě, že je vzdálený systém buď špatně nakonfigurován, anebo jsou jeho uživateli lhostejné naprosto základní poučky o pravidlech chování s počítačem připojeným k síti (resp. o těchto pravidlech uživatel ani neví, což je problém 99% případů všech kancelářských strojů). Popišme si blíž některé ze základních hackerských technik: IP spoofing – Jedna z nejpoužívanějších hackerských metod. IP adresa je jedinečná a tudíž velice lehce vystopovatelná. U všech odchozích TCP/IP packetů je tedy zmeněna originální zdrojová IP adresa počítače na jinou. Tím předstíráme, že jsme někým jiným, než doopravdy jsme. Hodí se to např. když chceme odesílat naprosto anonymní e-maily. Na druhou stranu odpověď na takovýto e-mail už nikdy nenajde původního zpětného adresáta (nesouhlasí IP). IP spoofing je tak metodou čistě jednocestné komunikace, není ho proto možné využít pro zajištění anonymity při jakékoliv činnosti na Internetu, která vyžaduje obousměrnou komunikaci. Když už jsme u problematiky e-mailů - existují speciální programy, které špinavou práci při spamu udělají za vás říká se jim mail- bombery a jsou určeny k masovému odesílání anonymních e-mailů. Všeobecně nejpoužívanějšími jsou KaBoom, Avalanche, Up Yours, eXtreme, . . . Přímo kód e-mail bomber/spoofera (UNIX skript) pro command line najdete v sekci Ukázky. Flooding – V angličtině „záplavaÿ nebo „povodeňÿ, což dokonale vystihuje princip hackerské činnosti, při které se spoofing využívá. Flooding je totiž metoda, při které hacker doslova zaplaví cílový počítač takovým množstvím dat, že je oběť nedokáže zvládnout, takže omezuje veškerou ostatní činnost (floodovaný webový server například odmítne zpracovávat další požadavky na prohlížení webových stránek a „věnuje seÿ jen zpracování záplavy dat), nebo v horším případě kolabuje a hroutí se. Flooding (ve spojení se spoofingem) je všeobecně znám ve formě tzv. DoS (Denial of Service) nebo DDoS (Distributed Denial of Service) útoků, díky nimž byly „shozenyÿ i takové obrovské servery jako yahoo.com nebo cnn.com. Blind spoofing – Blind spoofing nebo-li „spoofování naslepoÿ je metoda, při které se hacker snaží získat přístup na vzdálený počítač tím, že se vydává za někoho, komu vzdálený počítač „věříÿ (např. přes rhost a rlogin na Unixu). Hacker začíná „osahánímÿ cílového stroje. Zjišťuje kde počítač je, jaká je topologie sítě okolo, jaké porty jsou na počítači otevřené a které služby na něm běží (to se zjistí právě díky existenci otevřených portů). Tato činnost se nazývá scanning. Pokud je zjištěno, že na cílovém počítači je otevřen port číslo 513, je jasné, že na něm funguje služba rlogin, a tudíž pravděpodobně existuje minimálně jeden jiný počítač, kterému tento cílový „věříÿ. Nyní je otázkou náhody, dobrého odhadu nebo sběru informací, jestli se hacker „trefíÿ do IP adresy počítače, který patří mezi ty, kterým cílový „věříÿ. Většinou je testován celý poslední síťová segment Zároveň je ale vždy nutné pomocí floodování zaneprázdnit ten počítač, kterému daná IP adresa doopravdy patří - a to z jediného prostého důvodu odpověď na útočné packety samozřejmě bude odcházet na spoofovanou IP adresu. Hacker samozřejmě nepotřebuje, aby tyto odpovědi došly na místo určení, protože by mohly spustit poplach. Naprosto stejnou metodu spoofování IP adresy naslepo využil jeden z nejslavnějších hackerů světa Kevin Mitnick při osudném útoku na počítač jeho hlavního pronásledovatele Tsutomu Shimomura. Mitnick nejprve díky správnému odhadu IP adresy „důvěryhodnéhoÿ počítače získal přístup na jeden z terminálů na vnitřní síti, kde byl zapojen také Shimomurův stroj a odtud stejnou metodou získal přístup k datům svého úhlavního nepřítele. Tento zdařilý kousek mu ale byl následně osudným, protože způsobil zahájení nevídané pátrací akce, po které byl nakonec Kevin Mitnick dopaden a odsouzen.
IGOR GOMBOŠ: HACKING, CRACKING A WAREZ
Scanning – Již jednou spomenutá technika, díky níž můžeme zjistit mnoho informací o cílovém počítači, aniž bychom nějak vážně riskovali ohrožení vlastního bezpečí. Scanování je totiž metoda sběru informací, při jejímž využití se útočník jakýmkoliv způsobem nesnaží proniknout dovnitř systému, pouze se na základě vnějších znaků vzdáleného systému snaží rozpoznat, o jaký počítač se jedná, který operační systém na něm běží a které otevřené komunikační kanály (porty) bude možné případně využít. Enumerace aneb Aktivní sběr informací – Enumerace (z anglického „enumerationÿ výčet, seznam) je mnohem komplexnější způsob ohledávání vzdáleného počítače, při němž (narozdíl od scanování) dochází k hloubkovému průzkumu operačního systému napadaného počítače útočník se snaží hlavně o nalezení existujících uživatelských účtů (čím vyšší priorita práv, tím lépe - hlavně root v Unixu resp. administrator ve Windows) a všech možných systémových zdrojů, které by bylo možno využít pro vlastní průnik dovnitř systému. Znalost existujících uživatelských kont a jejich privilegií je pro hackera stěžejní. Nyní nezbývá nic jiného než uhodnout nebo jiným způsobem zjistit uživatelské heslo. Zdá se, že tady cesta končí ve slepé uličce. Jenže existuje tolik neopatrných uživatelů, kteří si jako heslo zadají něco tak triviálního jako jméno své manželky nebo značku svého automobilu . . . Díky těmto hlupákům hackeři vítězí. Někdy pomůže i enum (viz text dále), který podle dodaných slovníků hesel umí (a opravdu rychle) přístupová hesla odzkoušet sám. Hesla se dají získat vícero způsoby: Hádání hesel („tryingÿ) – zdá se být ztrátou času, ale překvapivě mnoho lidí na heslo použije kupříkladu své křestní jméno, příjmění, jméno manželky nebo dětí, poznávací značka auta, datum narození, . . . Cracking password files – získávání hesel z jejich zakryptované podoby uložené v systému (na Unixu /etc/passwd popř. /etc/shadow, pro Win95/98 c:\windows\ *.pwl, . . . ) za pomoci programů, tzv. crackerů, které používají jako své techniky hlavně bruteforce attack (zkouší kombinaci všech písmen, číslic, spec.znaků) a dictionary attack (zkouší všechna slova které má ve speciálním souboru – slovník ). John the Ripper, pwlcracker, CAIN jsou jedny z mnoha. KeyLoggers – snímače klávesnice, jednoduchý program, který snímá stisknutí klávesy a uloží jej do určeného souboru. Sniffing – odchytávání paketů na síti. Nastavíme síťovou kartu tak, aby chytala i pakety, které přes ní procházejí, no nejsou pro ni určeny. Sniffer zachytává hlavně hlavičky paketů místa, kde se nacházejí autorizační údaje. Nastaví se tak, aby chytal data které patří službám, kde se pracuje s hesly (telnet, pop3, ftp, . . . ). Trojan horses (backdoor) – trojské koně jsou programy, které přesně vystihuje jejich název. Dostanete je nějakým způsobem do počítače, aby jste ho následně mohli ovládnout i bez hesla. Bývají součástí naoko neškodných prográmků pro pobavení, které kromě sebe nainstalují na systém taktéž tohto nepříjemného hosta. Mnoho lidí si je mýlí s virama, no s nimi mají jenom málo společného. Za všechny populární SUB7, BackOrifice, Netbus, . . . Social engineering – tato technika získavání hesel je dosti rozporuplná (z hackerského hlediska), ale i Mitnick (viz kapitolu Osobnosti) získaval mnoho informací právě díky svému talentu manipulovat lidi. Jde o to, že získáte heslo nějakým netechnickým způsobem. Zavoláte do XXX, ze jste Mr.Spielberg a zapoměli jste svoje heslo na mail. Pokud dokážete perfektně komunikovat a vydávat se za někoho jiného, tak je to skvělá přiležitost, jak získavat jinak těžce dostupné důležité informace. Speciální „disciplínouÿ social engineeringu je tzv. trashování, prohlížení odpadu za účelem získání vyhozených dokumentů.
IGOR GOMBOŠ: HACKING, CRACKING A WAREZ
Exploity – využívání tzv. exploitů (chyba v programu, přes kterou je možné proniknout do systému a spustit vlastní kód. Takovýchto chyb je velké množství a každý den se objevují další. Nejvíc z nich souvisí s přetečením zásobníka (buffer overflow ), tak fungoval i první Morrisův červ. Je proto nutné neustále zalátavat tyto díry vydanými patchi nebo upgradem na vyšší verzi softwaru. Pár tipů, jak se dá bránit proti hádání hesel, se dovíte v sekcii Ochrana. Životně důležité pro hackera je stopy svého průniku na cizí stroj co nejdřív a co nejpečlivěj smazat. Informace o tom se uchovávaji v tzv. log-souborech. Buď je útočník klasicky přemaže, nebo již před prvním vstupem do systému použije tzv.redirektory, programy pro přesměrovávaní komunikace po síti přes jiný server. Je jím často jiný hacklý počítač nic netušícího člověka. Bezpečnejší je samozřejmě redirect přes více uzlů zároveň. 2.3.1. Příklad postupu hackera – Win. Podívejme se blíž na možnosti hackera např. u systému Windows (Windows NT/2000/XP/9x) – již prastará NT-čka si získala (a vcelku oprávněně) pověst jednoho z nejhůře zajištěných operačních systémů na světě. Zásadní vlastností Windows je využívání vlastních CIFS/SMB (Common Internet File System/Server Message Block) a NetBIOS protokolů, které spravují datovou komunikaci. Jejich jádro je pro využití vlastních protokolů nakonfigurováno po čisté instalaci to v mnoha případech velmi ulehčuje práci hackerovi. Hlavním nástrojem piráta, který hodlá nabourat ochranu serveru běžícího na Windows NT/2000, je tzv. Windows NT/2000 Resource Kit, což je už od dob Windows NT v3.1 existující soubor utilit určených pro správu windowsových stanic přímo od Microsoftu. NTRK/W2KRK (NT Resource Kit/Win2k Resource Kit) obsahuje nejen kolekci původně UNIXových utilit, ale také implementaci skriptovacího jazyka Perl nebo programy pro vzdálenou správu Windows NT/2000, které nejsou součástí standardní instalace Windows (ani ve verzi Professional). Vzhledem k tomu, že Resource Kit je možné opravdu účinně využít pro útok proti vzdálenému systému běžícímu na Windows NT/2000, někdy se mu také přezdívá „Windows NT Hacking Kitÿ. Achillovou patou NT/2K jsou již zmiňované protokoly CIFS/SMB a NetBIOS, které obsahují mimo jiné i aplikace, které na TCP portu č. 139 uvádějí informace o stroji prakticky komukoliv, včetně nezvaných návštěvníků. Jednoduchým příkazem vytvořená tzv. null session se připojí vetřelcův stroj na počítač na jeho skrytý komunikační kanál jako anonymní uživatel (/u:””) s prázdným heslem (””). Pokud administrátor vzdáleného počítače takovouto možnost připojení na jeho server nezakázal (tedy neodfiltroval všechny pokusy o TCP komunikaci na portu 139 - což se v drtivé většině případů nestává), má vetřelec otevřený přímý kanál k jeho stroji a může tak s klidným svědomím zjišťovat další užitečné informace o tomto serveru (informace o lokální síti, uživatelích, jejich skupinách a jednotlivých pravomocech, informacích uvedených v registrech apod.). Microsoft byl záhy informován o tomto velkém bezpečnostním problému a vydal ochranné patche. Další utilitky, jež jsou součástí Resource Kitu a jsou užitečné při zkoumání serverů, jsou nbtscan (informace o celých podsítích), nltest (identifikuje primární a záložní správce domén), rtmshare (velmi podobný net view) nebo srvcheck (zobrazuje informace o sdílených adresářích a discích a jednotlivých autorizovaných uživatelích systému). Na Internetu je možno najít mnoho jiných samostatných prográmků určených pro vzdálenou administraci Windows NT/2000 jako DumpSec - dává možnost kontrolovat vše od přístupových práv k souborům až po výčet služeb, které na tomto počítači běží. Legion umí prohledat vzdálený server a najít na něm všechny sdílené adresáře, které jednotliví uživatelé přiřazení do existujících domén dávají k dispozici. Číslem jedna mezi „sběrači informacíÿ nicméně zůstává utilitka s jednoduchým názvem enum. umí zobrazit informace o existujících uživatelích a jejich přiřazení do skupin, seznam
IGOR GOMBOŠ: HACKING, CRACKING A WAREZ
strojů v jednotlivých doménách, seznam nasdílených adresářů na všech aktivních strojích a mnoho dalších. S enumem si tak hacker vystačí na celé pouti od scanování až po hádání hesla uživatele, jehož účet (také pomocí enum) nalezl. Hrozivé? Určitě. Hned proto přejdeme do další sekce Ochrana. 2.4. Hacking - ochrana Za samozřejmé by se určitě měla považovat pravidelná aktualizace, aplikování všech patchů a opravných balíčků. Dále je důležité zabezpečit hlavně komunikaci „se světemÿ, tedy po lokální síti i přes internet. Nastavení větší bezpečnosti v internetovém browseru, vypnutí používání ActiveX a použití firewallu, který bude blokovat pokusy o použití portů z vnějšku a bude monitorovat pokusy o jejich použití, možno jenom doporučit. Znamená to, že celý rozsah portů (0- 65535) je blokován a jejich použití je umožněno pouze „zevnitřÿ programům, které spustí uživatel. Toto blokování je užitečné i v případě lokálních sítí, které používají protokol TCP/IP. Pokud bude ve vašem zasíťovaném počítači pouze protokol TCP/IP a použijete firewall, který blokuje porty, nebude pro okolní počítače váš počítač „viditelnýÿ (tzv. stealth mode). Asi není třeba zdůrazňovat, že ochrana hesel proti „rozbitíÿ je základní kámen ochrany, bez něj je každý systém velmi zranitelný. Administrátor stroje by měl zabránit (nebo alespoň podstatně ztížit) hackerům uhádnutí správné kombinace platného loginu a hesla. V nejhorším případě samozřejmě hesla administrátorského. Na firewallu/proxy je nutné zakázat přístup k citlivým TCP a UDP portům a zároveň u všech síťových adapterů jakékoliv vazby ke klientovi prostřednictvím správce hardwarových zařízení. Nastavte automatické uzamčení všech uživatelských účtů po co nejmenším počtu nesprávně zadaných hesel, určete minimální nutný počet znaků, který musí mít každé heslo (doporučeno je alespoň 8), každé heslo by zároveň mělo obsahovat jak písmena, tak číslice. Aktivujte logování všech nesprávných pokusů o zadání hesla. Dobrou volbou pro správce serverů jsou i nejrůznější utilitky, které fungují jako tzv. virtuální servery. Ty na vašem počítači naoko otevřou síťové porty, které vlastní systém nepoužívá, a docílíte toho, že méně zkušené piráty svedete z cesty tím, že svému počítači nasadíte jakési mimikry. Správce UNIXového stroje tak může virtuálně otevřít port číslo 139 a zamaskovat špatně chráněné stanice s Windows 9x. Zkušeného hackera sice takto lehce nezmatete, ale pirátům- začátečníkům tak do cesty postavíte překážku, na které si mohou vylámat zuby při testování Windows 9x exploitů. Ty při útoku na UNIXový server samozřejmě nebudou fungovat. Když už jste se stali cílem útoku, je důležité poznat odpověď na otázku, jestli můžete proti hackerům vést protiútok. Odpověď je vesměs překvapivá - NE. Jeden malý příklad: v září 1998 reagoval Pentagon na sérii DoS útoků provedených za pomoci webových browserů hackerskou skupinou Electronic Disruption Theater. Proti jejich aktivitám byl použitý obranný applet, který ukončil běh útočících browserů. Čisté, rychlé a efektivní. Ale právníci Pentagonu v minutě vyletěli ze židlí až ke stropu - personál bránící servery Pentagonu tím porušil příliš mnoho amerických zákonů, včetně prvního vojenského pravidla, které nedovoluje ozbrojeným silám akce na půdě USA proti vlastním americkým občanům. Technický personál Pentagonu se tak dopustil stejných hrdelních zločinů, pro které mizí hackeři ve vězeních. Jednoduše je pravda a platí, že je nelegální odzbrojit vašeho on-line útočníka. To totiž vyžaduje provést nějakou obrannou akci - vyslat k útočníkovi „nepřátelskýÿ applet, opětovat DoS útok vlastními prostředky, nebo nějak jinak ukončit útok. Konečný efekt je, že oba - útočník i oběť (která opětuje útok), porušují platné zákony. Na první pohled to nadává žádný smysl - jestliže můžete odzbrojit lupiče mávajícího nožem, proč nemůžete odzbrojit elektronického lupiče-útočníka? Ve fyzickém světe bezpečně víte, kdo je lupič. Během útoku to je osoba s nožem, a ačkoli neznáte jeho jméno nebo vzhled tváře, jste
IGOR GOMBOŠ: HACKING, CRACKING A WAREZ
si 100 procentně jistý, že nůž v rukách lupiče vás může zlikvidovat. Ve světě počítačových sítí si ale nemůžete být jistý, že se za IP adresou, ze které přichází útok, skrývá skutečný útočník, ačkoli to tak vypadá. Například mnoho distribouvaných DoS bylo vystopováno a pocházely z počítačových sítí, na jejichž servrech byly umístěni trojské koně. Jak by tedy mohlo vypadat obecné řešení tohto palčivého problému? Možnosti jsou: • Je potřeba navrhnout nástroj, který zastaví útok, a přitom bude minimalizovat škody v případech, že útok pochází ze „spřátelených sítíÿ od zavlečených trojanů. • Legalizovat „nepřátelskou odezvuÿ, a počítače, ze kterých přichází útok, budou zničeny, pokud zabezpečení jejich sítě nebude dostatečné. (pozn. předpokládá se, že útok vedený z firemní sítě, která bude dostatečně zabezpečená, je způsoben zavlečeným resp. nasazeným trojanem, kdežto útok z nezabezpečeného počítače, nebo nezabezpečené sítě je veden hackerem. Firemní dobře zabezpečená síť nebude zpětným protiútokem poškozena, kdežto domácí zlomyslný uživatel ano) • Vybudovat zvlášť odolný zpětný kanál (back-channel ) na internetu, který umožní rychlé routování, takže vytrasování a zjištění podvržené identifikace bude mnohem rychlejší, jednodušší a při spolupráci s ISP (Internet Service Provider ) naprosto automatické. • Navrhnout takový systém identifikace volání pro internet, že na straně web site bude možné identifikovat, kdo je návštěvníkem stránky, co se snaží dělat a ignorujme všechna anonymní volání. (digitální podpis s certifikací třetí stranou?) Pravdou ale stále zůstává, že stíhání autorů virů místo prevence, tj. tvorby bezpečnějších systémů, tvorby a šíření automaticky fungujících záplatovacích a automaticky se updatujících antivirových programů, může dospět k tomu, že se viry a červi stanou skutečnou zbraní podsvětí, případně nástrojem nefalšovaného terorismu a součástí některého z příštích útoků teroristických a extrémistických skupin. Lze nabídnout ještě jednu úvahu (už jenom proto, že je zajímavá). Současní autoři virů a červů jsou de facto užiteční, neboť pomáhají budovat imunitu. Škodí (rýma také škodí), ale nejsou smrtící, a nutí uživatele ke správným návykům, jako je záplatování OS, k zakoupení, užívání a updatování kvalitního antiviru a potažmo i vývojářské firmy k tvorbě lepších, bezpečnějších operačních systémů. 2.5. Hacking - činnost Policie ČR I když počítačové pirátství není na českém Internetu příliš obvyklé, čas od času musí policie případy hackerů řešit i v České republice. Jejich práci jim přitom komplikují provozovatelé napadených serverů. Kriminalisté totiž nemají problém analyzovat stopy, které po sobě piráti nechají a začít je stíhat. Bez pomoci provozovatelů jsou však bezmocní. Práce vyšetřovatelů z oddělení počítačové kriminality policejního prezídia se v poslední době soustředí hlavně na anonymní výhrůžky zasílané prostřednictvím Internetu. Případů, kdy někdo anonymně zašle email, ve kterém hrozí výbuchy, útokem či jinou formu násilí, znatelně přibylo. Podobný boj s větrnými mlýny zažívá policie i při postihu další nezákonné internetové disciplíny - počítačového pirátství. I když v Česku nejsou hackerské skupiny tolik rozšířené jako v zahraničí a jejich útoky nejsou tak zničující (většinou napadnou jen úvodní stránku), občas se někomu podaří husařský kousek, kterým se proslaví i na zdejší klidné poměry. I jejich motivy bývají odlišné od agresivnějších zahraničních kolegů. Hlavní myšlenkou počítačových pirátů je poškození serveru velkých nadnárodních společností či orgánů, pro něž je boj proti této kriminalitě profesní prioritou. Naplnit tyto ideje se však českým hackerům podaří jen málokdy. Častěji si spíše jen tropí žerty z různých politiků či myšlenek politických stran. Pojďme
IGOR GOMBOŠ: HACKING, CRACKING A WAREZ
si připomenout nejznámější tuzemské případy a podívejme se, jaké proti nim mají policisté prostředky a co naopak jejich stíhání brzdí. Za nejprestižnější hackerský zásah lze bez nadsázky považovat útok na nejstarší českou freemailovou službu Post.cz. Tímto případem se však paradoxně nemohou pyšnit čeští hackeři, ale jejich kolegové ze Slovenska. K útoku se totiž přihlásila skupina pirátů sdružených ve skupině binary.division. Ti svůj zásah před čtyřmi lety směřovali na server Post.sk a poškodili tak i český Post. Hackerům se tak podařilo zjistit řadu uživatelských jmen a hesel do schránek uživatelů. Zatímco slovenský Post hacknutí ihned přiznal, jeho český kolega se zachoval dosti neprofesionálně. Dlouho problémy označoval pouze za technické binary.division a trvalo několik dní, než závažnost útoku uznal. Stejná skupina pirátů v minulosti poškodila kromě stránek KSČM či serveru ISDN i web českého ministerstva vnitra. Hackerům se podařilo na úvodní stránku umístit inverzní fotografii ministra Stanislava Grosse a ironický text. Zasáhli přitom jen homepage serveru, ostatní data nechali být. Pikantní kousek se povedl i neznámému pirátovi, který navštívil stránky KDU-ČSL. Na webu nechal výzvu ”Chceme rychlou popravu Václava Klause, ještě není pozdě!” a administrátorům vzkázal: ”Admina na tomto serveru robí pravděpodobně žena. . . Chtěl jsem zkrátka vyjádřit svůj názor. . . A proč zrovna KDU-ČSL (či 4banda)? Prostě mě s. . . jejich billboardy a je to samej bejvalej komouš. . . Jo, a tohle není hack žádné jiné politické strany.” Svůj text ilustroval fotografií nahé otylé ženy s obličejem tehdejšího premiéra Miloše Zemana. I když vedení strany tento útok označilo za nechutný, nakonec se rozhodlo nepodávat trestní oznámení. Vzniklá škoda totiž podle jejich slov byla téměř nulová. I když české soudy zatím případ počítačového pirátství neřešily, má policie na hackery připravené celkem slušné sazby. Počítačové pirátství totiž považuje za trestný čin poškození a zneužití záznamu na nosiči informací. Hackerovi, který útokem nezpůsobí příliš velkou škodu, tak hrozí až jeden rok vězení. Soud mu ale může také udělit pokutu či zakázat činnost v oboru. Organizovaná skupina pirátů je na tom ale o poznání hůř. Její členové mohou za mřížemi strávit až tři roky. Pokud však jejich zásahem vznikne škoda vyšší než pět milionů korun, soud je může poslat sedět až na pět let. Při stíhání hackerů se ale policie častěji setkává s podobným postojem jako u zmiňovaných lidovců - většina provozovatelů zasažených serverů vůbec nepodá trestní oznámení na neznámého pachatele. Kriminalisté tak nemohou hackery začít stíhat a jsou proti nim bezmocní. Provozovatelé (ať už jsou to politické strany či velké firmy) se totiž obávají více než hackerů negativní reklamy. Také mají obavy z dlouhého policejního vyšetřování. To je i jeden z důvodů, proč v České republice zatím ještě nejsou „hrdinníÿ hackeři, kteří za své myšlenky museli sedět ve vězení. Na českého Kevina Mitnicka, který po dlouhých osmi letech opustil americké vězení a který svými činy dal význam slovu hacker, si tedy budeme muset ještě počkat. Ještě donedávna byl na čele odděleni policie pro boj s kyberzločinem Jiří Dastych z Ministerstva vnitra ČR. Můžete si přečíst krácený rozhovor novináře Jana Šípka s ním: 1. Pokud se Vám podaří nějakého hackera chytit, z čeho je obviníte? Z trestného činu podle 257a trestního zákona, který je zaměřen na získání neoprávněného přístupu k nosiči informace s úmyslem způsobit škodu nebo získat neoprávněný prospěch. 2. V jakém stádiu je Vaše pátrání po hackerech? Už jste nikoho zadrželi a případně obvinili? Nezadrzeli, ani neobvinili. Takový zásah do práv občana si vyžaduje naprosto perfektní přípravu, aby jsme nemohli být napadáni pro pochybnosti a přehmaty. 3. Můžete, prosím, čtenářům říct pár slov o vaší práci? Jak probíhá hledání, za-
IGOR GOMBOŠ: HACKING, CRACKING A WAREZ
tčení a obvinění takového piráta? Jde o standardní policejní práci, ale v tomto případě namířenou proti porušovaní 152 trestního zákona - porušovaní autorského práva. Hledání je poměrně jednoduché - z volných zdrojů jako je inzerce a pod., oznámením autorů a nebo oznámením poškozených lidí, kteří si v některých případech i mohli myslet, že kupují legální software (OEM), ale nebylo tomu tak. Zatčení je naprosto obvyklé - přijdeme, zjistíme, co můžeme, a odejdeme spolu s pachatelem, na základě důkazů je následně obviněn vyšetřovatelem z trestného činu. Ještě pár informací o vybavení spomínané jednotky – skupina informační kriminality má jen cca 10(!) lidí pro celou republiku. Mají mít nadprůměrné vybavení, zabývat se hlavně monitorováním nelegální činnosti na internetu (pirátství, hacking, dětská pornografie apod.) a používají Windows a linuxové distribuce Redhat a Suse. Ani v západních krajinách není situace policie jednoduchá. Zajímavý článek o zatknutí autora viru Sasser v Německu můžete najít na www.zive.cz/h/Byznys/AR.asp?ARI=116435&CAI=2034. 2.6. Hacking - osobnosti První velký případ začal v roce 1986, kdy jeden napůl astronom a napůl počítačový správce Cliff Stoll v Berkeley objevil hackera. Trvalo rok, než ho chytili. Jmenoval se Markus Hass a nabourával se do počítačů mimojiné přes účet UUCP (Unix to Unix Copy). Využíval toho, že si někteří administrátoři nenastavovali všechna hesla nová, to znamená, že na účet FIELD použil heslo SERVICE atd . . . Další člověk, co stojí za připomenutí, je Robert T. Morris, syn Boba Morise, co pracoval ve vedení NSA (americká tajná agentura zabývající se mimo jiné bezpečností počítačů, má na starosti také šifrovací algoritmy), nakazil viKevin Mitnick rem 2.listopadu 1988 2000 počítačů. Na Unixu tento vir byl vyjímečný tím, že se šířil pomocí pošty a využil díru v programu sendmail s pomocí finger. Po vniknutí do systému si nechal vypsat kdo je napojen a na toho se pak napojil a tak dál. Tento vir zahltil 2000 pocitacu s Unixem. Za nejslavnějšího hackera světa bývá považován Kevin Mitnick, který svými průniky do systémů různých společností způsobil škodu 300 milionů dolarů. Byla to ale jen imaginární suma, nikdy se totiž neobjevila v účetních výkazech domněle poškozených firem. ”Před skutečným hackováním jsem se věnoval phreakingu. To je zkoumání telefonních sítí přibližně stejným způsobem, jakým dnešní hacker zkoumá sítě počítačové,” Třeba domácí stanici jedRichard Stallman noho svého kamaráda změnil v ústředně na veřejný telefonní automat. Takže když dotyčný kamarád chtěl telefonovat a zvedl sluchátko, ozvalo se: ”Vhoďte prosím minci.” Kolem legendárního hackera se navíc vytvořil velkolepý mýtus. Údajně se mu podařilo nabourat do databází FBI a měnit zde záznamy o své osobě. Dokázal se prý dostat do počítačů amerického Pentagonu a byl jediné kliknutí myši od rozpoutání jaderné války. Sám Mitnick ovšem říká, že to byly jenom fámy, které měly s realitou jen velmi málo společného. 15. února 1995 byl zatčen a obviněn z krádeže, narušovaní soukromí a mnoha dalšího. Byl propuštěn 21.ledna 2000 s podmínkou, že se nesmí dotknout počítače tři roky. V současnosti je Kevin Mitnick uznávaným expertem na bezpečnost a Linus Torvalds renomované společnosti si od něho nechávají prověřit své sítě. Další jména z položky „notable hackersÿ jenom telegraficky: Richard Greenblatt, Bill Gosper, Richard Stallman (hacker staré školy, legendární zakladatel free software hnutí, otec GNU projektu), Ken Thompson a Dennis Ritchie (pracovníci Bell Labs, v roce 1969
IGOR GOMBOŠ: HACKING, CRACKING A WAREZ
napsali UNIX), Bill Joy, Steve Wozniak (spoluzakladatel Apple Computers, začínal jako phreaker), Linus Torvalds (jako student University of Helsinki napsal v 1991 Linux kernel), Eric S. Raymond, Larry Wall, Johan ”Julf” Helsingius, Tsutomu Shimomura, . . . Z těch nechvalně známých Dark Avenger (bulharský autor prvního polymorfního viru), Eric Corley (a.k.a Emmanuel Goldstein), John Draper (a.k.a. Captain Crunch), Mark Abene (a.k.a. Phiber Optik), Adrian Lamo, Robert Tappan Morris, Jr. (první rozšířený makrovirus), Kevin Poulsen, Vladimir Levin, . . . 2.6.1. Cz/Sk scéna. Dvě nejznámější hackerské skupiny v České republice a na Slovensku SERT a CzERT na sebe plynule navazují. CzERT vznikl vlastně z trosek SERTu. Syrup Emergency Reaction Team SERT vznikl spontánně jako volné sdružení hackerů Komenského univerzity v Bratislavě. Většinou se zaměřoval na boj s nelegálním softwarem (warez), kteřím správcové plnili disky školních serverů a ucpávali přenosové linky. Občas někomu poslali výzvu, aby warez odstranil. Když tak neučinil, smazali mu i všechna data. Hackli stránky Tlačovej agentúry SR a umístili na ně článek o SERTu a boji s počítačovým pirátstvím. Nakonec byl nalezen univerzitní počítač, ze kterého průniky podnikali, zabaven a důkladně zanalyzován. Tři studenti byly kvůli tomu vyhozeni ze školy. Czech Emergency Response Team. Název CzERT byl odvozen od SERT, který byl parodií na CERT, americkou organizaci, která se zabývá odhalovaním a zveřejňovaním chyb v počítačových systémech. Hacker Generic, jeden z CzERTu, si myslel, že SERT znamená „Slovak Emergency . . . ÿ a tak vznikl „Czech Emergency Response Teamÿ, jehož členy jsou však jak česi tak slováci. Dá-li se vůbec o členství mluvit, protože CzERT je pouze jakýmsi společným štítkem pro přibližně deset hackerů. Čas od času se celý CzERT sejde na tzv. CzERT session. Skupina se stala proslulou hlavně průniky do webů Armády Czert symbol ČR, Ministerstva zdravotnictví, MAmedií, Seznamu a Mobilu. Momentálně je velmi známá i grupa pod jménem binary.division. Povedlo se jim hacknout slovenské stránky HZDS, Policie, KSS, Ministerstva vnitra, Post.sk/cz a asi i mnohé další. Bližší informace o cz/sk scéne nejdete např. na www.hysteria.sk/prielom. 2.7. Hacking - ukázky Kvůli názornosti jsem se rozhodl připojit i dvě ukázky hackerských postupů, kterých počet na internetu je obrovský. Ukázka č.1 - Jak Získat Windows NT hesla – jak Windows NT uchovává hesla uživatelů? Otevřete si průzkumníka a přejděte do adresáře c:\winnt\repair . Dvakrát klikněte myší na soubor sam. , protože to je to, co hledáte. Systém se vás zeptá, v jakém programu chcete soubor otevřít - vyberte Notepad. Co se vám zobrazí? Změt nesmyslných znaků? To proto, že soubor je zkomprimován. Spusťte tedy příkazový řádek a napište expand c:\winnt\repair\sam. c:\sam.txt. Soubor se vám rozbalí na c: do souboru sam.txt. Teď již můžete rozeznat například jména uživatelů, jejich identifikační čísla (SID) a některé další informace. To nejdůležitější - hesla se však nachází v zašifrované podobě. Například heslo Bingo vypadá v zašifrovaném stavu takhle: 046224DCA3E87FF15A86A3AC53021804 Jak taková hesla dešifro vat? Čtěte dál. Kromě souboru sam. můžete zašifrovaná hesla získat i z registrů (programem samdump, nebo l0phtcrack), a také snifrovaním paketů ze sítě (l0phtcrack), u obou způsobů se však nejspíše neobejdete bez administrátorských pravomocí. Lze rozluštit hesla uživatelů v zašifrované podobě? Ano. lze. Systém Windows NT používá poměrně kvalitní šifrování a proto je nutno použít speciálních programů k jejich rozluštění. Mohu smělě doporučit program l0phtcrack. Pokud jej již máte, stačí spustit l0phtcrack.exe a v nabídce File vyberte položku Import SAM File. Pak jednoduše zadáte cestu k souboru sam. , tedy c:\winnt\repair a můžete začít crackovat (Run Crack). V menu Options si můžete vybrat, zda chcete zkoušet náhodné kombinace nebo slova z wordlistu. U náhodných kombinací si můžete vybrat pouze čísla (0-9), nebo pouze písmena (A-Z) nebo obojí dohromady nebo i se znaky jako @\ / .,”:+- a podobně. Pokud zkoušíte jako možné heslo všechny existující znaky, pak vám může crackování trvat i několik dnů či týdnu podle rychlosti počítače a verze
IGOR GOMBOŠ: HACKING, CRACKING A WAREZ l0phtcracku. Jaké komplikace se mohou objevit při crackovaní hesel uživatelů ze SAM databáze? Ke komplikacím může skutečně dojít: Může se stát, že vám systém k souboru sam. vůbec nepustí s hláškou ”PŘÍSTUP ODMÍTNUT”. Obyčejní uživatelé totiž obvykle k tomuto souboru nemají přístup z pochopitelných důvodů. Ale i tento problém se dá vyřešit například použitím programu NTFSDOS, který umí obejít zabezpečení souborového systému NTFS. Další komlipace, která může nastat, je utilita SYSKEY, kterou vám může správce sítě pěkně znepříjemnit život. Tato utilita ze Service Packu 3 používá systémový klíč k zakodování hesel uživatelů, takže si s nimi neporadí ani l0phtcrack. Ale i takový problém se dá vyřešit použitím utility PWDUMP. Ukázka č.2 - IP spoofing kód pro Unix #!/bin/csh # Anonymous Mailbomber # do chmod u+rwx
where filename is the name of the file that # you saved it as. #*** WARNING - THIS WILL CREATE AND DELETE A TEMP FILE CALLED # "teltemp" # IN THE DIRECTORY IT IS RUN FROM **** clear echo -n "What is the name or address of the smtp server ?" set server = \$< #echo open \$server 25 > teltemp echo quote helo somewhere.com >> teltemp #The entry for the following should be a single name (goober), #not [email protected] mailto:[email protected]. echo -n "Who will this be from (e.g. somebody) ?" set from = \$< echo quote mail from: \$from >> teltemp echo -n "Who is the lucky recipient (e.g. someone@somewhere) ? " set name = \$< echo quote rcpt to: \$name >> teltemp echo quote data >> teltemp echo quote . >> teltemp echo quote quit >> teltemp echo quit >> teltemp echo -n "How many times should it be sent ?" set amount = \$< set loop_count = 1 while (\$loop_count <= \$amount) echo "Done \$loop_count" ftp -n \$server 25 < teltemp @ loop_count++ end rm ./teltemp echo \$amount e-mails complete to \$name from \$from@\$server # -------------------# MailBomb by CyBerGoAT
IGOR GOMBOŠ: HACKING, CRACKING A WAREZ
3. CRACKING & WAREZ 3.1. Cracking & Warez - historie Lámání počítačových ochran je staré skoro jako vývoj počítačových programů sám. Alespoň těch komerčních určitě. V době počítačových dinosaurů sice nebylo nelegální kopírování programového vybavení potřeba, protože software se dodával přímo k počítači, s nástupem mikropočítačů pro veřejnost začátkem 80. let minulého století se ale situace zásadně změnila. Výrobci softwaru si záhy uvědomili, že musejí svůj software ochránit proti nelegálnímu kopírování, protože uživatelé si programy vyměňovali místo toho, aby si je za své peníze řádně kupovali. To se ale uživatelům nelíbilo, a tak vznikli crackeři - lamači programových ochran - a celá jejich underground scéna. Celá devadesátá léta jsou pak ve znamení mohutného rozmachu tohoto odvětví. Obzvlášť s nástupem Internetu, který umožnil snazší distribuci rozlomeného produktu širší veřejnosti. Crackeři se začali zlučovat v skupinách, tzv. cracking crews, běžně se jim říká jenom groups. Jsou tvořeny dodavately (seženou nový software, často ještě před jeho oficiálním uvedením na trh - negative-day warez ), programátory (na samotné prolomení ochrany proti kopírování), obchodníky (blesková celosvětová distribuce) a dalším „podpůrným personálemÿ. Jednotlivé skupiny mezi sebou začali soupeřit o to, která dřívě dá na trh spolehlivý „produktÿ. Programátoři časem začali do cracklých programů přidávat i tzv. crack intros pro identifikaci skupiny, které se daný software povedlo prolomit. Postupně se z nich vyvinuly velmi komplexní animace s množstvím příznivců a skupiny je začali vydávat i samostatně bez jakéhokoliv cracklého programu. To je začátek demo scény, vzniklo nové umění. 3.2. Cracking & Warez - know your enemy Při crackingu jde vlastně o prolomení ochrany daného programu a provedení zásahu do něj. Většinou za účelem odstranění ochrany proti kopírování, někdy u her například tzv. no CD crack, zjednodušení obtížnosti přidáním nesmrtelnosti. Dokonce je možné se setkat i s velmi kuriózní situací, kdy cracker musel opravit chybu v programu, kvůli které program nedělal to, co měl. Většina lidí, kteří se v této problematice nevyznají, slučuje s oblibou pojmy hacker a cracker. Mezi nimi je však zásadní rozdíl. Hacker je člověk, který se baví využíváním skulin a bezpečnostních děr v programech na síti (lokální či Internet). Může tak proniknout do cizích systémů a případně odcizit nějaké informace. Nutno ovšem podotknout, že tak činí díky tomu, že najde bezpečnostní skulinu nebo využije obecného rysu tohoto systému. Obecně však nemusí být úspěšný. Na rozdíl od toho cracker, neboli lamač, je člověk, který má k dispozici hotový program a tento rozlamuje. Program už nikdo osobně nebrání, a proto kdyby byl dostatečně vytrvalý, musí ochranu vždy rozlomit. Je zajímavé, že velké množství kvalitních crackerů se rekrutuje v zemích bývalého východního bloku, dnes hlavně v Rusku. V minulosti to zde bylo často nutností, protože se originální software vlastně ani sehnat nedal, nezbylo tedy nic jiného, než jej okopírovat od známých. V současné době je důvodem hlavně finanční stránka, protože normální člověk si těžko může dovolit zakoupit software za tak vysoké ceny. Je třeba ale poznamenat, že lamači svoji činnost neprovádějí za účelem zisku, ale pouze pro zábavu, případně slávu. Daný produkt je pak k dostání zdarma. Bohužel se stává, že někoho napadne se na celé věci obohatit a pak pokoutně obstaraný program prodává dalším uživatelům. To se ale neslučuje s posláním crackerů. Ačkoliv to vypadá, že cracking je věc nezákonná a morálně špatná, rozhodně nelze říci, že by to bylo jen negativní. Jednak se autorům programů tímto způsobem dělá svým způsobem reklama, protože kdyby nebylo nelegálního šíření programů, jistě by bylo mnohem méně softwaru, ale také pro samotné crackery je tato činnost velmi přínosná, protože se naučí mnohé zajímavé metody a finty pro vlastní programování. Cracking totiž není o tom, že někomu upravíte software k obrazu svému - jde o to pochopit, jak program pracuje, jak se chová, a něco se z toho naučit. Opravdu prestižní crackerské skupiny
IGOR GOMBOŠ: HACKING, CRACKING A WAREZ
neukazují lidem, jak měnit software, ale jak v něm najít co nejvíce zajímavého kódu a co nejvíc se z toho naučit. Cracking je vlastně jen taková touha po vědění. Jsou ale i tací, kteří se na svém umění rozhodli zbohatnout a odstraňují pro pirátské skupiny, které nelegálně šíří software, nejrůznější proti-pirátské ochrany. Známým faktem prozatím zůstává, že nejde vytvořit ochrana, která bude neprolomitelná vše je jen otázkou času. Žádná ochrana nemůže zabránit cracknutí softwaru zkušeným profesionálem. Distribuce softwaru zbaveného ochrany proti kopírování (známý jako warez - odvozeno od „waresÿ) je samozřejmě nezákonná kvůli porušování autorských práv. V USA situaci kolem crackingu a rozšiřování informací jak ho dělat upravuje část tzv. Digital Millennium Copyright Act. Nejběžněji warez tvoří počítačový software, hudba, filmy a seriály atd volné ke ztažení na internetu nebo v tzv. Bulletin board systems, crackerských boardech. Osoby porušující copyright jsou běžně nazývané „počítačovými pirátyÿ. Dobře organizované skupiny v Rusku a Číně dají do oběhu programy v hodnotě několika miliard dolárů ročně. Je ale velmi nepravděpodobné, že by si tolik lidí opravdu daný software za plnou cenu koupilo a proto jsou ztráty oficielních prodejců omnoho nižší. V Rusku je dokonce ze zákona povoleno, pokud daný program není v ruském jazyce. Je rovněž velmi důležité uvědomit si, že není kopírováni jako kopírováni a distribuce free software nemá absolutně nic společného se softwarovým pirátstvím. Zvláštní skupinu tvoří studenti vysokých a jiných škol, tu je totiž někdy nelegální kopírování vnímáno jako vyrovnání nespravedlnosti v tom, že kvůli ceně nemá každý svobodný přístup k potřebnému vybavení. Tento přístup samozřejmě nezdílí anti-warez skupiny jako Business Software Alliance (BSA), i když jejich hlavním cílem je komerční zneužití. Některé firmy piráty nejenom tolerují, ale na těžkých trzích je dokonce podporují, aby se tím zvýšila hodnota jejich produktu na síti. Porušovatelé copyrightu z akademického prostředí si někdy říkají warez d00dz, zvenku spíš hanlivě warez kiddies. 3.3. Cracking & Warez - techniky Platí, že pokud člověk chce rozlousknout cizí program, musí se výborně vyznat v operačním systému a strojovém jazyku daného procesoru assembleru. Lámání programů samozřejmě nelze dělat jen tak, bez vhodných nástrojů. K povinné výbavě patří program zvaný debugger nebo disassembler (VXDasm Visual Disassembler, Phoenix Disassembler, AMSGEN, . . . ), který má za úkol převádět binárně zapsaný program ve strojovém kódu do posloupnosti příkazů assembleru, který je pro programátora mnohem čitelnější a logičtější. Z nejznámějších debuggerů lze jmenovat Turbo Debugger pro Windows firmy Borland nebo SofIce firmy NuMega. Ten se ale spíše hodí pro ladění jádra a systémových rutin Windows. Další důležitou pomůckou je určitě kvalitní editor souborů, který dokáže editovat strojový kód ještě nespuštěného programu. Hodí se i program typu Sourcer, jenž dokáže zobrazit assemblerský přepis souboru programu i s celkem výstižnými komentáři (obzvlášť volání tabulkových služeb systému se hodí mít okomentované). Velkým nepřítelem lamače ochran je ale překladač vyššího programovacího jazyka, ve kterém byla aplikace napsána. V dobách před deseti a více lety, když se ještě na masově rozšířených počítačích muselo kvůli rychlosti programovat v assembleru, bylo zpětné disassemblování programů celkem bezbolestným postupem, protože to, co programátor logicky seskládal, viděl cracker opět podobně logicky. V dnešní době se ale používají překladače vyšších programovacích jazyků, které každý příkaz vyššího jazyka přeloží jako posloupnost příkazů strojového kódu, ovšem na první pohled nepříjemně chaotickou. Je ale pravda, že i na takto vytvořený kód se dá zvyknout. Vyšší programovací jazyky mají také tu nevýhodu, že přeložený program je zhruba 3x až 5x pomalejší, než stejný program napsaný bez oklik přímo v assembleru. V tomto případe
IGOR GOMBOŠ: HACKING, CRACKING A WAREZ
se pro dekódovaní použije postup dekompilace. Například Java je na platformě nezávislý jazyk, a proto se programy v ní napsané překládají do meziproduktu zvaného bajtkód, který zkompiluje až javový virtuální stroj (JVM) v rámci běhu aplikace. Tento bajtkód ovšem není problém převést opět do zdrojového kódu s pomocí programu DJ Java Decompiler. Nasledující text bude spíš přehlídkou technik na znemožnění reverse-engineeringu pro cracknutí aplikací, protože jeho postup samozřějmě závisí ma použitém způsobu ochrany. Když chce tvůrce znepřístupnit svůj program, většinou ho zakóduje. Když pak chce cracker do takového programu dělat zásahy, musí nejprve program odkódovat a až poté může pracovat se skutečným obsahem programu. Nejjednodušším a často používaným způsobem kódování je XORovací smyčka. Aplikace se zakóduje průchodem smyčky, která provádí operaci XOR jednotlivých bajtů programu přes sebe. To se provede pro celý strojový kód programu a výsledný program je nečitelný. Nakonec se na začátek přidá jednoduchý cyklus deXORovací smyčka, která po spuštění programu celý strojový kód nejprve rozkóduje a až poté nechá běžet program svým původním směrem. Pro crackera je to nepříjemné z toho důvodu, že musí ručně odkódovat několik bajtů, poté může na už odkódovanou část za xorovací smyčku dát breakpoint (zastavovací bod pro skok do debuggeru) a nechat proběhnout zbytek smyčky. Není to sice nijak složitá práce, ale pokud je v programu takových smyček tisíc, už to většinu lidí odradí. Navíc je možno život lamači ještě znepříjemnit tím, že se provádí odkódování směrem od konce dopředu, čímž se znemožní na místo těsně za xorovací smyčkou vložit breakpoint, neboť toto místo bude odkódováno až nakonec. Tento způsob dokáže dovést lamače k šílenství, protože v tom případě je potřeba vložit dovnitř xorovací smyčky podmíněný breakpoint (podmíněný zastavovací bod debuggeru) a kdo má pro oněch tisíc smyček vymýšlet pokaždé novou podmínku . . . Jinou možností (a často používanou) je zabalit celý strojový kód aplikace pomocí nějakého běhového balícího programu. Například CompressEXE. Navíc bude takto zabalený program výrazně menší, což výrobce ocení hlavně pokud chce distribuovat program po Internetu. Pro crackera je to ovšem věc velmi nepříjemná, neboť navíc v porovnání s xorovací smyčkou není na první pohled vidět, že se provádí nějaký cyklus. Dnešní zhušťovací programy mají totiž složité algoritmy, které vyžadují taktéž složité rozbalovací rutiny. Na druhou stranu se však dekompresní rutiny většinou nechovají tak zákeřně, jako na míru psaná xorovací smyčka. A nejen to. Vše jde lamači ještě okořenit tím, že počítáme čas, za který proběhne daný cyklus smyčky a pokud je podezřele dlouhý, dešifrujeme zakódovaná data špatně nebo vůbec. Na některých počítačích existuje tzv. Refresh register, což je zvláštní čítač instrukcí. Počítá, kolik se provedlo instrukcí (nemá nic společného s tím, kde instrukce v paměti leží). Pokud je zrovna xorovací smyčka procházena debuggerem, zvětší se tento počet neúměrně k očekávanému počtu provedených strojových instrukcí, protože se po každé provedené instrukci skáče ještě do debuggeru. No a proč nezapočítat obsah Refresh registeru do kódování a dekódování, že? Ty nejlepší debuggery už ale i na tohle myslí a hodnotu správně nastavují, jako by se ladění nedělo (například DEVAST ACE). Podobný trik se tedy dá provést i s hodinami reálného času. Často se také používá různé ukrývání informací v programu. Například skoky z jednoho místa na druhé jako o závod, což znepříjemňuje pořízení zpětného výpisu strojového kódu programu a celý proces znepřehledňuje. Nedoceněnou možností je průchod přes sadu nesmyslných instrukcí. Přitom je to velmi účinný způsob, jak zmást crackera. Jednoduše bude strojový kód vést například přes nějaký text. To, že se tím nic smysluplného neprovede, moc nevadí, stačí, že se budou v důsledku podivných instrukcí měnit obsahy registrů. No a co se pak udělá po dokončení průběhu tímto minovým polem? Samozřejmě, provede se xorovací smyčka, ve které se předpokládají dané podivné hodnoty registrů. Cracker, jakmile dojde do části, kde musí evidentně „ladit textÿ, uváží, že někde udělal chybu a raděj začne znovu. V poslední době se objevují programy, kterým předhodíte hotový program a ony jej za-
IGOR GOMBOŠ: HACKING, CRACKING A WAREZ
kódují s použitím všech těchto a mnoha dalších triků. Dělají to automatizovaně a není pro ně problém udělat v mžiku několik tisíc zakódování za sebou. Nutno ovšem podotknout, že na standardizované zakódování lze také vytvořit standardizované dekódování. Takže nic není dokonalé. Na všechny předchozí ochrany se velmi hodí mít „podporu hardwaruÿ. Ideální je možnost nastavení hardwarového breakpointu, kdy se do nějakého registru procesoru jednoduše vloží zastavovací adresa a nemusí se tak přepisovat fyzický strojový kód programu. Velmi užitečné je i tlačítko vyvolávající tzv. nemaskovatelné přerušení. Na obsluhu tohoto přerušení si pak cracker může navěsit například skok zpátky do debuggeru. Vzhledem k tomu, že se jedná o nemaskovatelné přerušení tedy přerušení, které nelze zakázat, program se proti němu nemá šanci bránit. Pokud má cracker tyto prostředky, není velký problém počkat, až se všechny ochrany projdou a do paměti se připraví již čistý strojový kód aplikace, pak stisknout tlačítko a hup zpátky do debuggeru. Za zmínku stojí i prakticky nepoužívaná metoda „zpožděnéhoÿ zabezpečení. Jednoduše pokud program zjistí, že byl rozlomen, nedá to najevo ihned, ale nechá si to třeba deset svých startů pro sebe. Až po této době přestane fungovat. Cracker nemá většinou čas ani náladu procházet celou aplikaci instrukci po instrukci, a tak když vidí, že všechno funguje, prohlásí aplikaci za „opravenouÿ a dál už se jí nevěnuje. Velmi častou metodou ochrany programů a her proti nelegálnímu kopírování je zabezpečení dat na originálním médiu pomocí kousků informací, které nejsou normálně čitelné (nemají formu souborů). Například disketa má ve skutečnosti nepatrně větší kapacitu, než 1,44 MB. Na stopy, které jsou až za tímto standardním formátem disku, se lze vždy dostat, protože výrobci mechanik musejí dodržovat standardy, které jim to přikazují. Nikdo však toto místo nepoužívá a většinou se o něm ani neví. Tím nejjednodušším, co všechny tvůrce ochran samozřejmě napadne, je umístit do takto volných oblastí disku malou porci informací, které si program po spuštění jednoduše otestuje a zjistí, zda není uložen na padělaném médiu. Odstranit právě takovouto ochranu je úkolem crackera. Na CD je situace velmi podobná, opět lze na médium nahrát o trošku víc informací, než které jsou normálně vidět, a pak se na jejich existenci ptát. Pokud je takto provedená ochrana provedena dobře, nejde CD či disketa okopírovat ani pomocí přímého okopírování bajt po bajtu (tzv. ISO obraz ). Na závěr této kapitoly chci ještě odcitovat známý soubor pravidel, kterými by se měl řídit každý programátor, pokud nechce, aby jeho aplikace byla lehkým soustem pro crackery. 3.3.1. 14 Markových pravidel. 1. Nikdy nepoužívejte smysluplné názvy procedur, souborů nebo funkcí. Pokud používáte funkce pro kontrolu (třeba správnosti zadaného čísla), umístěte do nich nějaký velmi důležitý kód pro správnou funkčnost programu. Pokud funkci cracker vymaže (jak se říká vyNOPuje), program nebude pracovat správně. 2. Nevarujte uživatele hned po nějaké chybě. Vyčkejte, pokud to jde, třeba i pár dnů. 3. Používejte ve vašich EXE a DLL souborech checksum. Klidně může jeden prověřovat druhý. Není to sice perfektní, ale ani nejhorší. 4. Počkejte sekundu nebo dvě před samotným prověřováním hesla. Téměř to vyloučí možnost útoku hrubou silou (brute force). 5. Používejte sebe-opravující kód. Třeba modemy nebo HDD tuto techniku využívají, tak proč ji nevyužít ve vašem softwaru. Nejlepší na tom je, že pokud někdo třeba decompiluje software, může se dívat na příkazy, které tam už dávno nejsou. 6. Patchujte svůj vlastní software. 7. Ukládejte hesla na neobvyklá místa. 8. Ukládejte hesla na více míst. Můžete pak prověřit všechny. 9. Nespoléhejte se na systémový čas a datum. Získejte je z nějakého souboru, třeba SYSTEM.DAT, SYSTEM.DA0 nebo BOOTLOG.TXT a porovnejte je se systémem.
IGOR GOMBOŠ: HACKING, CRACKING A WAREZ
10. Nepoužívejte statické stringy k informování uživatele (třeba o tom, že jeho heslo je špatné). Slouží ke snadné orientaci v souboru. Tvořte stringy dynamicky nebo je zakódujte. 11. Zaplavte crackera zbytečnými funkcemi a zakódovanými daty. Atrapy jsou zábavné. 12. Pokaždé, když ověřujete platnost uživatele, umístěte ověřovací kód inline s aktuálním procesem. 13. Pokud používáte zakódovaná data, pokuste se, aby vypadala jako programový kód nebo volání funkce (např. „73AFÿ nebo „GetWindowTextÿ). Navíc to může zmást nějaké decompilery. 14. Nikomu neříkejte, jak chráníte svůj software!!! 3.4. Cracking & Warez - protiopatření Proti softwarovému pirátství se vede boj na mnoha frontech. V následujících řadcích spomenu alespoň některé z nich jako ilustraci: Na univerzitní půde v USA se situace výrazně vyostřuje, když samotné vedení škol přistupují k potrestání studentů, než aby byly později vláčeny před soudem. Studentům hrozí i vyhození ze školy. S návrhem, jak jednou provždy vyřešit problém internetového pirátství na univerzitní půdě, přišel v USA před časem republikánský kongresman John Carter. Studenti nelegálně stahující hudbu by měli prostě a jednoduše končit bez rozdílu za mřížemi. Po exemplárním zatýkání se prý ostatní zaleknou a s downloady raději skončí. RIAA návrh nadšeně přivítala. Již prezident Bill Clinton podepsal net antipiracy act, zákon proti počítačovému pirátství. Vlastnění a download software jsou teď v USA klasifikovány jako trestní činy, i když majitel nelegálního softwaru neprofituje z výměny digitálních kopií. Vlastnění kradnutých programů v hodnotě více než 2.500 USD (stačí jedna kopie Autocadu) je dokonce klasifikováno jako přestupek proti federálnímu zákonu. Nový zákon určuje maximální sazbu za warez na 5 let a pokutu 250 tisíc dolarů. Je možné uvést mnoho jiných případů tvrdšího postupu autorit vůči warezu, nemůžu však nespomenout alespoň masovou akci z 11. prosince roku 2001, která znamenala celosvětové ochromení téměř všech nelegálních sítí. Souběžně proběhly tři velké akce mezinárodního dosahu - Operace Bukanýr,Šířka pásma (z ang. „bandwidthÿ) a Digitální piráti. Operace Bukanýr byla vyústěním více než rok připravované akce vedené Americkou celní službou. Ve stejný okamžik bylo provedeno celkem 58 individuálních akcí po celém světě, jejichž cílem bylo zatčení osob, které patřily k nejvyšším špičkám warez scény. Jednalo se tak o vůbec první mezinárodní akci tohoto druhu v dějinách boje proti počítačovému pirátství. Smyslem celé akce bylo paralyzovat mezinárodní warez skupinu Drink Or Die (zkráceně DOD), jejichž přibližně 50 členů navštívily zákonné složky jednotlivých států v USA, Velké Británii, Austrálii, Německu, Norsku a Finsku. Operace Bandwidth - cílem bylo vytvořit naoko internetový server distribuující ilegální software a monitorovat tak dlouhodobě činnost warez scény na území Spojených států a Kanady. Při operaci Bandwidth spojily své síly Obranná kriminální vyšetřovací služba (Defense Criminal Investigative Service - DCIS), Agentura pro vnější ochranu (Environmental Protection Agency - EPA-OIG) a Federální úřad pro vyšetřování (Federal Bureau of Investigation - FBI) a vytvořily FTP server, skrze který prošlo více než 100.000 souborů zahrnujících přes 12 000 různých komerčních programů, kopií filmů a her. Monitorováno pak bylo přibližně 200 klíčových členů warez scény, kteří se na inkriminovaném serveru pohybovali. Celkem 30 z nich jich bylo následně přímo vyšetřováno. Operace Digitální piráti proběhla v režii bostonské pobočky FBI a Kanceláře prokurátora
IGOR GOMBOŠ: HACKING, CRACKING A WAREZ
okresu New Hampshire a jejím cílem bylo, podobně jako u souběžně vedených akcí, eliminovat ilegální distribuci software, tentokrát přímo v Bostonu. Tan se totiž nachází Severovýchodní univerzita, která byla vedle dvou největších akademických technologických institutů (MIT a RIT ) jednou ze tří amerických bašt warez scény (vyšetřování proběhlo také na půdě Tufts University a v bostonských kancelářích Bank of America). Při této operaci bylo přímo vyšetřováno celkem 12 příslušníků warez scény. Zprávy o zatčeních se prohnala warez scénou jako morová rána. Sekundární efekt, se kterým agenti zákonných složek jistě počítali, fungoval stoprocentně. Jednotlivé pirátské servery (doposud jakkoliv nedotčené vyšetřováním) začaly mizet jako pára nad hrncem. V nastalém chaosu nikdo nechtěl být další obětí, vždyť hra na piráty se najednou změnila v drsnou realitu odnětí svobody až na tři roky a zabavení veškerého počítačového majetku (nemluvě o vyhazovu ze školy či zaměstnání). Jednotlivé kanály IRC serverů (Internet Relay Chat), jinak centrum veškerého dění warez scény, se změnily v pustinu. Ostatní pirátské skupiny houfně oznamovaly ukončení své činnosti a jejich jednotliví členové promptně odpojovali své počítače z Internetu, aby se nestali těmi dalšími v řadě, u jejichž bytů zazvoní agenti FBI. Vždyť díky tomuto zásahu klesl provoz na největších internetových linkách na celém světě o neuvěřitelných 50 %. S odstupem času je nutno dodat, že to byla jenom jedna vyhraná bitva. DOD zmizela z povrchu zemského, no zanedlouho nahradili ji nově vzniklé skupiny a warezová scéna tak vesele pokračuje dále. 3.5. Cracking & Warez - Osobnosti DrinkOrDie, Deviance, RAZOR1911, TGW, Myth, FairLight or FLT, USA, INC, BSP, FOSI, Radium, Phrozen Crew, UCF, Xpression. DOD byla jedna z nejstarších a zároveň nejslavnějších pirátských skupin na světě. Skupinu v roce 1993 založil rodilý Moskvan s přezdívkou Deviator jako čistě ruskou podzemní organizaci věnující se odstraňování ochran z komerčního software a jeho následné distribuce po celém světě prostřednictvím Internetu. Díky mnoha pirátským úspěchům (jedním z nich je ilegální distribuce operačního systému Microsoft Windows 95 dva týdny před jeho oficiálním uvedením na trh samotným Microsoftem). Drink Or Die již v roce 1995 expandovali za hranice Ruska a celý tým se rozrostl na několikanásobek původních členů. Před touto akcí existovalo na celém světě přibližně 10 velkých pirátských skupin, které se podílely na více než 95 % mezinárodní distribuce ilegálního software prostřednictvím privátních FTP serverů, jehož hodnota byla za poslední rok odhadnuta na více než 12 miliard amerických dolarů.
4. ZÁVĚR Doufám, že vám tento referát alespoň trochu pomohl ujasnit si pojmy a pochopit motivaci a činnost „druhé stranyÿ. Ani tu se nestretáme s černo-bílým problémem a jeho jasným řešením. Rozhodnout „co dálÿ je těžké, no je tak potřeba učinit co nejdříve. Hackeři, pardón – crackeři, zatím neškodí zdaleka tak zdrcujíce, jak by mohli. Jednou to ale pravděpodobně přestane platit. Podle současného trendu taky v žádném případě nemůžeme očekávat, že by se s lámáním počítačových ochran náhle přestalo, spíše naopak. Jak již ale bylo poznamenáno, nemusí to být vždy na škodu ani samotnému programu, ať už proto, že cracker někdy opraví chyby, na které autor sám nepřišel, nebo proto, že se na dobrý produkt vlastně dělá reklama. Všechno je věcí úhlu pohledu.
IGOR GOMBOŠ: HACKING, CRACKING A WAREZ
5. SLOVNÍK POJMŮ Brute force attack - neboli útok hrubou silou. Jedná se o způsob zjišťování hesel, kdy crackovací program zkouší jako možné heslo všechny existující kombinace, až natrefí na to skutečné heslo. Tento způsob může být časově velmi náročný, ale máte jistotu, že dříve nebo později na to heslo příjdete. Crack - je soubor, který většinou odstraňuje z programu nutnost zadání tohoto seriového čísla. U her cracky odstraňují různé proti-pirátské ochrany, cesty k CD apod. Cracker - Člověk, který se nabourává do cizích sítí za účelem škodit. Laická veřejnost však většinou nevnímá rozdíl mezi hackerem a crackerem a označuje všechny crackery slovem hacker. Denial of service - druh útoku proti NT. Spočívá v paralyzování nějaké služby na pracovní stanici nebo serveru. Dictionary attack - slovníkový útok. Crackovací program zkouší jako možné heslo všechny slova ve slovníku. Je to metoda rychlá, ale nemáte jistotu, že na něco skutečně příjdete. Zaleží to na velikosti slovníku a na tom, zda si obět volí jednoduché hesla. Hack - znamená v českém překladu „násilně vniknoutÿ. Hacker - je člověk, který se snaží proniknout,obvykle přes modem, do něja-kého počítačového systému, získat data a nenápadně beze stop zmizet. Hackeři se obvykle združují do skupin, Hacker Groups, nejznámější u nás je CZert. Vedle hackingu rozeznáváme ještě phreakování. IP spoofing - jedná se o složitou hackerskou techniku, kdy hackerův počítač předstírá IP adresu někoho jiného, aby se dostal k neautorizovaným informacím. Keylogger - program zaznamenávající stisknuté klávesy. Všechny klávesy, které uživatel na daném systému stiskne, jsou zaznamenány do textového souboru, který si pak může hacker přečíst. Pro NT je asi nejlepší Invisible keylogger for NT, který dokáže zaznamenávat bez vědomí uživatele klávesy i během přihlašování. Lamer - v překladu „chabý, nedostačujícíÿ, jedná se o úplného začátečníka, který se pokouší hákovat či crackovat. Packet sniffer - Další oblast hackerských programů. Jedná se o zachytávače packetů. Můžete pomoci nich zachytávat veškerou síťovou komunikaci, ke které máte fyzický přístup. Zachytávání packetů je však pouze pro pokročilé, kteří se dokonale vyznají v síťové komunikaci. Password cracker - program určený k luštění hesel. Nejlepším příkladem takového password crackeru pro WinNT je L0phtcrack. Password crackery používají buď metodu brute force nebo dictionary attacku. Phreaker - je v podstatě hákování s telefonem. Používáním různých „boxůÿ a „trikůÿ manipulujících s telefonními společnostmi a jejich telefony získáte mnoho věcí, dvě z nich jsou: 1) znalosti jak pracují telefony 2) hovory zdarma, jak lokální tak i na velké vzdálenosti. Port scanner - program na testování otevřených portů. V dnešní době už se však příliš nepoužívají. Asi nejlepším příkladem port scanneru pro NT je YAPS. SAM - v tomto případě nemáme na mysli zkráceninu anglického jména Samuel , ale Security account manager. Jedná se o databázi, ve které se uchovávají například hesla uživatelů. Hesla v NT se nacházejí adresáři c:winntrepair a c:winntconfig a v registrech. Serials - jsou sériová čísla k různým programům, po zadání tohoto čísla se stane produkt „plno verzový, plnohodnotnýÿ. Trojan - zjednodušeně řečeno, trojan je program, který se tváří, jako že provádí nějakou činnost, ale ve skutečnosti dělá něco úplně jiného. Například nejvíce známí je asi trojan zvaný Picture.exe. Když jej otevřete, zobrazí se Vám nějaký obrázek, ale mezitím program instaluje NetBuse, což je program na dálkovou kontrolu počítače. Warez - je software od pirátů. Když na internetu hledáte programy, tyto jsou odlišeny svou koncovkou ”Z” na-místo ”s”. V praxi se tedy vyskytují appZ pro aplikace, gameZ pro hry apod. Wordlist - (většinou) abecedně uspořádaný seznam slov pro použití s password crackerem. Je nutný pro dictionary attack. Čím větší wordlist, tím větší je šance na rozluštění hesla.
IGOR GOMBOŠ: HACKING, CRACKING A WAREZ
References Odkazy použity při tvorbě tohoto článku a ďalší doporučené linky pro hacking: www.infojet.cz/security/ITSecurIT0044.html www.shac.wz.cz/doc/priruckaprezaciatocnikov.html www.tester.wz.cz/hack.html www.techbox.cz/tisk.asp?id=2580 pro cracking a warez: www.fi.muni.cz/usr/jkucera/pv109/2003/xsevecek-cracking.htm www.technet.idnes.cz/novinky/internetnews/univerzitapensil zakaz netu st.html www.hysteria.sk/prielom/2/#2 www.inzine.cz/clanok.asp?id clanok=1191 www.builder.cz/art/asembler/crack uvod.html
IGOR GOMBOŠ: HACKING, CRACKING A WAREZ
Obsah 1 ÚVOD
1
2 HACKING 2.1 Historie . . . . . . . . . . . . . 2.2 Know your enemy(?) . . . . . . 2.3 Techniky . . . . . . . . . . . . . 2.3.1 Příklad postupu hackera 2.4 Ochrana . . . . . . . . . . . . . 2.5 Činnost Policie ČR . . . . . . . 2.6 Osobnosti . . . . . . . . . . . . 2.6.1 Cz/Sk scéna . . . . . . . 2.7 Ukázky . . . . . . . . . . . . .
. . . – . . . . .
. . . . . . . . . Win . . . . . . . . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
1 1 3 4 7 8 9 11 12 12
3 CRACKING & WAREZ 3.1 Historie . . . . . . . . . . . . 3.2 Know your enemy . . . . . . 3.3 Techniky . . . . . . . . . . . . 3.3.1 14 Markových pravidel 3.4 Protiopatření . . . . . . . . . 3.5 Osobnosti . . . . . . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
14 14 14 15 17 18 19
. . . . . .
. . . . . .
. . . . . .
4 ZÁVĚR
19
5 SLOVNÍK POJMŮ
20