26/8/2016
Vložil: Jakub
2522
Sdílet: Facebook

Hackovací software 3 - typy útoků a falešná MAC adresa

Něco málo o heslech

Jedna ze základních věcí, kterou se budeme v seriálu zabývat, jsou hesla (ke všemu možnému), která budeme řešit. Pravidla bezpečnosti hesel pravděpodobně všichni znají - nemít úplně krátké nebo nějaké systémové heslo, mít velké písmeno, symbol a číslo. Tyto požadavky mají samozřejmé důvody, které uvidíme v praxi.

Mám dobrý vztah k heslům do bezdrátových sítí. Hlavně z toho důvodu, že při přihlašování na wifi není třeba uživatelské jméno. Tím máme celou rovnici o jednu zásadní proměnnou jednodušší. U všech ostatních věcí (FTP, email, MySQL, SSH, v podstatě cokoliv) je třeba testovat zároveň uživatelská jména, čímž složitost a tím náročnost procesu neúměrně narůstá.

Určitě spousta z vás někdy přemýšlela o tom, že když počítač zná heslo (a umí ověřit jestli jsme ho zadali správně), musí někde existovat soubor, kde je heslo uloženo. Tato úvaha je skutečně správná, ale má to zásadní háček. Heslo je zašifrované, a to dost spefickým šifrováním. Jde o to, že systém nějakým velmi složitým algorytmem udělá z vašeho hesla velmi velmi dlouhou řadu symbolů. A potom konec této řady symbolů (možná polovinu) uřízne a zbylou část uloží.

Je to geniální. Z řetězce, který je uložený v počítači již není možné dopočítat původní heslo, i když známe šifrovací algorytmus (jednoduše, protože nám polovina znaků chybí). Je to tedy velice bezpečné. Pokud se ptáte, jak tedy potom počítač pozná, zda je heslo správné - odpověď je velmi jednoduchá - systém vámi zadané heslo prostě zašifruje úplně stejným algorytmem a ověří, jestli výsledná zbylá kombinace znaků je stejná. Pokud ano, jste vpuštěni dál.

Chci tím říct, že neexistuje žádný kouzelný způsob, jak si z počítače opatřit hesla. Každé lámání hesla je tvrdá práce a věřte, že důkladná příprava vám vždy nakonec hodně usnadní život.

Bohužel bez nějakých logických vodítek je velmi komplikované hádat heslo. Vezmeme si jako příklad standardní heslo na wifi od UPC. Toto heslo má běžně 8 znaků, vždy se jedná pouze o velká písmena abecedy (samozřejmě není písmeno CH). Na první pohled se to zdá "zvládnutelné", ale když si dám tyto informace do programu, který tyto kombinace generuje, program mi suše oznámí, že bude generovat 208 827 064 576 kombinací celkem. Zároveň se dozvídám že celý vygenerovaný slovník kombinací mi zabere 1 750 GB prostoru na disku (kde mám volno 80GB). Tudíž už teď např. vím, že tudy cesta pro hádání hesla pro UPC wifi router nepovede. Respektive úplně přesně s opravdu dobrým hardware a využitím výkonu silné grafické karty v provádění výpočtů lze heslo i bez bližších vodítek prolomit za cca 17 dnů (což je hodně dlouhý útok).

Celé je to o to hezčí, že tohle šílené číslo je opravdu pouze pro kombinaci velkých písmen. V případě, že bych přidal ještě malá písmenka abecedy, číslice, nebo dokonce speciální znaky, asi si dokážete představit, že to číslo už by se na řádek nevešlo. Když do celé téhle hry ještě vstoupí aspekt, kdy nevíte, kolik znaků přesně má heslo, je to úplný konec.

Jde do tuhého

Zároveň bych chtěl všechny čtenáře upozornit, že tady už jde do tuhého. Návody jsou určeny ke vzdělávacím účelům a všechny vámi podniknuté akce by měly být v souladu s platnými zákony v dané zemi. Neměli byste tedy hackovat žádné cizí zařízení, žádné cizí účty a určitě byste neměli zkoušet hackovat ani své účty, například u poskytovatelů hostingu, či sociálních sítí.

Při jakékoliv činnosti dbejte vždy na bezpečnost, provádějte preventivní opatření, která brání vašemu odhalení.

Slovníkový útok

Slovníkový útok je snaha o prolomení hesla na základě slovníku. Znamená to, že program má k dispozici textový soubor (či textové soubory), které obsahují seznam potenciálních hesel (jednoduše na každém řádku jedno). Tyto soubory mívají koncovku .lst či .txt záleží na tom, odkud co stahujete. Najdete spoustu zajímavých slovníků. Slovníky obsahující všechny slova ze slovníku z daného jazyka, s a bez počátečních velkých písmen, slovníky nejpoužívanějších hesel pro tu či onu zemi, či mám k dispozici např. slovník 3 600 nejpoužívanějších hesel na světě.

S velikostí slovníku samozřejmě narůstá doba potřebná k provedení útoku. Ani sebekvalitnější slovník vám negarantuje prolomení na 100% (z toho důvodu tu právě máme ta pravidla pro tvorbu hesel, čistě teoreticky to při jejich dodržení pořádně ani nejde).

Pro slovníky se ujalo slovo wordlist můžete jich tedy najít spoustu na Google např. pod slovy top kali wordlists.

Pokud budete při svém hledání důkladnější, najdete i velmi specifické slovníky pro specifické cíle (např. slovníky zaměřené na včelařinu, automobily apod.)

Další způsob, jak získat slovník, je si jej vygenerovat, pokud znáte např. počet znaků, víte, jaká písmena a číslice heslo obsahuje. Lze to udělat pomocí aplikace Crunch. Tento program není součástí základní instalace, a tak je potřeba si jej stáhnout. .tgz je formát podobný zipu. Daný balíček je potřeba rozbalit někam do domovské složky. To, co jste si stáhli jsou pouze zdrojové kódy, takže je potřeba si aplikaci ještě zkompilovat. Otevřete tedy příkazový řádek, v něm si dojeďte do místa, kam jste si rozbalili soubor a postupně zadejte:

make
make install

Tímto jsme Crunch zkompilovali a nainstalovali do systému. Nyní stačí do příkazového řádku zadat crunch minimální-počet-znaků -maximální-počet-znaků výpis znaků -o název-výsledného-souboru.lst.

Pokud tedy vím, že heslo je 5 znaků (ne víc, ne míň) a jedná se pouze o číslice, stačí zadat crunch 5 5 1234567890 -o mylist.lst a dát enter.

Vytvoření takto jednoduchého slovníku trvá jen krátkou chvíli. Po dokončení se ve složce, kde se momentálně nacházíte, objeví soubor mylist.lst. Můžeme se do něj podívat zadáním příkazu nano mylist.lst . Nano je mimochodem velmi obratný, použitelný a všudypřítomný textový editor.

Útok hrubou silou

Za útok hrubou silou se označuje útok, kdy vůbec nemáme žádný slovník předpokládaných hesel a necháváme logicky hádat heslo po heslu (generovat) počítač. Ač ve filmech vidíme, že programy luští jeden znak po druhém, bohužel to tak nejde. Vždy uhodnete buď celé heslo, nebo nevíte vůbec nic.

Útok hrubou silou v pravém slova smyslu realizovat lze, ale dle mého názoru je zbytečné vytěžovat počítač zároveň generováním jednotlivých možností a zároveň zkoušením a lámáním hesla. Proto považuji za mnohem efektivnější si i pro brutální útok vytvořit slovník (náhodně generovaných hesel) a používat i brutální útok jako útok slovníkový.

Tento způsob má jednu obrovskou výhodu. Tím, že máte slovník fyzicky vygenerovaný, můžete jej rozdělit na několik částí (např. pro každé počáteční písmeno jeden soubor) a můžete to zadat k řešení dvaceti počítačům najednou. Máte jistotu, že hesla která budete testovat, nezkouší další počítač a můžete celý proces takto (20x) urychlit.

Nicméně útoky hrubou silou jsou dle mého názoru nepravděpodobné a osobně jsem s nimi nikdy nebyl úspěšný. Úspěšné prolomení obrany vždy vycházelo z lepší znalosti cíle.

Odposlech

Odposlech je obecně známá věc zejména v prolamování Wifi šifrování WEP. Jedná se o situaci, kdy můžete "neviděni" shromažďovat data ze sítě a ve chvíli, kdy jich máte dostatek můžete heslo prolomit. Takto lze šifrování opravdu (snadno  a rychle) prolomit. Stačí pustit dotyčný program, který bude síť poslouchat a až bude mít dostatek informací, prostě z nich heslo vyluští.

Možná si říkáte, proč to funguje pouze pro WEP a nikoliv WPA. Nejsem na to úplně odborník. Způsob šifrování WPA je mnohonásobně složitější a k prolomení této šifry by bylo potřeba neúnosně více naskenovaných dat a obrovsky silný hardware k prolomení. Tímto způsobem tedy WPA prolomit nelze.

Injection

Se správným hardwarem, znalostmi a vybavením lze síť infikovat. Jednoduše řečeno, data procházející sítí můžete určitým způsobem modifikovat a sledovat, jak se vaše modifikace chová při další komunikaci mezi počítačem a routerem. Podle způsobu modifikace injektovaných dat je poté počítač také schopen uhodnout heslo. Nicméně toto je pro nás zatím hodně vysoká škola.

Falešná MAC adresa

Ve chvíli, kdy provádíte nějakou akci a jste odhaleni, začne probíhat trackování (teoreticky, pokud je přítomen nějaký program, který to zvládne). To jde po vaší stopě po síti (po jednotlivých bodech, kde jste připojeni) až k na vaši IP adresu. IP adresu vám přiřazuje router (v mém případě wifi), který vůbec nemusí být v mém bytě a vůbec nemusí být můj. Jeho majitel vůbec nemusí mít potuchy, co tu vlastně dělám.

Samozřejmě cílem je být tak dobří, aby se trackovací program nedostal ani k routeru, na který jste napojeni! Nicméně, když už program dojde až sem, co o vás vlastně router ví?

Při výrobě zařízení, která dovolují připojení na síť (LAN síťové karty, wifi karty, karty v telefonech, chytrých televizích), každé z těchto zařízení dostane svou jedinečnou adresu. Jedinečný identifikační kód ve formátu XX:XX:XX:XX:XX:XX . To je údaj, podle kterého lze přesně identifikovat konkrétní počítač (telefon, tablet, USB wifi kartu). Tato adresa též známá jako fyzická, či hardwarová adresa je též jediný údaj, který o vás router má.

Prvním krokem, jak bychom se měli bránit odhalení, je tedy změna MAC adresy naší síťové karty, kterou budeme při akcích používat.

Jak na to

Nejdříve otevřete příkazový řádek a zadejte příkaz ifconfig.

Ve výpisu vidíte seznam jednotlivých zařízení pro připojení v počítači. Tady nás konkrétně zajímá wlan0, což je wifi karta integrovaná v notebooku. Můžete si všimnout i wlan1, což je v tomto případě externí wifi anténa s vysokým ziskem. Na obrázku vidíte označenou fyzickou adresu karty. My tedy budeme měnit MAC adresu karty wlan0 (vy změňte podle názvu vašeho zařízení).

Nejprve je třeba zařízení vypnout, toho docílíme zadáním příkazu ifconfig wlan0 down . Tím dojde k úplnému vypnutí (odpojení) karty. Kdybyste nyní zadali příkaz ifconfig, zjistíte že vám ze seznamu úplně zmizela.

Nyní můžeme změnit adresu karty - příkazem ifconfig wlan0 hw ether FAKE-ČÍSLO-KARTY, tedy jako u mě (níže na obrázku).

Nyní stačí kartu s novou adresou jen zapnout a to příkazem ifconfig wlan0 up .

Dalším zadáním příkazu ifconfig si můžeme ověřit, že zařízení má nyní novou MAC adresu.

Změna je dočasná

Tato změna není trvalá, bude trvat do restartu počítače. Na internetu můžete najít návody, aby se vám falešná MAC adresa nastavila už při startu počítače, ale podle mě je to pitomost, protože v případě, že budete prakticky vykonávat nějaké útoky, nechcete se stále prezentovat stejnou MAC adresou (byť je to jen v lokální síti). Proto je mnohem lepší vždy na začátku akce vymyslet novou MAC adresu a zadat si ji ručně.

Příště

V příštím díle skočíme po hlavě do praxe. Podíváme se na prolomení wifi se šifrováním WPA a to jak z teoretického hlediska (hackneme si naší vlastní wifinu), tak si povíme něco o tom, jak provést úspěšný útok na wifi teoreticky (jakým způsobem by měla proběhnout alespoň základní příprava, na co se zaměřit). Projdeme si síť a rovnou si něco řekneme o našich potenciálních obětech.

Předchozí:

Hackovací software 2 - Kali Linux a extrakce dat
Hackovací software 1 - Úvod

ZPĚT

David Rubek - sídlo - Žižkova 346, 273 09 Kladno -Švermov, IČO: 616 39 133, Zapsán u: Magistrát města Kladna / odbor obecní živnostenský úřad. Kladno 272 52, Starosty Pavla 44

Tento web k poskytování služeb, zabezpečení Vašich dat a anlýze návštěvnosti používá soubory cookies. Jeho používáním s tím souhlasíte. Rozumím