VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY
FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF TELECOMMUNICATIONS
ÚTOKY POMOCÍ PROGRAMU CAIN & ABEL NETWORK ATTACKS BY CAIN & ABEL
DIPLOMOVÁ PRÁCE MASTER'S THESIS
AUTOR PRÁCE
Bc. LUKÁŠ SMÉKAL
AUTHOR
VEDOUCÍ PRÁCE SUPERVISOR
BRNO 2010
Ing. JIŘÍ SOBOTKA
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta elektrotechniky a komunikačních technologií Ústav telekomunikací
Diplomová práce magisterský navazující studijní obor Telekomunikační a informační technika Student: Ročník:
Bc. Lukáš Smékal 2
ID: 78359 Akademický rok: 2009/2010
NÁZEV TÉMATU:
Útoky pomocí programu Cain & Abel POKYNY PRO VYPRACOVÁNÍ: Analyzujte prvky programu a navrhněte jejich využití pro útoky na kryptografické algoritmy a zabezpečení počítačových sítí. Porovnejte jednotlivé metody útoků a proveďte jejich praktické aplikace. Z dosažených výsledků vytvořte návod na použití programu Cain & Abel. Dále se podrobněji zabývejte modulem RSA SecureID Token Calculator a pokuste se pomocí tohoto modulu prolomit způsob autentizace pomocí RSA tokenů vyučovaný v předmětu Kryptografie v informatice. DOPORUČENÁ LITERATURA: [1] SCHNEIER, Bruce. Applied cryptography. 2nd edition. [s.l.] : John Wiley & Sons, 1996. 784 s. ISBN 0-471-11709-9 . [2] http://www.oxid.it/cain.html Termín zadání:
29.1.2010
Vedoucí práce:
Ing. Jiří Sobotka
Termín odevzdání:
26.5.2010
prof. Ing. Kamil Vrba, CSc. Předseda oborové rady
UPOZORNĚNÍ: Autor diplomové práce nesmí při vytváření diplomové práce porušit autorská práva třetích osob, zejména nesmí zasahovat nedovoleným způsobem do cizích autorských práv osobnostních a musí si být plně vědom následků porušení ustanovení § 11 a následujících autorského zákona č. 121/2000 Sb., včetně možných trestněprávních důsledků vyplývajících z ustanovení části druhé, hlavy VI. díl 4 Trestního zákoníku č.40/2009 Sb.
ANOTACE Tato diplomová práce se zabývá problematikou zabezpeþení lokálních poþítaþových sítí LAN, kryptografickými algoritmy, jednotlivými metodami útokĤ na poþítaþové sítČ a praktickou aplikací tČchto útokĤ v lokální síti LAN. Pro aplikaci jednotlivých útokĤ je využito programu Cain & Abel. Z výsledkĤ tČchto útokĤ je vytvoĜen podrobný návod na tento program, který obsahuje ukázky využití jednotlivých nástrojĤ programu, ukázky aplikace jednotlivých útokĤ, uvážení následkĤ jednotlivých útokĤ a shrnutí dosažených výsledkĤ pĜi práci s jednotlivými nástroji. Diplomová práce se podrobnČji zabývá jedním z nástrojĤ programu, nazývaným RSA SecureID Token Calculator. Pomocí tohoto nástroje je v diplomové práci nastínČna problematika autentizace pomocí hardwarových tokenĤ a zpĤsob autentizace pomocí nástroje RSA SecureID Token Calculator bez fyzického vlastnČní hardwarového tokenu. Pomocí programu Cain & Abel je v diplomové práci ukázána a vysvČtlena nevhodnost ukládání hesel k jednotlivým aplikacím do pamČti operaþního systému a jsou zde zobrazeny i metody získání tČchto hesel z pamČti operaþního systému. Dále je práce zamČĜena na problematiku odchytávání pĜihlašovacích údajĤ a rĤzných typĤ hesel v lokálních poþítaþových sítích a na aplikaci jednotlivých útokĤ na kryptografické algoritmy za úþelem prolomení tČchto pĜihlašovacích údajĤ a hesel.
KLÍýOVÁ SLOVA: Cain&Abel, LAN, sniffer, cracker, token, heslo, kryptografie, útok
ABSTRACT This Master’s thesis is dealt in the local area network security, cryptographic algorithms, particular attacks on computer networks a practical application these attacks in local area networks. To application particular attacks is used the Cain & Abel program. The detailed manual for this program is created from the results of these attacks. This manual contains the exhibits of usage particular program tools and the attack application exhibits. This manual considers consequences of particular attacks and summarises achieved results during work with tools too. Master thesis closely deals with one of the program tools called RSA SecureID Token Calculator. Authentication via hardware tokens is contained in this Master thesis. Thesis contains the way of authentication using RSA SecureID Token Calculator without physical owning of the hardware token. Cain & Abel program shows and interprets why cashed passwords in operation system are dangerous and it shows methods how attacker can reveal this passwords from the operation system memory. This Master thesis is focused on sniffing credentials and passwords in local area networks and it is focused on cryptographic algorithms cracking for username and passwords revealing.
KEYWORDS: Cain&Abel, LAN, sniffer, cracker, token, password, cryptography, attack
SMÉKAL, L. Útoky pomocí programu Cain & Abel. Brno: Vysoké uþení technické v BrnČ, Fakulta elektrotechniky a komunikaþních technologií, 2010. 80 s. Vedoucí diplomové práce Ing. JiĜí Sobotka.
Prohlášení
Prohlašuji, že svou diplomovou práci na téma „Útoky pomocí programu Cain & Abel“ jsem vypracoval samostatnČ pod vedením vedoucího diplomové práce a s použitím odborné literatury a dalších informaþních zdrojĤ, které jsou všechny citovány v práci a uvedeny v seznamu literatury na konci práce. Jako autor uvedené diplomové práce dále prohlašuji, že v souvislosti s vytvoĜením této diplomové práce jsem neporušil autorská práva tĜetích osob, zejména jsem nezasáhl nedovoleným zpĤsobem do cizích autorských práv osobnostních a jsem si plnČ vČdom následkĤ porušení ustanovení § 11 a následujících autorského zákona þ. 121/2000 Sb., vþetnČ možných trestnČprávních dĤsledkĤ vyplývajících z ustanovení § 152 trestního zákona þ. 140/1961 Sb.
V BrnČ dne ................
............................................ podpis autora
PodČkování Na tomto místČ bych rád podČkoval mému vedoucímu diplomové práce Ing. JiĜímu Sobotkovi za odbornou a metodickou pomoc pĜi tvorbČ této diplomové práce a za ochotu a velmi cenné rady pĜi Ĝešení dané problematiky. V BrnČ dne ................
............................................ podpis autora
OBSAH ÚVOD ...................................................................................................................................... 10 1 BEZPEýNOST POýÍTAýOVÝCH SÍTÍ........................................................................ 11 1.1 DĤležitost zabezpeþení sítČ ....................................................................................... 11 2 BEZPEýNOSTNÍ PROTOKOLY A ALGORITMY ...................................................... 15 2.1 Symetrické šifrování ................................................................................................. 15 2.2 Asymetrické šifrování ............................................................................................... 16 2.3 Hybridní šifrování ..................................................................................................... 17 2.4 Technologie AAA ..................................................................................................... 18 2.4.1 Autentizace................................................................................................................ 18 2.4.2 Autorizace ................................................................................................................. 18 2.4.3 Úþtování .................................................................................................................... 18 2.4.4 Zabezpeþovací servery .............................................................................................. 18 2.5 Šifrovací algoritmy.................................................................................................... 19 2.5.1 Data Encryption Standard (DES) ............................................................................. 19 2.5.2 Triple Data Encryption Standard (3DES) ................................................................ 19 2.5.3 Advanced Encryption Standard (AES) ..................................................................... 19 2.5.4 Message Digest 5 (MD5) .......................................................................................... 20 2.5.5 RSA ........................................................................................................................... 20 2.5.6 Rivest Cipher 4 (RC4)............................................................................................... 20 2.6 Bezpeþnostní protokoly............................................................................................. 21 2.6.1 Secure Shell (SSH).................................................................................................... 21 2.6.2 Secure Sockets Layer (SSL)...................................................................................... 21 3 ZÁKLADNÍ TYPY ÚTOKģ........................................................................................... 23 3.1 Falšování IP adres a únosy relace ............................................................................. 23 3.2 Denial of Service (DoS) ............................................................................................ 23 3.2.1 Útok se záplavou paketĤ ICMP................................................................................. 24 3.2.2 Útok se záplavou paketĤ SYN .................................................................................. 24 3.2.3 Obrana proti útokĤm s odepĜením služeb ................................................................. 25 3.3 Odposlech paketĤ (sniffing) ...................................................................................... 25 3.4 MAN-IN-THE-MIDDLE .......................................................................................... 25 3.4.1 ARP Spoofing ........................................................................................................... 26 3.4.2 DHCP spoofing ......................................................................................................... 27 3.4.3 DNS spoofing ............................................................................................................ 28 3.5 ICMP Redirect........................................................................................................... 30 3.6 MAC Flooding .......................................................................................................... 31 3.7 Port stealing............................................................................................................... 32 4 CAIN & ABEL................................................................................................................. 33 4.1 Instalace..................................................................................................................... 34 4.2 Konfigurace ............................................................................................................... 35 4.2.1 Záložka Sniffer .......................................................................................................... 35 4.2.2 Záložka APR ............................................................................................................. 36 4.2.3 Záložka Filters and Ports........................................................................................... 37 4.2.4 Záložka HTTP Fields ................................................................................................ 38 4.2.5 Záložka Traceroute.................................................................................................... 38
4.2.6 Záložka Challenge Spoofing ..................................................................................... 38 4.2.7 Záložka Certificate Spoofing .................................................................................... 38 4.3 Decoders.................................................................................................................... 39 4.3.1 Protected Storage....................................................................................................... 40 4.3.2 LSA Secrets............................................................................................................... 40 4.3.3 Wireless Passwords ................................................................................................... 41 4.3.4 IE7 Passwords ........................................................................................................... 42 4.3.5 Windows Mail Passwords ......................................................................................... 42 4.3.6 Dialup Passwords ...................................................................................................... 42 4.3.7 Edit Boxes ................................................................................................................. 43 4.3.8 Enterprise Manager ................................................................................................... 43 4.3.9 Credential Manager ................................................................................................... 44 4.4 Network ..................................................................................................................... 44 4.4.1 Abel ........................................................................................................................... 45 4.5 Sniffer........................................................................................................................ 46 4.5.1 Hosts.......................................................................................................................... 46 4.5.2 APR ........................................................................................................................... 47 4.5.3 Routing ...................................................................................................................... 49 4.5.4 Passwords .................................................................................................................. 49 4.5.5 VoIP .......................................................................................................................... 50 4.6 Cracker ...................................................................................................................... 50 4.6.1 Útok hrubou silou...................................................................................................... 51 4.6.2 Slovníkový útok ........................................................................................................ 52 4.6.3 Kryptoanalýza ........................................................................................................... 54 4.7 Traceroute.................................................................................................................. 55 4.8 CCDU........................................................................................................................ 57 4.9 Wireless ..................................................................................................................... 58 4.10 Query......................................................................................................................... 59 4.11 Tools.......................................................................................................................... 60 4.11.1 Route Table ............................................................................................................... 60 4.11.2 TCP/UDP Tables....................................................................................................... 60 4.11.3 Base64 Password Decoder ........................................................................................ 61 4.11.4 Access Database Password Decoder ......................................................................... 62 4.11.5 Cisco Type-7 Password Decoder .............................................................................. 62 4.11.6 Cisco VPN Client Password Decoder ....................................................................... 63 4.11.7 VNC Password Decoder............................................................................................ 64 4.11.8 Hash Calculator ......................................................................................................... 65 4.11.9 RSA SecurID Token Calculator ................................................................................ 66 4.11.10 Remote Desktop Password Decoder .................................................................... 68 4.11.11 Syskey Decoder.................................................................................................... 68 5 PRAKTICKÁ UKÁZKA ÚTOKģ POMOCÍ PROGRAMU CAIN ............................... 70 6 ZÁVċR............................................................................................................................. 75 SEZNAM LITERATURY A POUŽITÝCH ZDROJģ ........................................................... 77
SEZNAM OBRÁZKģ Obr. 1: Symetrické šifrování .................................................................................................... 16 Obr. 2: Asymetrické šifrování .................................................................................................. 17 Obr. 3: Uvažovaná síĢ pĜi ARP Spoofing útoku ..................................................................... 26 Obr. 4: Grafické rozhraní programu Cain & Abel ................................................................... 33 Obr. 5: Záložka: a) APR, b) Filters and ports ......................................................................... 37 Obr. 6: Varování nedĤvČryhodný certifikát ............................................................................. 39 Obr. 7: Ovládnutí pĜíkazového Ĝádku vzdáleného PC pomocí programu Abel ....................... 46 Obr. 8: Skener MAC adres ....................................................................................................... 47 Obr. 9: Zachytávání komunikace pomocí ARP Spoofing........................................................ 49 Obr. 10: Dialogové okno pro útok hrubou silou ...................................................................... 52 Obr. 11: Dialogové okno pro slovníkový útok......................................................................... 54 Obr. 12: Dialogové okno lámání SHA1 hash........................................................................... 55 Obr. 13: Uživatelské rozhraní nástroje Traceroute .................................................................. 56 Obr. 14: Nástroj Query pro práci s databázemi........................................................................ 60 Obr. 15: Dekodér base64 kódu................................................................................................. 61 Obr. 16: Nástroj pro dešifrování heslem chránČných Microsoft Access souborĤ.................... 62 Obr. 17: Cisco Type-7 Password Decoder ............................................................................... 63 Obr. 18: VNC Password Decoder ............................................................................................ 64 Obr. 19: Hash Calculator.......................................................................................................... 65 Obr. 20: Použití nástroje RSA SecureID Token Calculator v programu Cain......................... 67 Obr. 21: RSA SecureID Token................................................................................................. 67 Obr. 22: Grafické rozhraní nástroje Syskey Decoder .............................................................. 69 Obr. 23: Full-routing ............................................................................................................... 70 Obr. 24: Zachycené pĜihlašovací údaje k FTP serveru ............................................................ 71 Obr. 25: Zachycené pĜihlašovací údaje k webovým serverĤm ................................................ 71 Obr. 26: Zachycené pĜihlašovací údaje VPN spojení. ............................................................. 72 Obr. 27: HTTPS komunikace................................................................................................... 72 Obr. 28: Zachycené certifikáty................................................................................................. 73 Obr. 29: Zachycený rozvrh hodin zobrazený programem PSPad ............................................ 73 Obr. 30: Zachycená stránka z elearningu VUT zobrazená programem PSPad........................ 74 Obr. 31: Zachycené pĜihlašovací údaje k informaþnímu systému VUT .................................. 74
Úvod Tato diplomová práce je zamČĜena na problematiku z oblasti bezpeþnosti poþítaþových sítí, kryptografických algoritmĤ a poþítaþových útokĤ na pĜepínané síti. Obsah dokumentu se postupnČ zamČĜuje na dĤležitost zabezpeþení poþítaþové sítČ, jaká existují rizika, jak asi útoþníci postupují a jaké chyby uživatelé dČlají, þímž usnadĖují útoþníkĤm jejich práci. Dále jsou zde popsány nejznámČjší šifrovací algoritmy, zabezpeþené protokoly a je zde kladen dĤraz na rĤzné techniky útoku v lokální síti. Hlavním bodem této diplomové práce je seznámení s programem Cain & Abel, analyzování možností všech nástrojĤ tohoto programu a jejich využití pĜi útocích na lokální poþítaþové sítČ. Ze zjištČných poznatkĤ je zde vytvoĜen návod pro práci s tímto programem. PĜi psaní diplomové práce jsem vycházel z pĜedpokladu znalosti základních funkcí poþítaþových sítí, znalosti protokolu ARP, znalosti funkce switchĤ, dobrých znalostí operaþního systému Windows nejen z pohledu uživatele ale i administrátora a základní orientace v oboru zabezpeþení sítí.
10
1 Bezpeþnost poþítaþových sítí Bezpeþnost se pĜesunula do popĜedí síĢového managementu a implementace. Celková bezpeþnost sítČ spoþívá v nalezení rovnováhy mezi dvČma dĤležitými požadavky. Prvním požadavkem je potĜeba otevĜení sítČ k podporování rozvíjejících se podnikatelských pĜíležitostí a druhým je potĜeba chránit soukromí, jak osobní tak strategické podnikové informace. Aplikování efektivní bezpeþnostní politiky je nejdĤležitČjší krok, který daná organizace musí udČlat k ochranČ své komunikaþní sítČ. Poskytuje informace o provedených þinnostech a prostĜedcích použitých k zabezpeþení sítČ organizace. [1]
1.1 DĤležitost zabezpeþení sítČ Poþítaþové sítČ se rozrostly jak do své velikosti tak do dĤležitosti za velmi krátkou dobu. Pokud je bezpeþnost sítČ oslabena, mĤže to mít vážné dĤsledky, jako je ztráta soukromí, krádež informací, dokonce i právní odpovČdnost. Udržení bezpeþnosti sítČ je stále nároþnČjší, protože druhy potenciálních hrozeb se neustále vyvíjejí a jsou stále sofistikovanČjší. E-business, internetové aplikace a komunikace neustále narĤstají, proto najít rovnováhu mezi potĜebou být izolován a zároveĖ otevĜený je velice obtížné. Navíc nárĤst mobilní komerce a bezdrátových sítí vyžaduje, aby se bezpeþnostní Ĝešení podaĜilo integrovat do stávající sítČ a bylo transparentnČjší a flexibilnČjší. V prĤbČhu let se nástroje a metody síĢových útokĤ podstatnČ rozvíjely. DĜíve útoþník musel mít sofistikované poþítaþové a programovací znalosti a musel mít výborné znalosti síĢových technologií k využití prvotních nástrojĤ a mohl uskuteþnit základní útoky. Doba pokroþila, metody a nástroje útoþníkĤ se zlepšily a již nevyžadují stejnou úroveĖ znalostí jako dĜíve. Tato skuteþnost snížila požadavky na znalosti útoþníka, aby byl schopen základní útoky provést. Lidé, kteĜí nebyli schopni se úþastnit v poþítaþové kriminality najednou tuto schopnost mají. Jak se typy hrozeb, útokĤ a zneužití vyvíjely, vznikly nové termíny (viz lit. [6]): White hat – Osoba hledající slabiny v systému nebo síti a potom tyto slabiny oznámí vlastníkovi daného systému nebo sítČ. Vlastník poté mĤže nechat tyto slabiny odstranit. Hacker –
DĜíve se takto oznaþoval þlovČk s vynikajícími programovacími schopnostmi, dnes se tak oznaþují také osoby, které se pokoušejí získat neautorizovaný pĜístup do síĢových zdrojĤ se záludným zámČrem.
11
Black hat –
Jiný termín pro osoby, které využívají svých znalostí poþítaþových systémĤ k proniknutí do systémĤ nebo sítí, ve kterých nemají oprávnČní využívat síĢových zdrojĤ a služeb. VČtšinou útoþníci pronikají do systémĤ za úþelem osobního nebo finanþního zisku.
Cracker –
PĜesnČjší termín popisující nČkoho, kdo se pokouší získat neautorizovaný pĜístup do síĢových zdrojĤ se záludným zámČrem.
Phreaker –
Osoba manipulující s telefonní sítí zapĜíþiĖující vykonání funkcí, které nejsou povoleny. NejþastČji proniknutí do telefonní sítČ prostĜednictvím telefonního automatu, za úþelem vykonání telefonních hovorĤ zdarma.
Spammer – Osoba rozesílají obrovská kvanta nevyžádaných e-mailových zpráv. Spammer vČtšinou využívá virĤ, pomocí kterých pĜevezme kontrolu nad domácími poþítaþi a použije je k odeslání urþitého poþtu zpráv. Phisher –
Osoba používající e-mail nebo jiné prostĜedky k oklamání dĤvČĜivých uživatelĤ, aby poskytli své citlivé informace (þísla kreditních karet, hesla, piny,…). Phisher se vydává za dĤvČryhodnou spoleþnost, která by mČla mít legitimní potĜebu pro tyto citlivé informace.
Cílem útoþníka je kompromitovat síĢové zaĜízení nebo aplikaci bČžící uvnitĜ sítČ. Mnoho útoþníkĤ používá následující postup k získání informací (viz lit. [1],[6]):
PrĤzkum Jedná se o pĜípravu na útok proti dané síti. V tomto kroku se hacker snaží získat všechny dostupné informace o síĢovém prostĜedí a jeho zabezpeþení. Jedná se o informace typu názvy domén, pĜiĜazené bloky veĜejných adres, dále které IP adresy provozují služby vhodné pro cílení útoku. Hacker ocení informace o hardware a software, kterým daná síĢ disponuje, jejich pĜesné typy a verze. Z tČchto informací si hacker vyhodnotí zranitelná místa daného hardware i software. Dále hackera zajímá, jaký je v síti firewal, smČrovací protokoly, typ vzdáleného pĜístupu a jeho kontrola. Získat všechny tyto informace je možné napĜíklad z webových stránek spoleþnosti, propagaþních materiálĤ, ale vČtšinou nejvíce a nejdĤležitČjší informací hacker získá bez námahy pomocí „sociálního inženýrství“. [1]
Sledování a soupis informací Na základČ již získaných informací si útoþník vytvoĜí jednoduchý náþrt sítČ a sestaví si obrázek bezpeþnostního profilu spoleþnosti. Další kroky, které útoþník podnikne, už mohou být zachyceny v systémových protokolech, proto si útoþník musí uvČdomit, co si ještČ mĤže 12
dovolit a co ne, aby nebyl odhalen. Na základČ svého náþrtu sítČ, útoþník mĤže rozšíĜit své informace o síti pomocí monitorování síĢového provozu pomocí paketových snifferĤ, což jsou programy analyzující síĢový provoz. Pomocí snifferĤ mĤže útoþník zjistit ještČ pĜesnČjší informace o síti a jejich službách. PĜi soupisu prostĜedí musí útoþník z pasivního útoku pĜejít do aktivního. To znamená, že již musí vytváĜet aktivní spojení s konkrétními systémy a již vytváĜet pĜímé požadavky na spojení. [1] V síti se zjišĢují þtyĜi hlavní kategorie informací (postup se odvíjí od operaþního systému): • • • •
SíĢové prostĜedky a sdílené složky Uživatelé a skupiny Aplikace Úvodní zprávy zaĜízení
Získání pĜístupu Útoþník zahájí vyhledávání platných uživatelských úþtĤ a sdílených prostĜedkĤ, které jsou nedostateþnČ chránČné, pomocí kterých získá pĜístup do systému. Útoþník nakonec musí získat pĜístup do systému prostĜednictvím nČkteré z jeho komponent. Typicky jsou to tyto útoky: • Útoky na operaþní systém • Útoky na aplikace • Útoky pĜes nesprávnou konfiguraci • Útoky pomocí skriptĤ V mnoha pĜípadech hacker získá pĜístup opravdu snadno. NapĜíklad když si zamČstnanci zvolí heslo, které se dá lehce prolomit nebo mĤže být zamČstnanec napálen talentovaným útoþníkem a vydá mu nevČdomky citlivé informace týkající se pĜístupu. [1]
Navýšení privilegií V této chvíli útoþník má pĜístup do systému, ale pomocí obyþejného uživatele, který nemá potĜebná oprávnČní, pro další práci útoþníka. Z tohoto dĤvodu se útoþník snaží svá oprávnČní navýšit. NapĜíklad pomocí tČchto metod: • • • • •
SpuštČní urþitého programového kódu Prolomení hesla pomocí volnČ dostupného nástroje Zachycení nešifrovaných hesel ZjištČní vztahĤ mezi napadeným systémem a ostatními systémy v síti Hledání souborĤ a sdílených složek s chybnČ nastavenými oprávnČními
13
StruþnČ Ĝeþeno, útoþník zkusí, co mu systém dovolí. Pokud žádná metoda nevede k úspČchu nebo se útoþník chystá provést útok s odepĜením služeb (Denial of Service), pokusí se vyĜadit celý systém pomocí speciálního programového kódu pro zneužití ( exploit code). Naopak pokud byl útoþník úspČšný jeho snaha má jasný cíl, to je získat oprávnČní administrátora. Jakmile má toto oprávnČní, mĤže si dČlat se systémem prakticky, co se mu zlíbí. Shromáždí si dodateþná hesla a tajné informace a zaþne konat svou „práci“. [1]
Zahlazení stop a instalace zpČtných vrátek Jakmile útoþník získá nadvládu nad systémem, musí svou pĜítomnost zakrýt pĜed administrátorem. ZpČtná vrátka a zahlazení stop je jeden z nejzákladnČjších úkolĤ, ovšem také o jeden z nejsložitČjších. V systémech Windows se jedná o vymazání a vyþištČní protokolu událostí a položky systémového registru. U unixových operaþních systémĤ se jedná o vymazání souboru historie a pomocí nástroje pro „þištČní“ protokolu o vymazání položky z adresáĜĤ UTMP, WTMP a LastLog. Pokud si útoþník chce ponechat možnost pozdČjšího návratu, vytvoĜí si v nČm pĜístupovou cestu tzv. zpČtná vrátka (backdoor). VytvoĜení tČchto zadních vrátek se liší podle operaþního systému, ale vesmČs vždy se jedná o vytvoĜení zvláštního úþtu, úpravu spouštČcích souborĤ, zapnutí urþitých služeb nebo aplikací pro vzdálené Ĝízení atd. ZpČtná vrátka poté poskytují útoþníkovi vstup do systému, aniž by byl detekován. [1]
14
2 Bezpeþnostní protokoly a algoritmy 2.1 Symetrické šifrování Symetrickou šifrou nazýváme takový šifrovací algoritmus, který používá k šifrovaní i dešifrování dat pouze jeden klíþ. To znamená, že obČ strany úþastnící se komunikace sdílejí stejný soukromý klíþ (viz Obr. 1). Tím, že klíþ musí být k dispozici obČma stranám, vzniká podstatný problém pĜi transferu tohoto klíþe od jednoho koncového uživatele k druhému. Naopak mezi výhody symetrického šifrování se Ĝadí nízká výpoþetní nároþnost, protože algoritmy symetrického šifrování provádí vČtšinou jednodušší matematické operace typu bitový souþet, negace, nonekvivalence atd. Díky tomu je symetrické šifrování rychlé a jednoduše hardwarovČ implementovatelné [4, 10]. Symetrické šifry dČlíme do dvou skupin: • •
Proudové šifry Blokové šifry
Proudové šifry šifrují data postupnČ bit po bitu. Proudové šifry jsou rychlejší než ty blokové a využívají se v prostĜedí, kde není pĜítomný buffer ( real-time komunikace). Mezi zástupce proudových šifer patĜí algoritmy RC4, FISH, Helix atd. Proudové šifry mĤžeme rozdČlit ještČ na synchronní a asynchronní (šifry s vlastní synchronizací). Synchronní proudové šifry nepoužívají k šifrování text, ale data se šifrují pomocí klíþe a stavu, ve kterém se funkce nachází. PĜi dešifrování se musí postupnČ procházet ekvivalentními stavy. Pokud se pĜi pĜenosu ztratí nebo pĜibude jediný bit, dojde ke ztrátČ synchronizace. Naopak asynchronní proudové šifry využívají k šifrování i dešifrování kromČ klíþe i „n“ pĜedchozích bitĤ šifrovaného textu. Díky tomu se zvyšuje bezpeþnost. PĜi ztrátČ jednoho bitu se následujících „n“ bitĤ zprávy dekóduje špatnČ, ale další data budou už dekódována správnČ. [3, 4] Blokové šifry se v praxi využívají þastČji než proudové. Šifrují data po pevnČ daných blocích bitĤ, vČtšinou se jedná o mocninu dvou (64, 128, 256,…). Bloky bitĤ jsou zašifrovány a výstupem je þást šifrovaného textu. Pro zvýšení bezpeþnosti nČkteré algoritmy šifrovaní daného bloku nČkolikrát opakují. Mezi zástupce blokových šifer patĜí algoritmy DES, AES, IDEA, Blowfish atd. [4, 17]
15
Obr. 1: Symetrické šifrování
2.2
Asymetrické šifrování
Asymetrické šifrování (viz Obr. 2) na rozdíl od symetrického šifrování používá dva druhy klíþĤ. VeĜejný (public) klíþ a soukromý (private) klíþ. Pomocí veĜejného klíþe se data zašifrují a dešifrují se pomocí soukromého klíþe. Šifrování probíhá tak, že odesílatel danou zprávu zašifruje veĜejným klíþem pĜíjemce a pošle ji pĜíjemci. Zpráva lze dešifrovat pouze soukromým klíþem pĜíjemce. Pokud se zprávy zmocní nČkdo jiný a nezná soukromý klíþ pĜíjemce, nemĤže tuto zprávu dešifrovat. U asymetrického šifrování nastává problém pĜi distribuci veĜejného klíþe. Odesílatel pĜi šifrování dat používá veĜejný klíþ pĜíjemce. Než odesílatel tyto data mĤže zašifrovat, musí nČkde tento klíþ získat. VČtšinou si tento klíþ stáhne z internetu nebo si ho musí nechat poslat. Problém nastává právČ pĜi pĜenosu tohoto veĜejného klíþe, protože je posílán pĜes ne úplnČ bezpeþné kanály. Útoþník, který chce odposlouchávat tuto komunikaci, mĤže podstrþit své klíþe, proto se místo veĜejných klíþĤ distribuují certifikáty. [4, 10] Certifikát je veĜejný klíþ s informacemi o majiteli veĜejného klíþe, vydavateli certifikátu, platnosti a tak dále, který je podepsán certifikaþní autoritou. Certifikaþní autorita ruþí za správnost údajĤ v certifikátu. Soukromý a veĜejný klíþ musí spolu matematicky souviset, ale nesmí být možné z veĜejného klíþe ten soukromý odvodit. Celková bezpeþnost pĜenosu dat závisí na dobrém šifrovacím algoritmu a klíþi. Oba klíþe musí mít dostateþnou délku, aby jejich zjištČní užitím hrubé síly zabralo roky a více. Šifrovací funkce jsou jednocestné, to znamená, že z dat a klíþe získáme šifrovaná data, která nelze stejnou funkcí a klíþem zpČtnČ dešifrovat [4, 17]. Asymetrické šifrování je v souþasnosti používanČjší z dĤvodu nepotĜeby pĜedávat sdílený klíþ bezpeþnou cestou, kterou by nikdo nemohl odposlechnout. ZjištČní veĜejného klíþe útoþníkem neznamená velký bezpeþnostní problém. Pro komunikující strany je dĤležité,
16
aby mČly jistotu, že odesílající strana šifruje data klíþem pĜíjemce. Docílit toho není zrovna jednoduché, ale existují zpĤsoby, jak tento problém Ĝešit. Komunikující strany si poté mohou být jisté, že je jejich sdílená data nikdo jiný nezná. K šifrování dat a k digitálním podpisĤm se nejþastČji používá algoritmus RSA (iniciály autorĤ Rivest, Shamir, Adleman) [3, 4].
Obr. 2: Asymetrické šifrování
2.3 Hybridní šifrování Hybridní šifrovaní se snaží využít výhod a odstranit nedostatky symetrického a asymetrického šifrování. U asymetrického šifrování eliminuje výpoþetní nároþnost klíþe a u symetrického šifrování odstraĖuje bezpeþnostní riziko pĜenosu šifrovacího klíþe. Výhody hybridního šifrování tedy jsou rychlost a použitelnost. Princip hybridního šifrování je založen na tom, že odesílatel zvolí nČjaký klíþ, kterým daná data symetricky zašifruje. Tento klíþ se zašifruje veĜejným klíþem pĜíjemce a pošle spoleþnČ s daty pĜíjemci. PĜíjemce obdrží asymetricky zašifrovaný klíþ a symetricky zašifrovaná data. Asymetricky zašifrovaný klíþ se dešifruje svým privátním klíþem, který se pak použije k dešifrování textu [10]. Mezi zástupce hybridního šifrování patĜí šifrovací program Pretty Good Privacy (PGP).
17
2.4 Technologie AAA V souþasných poþítaþových sítích musíme svá data chránit pĜed zneužitím. Tato ochrana nám pĜináší mnohá omezení, pĜitom nezáleží jakou roli v síti zastáváme, protože pro pĜístup k urþitým službám pĜes poþítaþovou síĢ potĜebujeme vždy tĜi vČci, které se spoleþnČ oznaþují zkratkou AAA odvozenou z jejich anglických názvĤ: • • •
Autentizace (Authentication) Autorizace (Authorization) Úþtování (Accounting)
2.4.1
Autentizace
Autentizace má za úkol zajistit, aby daným uživatelem sítČ a jejích prostĜedkĤ byl skuteþnČ ten, za koho vydává. Tato funkce znemožní neoprávnČným osobám pĜístup k síti. Autentizace je dosaženo pomocí zadání urþité identity (napĜ. uživatelské jméno) a tajemství nebo povČĜení (napĜ. hesla). Díky autentizaci administrátor sítČ jednoduše pozná, kdo se k danému zaĜízení pĜihlásil [1, 19]. 2.4.2
Autorizace
Po autentizaci následuje autorizace. Autentizovanému uživateli musíme pĜiĜadit urþitá oprávnČní k provedení požadovaných operací. Autorizaci zajišĢují pĜístupové seznamy nebo zásady. Pomocí autorizace má administrátor kontrolu nad úrovní pĜístupu, kterou uživatel bude disponovat po úspČšném autentizování. Autorizaci mĤžeme založit na urþitých omezeních, napĜíklad omezení pĜihlášení pouze v urþitých hodinách, omezení vícenásobného pĜihlášení jednoho uživatele a podobnČ [1, 19]. 2.4.3
Úþtování
Po úspČšném dokonþení autentizace a autorizace uživatele nastupují procesy úþtování. Pomocí tČchto procesĤ mĤže administrátor shromažćovat informace o uživatelích, kteĜí jsou pĜihlášení k daným zaĜízením a jaké operace tito uživatelé provádČli. Informace touto cestou získané mohou být použity pĜi správČ, plánování, úþtování a pĜi jiných úþelech [1, 19]. 2.4.4
Zabezpeþovací servery
Po konfiguraci AAA mechanismĤ mĤže k neoprávnČnému pĜístupu k síti bránit server zabezpeþení, pracující nad externím bezpeþnostním protokolem. Tyto servery nejþastČji využívají protokoly RADIUS a TACACS. Pokud se pro tyto servery rozhodneme, musíme také spustit mechanismy technologie AAA, protože právČ sem se informace z AAA procesĤ odesílají a zde podléhají dalšímu zpracování [1]. 18
2.5 Šifrovací algoritmy 2.5.1
Data Encryption Standard (DES)
Data Encryption Standard byl vyvinutý v sedmdesátých letech minulého století a Ĝadí se mezi symetrické šifrovací algoritmy. Tato šifra pracuje v blokovém režimu, kdy každý blok má pevnou délku 64 bitĤ z toho je 8 bitĤ kontrolních a 56 efektivních. To znamená, že klíþ má po dešifrování 56 bitĤ a mĤže mít podobu jedné z 256 kombinací. Tento šifrovací algoritmus se již nedoporuþuje používat, protože obsahuje urþité slabiny a byl již prolomen. DES šifru lze prolomit útokem hrubou silou (Brute-force) za ménČ než 24 hodin [2, 3].
2.5.2
Triple Data Encryption Standard (3DES)
Algoritmus 3DES je odvozen z pĤvodního algoritmu DES, který se aplikuje tĜikrát po sobČ pokaždé s jiným klíþem, tím zvyšuje odolnost šifry proti prolomení. Efektivní délka klíþe je zvýšena na 168 bitĤ. Postup pĜi šifrování dat pomocí algoritmu 3DES probíhá následovnČ. PĤvodní data se zašifrují pomocí prvního klíþe, výsledek tohoto šifrování se zašifruje pomocí druhého klíþe a výsledek se opČt zašifruje tentokrát pomocí tĜetího klíþe. Každý blok dat je nutné zašifrovat tĜikrát po sobČ, z toho vyplývá, že algoritmus 3DES je pomalejší oproti svému pĜedchĤdci, ale pokud dobĜe zadáme všechny tĜi klíþe, získáme o nČkolik ĜádĤ silnČjší šifrování než pĜi DES. Používat u všech tĜí krokĤ shodný klíþ je nevhodné, protože bychom dostali pouze pomalou verzi algoritmu DES bez bezpeþnČjšího šifrování. Algoritmus 3DES je v souþasnosti hodnČ rozšíĜen a používá se velice þasto [1, 3].
2.5.3
Advanced Encryption Standard (AES)
Advanced Encryption Standard se Ĝadí mezi symetrické šifrovací algoritmy. Byl vytvoĜen také jako nástupce algoritmu DES a vychází z Rijndaelova algoritmu. AES pracuje v blokovém režimu. Bloky, které tato metoda šifruje, mají pevnou délku 128 bitĤ. Pokud jsou šifrovaná data delší, musí se zpracovat po jednotlivých blocích, naopak pokud jsou kratší, musí se do odpovídající délky doplnit (tzv. padding). Délka klíþe tohoto algoritmu je 128, 196 nebo 256 bitĤ, což poskytuje obrovský výbČr možných klíþĤ. Výhoda tohoto algoritmu spoþívá také v jeho rychlosti, což je výhodné pĜi šifrování velkého objemu dat. Nevýhodou AES algoritmu je sdílený klíþ, který si musí komunikující strany bezpeþnČ pĜedat. Advanced Encryption Standard je v souþasnosti hojnČ využíván v množství komunikaþních systémĤ a protokolĤ [3].
19
2.5.4
Message Digest 5 (MD5)
Algoritmus otisku zprávy Message Digest 5 je jedna z metod pro zajištČní zabezpeþení datové komunikace. MD5 byl vytvoĜen v devadesátých letech Ronem Rivestem. Algoritmus MD5 pracuje na principu generování ze vstupních dat daný výstup, který má pevnou délku. Tento výstup se nazývá hash (otisk). MD5 je jednosmČrný hashovaní algoritmus, který pĜevezme data, která mají libovolnou délku a vytvoĜí z nich 128 bitový nevratný hash. Jedná se o jednosmČrný nevratný hash proto, protože žádnou jeho zpČtnou analýzou nelze zpČtnČ odvodit jeho pĤvodní obsah. Pokud máme dvČ zprávy, které se mČní pouze v jednom jediném bitu, hashe budou díky tzv. lavinovému efektu pĜi výpoþtu podstatnČ rozdílné. Je nutné podotknout, že algoritmus MD5 data nijak nešifruje ani nepozmČĖuje. Pouze vytvoĜí jakýsi otisk, podle nČhož je možné poznat autenticitu (pravost odesílatele) a integritu (data nebyla bČhem pĜenosu pozmČnČna) pĜijatých dat. Neporušenost zprávy se kontroluje tak, že se mezi sebou porovná vypoþtený otisk s pĜijatým. Toto porovnání se oznaþuje jako kontrola hashe. Samotný hash se þasto oznaþuje jako kontrolní souþet. Porovnáním vypoþteného a pĜijatého hashe získáváme urþitou ochranu napĜíklad pĜi stahování software. Získáváme jistotu, že když stahujeme napĜíklad záplatu pro náš operaþní systém, nestahujeme zároveĖ s požadovaným souborem i trojské konČ a viry. PodobnČ je definován i digitální podpis. Digitální podpisy se používají pĜedevším v elektronické komerci a jsou dĤležitou souþástí vČtšiny autentizaþních schémat [1, 5].
2.5.5
RSA
Algoritmus RSA (zkratka podle inicálĤ autorĤ Rivest, Shamir, Adleman) vznikla v sedmdesátých letech a je prvním algoritmem, který je vhodný pro podepisování i pro šifrování dat. Princip zabezpeþení algoritmu RSA je postaven na pĜedpokladu, že rozložit velké þíslo na souþin prvoþísel (tzv. faktorizace) je velice obtížné. Pokud máme velké þíslo z = xÂy, zjistit þinitele x a y v rozumném þase je témČĜ nemožné, naopak násobení dvou velkých þísel je základní úloha. Algoritmus RSA šifruje data pomocí veĜejného klíþe. Tento klíþ musí mít znaþnou délku, používají se hlavnČ délky 1024, 2048 i 4096 bitĤ. Délka klíþe zpĤsobuje zpomalení algoritmu, proto je tento algoritmus vhodný spíše pro pĜenos klíþĤ u symetrického šifrování nebo pro šifrování krátkých zpráv [2, 5].
2.5.6
Rivest Cipher 4 (RC4)
Algoritmus RC4 se Ĝadí se mezi nejpoužívanČjší proudové šifry, které se používají v internetu a v komerþním užití. Tato šifra nemá jednoznaþnČ urþenou délku bloku dat. Vyznaþuje se svou jednoduchostí a rychlostí. Tato šifra má také své slabé stránky, které argumentují proti jejímu použití v nových systémech. Klíþ tohoto algoritmu mĤže mít
20
maximálnČ 2048 bitĤ. Šifra pracuje na principu míchání bytĤ klíþe spojenou s permutací klíþe. Algoritmus RC4 se používá napĜíklad v nedostateþnČ chránČném kryptosystému jako je Wired Equivalent Privacy (WEP) [1].
2.6 Bezpeþnostní protokoly 2.6.1
Secure Shell (SSH)
Protokol SSH je zabezpeþený protokol v komunikaþních sítích využívající TCP/IP model. Slouží pro pĜihlašování a spouštČní pĜíkazĤ na vzdálených poþítaþích a síĢových zaĜízeních. Protokol SSH byl navržen jako náhrada za protokol Telnet a podobné nezabezpeþené vzdálené shelly (rsh, rlogin) posílající hesla v nezabezpeþené formČ a tím umožĖující odposlech hesla pĜi pĜenosu sítí nebo internetem. Protokol pracuje na principu klient server. Komunikace mezi SSH klientem a SSH serverem je šifrovaná. Protokol SSH umožĖuje bezpeþnou komunikaci mezi dvČmi poþítaþi nebo síĢovými zaĜízeními, používanou pro pĜístup k pĜíkazovému Ĝádku a k pĜenosu souborĤ. Zabezpeþuje autentizaci komunikujících úþastníkĤ, šifrování pĜenášených dat, integritu dat a kompresi. Existují dvČ verze protokolu SSHv1 a SSHv2. Pokud je to možné, doporuþuje se používat protokol SSHv2, protože používá bezpeþnČjší šifrovací algoritmy než SSHv1. SSH podporuje Data Encryption Standard (DES) algoritmus, algoritmus 3DES a uživatelskou autorizaci založenou na vkládání hesel. K implementaci SSH potĜebujeme vygenerovat RSA klíþe. RSA zahrnuje veĜejný klíþ držený na veĜejném RSA serveru a privátná klíþ, držený pouze odesílatelem a pĜíjemcem.VeĜejný klíþ mĤže být znám každému a je použit pro šifrování zprávy. Zprávy šifrované veĜejným klíþem mohou být dešifrovány pouze privátním klíþem. Toto je známo jako asymetrické šifrování [1, 3, 4]. 2.6.2
Secure Sockets Layer (SSL)
Protokol SSL Ĝeší bezpeþnost protokolĤ TCP/IP na transportní vrstvČ. Úkolem SSL je poskytnout bezpeþný komunikaþní kanál mezi dvČmi zaĜízeními v síti Internet na úrovni spojení TCP/IP, který umožní bezpeþnČ implementovat všechny bČžné nezabezpeþené protokoly (ftp, telnet, http, atd.). Tento protokol mĤže pro ustanovení klíþe relace použít rĤzné algoritmy s veĜejným klíþem. Po ustanovení relace se další komunikace zabezpeþuje šifrováním pomocí nČkterého algoritmu s privátním klíþem. Protokol SSL je snadno rozšiĜitelný o nové kryptografické algoritmy a interoperabilní, což znamená, že schopný efektivnČ spolupracovat a poskytovat si funkce s jinými protokoly. Základní pojem protokolu SSL je relace. Relace pĜedstavuje urþité spojení mezi klientem a serverem na úrovní transportní vrstvy. PĜi ustavení relace se mĤže provádČt autentizace uživatele a v rámci jedné relace mĤže být souþasnČ vytvoĜeno nČkolik zabezpeþených spojení. Každá relace má své stavové informace vþetnČ identifikátoru dané relace, informacích o kompresi, o kryptografických algoritmech atd. Je zde uložen i klíþ relace. [3, 4]
21
Klient, který chce použít SSL, nejdĜíve kontaktuje server a vyjedná s ním parametry relace ( identifikace, verze protokolu, komprese, šifrování, atd.). Komunikující strany si vymČní certifikáty svých veĜejných klíþĤ podepsané elektronickým podpisem. Klient vygeneruje klíþ relace, zašifruje ho veĜejným klíþem serveru a pošle ho serveru spoleþnČ s náhodnou výzvou. Server dešifruje klíþ relace pomocí svého soukromého klíþe a autentizuje se klientovi vrácením jeho náhodné výzvy zašifrované klíþem relace [1, 4, 18]. Adresy webových stránek zabezpeþených pomocí SSL zaþínají https:// . Zabezpeþené webové stránky je možné poznat také tak, že v prohlížeþi se ve stavové lištČ (novČ i v Ĝádku adres) zobrazí ikona zámku. HTTPS/SSL dokáže zajistit dĤvČrnost dat pĜi transferu mezi klientem a serverem. Port protokolu HTTP je standardnČ 80. Port protokolu je HTTPS je 443.
22
3 Základní typy útokĤ Poþítaþové sítČ, její zdroje a komponenty dokonce i pĜenášená data se mohou stát cílem útoku hackera. Hacker má na výbČr z velkého množství rĤzných typĤ útokĤ. Aby byl administrátor sítČ schopen ubránit svou síĢ proti tČmto útokĤm, musí dĤkladnČ znát principy a dĤsledky každého z nich. Útoþník se pokusí využít každého slabého místa v síti, aby dosáhl svého cíle. Útoþník mĤže pomČrnČ snadno využít slabé autentizace a autorizace, nedostateþnČ implementovaného zabezpeþení, nesprávného pĜidČlování prostĜedkĤ nebo i špatných pracovních návykĤ zamČstnancĤ. Každá z tČchto nebo dalších jiných chyb vede k získání neoprávnČného pĜístupu k síĢovým prostĜedkĤm. BČhem let hackeĜi vymysleli nebo objevili spoustu rĤzných zpĤsobĤ, jak obejít i velice propracované bezpeþností postupy a technologie. Pokud osoba odpovČdná za bezpeþnost systémĤ nemá dostateþné znalosti o metodách a nástrojích vedení útoku proti síti, mĤže se stát, že bezpeþnostní technologie, zásady a postupy, mohou ztratit svou úþinnost. Proto je dĤležité vČdČt, jaké metody a nástroje útoþníci používají, abychom mohli úspČšnČ proti nim bojovat [1].
3.1 Falšování IP adres a únosy relace PĜi tomto typu útoku útoþník, aby se mu podaĜilo vstoupit do systému, vytváĜí paket s jinou zdrojovou IP adresou, než kterou má ve skuteþnosti pĜidČlenou. Útoþník využije dĤvČry systému, jelikož se vydává za dĤvČryhodného uživatele. Aby se tento útok mohl podaĜit, musí útoþník získat informace o rozsahu povolených IP adres. Pokud útoþníka systém pĜijme, mĤže útoþník následnČ pokraþovat a tento hostitelský systém napadnout nebo ho vyĜadit z provozu. Tento typ útoku se obvykle používá pouze jako první krok pĜi rozsáhlých útocích. Obrana proti tomuto typu útoku spoþívá v zavádČní virtuálních privátních sítí (VPN), které své IP adresy šifrují. Pakety, které mají pozmČnČnou zdrojovou nebo cílovou adresu, se hned odstraní. Aby útoþník mohl proniknout do systému, musí znát šifrovací klíþe VPN [1].
3.2 Denial of Service (DoS) Útok Denial of Service se mĤže do þeštiny pĜeložit jako útok s odepĜením služeb. Dnes se tento typ útokĤ oznaþuje spíše jako distribuovaný útok s odepĜením služeb (Distributed Denial of Service) nebo paketová bouĜe (Paket Storm) nebo zaplavení sítČ (Tribal Flooding). Základní vlastnost tohoto útoku spoþívá vždy v pĜetížení sítČ obrovským množstvím požadavkĤ, kdy následnČ dojde ke zpomalení nebo dokonce zahlcení sítČ a síĢ nezvládne obsloužit ani právoplatný provoz.
23
Pokud cíl útoku pĜestává zvládat provoz, dochází k odepĜení služeb, protože ani právoplatní uživatelé nejsou schopni se k tomuto cíli pĜipojit. Distribuovaný útok s odepĜením služeb (DDoS), pro umocnČní útoku, zaplavuje cíl útoku generováním falešného provozu z více hostitelských systémĤ z rĤzných lokalit. Proto prvním krokem pĜi vedení DDoS útoku je napadení urþitého poþtu cizích poþítaþĤ, do kterých útoþník nainstaluje programové démony DDoS a vytvoĜí z tČchto poþítaþĤ takzvané zombie. Démon DDoS je poþítaþový program, který má za úlohu Ĝídit a koordinovat DDoS útok. Jedná se napĜíklad o programy Tribal Village (TFN), TFN2K a Trinoo. Takto napadené poþítaþe (zombie) vytváĜí velkou síĢ zombií, které potom posílají požadavky na spojení a rapidnČ zvýší množství otevĜených spojení u cílového poþítaþe (obČti). Vedení útoku s odepĜením služeb je pomČrnČ snadné, ale díky nČmu je možné napáchat obrovské škody, hlavnČ když se útoþníkĤm podaĜí vyĜadit dĤležitý server nebo se jim podaĜí odstĜihnout celou podnikovou síĢ od internetu. DoS útoky se provádí pomocí rĤzných technik vytváĜení falešného spojení. Platí obecná pouþka, že DoS útoky zneužívají slabá místa v architektuĜe sítČ [1]. 3.2.1
Útok se záplavou paketĤ ICMP
PĜi útoku se záplavou paketĤ ICMP útoþník využije vlastnosti protokolu ICMP, kdy napadané hostitelské systémy neboli zombie zaþnou odesílat nepĜetržitý tok paketĤ ping danému cíli. Cíl útoku je doslova bombardován požadavky ping, které mohou být vedeny od stovek zombií. Navíc pokud útoþník zároveĖ mČní pakety ICMP s požadavkem na opakování (echo) a do požadavku umístí místo IP adresy napadeného hostitele IP adresu cílového systému (zdrojová i cílová IP adresa ukazuje na obČĢ útoku), obČĢ zaþne na požadavky odpovídat (echo reply), jenže odpovČdi vedou opČt k obČti, provoz obČĢ zaþne postupnČ zavalovat, dokud nezhavaruje. Útoþník mĤže zdrojovou adresu zmČnit na broadcast adresu, takže provoz zahltí i ostatní síĢové prostĜedky v dané lokální síti. Tento útok využívá faktu, že jeho provoz se tváĜí jako standardní povolený provoz, proto jej firewally pustí do vnitĜní sítČ, kde zaþne páchat škody [1]. 3.2.2
Útok se záplavou paketĤ SYN
Pro dobré pochopení tohoto útoku je nutné znát, jak se vytváĜí TCP spojení. Vždy když se chce klient pĜipojit k urþité službČ (napĜ. FTP, HTTP), navázání komunikace se provede pomocí tree-way handshake. Three-way handshake probíhá následovnČ (cit. z lit. [1]): Klient odešle poskytovateli služby paket, v jehož hlaviþce TCP je nastaven synchronizaþní pĜíznak SYN. Služba odpoví paketem s potvrzením synchronizace (SYN-ACK). Nakonec klient odešle paket s navázáním komunikace (SYN-ACK). Po tČchto krocích je komunikace navázána a mĤže dojít k vlastnímu pĜenosu dat.
24
Útok se záplavou paketĤ SYN je založený na tom, že útoþník vyšle množství paketĤ SYN, služba na nČ odpoví synchronizaþními pakety SYN-ACK, ale klient už na tyto pakety neodpoví, protože jeho IP adresa je falešná. Služba si vyhradí prostĜedky na tato spojení a pak už nemĤže obsloužit právoplatná spojení, þímž dojde k odepĜení služeb. Útoþník musí posílat pakety SYN poskytovateli služby rychleji, než vyprší þasový limit pro odpovČdi. Tím dojde ke stavu, kdy se služba pĜetíží odpovídáním na pakety SYN a bude þekat na potvrzení od klientĤ, kteĜí je ale již neodešlou. 3.2.3
Obrana proti útokĤm s odepĜením služeb
Proti útokĤm s odepĜením služeb se dá velice špatnČ bránit. Jedná se o útoky, které jsou z pohledu obrany jedny z nejobtížnČjších, protože vČtšina útokĤ využívá normální provoz, který se v dané síti standardnČ vyskytuje. Jako nejþastČjší mechanismus obrany proti DoS útokĤm je pravidelné sledování rychlosti urþitého druhu provozu. NapĜíklad povolíme pouze urþitý poþet dotazĤ na danou službu. Urþitou hranici dotazĤ za jednotku þasu budeme považovat již za útok a dané dotazy zakážeme. Je nutné peþlivČ sledovat jednotlivé typy provozu, protože pĜíliš velké omezení napĜíklad webové provozu z Internetu do stránek elektronické komerce, by se nemuselo vyplatit. Proto je nutné obranné kroky vždy uvážit [1].
3.3 Odposlech paketĤ (sniffing) U tohoto typu útoku útoþník používá nástroje, které odposlouchávají síĢový provoz. TČmto nástrojĤm se Ĝíká sniffery. Sniffery zachytávají pakety procházející místem jejich pĜipojení. MĤže se jednat o nástroje softwarové i hardwarové, které dokáží odposlechnout a dekódovat data všech sedmi vrstev modelu OSI. Útoþník je pomocí takového snifferu schopen jednoduše odposlechnout uživatelská jména a hesla, pomocí kterých následnČ mohou vést další útoky. PĜi tomto útoku se musí útoþník obvykle osobnČ dostat do firemních prostor a pĜipojit se napĜíklad notebookem do sítČ. Díky bezdrátovému pĜipojení k internetu, mĤže útoþník odposlouchávat síĢovou komunikaci, napĜíklad v autČ pĜed podnikem. Útoþník pak jednoduše zachytí uživatelská jména a hesla u služeb, které nepodporují šifrovanou komunikaci (napĜíklad FTP, Telnet). Za velmi zranitelné se považují protokoly SMTP, IMAP,POP3, protože používají jednoduchou autentizaci pomocí uživatelského jména a hesla. Jelikož si uživatelé þasto nechtČjí pamatovat rĤzná uživatelská jména a hesla pro rĤzné aplikace, používají jedno heslo, což dává útoþníkovi pĜístup i do zabezpeþených aplikací a jiných síĢových prostĜedkĤ [1, 15].
3.4 MAN-IN-THE-MIDDLE Jeden ze základních typĤ útoku je útok muž uprostĜed neboli man in the middle (MITM). Tento útok je také znám jako zrcadlový útok nebo spoofing. Man in the middle útok je založen na pĜesmČrování provozu mezi dvČma komunikujícími stranami tak, aby procházel pĜes poþítaþ útoþníka. Útoþník si daný provoz pĜeþte a pĜepošle právoplatnému 25
pĜíjemci. Pokud útoþník pĜestane pĜeposílat daný provoz, data k pĜíjemci nikdy nedorazí. Díky tomuto útoku mĤže útoþník izolovat cílové hosty od sítČ, právČ díky nepĜeposílání daného provozu tČmto cílovým hostĤm a tím znemožní cílovým hostĤm komunikovat s okolím. Správce sítČ bude jen velice tČžce odhalovat, proþ cílový host není schopen komunikace. 3.4.1
ARP Spoofing
ARP Spoofing (známé také jako ARP Cache Poisoning) je technika útoku využívající slabin protokolu ARP (Address Resolution Protocol), který byl navrhován v dobČ, kdy se o bezpeþnost sítČ ještČ moc nestaralo. Proto protokol ARP nemá žádné ochranné mechanismy. Protokol ARP slouží pro pĜeklad logických adres ( IP adres) na fyzické adresy (MAC adresy). Uživatel ve vČtšinČ pĜípadĤ zná pouze IP adresu pĜíjemce. Protokol ARP, na základČ této IP adresy poþítaþe pĜíjemce, vyhledá pĜíslušnou MAC adresu. Vyhledání se provede pomocí zprávy ARP request. Na tuto zprávu odpoví poþítaþ, který má IP adresu shodnou s IP adresou umístČnou v této žádosti, pomocí zprávy ARP Reply. Na základČ této zprávy se odesílatel žádosti dozví fyzickou (MAC) adresu pĜíjemce. Hlavním cílem tohoto útoku je dostat data z poþítaþe obČti k poþítaþi útoþníka, aby si je mohl prohlédnout. Je nutné také podotknout, že pĜi tomto útoku se útoþník se svým zaĜízením musí nacházet v místní síti LAN, která je propojená pomocí switchĤ. Switche mají v sobČ zabudovanou pamČĢ (tzv. ARP Cache), do které si ukládá MAC adresy koncových zaĜízení, které jsou k nČmu fyzicky pĜipojeny. Když na nČkterý port switche dorazí rámec obsahující ve svém záhlaví cílovou MAC adresu, switch se podívá do své pamČti a na základČ záznamĤ v tabulce rozhodne, na který port rámec pĜepne. Pro vysvČtlení ARP Spoofing útoku uvažujme následující síĢ (viz Obr. 3), která obsahuje PC obČti, PC útoþníka, switch a bránu (gateway). Každý poþítaþ, který chce vysílat do internetu, musí svĤj provoz posílat pĜes danou bránu. [11, 12, 15]
Obr. 3: Uvažovaná síĢ pĜi ARP Spoofing útoku
26
Vlastní útok probíhá následujícím zpĤsobem. Útoþník pošle obČti zprávu, která Ĝíká, že brána má MAC adresu útoþníka a bránČ pošleme zprávu, která zase Ĝíká, že naše obČĢ má MAC adresu stejnou jako útoþník. Tímto krokem si obČĢ upraví záznam v tabulce ARP Cache a zmČní v tomto záznamu MAC adresu brány na MAC adresu útoþníka. Brána si zmČní záznam o MAC adrese obČti a zamČní ji s útoþníkovou MAC adresou. Tímto zpĤsobem útoþník docílí, že komunikace mezi obČtí a bránou bude procházet pĜes útoþníka, který si obsah komunikace prohlédne (popĜípadČ zmČní) a pošle ji správnému pĜíjemci. PĜi tomto útoku útoþník využije slabiny protokolu ARP, protože si obČĢ i brána upraví záznamy v ARP Cache a vĤbec si nehlídají, zda podali žádost o zjištČní MAC adresy toho druhého zaĜízení. Podmínka pro tento útok je, aby se záznamy, které jsou požadovány zmČnit, v tabulce ARP Cache už vyskytovaly. SamozĜejmČ tohle také není pro útoþníka problém. Pokud v tabulce záznam chybí, mĤže napĜíklad vyslat zprávu ping s falešným odesílatelem. Uživatel nebo brána si IP adresu a MAC adresu z této zprávy uloží do své tabulky. Záznamy v tabulce ARP Cache po urþité dobČ smazávají, proto útoþník informace o falešných MAC adresách posílá obČti a bránČ periodicky po urþitém þase. Obrana proti ARP Spoofing je zavedení statických tabulek. Záznamy se do ARP Cache tabulky zadají staticky. Od této chvíle bude switch zprávy ARP Reply ignorovat a bude se Ĝídit pouze statickými záznamy. Díky tomu není možné tyto záznamy zmČnit [11, 12].
3.4.2
DHCP spoofing
Tento útok je založen na faktu, že v jedné síti mĤže být pĜítomno více DHCP (Dynamic Host Configuration Protocol) serverĤ a tyto servery nepracují pĜíliš rychle. Cílem útoku DHCP spoofing je nastrþit a zprovoznit do sítČ nový DHCP server a jakmile uživatelský poþítaþ zažádá o pĜidČlení dynamických síĢových parametrĤ, DHCP server útoþníka odpoví na tuto žádost a pĜidČlí mu podstrþené údaje. V tČchto údajích, které útoþník uživateli podstrþil, mĤže být falešná brána (gateway) nebo DNS server. DĤležité pro tento útok je, aby DHCP server útoþníka odpovČdČl na žádost uživatele dĜíve než právoplatný DHCP server. Podstrþí-li útoþník uživateli pouze falešnou gateway (PC útoþníka), komunikace uživatele bude probíhat tak, že odchozí provoz mimo (napĜíklad podnikovou) síĢ bude procházet pĜes poþítaþ útoþníka, ten si pĜeþte a následnČ ji pošle na právoplatnou gateway a dále do internetu. Provoz vracející se z internetu už ale bude posílán z opravdové gateway pĜímo právoplatnému uživateli. Tedy útoþník nebude moci þíst pĜíchozí informace z internetu. Podstrþíme-li uživateli i falešný DNS server, mĤžeme vytvoĜit útok, který bude zachytávat oba smČry provozu. Této skuteþnosti se docílí tím, že na všechny dotazy bude útoþník odpovídat svou IP adresou a ze svého poþítaþe vytvoĜí jakoby proxy server. U DHCP spoofing útoku musíme rozlišovat situace, které mohou nastat a to je, že se uživatel pĜihlásí do sítČ poprvé nebo již byl uživatel v síti pĜipojen. Podle dané situace se útok musí pĜizpĤsobit. [11, 12, 15]
27
V prvním pĜípadČ, kdy se uživatel pĜihlásí do sítČ poprvé, vyšle uživatel do sítČ zprávu DHCP Discover. Tato zpráva se vyšle broadcastovČ a žádá, aby mu odpovČdČli DHCP servery v síti. Každý DHCP server, ke kterému tato žádost dorazí odpoví zprávou DHCP Offer, kterou nabídne uživateli síĢové parametry. Uživatel zažádá o pĜidČlení síĢových parametrĤ zprávou DHCP Request ten DHCP server, od kterého pĜišla nabídka jako první. DHCP server následnČ pošle uživateli potvrzení (zpráva DHCP Ack). U toho pĜípadu, musí být útoþníkĤv DHCP server nejrychlejší. V druhém pĜípadČ, kdy uživatel již byl v síti pĜipojen, je postup jiný. Uživatelský poþítaþ pošle DHCP serveru, od kterého naposled obdržel síĢové parametry, zprávu pouze DHCP Request. V této zprávČ uživatel žádá o IP adresy, kterou mČl pĜidČlenou naposledy. DHCP server uživateli na tu to žádost odpoví potvrzením DHCP Ack nebo mĤže žádost zamítnout a pĜidČlit mu jinou IP adresu. VýmČnu tČchto zpráv mezi uživatelem a DHCP serverem, útoþník nezachytí. Tento problém musí útoþník vyĜešit tím, že vyþerpá všechny IP adresy, které DHCP server mĤže uživatelĤm pĜiĜadit. Jakmile DHCP server nemá žádné volné IP adresy pro pĜiĜazení, pĜestane odpovídat na zprávy DHCP Discover. NáslednČ musí útoþník þekat, než uplyne doba propĤjþení (lease time) již propĤjþených IP adres uživatelĤ a následnČ, útoþník zabere i tyto IP adresy. Od této doby, když uživatel požádá o svou starou IP adresu, nedostane žádnou odpovČć nebo mu pĜijde odpovČć o odmítnutí žádosti. V této situaci uživatel vyšle do sítČ zprávu DHCP Discover, jako kdyby v síti ještČ nikdy nebyl. V tuto chvíli mĤže IP adresy poskytnout falešný DHCP server a všichni uživatelé potom budou využívat služeb falešného DHCP serveru. Úþinná obrana proti útoku DHCP spoofing je možná pomocí funkce DHCP snooping. Tato služba je založená na dĤvČryhodných a nedĤvČryhodných portech. Pokud se na port switche pĜipojí DHCP server nebo jiný switch podporující tuto službu, pĜiĜadí se danému portu stav dĤvČryhodný. Všechny ostatní porty se pak oznaþí jako nedĤvČryhodné. Pokud uživatel požádá o IP adresu z falešného DHCP serveru, pĜipojeného na nedĤvČryhodném portu, switch to rozpozná a tuto zprávu zahodí. Další metoda zabránČní útoku je statické definování síĢových prostĜedkĤ na uživatelských stanicích, což není pohodlné Ĝešení, ve stĜedních a velkých firmách prakticky nemožné [11, 12].
3.4.3
DNS spoofing
Útok DNS spoofing spoþívá v podvržení IP adresy v paketu vracejícího se jako odpovČć na žádost o pĜeklad doménového jména na IP adresu. PĜi tomto útoku, mĤže být provoz sítČ pĜesmČrován i mimo lokální síĢ, což pĜi útocích na ARP protokol (ARP Spoofing) není možné. Zde bude popsán útok na koncového uživatele uvnitĜ lokální sítČ. Koncový uživatel používá k pĜekladu doménových jmen DNS Resolver. DNS Resolver se dá popsat jako sada požadavkĤ sloužící k práci s DNS protokolem. PĜi pĜekladu doménového jména položí DNS Resolver požadavek na DNS server, který má daný uživatel staticky nebo dynamicky nastaven na své poþítaþi. Když uživatel dostane odpovČć, uloží si ve své lokální DNS Cache pro pĜípad opČtovného použití. Doba, po kterou bude záznam uložen
28
v DNS Cache, se deklaruje na DNS serveru, který je pro danou doménu autoritativní a je obsažena v odpovČdi DNS serveru. Jakmile tato doba uplyne, je záznam z DNS Cache smazán. U protokolu DNS je tomu podobnČ jako u protokolu DHCP, kdy uživatel použije odpovČć serveru, od kterého pĜijde první. Útoþník pĜi DNS spoofing útoku musí odpovČdČt na dotaz dĜíve, než pĜijde odpovČć od právoplatného DNS serveru. [11, 12] Aby útoþník mohl zfalšovat DNS odpovČć musí znát urþité informace. Protokol DNS využívá k pĜenosu svých zpráv jak protokol TCP, tak i protokol UDP. PrimárnČ se používá protokol UDP, protokol TCP se používá v pĜípadČ, že se odpovČć nevejde do jednoho paketu. Pro útoþníka je výhodnČjší, když je použit protokol UDP, protože mu odpadne práce se zjišĢováním sekvenþních þísel a podobnČ. Další potĜebné informace, které musí znát jsou IP adresa DNS serveru, jehož služeb obČĢ útoþníka využívá. Zjistit tuto IP adresu není problém, protože je v lokální síti nastavena na všech poþítaþích. Dále potĜebuje útoþník vČdČt, na kterou doménu se útoþník dotazuje, protože mĤže zfalšovat pouze IP adresu pro tuto doménu. Navíc ještČ útoþník musí znát port, ze kterého se DNS Resolver dotazuje ID (identifikátor) dotazu. ID je þíslo složené ze 16-ti bitĤ a je náhodnČ generováno. Pomocí ID se páruje dotaz a odpovČć, proto se použije v DNS dotazu a musí být uvedené i v DNS odpovČdi. Útoþník má výhodu, že vČtšina implementací Resolveru nepožaduje všechny tyto informace. Informace, které potĜebuje znát vždy je port a ID. [11, 12] ýíslo portu se dá zjistit, pokud nestojí v cestČ firewall, napĜíklad skenováním portĤ nebo je možnost útoþit na více portĤ v urþitém pĜedpokládaném rozsahu. V tomto pĜípadČ, když se útoþí na DNS server, je možné jednoduše zjistit port i aktuální ID dotazu požádáním DNS serveru o pĜeklad adresy, kterou útoþník vlastní. Na DNS serveru pustíme sniffer a útoþník si data jednoduše odchytí. Existuje nČkolik metod, jak zajistit, aby odpovČć útoþníka dorazila k uživateli dĜíve než z legitimního DNS serveru. PĜevážnČ se jedná o DoS útoky snažící se server vyĜadit z provozu nebo ho pĜetížit, aby zpracovával požadavky pomalu [11, 12].
Man in the middle útok na koncového uživatele. Útoþník musí zjistit alespoĖ port dotazu. NáslednČ spustí DoS útok proti DNS serveru, þímž si zajistí více þasu pro poslání falešné odpovČdi. Nyní útoþník zaþne posílat do nekoneþna falešné DNS odpovČdi a bude v nich neustále mČnit þíslo ID. PĜedpokládá se, že resolver nekontroluje, zda-li je v odpovČdi vrácen pĜeklad doménového jména, o který žádal (tuto chybu obsahovali i Windows XP SP1). Pak už jen útoþník þeká, kdy uživatel požádá o pĜeklad nČjakého doménového jména [12].
29
Man in the middle útok na koncového uživatele s použitím Additional records. EfektivnČjší varianta pĜedchozího útoku, provedená pĜidáním dalších adres, které chceme zfalšovat. Tyto adresy se pĜidají do pole Additional records, které slouží k urychlení DNS služby tím, že DNS server pošle klientovi kromČ pĜekladu doménového jména, na které se dotazoval, i pĜeklady navíc, které s tímto dotazem souvisí. Díky tomu se ušetĜí další následující dotazy [12]. Man in the middle útok na koncového uživatele s použitím finty. Útok využívající urþitého triku k zefektivnČní útoku, napĜíklad když síĢ využívá proxy server a klienti mají proxy server specifikovaný místo IP adresou doménovým jménem. Pak staþí podvrhnout pouze pĜeklad doménového jména a útoþník získá veškerou http komunikaci obČti v obou smČrech [12].
Man in the middle útok na DNS server s použitím vícenásobných dotazĤ. Tento útok se objevil díky chybČ v DNS serveru Bind, která mČla za následek, že pokud pĜišlo na jedno doménové jméno naráz více dotazĤ z více IP adres, DNS server zpracoval každou žádost samostatnČ a každé žádosti pĜidČlil jiné ID. To znamenalo, že pĜi zaslání tisíce žádostí bude existovat tisíc správných ID. Tím útoþník získá už velkou pravdČpodobnost, že se trefí. Podle nových informací, byla tato chyba již opravena. Budeme-li ale uvažovat, že DNS server neporovnává žádost s odpovČdí u pĜekládaného doménového jména, lze tento útok provést také pomocí zasílání dotazĤ náhodných doménových jmen a zfalšovaných odpovČdí. Jestliže server nČkterou ze zfalšovaných odpovČdí pĜijme, jeho DNS Cache bude otrávena, ze které se následnČ rozšíĜí zfalšované pĜeklady k uživateli.[12] Využití DNS Spoofingu spolu s jiným útokem. Útoþník odposlouchávající provoz v síti, mĤže odposlechnout ID dotazu a zdrojový port. To znamená, že mĤže pĜesnČ falšovat odpovČdi. Díky tomu mĤže útoþník pomocí DNS spoofingu uživatele cílenČ pĜesmČrovávat. Útoþník si následnČ poþká na dotaz o pĜeklad napĜíklad stránek banky, pošle uživateli falešnou odpovČć a pĜesmČruje uživatele na nešifrovaný server. Uživatel se pĜihlásí a útoþník zachytí jeho pĜihlašovací údaje [12].
3.5 ICMP Redirect Útok ICMP Redirect využívá zpráv protokolu ICMP typu 5. Zprávy ICMP typu 5 jsou zprávy, které se používají k optimalizování smČrování (routování) dat v síti. Existuje nČkolik podtypĤ této zprávy, ale nejvíce se používá podtyp pĜesmČrování pro hostitele. Tato zpráva má za úkol, aby když na gateway pĜijdou data od uživatele urþená dále ven ze sítČ a tato gateway zjistí, že bude výhodnČjší (rychlejší) tato data poslat pĜes jinou gateway, vyšle o tom uživateli ICMP Redirect zprávu. Data, která už pĜijal, pošle ještČ pĤvodní cestou. Uživatel si po obdržení této zprávy pozmČní smČrovací tabulku a smČruje provoz na druhou gateway.
30
Vlastní útok se tedy provede vysíláním falešných zpráv ICMP Redirect. U ICMP Redirect útoku se vyskytuje ještČ problém, protože existují urþitá pravidla, která musí tyto ICMP zprávy splĖovat. Jedním pravidlem je, že tyto zprávy musí obsahovat 8 bytĤ dat z paketu, který zpĤsobil vygenerování zprávy ICMP Redirect. Tato podmínka je vyžadována pouze v nČkterých systémech. V systému, ve kterém se tato podmínka nevyžaduje, má útoþník podstatnČ vČtší šanci útok provést [11, 12, 14].
3.6 MAC Flooding PĜed vlastním popisem postupu útoku je nutné vČdČt, že switch pĜeposílá datové rámce na základČ cílové MAC adresy v hlaviþce daného rámce. Aby switch vČdČl, na který port má datový rámec pĜepnout, má v sobČ zabudovanou pamČĢ, ve které se nachází tabulka se záznamy Ĝíkající, na který port pĜepnout datový rámec, aby dorazil na urþitou cílovou MAC adresu. Do této tabulky se vejde omezený poþet záznamĤ (tisíce až statisíce). Velikost tabulky se odvíjí od typu switche. Tabulka je nejdĜíve prázdná, zaplĖuje se až na základČ pĜicházejících rámcĤ na jednotlivé porty switche. Útok MAC Flooding je založen na zaplnČní této tabulky. První metodou je, že útoþník zaþne posílat velké množství rámcĤ, které mají zdrojovou i cílovou MAC adresu náhodnČ vygenerovanou a tím zpĤsobí, že switch si vždy pro každou MAC adresu, kterou ještČ nemá v tabulce uloženou udČlá nový záznam a daný rámec pošle broadcastovČ na všechny porty. Díky tomu se zahltí i ostatní switche v síti. [15] Druhou metodou je, že útoþník nastaví rámcĤm cílovou MAC adresu na svoji a odchozí MAC adresu generuje náhodnČ. Jakmile switch pĜijme takovýto rámec, vytvoĜí si záznam v tabulce, ale zjistí, že pĜíjemce se nachází na stejném portu odkud rámec pĜišel, takže rámec už nikam neposílá. Takto útoþník pĜijde o zahlcení ostatních switchĤ v síti, na druhou stranu jeho útok bude možné odhalit jenom velice tČžce. Jakmile je tabulka se záznamy zcela zaplnČna mohou nastat dva pĜípady. NČkteré switche se po zaplnČní tabulky ARP Cache pĜepnou do stavu „fail open“, to znamená, že se zaþnou chovat jako hub. PĜíchozí rámec se pošle na všechny porty kromČ portu odkud rámec pĜišel. Jiné switche po zaplnČní tabulky záznamy reagují na pĜíchozí rámec, jehož cílová MAC adresa není obsažena v tabulce, stejnČ jako v pĜedchozím pĜípadČ, to je broadcastovČ odešle rámec na všechny porty, kromČ portu odkud rámec pĜišel. Pokud ale pĜijde rámec s cílovou MAC adresou, která je obsažena v tabulce, pĜepne tento rámec pouze na daný port, ke kterému je pĜíjemce rámce pĜipojen. Záznamy v tabulce ARP Cache jsou po urþité dobČ mazány. Každé zaĜízení mĤže mít dobu, po které se záznam v tabulce smaže, jinou. Administrátor si také mĤže dobu, za jak dlouho se záznamy budou mazat, pĜenastavit podle svého. VČtšinou je ale tato doba 300 sekund. Po nČjaké dobČ se vymažou záznamy i oprávnČných uživatelĤ a v tuto chvíli musí útoþník obsadit místa tČchto uživatelĤ. Když se mu to podaĜí, veškerá komunikace oprávnČných uživatelĤ bude pĜicházet i k útoþníkovi a ten ji bude moci pĜijímat a þíst. [11, 12]
31
Pokud se útok provádí stylem, že se nastavuje cílová fyzická adresa na fyzickou adresu útoþníka, lze tento útok obtížnČ vysledovat. Tento útok je možné poznat až nezvykle rychlým blikáním stavové LED diody na switchi nebo u dražších switchĤ vypsáním tabulky záznamĤ. Proti útoku MAC flooding se lze bránit využitím služby DHCP snooping. Tato služba je založená na dĤvČryhodných a nedĤvČryhodných portech. Všechna data, která na switch pĜijdou z nedĤvČryhodného portu, jsou zahazována, pokud není nastavena zdrojová MAC a IP adresa poþítaþe v záznamu DHCP snooping tabulky pro daný port. PĜi tomto útoku musí útoþník mČnit MAC adresy, což je odhaleno pĜi porovnávání se záznamy s hodnotami v DHCP snooping tabulce [11, 12].
3.7 Port stealing Již z názvu tohoto útoku si je možné odvodit, že se bude jednat o krádež portĤ. Takovéto krádeži mĤže dojít pĜi aktualizaci tabulky v ARP Cache switche pĜi pĜíjmu rámce. PĜi útoku se postupuje následovnČ. Útoþník si nejprve zjistí, jakou má obČĢ fyzickou (MAC) adresu. Jakmile zjistí fyzickou adresu obČti, zaþne posílat na switch rámce, jejichž cílová fyzická adresa bude rovna fyzické adrese útoþníka a zdrojová fyzická adresa bude adresa obČti. Na základČ tČchto rámcĤ si switch bude myslet, že obČĢ byla pĜepojena na port, ze kterého tyto rámce pĜicházejí, tím pádem si pozmČní záznam v tabulce. Protože cílová fyzická adresa se nachází na stejném portu jako fyzická adresa odesílatele, rámce nebudou nikam dále pĜeposlány. Pokud je obČĢ pĜipojena na jiný switch, musí útoþník cílovou fyzickou adresu nastavit na broadcast. Od této doby, jakmile pĜijde na switch rámec urþený pro obČĢ, switch pĜepne tento rámec na port, kde se nachází poþítaþ útoþníka. Útoþník si pĜíchozí data prohlédne a pokud chce doruþit data pravému pĜíjemci, musí opČt upravit tabulku se záznamy. Toho útoþník dosáhne tím, že pĜestane vysílat rámce pro ukradení portu a pošle zprávu ARP Request. ObČĢ odpoví pomocí zprávy ARP Reply. Na základČ tČchto zpráv si switch danou tabulku opraví do pĤvodní podoby pĜed útokem. Potom už ukoĜistČná data mĤžeme jednoduše poslat pravému pĜíjemci. Nevýhoda tohoto útoku spoþívá v tom, že jakmile obČĢ odešle nČjaký rámec, tabulka záznamĤ switche se vždy opraví. Proto útoþník musí posílat rámce pro kradení portĤ rychle za sebou. Obþas se tedy mĤže stát, že nČjaký rámec útoþník nezachytí a dojde správnČ k obČti. Útok Port stealing lze vysledovat napĜíklad všimnutím si þastých ARP dotazĤ a nebo podle fyzické adresy pĜíchozích dat. EfektivnČ lze tomuto útoku pĜedejít, jako pĜi útoku MAC flooding, pomocí služby DHCP snooping [11, 12].
32
4 CAIN & ABEL Cain & Abel (viz Obr. 4) je nástroj pracující na operaþních systémech Microsoft, který umožĖuje jednoduché získání nČkolika druhĤ hesel pomocí sniffování (sledování síĢového provozu) v síti, crackování šifrovaných hesel pomocí slovníkového útoku, útoku hrubou silou a pomocí kryptoanalýzy, dále nahrávání VoIP hovorĤ, získání klíþĤ bezdrátových sítí, odhalení hesel skrytých za hvČzdiþkami a analýzu smČrovacích protokolĤ. Program Cain & Abel nevyužívá žádných zranitelností software nebo chyb, které by nemohly být s malým úsilím zalátovány. Zahrnuje nČkteré bezpeþnostní aspekty/slabiny protokolových standardĤ, autentizaþních metod a ukládacích mechanismĤ. Jeho hlavním úþelem je jednoduché získání hesel a povČĜovacích listin od rĤzných zdrojĤ. Poskytuje také nČkteré nestandardní nástroje pro uživatele operaþního systému Microsoft Windows. Cain & Abel byl vyvinut v nadČji, že tento nástroj bude užiteþný pro síĢové administrátory, uþitele, bezpeþnostní konzultanty, odborníky, prodejce bezpeþnostního software, profesionální testery prĤniku a pro všechny ostatní osoby, kteĜí neplánují tento nástroj použít z neetických dĤvodĤ. Nejedná se tedy o nástroj, který by používaly útoþníci pro nabourání se do sítČ nebo dokonce vyĜazení sítČ z provozu, ale spíš o program, který administrátorovi pomĤže odhalit slabiny jeho sítČ a ukáže mu, jaké citlivé informace se pĜes jeho síĢ pĜenášejí. Dosažené výsledky mĤže následnČ vyhodnotit a pĜijmout bezpeþnostní opatĜení. [13].
Obr. 4: Grafické rozhraní programu Cain & Abel
33
4.1 Instalace Tento program je poskytován jako freeware, to znamená, že jeho šíĜení, kopírování, instalování a užívání je zdarma. Program si lze opatĜit na internetu na oficiálních stránkách výrobce http://www.oxid.it . Program Cain & Abel se skládá ze dvou þástí. Cain je hlavní aplikace s grafickým uživatelským rozhraním a Abel je Windows služba složená dvČmi soubory (Abel.exe a Abel.dll) [13]. Požadavky programu: 10MB volného místa na Hard-Disku Operaþní systém - Microsoft Windows 2000/XP/2003/Vista/Windows 7 Winpcap Packet Driver (verze 2.3 nebo vyšší, od verze 4.0 obsahuje i Airpcap) Airpcap Packet Driver (pro pasivní bezdrátový sniffer/WEP cracker) Vlastní instalace programu Cain se provede spuštČním samoinstalaþního balíku a postupuje se dle instrukcí instalaþního prĤvodce. Balík nakopíruje všechny soubory, které bude program potĜebovat do adresáĜe a podadresáĜĤ programu na daném poþítaþi. Soubory služby Abel (Abel.exe a Abel.dll) se nakopírují do adresáĜe programu již pĜi instalaci programu Cain, ale služba není automaticky nainstalována do systému. Abel mĤže být instalován lokálnČ nebo vzdálenČ pomocí programu Cain a vyžaduje práva administrátora na daném cílovém stroji. Abel - Lokální instalace • •
Nakopírovat soubory Abel.exe a Abel.dll do adresáĜe systému (napĜ. C:). nainstalovat službu pomocí pĜíkazu „abel“ v pĜíkazové Ĝádce operaþního systému.
Abel - Vzdálená instalace • • • • •
V programu Cain v záložce Network vybereme cílový vzdálený poþítaþ, kam chceme službu Abel nainstalovat. V levém stromu pravým tlaþítkem myši klikneme na ikonu poþítaþe a oznaþíme „Connect As“. Do následnČ zobrazené tabulky zadáme uživatelské jméno a heslo administrátora pro daný vzdálený systém. Jakmile jsme pĜipojeni, pravým kliknutím myši na ikonu „Services“ zobrazíme nabídku „Install Abel“ a kliknutím zahájíme instalaci. Oba soubory Abel.exe a Abel.dll budou automaticky nakopírovány do adresáĜe administrátora vzdáleného poþítaþe. Služba se automaticky nainstaluje a spustí.
34
Modifikace RegistrĤ Program Cain v sobČ zahrnuje nástroje pro vytváĜení zmČn v registrech systému. Vždy, když provádíme zmČny v registrech, je vhodné nejdĜíve dané registry zálohovat. Veškerá nastavení programu Cain jsou umístČny v HKEY_CURRENT_USER registru. Odinstalování Program Cain lze odinstalovat pĜímo pomocí odinstalaþního programu nebo pomocí nástroje PĜidat/Odebrat Programy v Ovládacích panelech operaþního systému Windows. Odinstalaþní program neodstraní službu Abel. Služba Abel se musí nejdĜíve zastavit a potom do pĜíkazové Ĝádky zadat pĜíkaz „Abel -r“. Je možné k tomu použít i Service Managera programu Cain. Jakmile je služba odstranČna, vykonávací soubory mohou být ruþnČ smazány ze systému [13].
4.2 Konfigurace PĜed tím než mĤžeme nástroj Cain & Abel používat, musíme nejdĜíve nakonfigurovat nČkteré parametry. Všechny parametry mohou být nastaveny z konfiguraþního dialogu, do kterého se je možné dostat kliknutím v hlavní lištČ na „Configure“. Konfiguraþní dialog se skládá ze šesti záložek. • • • • • • •
Sniffer APR (Arp Poison Routing) Challenge Spoofing Filter and ports HTTP Fields Traceroute Certificate Spoofing
4.2.1
Záložka Sniffer
V této záložce se nastavuje, která síĢová karta se použije pro nástroje programu sniffer a APR. Pokud máme více síĢových karet (napĜíklad LAN, Wi-Fi) vybereme jednu z nich. V této záložce je zobrazené þíslo verze ovladaþe Winpcap, podle kterého zjistíme kterými vlastnostmi daný ovladaþ disponuje. Nutno podotknout, že tento program pracuje pouze s Ethernet síĢovými adaptéry. V sekci Option této záložky je možno zaškrtnout tĜi položky. • • •
Start Sniffer on startup ( zapnutí funkce Sniffer pĜi zapnutí programu) Start APR on startup ( zapnutí funkce APR pĜi zapnutí programu) Don’t use Promiscuous mode (nepoužívat promiskuitní mód síĢové karty)
35
Funkce prvních dvou položek není tĜeba blíže popisovat. TĜetí položka slouží k deaktivování promiskuitního módu. SíĢová karta v promiskuitním módu mĤže pĜijímat i provoz, který není pro ni urþený. Pokud se zatrhne volba „Don’t use Promiscuous mode“, povolí se APR Poisoning na bezdrátové síti, ale v této situaci není možné používat vlastnost MAC spoofing. [13] 4.2.2
Záložka APR
UvnitĜ této záložky (viz Obr. 5a) se konfiguruje APR (Arp Poison Routing). Cain používá oddČlené procesy, které posílají ARP Poison (tzv. otrávené) pakety napadanému hostovi, defaultnČ každých 30 sekund. To je nezbytné, protože položky pĜítomné v ARP cache vzdálených strojĤ, mohou být odstranČny v pĜípadČ jejich žádného síĢového provozu. Z tohoto dialogu je možné nastavit þas mezi každým vysláním ARP Poison paketĤ. Nastavením tohoto parametru na nČkolik sekund, zpĤsobí mnoho ARP síĢového provozu, zatímco nastavení tohoto parametru na vČtší rozestup má za následek ménČ uneseného provozu. V sekci Spoofing Options se definují IP a MAC adresy, které Cain následnČ vepíše do ARP hlaviþek ARP Poison paketĤ a pĜesmČrovaných paketĤ. V pĜípadČ definování falešné IP a MAC adresy ARP Poison útok bude plnČ anonymní, protože útoþníkova reálna IP a MAC adresa nebude nikdy pĜes síĢ poslána. Aby se mohlo využít této volby, musí se brát v úvahu. Falšování ethernetových adres mĤže být použito, pouze když pracovní stanice útoþníka je pĜipojena k HUBu nebo switchem pĜepínané síti, která nepoužívá bezpeþnostní vlastnost „Port Security“. Port Security povolí pĜipojit ke switchi pouze stanici, která má fyzickou adresu shodnou s adresou uloženou v seznamu. Tím chrání síĢ pĜed pĜipojením neznámé stanice do sítČ. Switch zjistí, že se k jeho portu pĜipojila jiná stanice než je povolená v seznamu, odpojí port a tím útoþník ztrácí konektivitu do sítČ.[13] Falešná IP adresa musí být volná adresa v podsíti. ARP protokol neprojde pĜes routery nebo virtuální LAN sítČ (VLAN), takže pokud se nastaví falešná IP, která je mimo danou podsíĢ, vzdálený host bude odpovídat na defaultní bránu a útoþník neuvidí jeho odpovČdi. Pokud bude použita falešná IP adresa, která už v podsíti existuje, nastane konflikt IP adres a útok bude jednoduše odhalen. Falešná IP adresa je programem automaticky zkontrolována, jakmile se zmáþkne tlaþítko „Apply“. Pokud bude IP adresa již použita, upozorní na tento problém varovná zpráva. Falešná MAC adresa nesmí být pĜítomná v podsíti. PĜítomnost dvou identických MAC adres na stejné LAN, mĤže zpĤsobit konvergenþní problém. Z tohoto dĤvodu si nelze jednoduše samostatnČ nastavit falešnou MAC adresu. Defaultní hodnota je nastavena na 001122334455, která je neoþekávatelná v síti a na druhou stranu je lehce identifikovatelná pĜi Ĝešení problémĤ [13]. Není možné mít ve stejné podsíti dva a více poþítaþe s programem Cain, používající APR falšování MAC adres a stejnou falešnou MAC adresu. Falešnou MAC adresu lze zmČnit modifikováním hodnoty registru „SpoofMAC“ umístČnou v: "HKEY_CURRENT_USER\Software\Cain\Settings"
36
4.2.3
Záložka Filters and Ports
V této záložce (viz Obr. 5b) je možné povolit/zakázat filtry snifferu a TCP/UDP porty aplikaþních protokolĤ. Cain zachytává pouze autentizaþní informace a ne celý obsah každého paketu, nicménČ je možné použít Telnet filtr, který ukládá všechna data pĜítomná v TCP spojení do souboru modifikováním portu filtru. Sniffer filtry programu Cain jsou vnitĜnČ navrženy k pĜežití v nespolehlivém svČtČ jako je síĢ pod ARP Poison útokem. Cain používá odlišné techniky k extrahování všech informací ze síĢových paketĤ, potĜebných k odhalení vysílaných hesel ve formČ þistého textu. NČkteré autentizaþní protokoly používají mechanismus výzva-odpovČć, takže je potĜeba posbírat parametry z provozu Client->Server i Server-> Client. Zachycení provozu v obou smČrech je možné, když LAN síĢ je tvoĜena pouze HUBy nebo pokud je útoþník pĜipojen na port switche, kam se provoz zrcadlí, ale na pĜepínané síti toho mĤže být dosaženo pouze užitím nČkteré techniky únosu provozu jako je ARP Poison Routing (APR). Pokud se provádí sniffing s povoleným APR, sniffer bude extrahovat autentizace výzva-odpovČć, pouze když se dosáhne Full-Routing stavu mezi napadenými poþítaþi. V této záložce je možné také povolit/zakázat analyzování smČrovacích protokolĤ (RIPv1, RIPv2, EIGRP, HSRP,VRRP) a vlastnost ARP-DNS, která se jeví jako DNS Reply Rewriter [13].
a)
b)
Obr. 5: Záložka: a) APR, b) Filters and ports
37
4.2.4
Záložka HTTP Fields
Tato záložka obsahuje seznam polí, do kterých se zapisují uživatelská jména a hesla, která používá HTTP sniffer filtr. Cookies a HTML formáty putující v HTTP paketech jsou snifferem prozkoumány, hledajíce pole s uživatelskými jmény a hesly. Pokud jsou tyto dĤvČrné informace nalezeny, jsou zachyceny a zobrazeny na obrazovce. 4.2.5
Záložka Traceroute
Zde je možné nastavit získávání uživatelských jmen hostĤ, objevování síĢové masky pomocí protokolu ICMP a povolení/zakázání extrahování WHOIS informací pro každý skok. 4.2.6
Záložka Challenge Spoofing
Zde je možné nastavit hodnoty uživatelských výzev k pĜepsání NTLM autentizaþních paketĤ. Tato vlastnost mĤže být rychle umožnČna z nástrojové lišty a musí se použít spoleþnČ s APR. Pravidelné výzvy umožní prolomit NTLM hashe zachycené v síti pomocí Rainbow tabulek. 4.2.7
Záložka Certificate Spoofing
V této záložce se nastavuje nástroj programu Cain, nazývající se Certificates Collector. Jedná se o nástroj umožĖující unést nebo vytvoĜit certifikáty. Certificates Collector uchopí certifikáty serveru z SSL povolených stránek a pĜipraví je pro APR-*S filtr. Tato vlastnost je automaticky použita snifferem, ale je umožnČno také manuálnČ vytvoĜit seznam pĜedem vypoþítaných fiktivních certifikátĤ. Program Cain v tČchto fiktivních certifikátech nahradí asymetricky šifrované klíþe novými klíþi vygenerovanými programem. Tímto zpĤsobem bude APR-*S filtr schopen šifrovat/dešifrovat SSL provoz. Útoþník se strojem, na kterém má nainstalován program Cain, bude prostĜedník v komunikaci mezi dvČma komunikujícími hosty. Jedná se tedy o útok zvaný „muž uprostĜed“ (Man in the middle). V této záložce si je tedy možné vybrat, jestli se vytvoĜí a použije samostatnČ podepsaný falešný certifikát a nebo se vytvoĜí certifikátový ĜetČzec, který je vytvoĜen pomocí certifikátĤ zachycených snifferem a uložených v podadresáĜi „Certs“ hlavního adresáĜe programu. Tento certifikát potom bude podsunut napadeným klientĤm bČhem Man in the middle útoku. Pokud se použije samostatnČ podepsaný falešný certifikát, prohlížeþ napadeným klientĤm pravdČpodobnČ zobrazí hlášku, že SSL-serverem povolený certifikát pĜichází z nedĤvČryhodného zdroje (viz Obr. 6). Všechny ostatní parametry uvnitĜ tohoto certifikátu zĤstávají stejné jako u toho skuteþného, proto mnoho uživatelĤ nevČnuje tomuto varování pozornost a takový certifikát pĜijme. [13] Falešné certifikáty jsou taktéž uloženy v podadresáĜi „Certs“ a seznam aktuálnČ dostupných APR-*S filtrĤ je udržován v souboru CERT.LST v hlavní adresáĜi programu. Tento soubor lze manuálnČ modifikovat k nauþení filtru APR-*S, podstrþit vybraný certifikát do spojení napadených poþítaþĤ s daným SSL serverem. 38
Tato vlastnost je použita automaticky APR-*S sniffer filtry. K ruþnímu zvolení a pĜipravení falešného certifikátu, je možné použít tlaþítko „modrý kĜíž“ v nástrojové lištČ. Pomocí syntaxe „hostname:port“ nebo „ip adresa:port“ je možné specifikovat nestandardní porty [13].
Obr. 6: Varování nedĤvČryhodný certifikát
4.3 Decoders Program Cain disponuje dekodéry hesel (Password Decoders), které umožní okamžitČ dekódovat šifrovaná hesla z chránČné pamČti Windows, LSA secrets, hesla pro pĜipojení k bezdrátové síti WLAN, hesla internetového prohlížeþe Internet Explorer, hesla z Windows Mail aplikací, hesla z Dialup aplikací, hesla ukrytá za hvČzdiþkami, dále hesla z databází a informace pro pĜipojení k serverĤm a dalším vzdáleným síĢovým zdrojĤm, které je možné si uložit do takzvaného Credential Manageru. Kompletní uživatelská jména, hesla a jiné pĜihlašovací informace je možné získat z lokálního poþítaþe pouze pokud uživatel používá v programech a aplikacích možnosti zapamatovat pĜihlašovací údaje. Z toho vyplývá, že dané pĜihlašovací údaje, již minimálnČ jednou musely být na daném poþítaþi zadány a musely být uloženy na jeho pevný disk. Jedinou výjimkou je nástroj Edit Boxes, který odkrývá hesla ještČ než je uživatel poskytne pro ovČĜení danému programu nebo aplikaci. [13] Pro zobrazení pĜihlašovacích údajĤ z nástrojĤ v Decoders, je nutné kliknout na požadovaný nástroj a zmáþknout klávesu Insert nebo ikonu modrého kĜíže v nástrojové lištČ.
39
4.3.1
Protected Storage
Protected storage je úložný prostĜedek, který se pĜevážnČ používá u operaþních systémĤ MS Windows pro bezpeþné uložení privátních klíþĤ, které byly uživateli vydány. Veškeré informace v tomto úložišti jsou šifrované pomocí klíþe, který je odvozen od uživatelského hesla používaného k zalogování. PĜístup k informacím je pĜísnČ regulovaný a je povolen pouze vlastníkovi. Tohoto úložištČ pro citlivé informace využívá mnoho Windows aplikací, mezi které patĜí napĜíklad Outlook, Outlook Express, Internet Explorer, MSN Explorer atd. Tyto aplikace zde ukládají uživatelská jména a hesla, napĜíklad pokud chceme uložit uživatelské jméno a heslo do pamČti, abychom ho nemuseli neustále vpisovat. Aplikace pak automaticky vyplní pĜihlašovací informace z informací uložených v Protected Storage. Citlivé informace tohoto úložištČ se fyzicky ukládají do registru: HKEY_CURRENT_USER\Software\Microsoft\Protected Storage System Provider\ Program Cain&Abel dokáže dekódovat informace uložené v Protected storage a zobrazit je v podobČ þistého textu. Pokud uživatel používá Outlook Express pro stahování emailĤ ze seznamu.cz, tak pomocí tohoto nástroje se v programu zobrazí jako zdroj pop3.seznam.cz, což znamená, že se využívá pro stahování e-mailĤ protokol pop3. Ve sloupci Username se zobrazí e-mailová adresa uživatele, ve sloupci Password heslo k této adrese v podobČ þistého textu, ve sloupci Type poznáme typ použité aplikace v tomto pĜípadČ Outlook Express POP3 Account a v posledním sloupci Identity zjistíme, jestli se jedná o hlavní identitu. Informace z každé aplikace o jednotlivém úþtu se rovná jednomu Ĝádku v programu. Po kliknutí pravým tlaþítkem na nČjaký Ĝádek, zobrazí se nabídka pro obnovení zachycených informací, odstranČní informací v daném Ĝádku, odstranit všechny informace zachycené tímto nástrojem a nebo zachycené informace exportovat do textového souboru. Pro zobrazení tČchto informací je nutné zobrazit kartu DecodersĺProtected Storage a zmáþknout klávesu Insert nebo ikonu modrý kĜíž v nástrojové lištČ. [13] Tento nástroj programu ukazuje složitost nebo spíše jednoduchost s jakou se útoþník mĤže dostat ke zpĜístupnČní emailových úþtĤ. Pokud se bude jednat o firemní emailové úþty, mĤže dojít k úniku velice citlivých firemních informací (napĜíklad know-how firmy), což mĤže danou firmu stát obrovskou cenu. Tento nástroj pĜi mých pokusech pĜebíral funkci nástroje Windows Mail Passwords a všechny pokusy zachytit pĜihlašovací údaje z emailových aplikací byly zobrazeny v Protected Storage. Navíc se zde zobrazují i pĜihlašovací údaje zadaných v internetových prohlížeþích Internet Explorer starších jako verze 7. 4.3.2
LSA Secrets
Pod položkou LSA Secrets se ukrývají uložené informace typu, hesla ke služebním úþtĤm používaných pro zahájení služeb pod jiným úþtem než se nachází na lokálním systému. To znamená služby jako vzdálená pomoc, vzdálená plocha a pĜihlašovací informace Dial-up aplikací. V LSA Secrets se pod názvem Default Password nachází i pĜístupové heslo úþtu, na kterém je Cain&Abel nainstalován. 40
Tato vlastnost programu používá techniku „DLL injection.“ Jedná se o techniku „napíchnutí“ knihovny umožĖující spustit podproces ve stejném bezpeþnostním kontextu procesu Local Security Authority Subsystem (LSASS). Zdrojový kód vykonávající podproces musí být nejdĜíve nakopírován do adresového prostoru procesu LSASS. K tomu je zapotĜebí úþet s SeDebugPrivilege uživatelskými právy. To znamená mít administrátorská práva. Jakmile je podproces jednou vykonán, bude již vždy pracovat se stejnými pĜístupovými právy jaké má LSASS. Tato vlastnost programu má za následek, že podproces naþte funkci DumpLSA z knihovny Abel.dll, která otevĜe a položí dotaz na každé heslo používající LsarOpenSecret a LsarQuerySecret API ze souboru lsasrv.dll Tento soubor se nachází ve složce WINDOWS/system32. Podproces následnČ uloží data získaná pomocí této funkce do doþasného textového souboru lsa.txt nacházejícího se v hlavním adresáĜi programu Cain. Po zobrazení obsahu souboru na obrazovce se soubor smaže. Program nám dává na výbČr zda chceme zobrazit LSA Secrets lokálního systému a nebo z externího registru. [13] Pro získání LSA Secrets z podprocesu na vzdáleném PC je potĜeba mít na daném stroji nainstalován program Abel. 4.3.3
Wireless Passwords
Wireless Zero Configuration Password Dumper je nástroj programu, který umožĖuje odkrýt klíþ k bezdrátovým sítím. Tento nástroj ukazuje nedokonalost zabezpeþení bezdrátové sítČ pomocí WEP využívající šifrovací algoritmus RC4. Šifrovací klíþe zabezpeþovací metody WEP jsou zobrazeny již v podobČ þistého textu. U zabezpeþení bezdrátové sítČ pomocí WPAPSK je možné zobrazit heslo pouze v hexadecimálním tvaru, protože používá SHA1 hashovací funkci. Pokud klikneme pravým tlaþítkem na Ĝádek s informacemi o dané bezdrátové síti, zobrazí se nabídka, kde mĤžeme daný hash odeslat do Crackeru programu Cain a pomocí nČj aplikovat nČkterý z útokĤ (Brute-force, slovníkový, pomocí Rainbow tabulek). Pokud správce bezdrátové sítČ nastaví napĜíklad devítimístné heslo nedávající smysl (nezjistitelné slovníkovým útokem), obsahující jen malou abecedu a þíslice, útok hrubou silou mĤže programu Cain trvat až 41000 let. [13] Pomocí tohoto nástroje mĤžeme získat následující informace. Globální univerzální identifikátor (GUID) bezdrátové síĢové karty, typ bezdrátové síĢové karty, typ zabezpeþovací techniky, identifikátor bezdrátové sítČ SSID, pĜístupové heslo k síti a pĜístupové heslo v hexadecimálním tvaru. Na základČ tohoto nástroje mĤže útoþník získat neoprávnČný pĜístup do bezdrátové sítČ, kde mĤže provádČt následný sniffing síĢového provozu a zachytávat hesla od rĤzných síĢových zdrojĤ, programĤ a aplikací. Správce bezdrátové sítČ používající metodu WPA2PSK, který má síĢ zabezpeþenou heslem s osmi a více znaky, obsahující velkou, malou abecedu, þíslice i speciální znak, by se nemČl obávat prolomení hesla. VšeobecnČ se doporuþuje v bezdrátových sítí, ve kterých se pĜenášejí i velmi citlivé informace, mČnit pĜístupové heslo každé 4 mČsíce. PĜekroþení této doby by ale nemČlo jinak výraznČ ohrozit bezpeþnost sítČ.
41
4.3.4
IE7 Passwords
Program Cain&Abel umožĖuje získat z pamČti uložená hesla, která uživatelé používají k pĜihlášení na rĤzné webové stránky. Tento nástroj odhalí pouze hesla, která uživatel uloží do pamČti, to znamená, že kladnČ odpoví na otázku prohlížeþe: „Chcete, aby si aplikace Internet Explorer pamatovala toto heslo?“ V této položce se zobrazují hesla Internet Exploreru verze 7 a novejší. Hesla u verzí starších se zobrazí v položce Protected Storage. Získané údaje z tohoto nástroje jsou ve tvaru: URL webové stránky, uživatelské jméno a heslo. Nevýhodou tohoto nástroje je neschopnost zjistit hesla z jiných internetových prohlížeþĤ než je právČ Internet Explorer. Tento nástroj s prohlížeþi Mozilla Firefox, Opera ani Google Chrome nefunguje.
4.3.5
Windows Mail Passwords
Tento nástroj programu má zobrazovat pĜihlašovací informace k Microsoft Windows e-mailovým aplikacím. Problém ale je, že pĜihlašovací údaje od e-mailových aplikací Microsoft Outlook a Outlook Express se zobrazují v Protected Storage a e-mailový klient Hotmail zase v Credential Manageru, i když by je mČl zobrazovat právČ tento nástroj programu. Domnívám se, že se jedná o drobnou chybu programu, kdy nástroj tyto informace správnČ odhalí, ale zobrazí je ve špatné položce karty Decoders.
4.3.6
Dialup Passwords
Pod touto položkou programu je možné zjistit pĜihlašovací informace o takzvaných Dialup službách. To znamená o službách, které pĜed pĜenosem dat nejdĜíve vytváĜejí spojení. Vyskytují se zde uživatelská jména a hesla použitá pĜi komunikaci pomocí virtuálních privátních sítí (VPN), modemu a podobnČ. Program tyto informace hledá v registrech L$_RasDefaultCredentials a RasDialParams!<UserSID>. Informace, které je možné v této položce nalézt jsou: [13] název firemní sítČ nebo serveru, ke kterému bylo pĜipojení uskuteþnČno, IP adresa serveru nebo jeho doménový název, uživatelské jméno a heslo, název domény, druh zaĜízení a druh služby (VPN, PPPoE, Modem). Všechny tyto informace je možné exportovat do textového souboru. Tyto informace je možné získat i ze vzdáleného PC, který má nainstalován na svém disku program Abel. Tyto informace je možné najít v položce LSA Secrets pod zobrazeným obsahem výše jmenovaných registrĤ.
42
Díky získaným informacím umístČných v této položce programu, mĤže útoþník získat pĜístup do cizí sítČ pomocí VPN, modemu nebo jiných služeb, které pĜed pĜenos dat nejdĜíve sestavují spojení. Útoþník se pak následnČ mĤže dostat k dalším síĢovým zdrojĤm a z nich získat další citlivé informace. Útoþník se pomocí tČchto informací jednoduše dostane pĜes zabezpeþení sítČ napĜíklad na vnČjším routeru firemní sítČ.
4.3.7
Edit Boxes
Pod touto položkou se nacházejí informace, které zpracoval nástroj Box Revealer. Box Revealer umožĖuje odkrýt hesla, která se skrývají v pĜihlašovacích text-boxech za hvČzdiþkami. Tento nástroj podporuje vČtšinu standardních text-boxĤ, do kterých se vkládají hesla. Nástroj umožĖuje zjistit heslo ukrývající se za hvČzdiþkami u aplikací jako je ICQ, Skype, softwarový VoIP telefon X-lite, ale i v Total Commanderu pĜi pĜihlašování k FTP serveru, VNC vieweru nebo pĜi pĜihlašování ke vzdálené ploše. HlavnČ takto snadno získané heslo z pĜihlašovacího dialogu ke vzdálené ploše, umožní útoþníkovi získat kontrolu nad daným vzdáleným PC a využít ho k dalším útokĤm. [13] Tento nástroj je velice nebezpeþný na poþítaþích, který používá více uživatelĤ pod stejným úþtem. Jakmile uživatel zadá u nČjaké aplikace uložit heslo, útoþník si mĤže, pĜi pozdČjším zapnutím poþítaþe, k uživatelskému jménu, které je normálnČ vidČt, zobrazit i heslo a pĜistupovat k daným aplikacím i z jiných fyzických poþítaþĤ, na kterých se napĜíklad nekontrolují logy. Díky tomu útoþník mĤže lépe skrýt svoji identitu a má vČtší šanci, že nebude odhalen on ani jeho nekalá práce.
4.3.8
Enterprise Manager
Enterprise Manager je aplikace používaná u operaþních systémĤ Windows k Ĝízení a správČ MS SQL ServerĤ verze 7.0 a novČjších. Jakmile se nakonfiguruje používání autentizace SQL Serveru, veškeré pĜihlašovací informace se uloží pomocí Enterprise Manageru do registru. PĜihlašovací informace k SQL Serveru se šifrují nebo dešifrují pomocí funkce XOR. SQL Server pomocí funkce CryptProtectData následnČ chrání XOR zašifrované informace pĜed jejich zapsáním do registru. Z toho vyplývá, že citlivé pĜihlašovací údaje mohou být dešifrovány pouze z uživatelského úþtu a z fyzického stroje, z kterého byly tyto pĜihlašovací informace pĤvodnČ vytvoĜeny. Jestli je zapotĜebí dekódovat pĜihlašovací údaje, je nutné použít CryptUnprotectData API z knihovny crypt32.dll a vykoná se dešifrování pomocí operace XOR. [13] V Enterprise Manageru v programu Cain z dešifrovaných informací získáme informace o názvu SQL Serveru, skupinČ ve které se nachází, verzi SQL Serveru, dále pĜihlašovací uživatelské jméno, heslo a þíslo profilu, ze kterého byly pĜihlašovací údaje vytvoĜeny.
43
Získání pĜihlašovacích údajĤ k SQL Serveru má pro útoþníka využívající program Cain&Abel velkou pĜekážku, kterou je podmínka dešifrovat zašifrované pĜihlašovací informace z registru ze stejného uživatelského úþtu a fyzického stroje. 4.3.9
Credential Manager
Credential Manager je nástroj, který vyvinula spoleþnost Microsoft a nasadila tento nástroj od verzí operaþních systémĤ Windows Server 2003 a Windows XP. Tento nástroj poskytuje bezpeþné uložení pĜihlašovacích informací. UmožĖuje uložit uživatelská jména a hesla pro rĤzná síĢová zaĜízení a aplikace do úložištČ, z kterého následnČ pĜi pĜíští návštČvČ daného zaĜízení nebo aplikace tyto informace systém doplní automaticky. Uložit informace do Credential Manageru lze ve Windows XP pomocí Správce síĢových hesel , který lze nalézt pod: Start ĺ Nastavení ĺ Ovládací Panely ĺ Uživatelské úþty ĺ (Název úþtu) ĺ Správa síĢových hesel. Pod položkou Credential Manager v programu Cain získáme informace jako jsou název serveru, uživatelské jméno, heslo, typ hesla (napĜ. doménové), alias, komentáĜ, dále jestli se jedná o lokální nebo enterprise heslo a poslední doba použití daných informací. [13] Útoþník, který se dostane k informacím z Credential Manageru, mĤže získat pĜístup k serverĤm, uživatelským stanicím nebo aplikacím v dané síti, z kterých mĤže podnikat následné útoky na zbylé síĢové zdroje nebo mĤže z tČchto zaĜízení odcizit informace, které jsou pro majitele dĤležité. V tomto pĜípadČ se jedná o velké bezpeþností riziko, protože v tomto pĜípadČ se vČtšinou jedná o administrátorská hesla, která útoþníkovi poskytnou neomezenou nadvládu nad daným zaĜízením.
4.4 Network Pod záložkou Network se nachází nástroj Network Enumerator. Network Enumerator je nástroj, který umožní objevit v lokální síti LAN pĜítomnost jiných zaĜízení. UmožĖuje rychle a jednoduše identifikovat ostatní poþítaþe v dané LAN, Apple souborové servery, Dial-In servery, doménové Ĝadiþe, Novell servery, SQL servery, tiskové servery, terminálové servery a servery pro synchronizaci þasu (Time servery). Tento nástroj umí zobrazit i verze operaþních systémĤ. V levé þásti záložky se nachází strom používaný k prohlížení sítČ a pro pĜipojení ke vzdáleným strojĤm. Jakmile se pĜipojíme k serveru nebo poþítaþi, mĤžeme zobrazit uživatelská jména, skupiny, služby, a sdílené složky pĜítomné na daném zaĜízení. Quick list se používá ke vložení IP adresy hosta, který není pĜi prohlížení sítČ vidČt. PĜi výþtu uživatelĤ, Cain také zobrazí jejich SID (Security Identifier) a dokáže identifikovat jméno administrátorského úþtu, i když byl pĜejmenován. SID administrátorského úþtu konþí vždy hodnotou 500. [13] 44
Windows NT a novČjší verze operaþních systémĤ mají vlastnost, která mĤže omezit schopnost anonymnČ pĜihlášeným uživatelĤm zobrazit uživatelská jména a názvy sdílených složek. Toho je dosaženo nastavením parametru registru HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA\restrictanonymous na hodnotu 1. Pokud program kvĤli tomuto omezení nemĤže provést výþet uživatelĤ, zapne automaticky SID skener a bude dále postupovat podle principu funkce programu „sid2user“. Pro vytvoĜení síĢového spojení na cílového hosta, se klikne pravým tlaþítkem na nČkterého z výþtu hostĤ, zvolí se „Connect As“ a zadají se pĜihlašovací údaje. Anonymní spojení na cílového hosta se provádí tak, že v dialogu pro vložení pĜihlašovacích údajĤ se nechají daná pole prázdná. Po pĜihlášení k cílovému hostu se nám v Quick listu zobrazí jeho IP adresa a pod ní se nachází 5 položek. Groups, Registry, Services, Shares a Users. Pod položkou „Groups“ se nachází informace o þlenství hosta v rĤzných skupinách, pod položkou „Registry“ se nacházejí registry daného hosta, které je možné následnČ editovat. Položka „Services“ ukrývá informace o službách na cílovém hostu. Po zobrazení dané položky se objeví výþet služeb, jejich názvy, stavy (jestli bČží þi nikoliv), jestli bČží automaticky nebo se spouští uživatelem a umístČní spouštČcího souboru služby. Po kliknutím pravým tlaþítkem na tuto položku se zobrazí nabídka pro nainstalování programu Abel do cílového hosta. Položka „Shares“ zobrazí sdílené složky a „Users“ zjistí jaké existují na daném stroji lokální uživatelské úþty. [13] 4.4.1
Abel
Pomocí programu Abel mĤžeme cílového hosta ovládat pomocí vzdálené pĜíkazové Ĝádky (položka Console), zjistit hashe hesel k uživatelským úþtĤm, z kterých je možné v nástroji LM & NTLM Cracker v programu Cain daná hesla odkrýt do podoby þistého textu. Dále je možné pomocí programu Abel nahlédnout do nČkterých registrĤ a vyþíst z nich nČkteré nešifrované pĜihlašovací údaje. Abel také umí zobrazit lokální smČrovací tabulku daného vzdáleného hosta a zobrazit tabulku otevĜených TCP a UDP spojení. Lokální smČrovací tabulka (Routes) a tabulka otevĜených TCP (TCP Table) a UDP (UDP Table) spojení mi pĜipadají zbyteþné, protože vzdálená pĜíkazová Ĝádka všechny tyto funkce v sobČ zahrnuje. Lokální smČrovací tabulka vzdáleného hosta se ve vzdálené pĜíkazové Ĝádce zobrazí pomocí pĜíkazu „route print“ a tabulky TCP a UDP spojení se zobrazí pomocí pĜíkazĤ „netstat –a“. Jediné co trošku stojí za zmínku, je jednoduché pĜidávání a odebírání smČrovacích pravidel. Zde se nabízí možnost pro útoþníka vnutit vzdálenému poþítaþi svoji IP adresu jako default gateway, þímž má útoþník zajištČno, že veškerý odchozí provoz do internetu pĤjde pĜes nČj. Toho je ovšem možno dosáhnout i pomocí vzdálené pĜíkazové Ĝádky. Naopak nástroj vzdálená pĜíkazová Ĝádka je pro útoþníka vítČzství, protože díky ní cílového hosta prakticky ovládá.
45
Obr. 7: Ovládnutí pĜíkazového Ĝádku vzdáleného PC pomocí programu Abel
4.5 Sniffer Hlavním nástrojem programu Cain & Abel je nástroj sniffer. Tento nástroj umožĖuje zachytávat hesla a autentizaþní informace, které putují napĜíþ sítí. Sniffer byl vyvinut pro práci na pĜepínaných sítích pomocí APR (ARP Poison Routing). Sniffer disponuje protokolovými filtry a filtry pro hesla, které mohou být povoleny/zakázány z hlavního konfiguraþního dialogu. Hlavní protokolový filtr je filtr BPF (Berkeley Packet Filter), který vykonává poþáteþní tĜídČní provozu. Filtr dává pokyny protokolovému ovladaþi, aby zpracovával pouze ARP a IP provoz. Ostatní protokoly se nebudou zpracovávat. Sniffer se aktivuje a deaktivuje pomocí ikony v nástrojové lištČ a jeho parametry mohou být konfigurovány v hlavním konfiguraþním dialogu (Configure). [13] Záložka Sniffer se dČlí na pČt þástí, kdy každá þást vykonává odlišnou funkci. Jsou to þásti Hosts, APR, Routing, Passwords a VoIP. 4.5.1
Hosts
V první þásti snifferu zvané Hosts se nachází nástroj MAC Scanner (viz Obr. 8). Jedná se o nástroj, který dokáže ve velmi krátké dobČ objevit ostatní síĢová zaĜízení v dané podsíti. Pro objevení ostatních síĢových zaĜízení v podsíti využívá ARP rámcĤ, které pracují na principu žádost/odpovČć. Aby bylo možné MAC Scanner používat, musí být sniffer aktivován.
46
Pro objevení ostatních síĢových zaĜízení v podsíti je tĜeba do MAC Scanneru vložit rozsah IP adres (podsíĢ, ve které se nachází poþítaþ s programem Cain) a zvolit nČkterý nebo všechny ARP testy. Nástroj následnČ prozkoumá danou podsít a zobrazí do pĜehledné tabulky IP adresu daného zaĜízení, jeho MAC adresu, výrobce síĢové karty (v pĜípadČ integrované síĢové karty výrobce základní desky) a na který test MAC skeneru zaĜízení odpovČdČlo. Nástroj umožĖuje zjistit i název daného zaĜízení (Host name). Pro zjištČní názvu zaĜízení je potĜeba kliknout pravým tlaþítkem na Ĝádek s informacemi o daném zaĜízení a zvolit „Resolve Host name“. [13] Díky tomuto nástroji mĤže útoþník jednoduše objevit ostatní zaĜízení v síti, zjistit si, které IP adresy v rozsahu jsou pĜidČleny a které jsou volné, zjistí si fyzické adresy jednotlivých zaĜízení, podle výrobce síĢové karty nebo základní desky mĤže zjistit, zda se jedná o PC nebo router, switch, firewall a podobnČ. Jelikož tento nástroj využívá ARP rámcĤ, je možné odhalit síĢová zaĜízení nacházející se pouze v broadcastové doménČ.
Obr. 8: Skener MAC adres
4.5.2
APR
Sniffer se snaží využít rĤzných stavĤ protokolĤ, aby ze síĢových paketĤ vytáhnul všechny informace potĜebné k odkrytí posílaného hesla v podobČ þistého textu. NČkteré autentizaþní protokoly používají mechanismy výzva-odpovČć, z tohoto dĤvodu sniffer potĜebuje získat parametry z obou smČrĤ provozu (Client Ù Server). Toho je možné dosáhnout zrcadlením portu nebo když APR dosáhne stavu, kdy je IP provoz mezi dvČma hosty kompletnČ unesen a APR pracuje duplexnČ (Full-routing). Když je APR povoleno, sniffer musí zpracovávat pakety, které nejsou normálnČ viditelné a také je musí pĜesmČrovat
47
do správných destinací. To mĤže zpĤsobit snížení výkonu na sítích s velkým provozem. Hlavní výhodou APR je, že umožĖuje sniffing na pĜepínaných sítích a také umožĖuje analyzovat šifrované protokoly jako jsou HTTPS a SSH-1. Všechna zachycená hesla a hashe se ukládají do souborĤ s koncovkou .LST v hlavním adresáĜi programu. Tyto soubory je možné prohlížet nebo importovat do rĤzných textových editorĤ. U protokolĤ HTTPS, SSH a Telnet jsou celé relace dešifrovány a zachyceny do textových souborĤ pomocí této konvence. [13]
- <mČsíc> <den> <minuta> <sekunda> <milisekunda> -<port>.txt
PĜíklad: HTTPS-20091021173870-4202.txt Sniffer dokáže také zpracovávat soubory i v off-line módu. Zachycené informace uložené v souborech mohou být importovány do programu pomocí ikony „Open“ v nástrojové lištČ. [13]
Útok ARP Spoofing Program Cain & Abel dokáže z útokĤ popsaných v kapitole 3 pouze ARP Spoofing. Tento útok je podrobnČ popsán v kapitole 3.4.1. V programu Cain & Abel se tento útok provádí tak, že se nejdĜíve pĜepneme do záložky „Sniffer“ a zvolíme kartu APR. NáslednČ musíme vybrat dvČ síĢová zaĜízení v síti LAN, mezi kterými budeme komunikaci zachytávat. Tyto zaĜízení vybereme z nabídky, která se zobrazí po zmáþknutí klávesy „Insert“ nebo ikony v modrého kĜíže v nástrojové lištČ. Pro tento útok je potĜeba, aby sniffer znal MAC adresy zaĜízení, mezi kterými bude sledovat komunikaci. Proto je potĜeba tyto adresy zjistit pomocí MAC skeneru. Pokud máme zjištČné MAC adresy vybraných zaĜízení mĤžeme naši volbu potvrdit. V horní tabulce (viz Obr. 9) se zobrazí parametry sledovaného spojení. Jako poslední je potĜeba útok aktivovat pomocí žluté kulaté ikony v nástrojové lištČ. Po aktivování útoku se v dolní tabulce zobrazí stav sledovaného spojení, jestli sleduje komunikaci v jednom nebo v obou smČrech a poþty pĜenesených paketĤ. V levé þásti se potom zobrazují zachycené certifikáty, které se nahradí za falešné, aby komunikace mohla probíhat pĜes náš sniffer. PodobnČ se zde zobrazují i pakety odpovČdí serverĤ DNS (DNS Reply), e-mailových, FTP, SIP nebo pĜi práci se vzdálenou plochou. PĜi obdržení falešného certifikátu se napadenému uživateli zobrazí hláška, že certifikát pochází z nedĤvČryhodného zdroje. Tuto informaci v drtivé vČtšinČ bČžní uživatelé ignorují, takže útoþník mĤže prohlížet i šifrovanou komunikaci.
48
Obr. 9: Zachytávání komunikace pomocí ARP Spoofing
4.5.3
Routing
Sniffer umí analyzovat i smČrovací protokoly. Cain & Abel nepodporuje všechny smČrovací protokoly, podporuje pouze HSRP, EIGRP, OSPF, RIPv1, RIPv2 a VRRP. Tato vlastnost umožĖuje rychle identifikovat smČrování v podsíti. U protokolĤ EIGRP a RIP lze zachytit aktuální smČrovací tabulky, které jsou sdíleny mezi smČrovaþi. Tato vlastnost je umožnČna pouze v pĜípadČ, že tyto protokoly nevyžadují autentizaci. [13]
4.5.4
Passwords
PĜi sledování komunikace v lokální síti, sniffer hledá v pĜenášených rámcích hesla a pĜihlašovací údaje nebo jejich otisky (hashe) z rĤzných protokolĤ. Pokud sniffer zachytí heslo z protokolu, který nepoužívá šifrování (Telnet, SIP, ICQ, HTTP, POP3, ...), okamžitČ zobrazí heslo spoleþnČ s parametry pĜenosu (IP adresy, þas zachycení, uživatelské jméno) v kartČ Passwords pod pĜíslušným protokolem. Heslo je zobrazeno v podobČ þistého textu. Nevýhoda nešifrovaných protokolĤ je jasná. MĤžeme mít sebesilnČjší heslo, ale pokud komunikaci nČkdo odchytává, útoþník ho zjistí za pár sekund. U protokolĤ, které jsou šifrované, neposílají hesla v podobČ þistého textu, ale posílají hash daného hesla, sniffer zachytí tento hash a zobrazí jej opČt v kartČ Passwords pod pĜíslušným protokolem. Aby útoþník zjistil z daného hashe heslo, musí na daný hash kliknout pravým tlaþítkem a zvolit „Send to Cracker“. Hash bude odeslán do Crackeru programu Cain, kde se na nČj budou aplikovat útoky ( slovníkový, hrubou silou, ...). 49
Program Cain & Abel umí zachytit hesla z tČchto protokolĤ: FTP, HTTP / HTTP Proxy, IMAP, POP3, SMTP, LDAP, NNTP, ICQ, VNC, TDS, MySQL, DCE/RPC, SMB, MS Kerberos5, Radius, IKE, SNMP, RIP, HSRP, EIGRP, OSPF, VRRP, SIP, GRE/PPP, PPPoE, Oracle TNS, Telnet, HTTPS, IMAPS, POP3S, LDAPS, FTPS, MGCP/RTP, SSH-1, SIP/RTP [13].
4.5.5
VoIP
Tento nástroj umí zachytávat komunikaci uskuteþnČnou pĜes VoIP protokol, nahrát ji a uložit ji na pevný disk. Pokud sniffer objeví hlasová data na síti, zachytí je v obou smČrech (volající Ù volaný) a uloží je jako mono nebo stereo WAV soubor. VoIP protokoly jako SIP nebo H.323 používají pro pĜenos multimediální dat pĜenosový protokol RTP. Sniffer si vytáhne napĜíklad z protokolu SIP parametry RTP spojení jako RTP porty, IP adresy volajícího a volaného a typy kodekĤ. NáslednČ zachytává a dekóduje audio data z RTP. [13] Pokud je sniffer aktivní, zachytává VoIP komunikaci automaticky. Útoþník díky této funkci dostává nástroj klasického odposlechu, kdy mu neunikne žádný hovor v lokální síti. Zachycený hovor je zobrazen v Ĝádku tabulky a poskytuje útoþníkovi i dodateþné informace jako þas zahájení a konce hovoru a z jakých IP adres a portĤ byl hovor uskuteþnČn. Po kliknutí pravým tlaþítkem na daný Ĝádek tabulky je možné si okamžitČ jednotlivé hovory poslechnout. Podporované kodeky: G.711 uLaw, G.771 aLaw, ADPCM, DVI4, LPC, GSM610, Microsoft GSM, L16, G729, Speex, Speex-16Khz, Speex-32Khz, iLBC, G722, G722.1, G723.1, G726-16, G726-24, G726-32, G726-40, LPC-10, SIREN, LRWB-16khz, AMR-NB, AMR-WB [13].
4.6 Cracker Cain & Abel má v sobČ zabudovaný nástroj na „lámaní“ hesel (Password Cracker), který podporuje vČtšinu bČžných hashovacích algoritmĤ a nČkolik na nich založených šifrovacích metod. Tento nástroj se v programu nachází v záložce „Cracker“ na hlavním panelu. Na levé stranČ se nachází seznam typĤ hashĤ a šifrovacích algoritmĤ, které je možné prolomit. Podporované hashe: MD2, MD4, MD5, SHA1, SHA2 (256 bit), SHA2 (384 bit), SHA2 (512 bit), RIPEMD160.
50
Podporované šifrovací algoritmy: PWL soubory, Cisco-IOS Type-5 enable passwords, Cisco PIX enable passwords, APOPMD5, CRAM-MD5, LM, LM + Challenge, NTLM, NTLM + Challenge, NTLM Session Security, NTLMv2, RIPv2-MD5, OSPF-MD5, VRRP-HMAC-96, VNC-3DES, MSKerberos5 Pre-Auth, RADIUS Shared Secrets, IKE Pre-Shared Keys, Microsoft SQL Server 2000, Microsoft SQL Server 2005, Oracle, Oracle-TNS-DES, Oracle-TNS-3DES, OracleTNS-AES128, Oracle-TNS-AES192, MySQL323, MySQLSHA1, SIP-MD5, WPA-PSK, WPA-PSK-AUTH, CHAP-MD5, MS-CHAPv1, MS-CHAPv2. [13] Všechna zachycená hesla se posílají sem do Password Cracker a automaticky se zaĜadí pod správný typ hashe nebo šifrovacího algoritmu. Kliknutí do seznamu na urþitý typ hashe nebo šifrovacího algoritmu zobrazí v hlavním poli všechna zachycená hesla nebo hashe daného typu k prolomení. Zobrazená hesla a hashe je možné oznaþit a následnČ na nČ aplikovat nČkterý z heslových útokĤ. • • •
Hrubou silou (Brute-Force Attack) Slovníkový (Dictionary Attack) Kryptoanalýzu (Cryptanalysis Attack)
4.6.1
Útok hrubou silou
Útok hrubou silou (Brute-Force attack) je metoda „lámání“ šifer, neboli dešifrování specificky šifrovaného textu, zkoušením všech možných klíþĤ. To znamená, že pĜi tomto útoku, pokud se nedefinují omezení použití pouze urþitých znakĤ, program postupnČ vyzkouší všechny možné kombinace znakĤ. Je dĤležité podotknout, že tento útok vždy danou šifru dešifruje. Vhodnost použití útoku hrubou silou závisí na délce šifry a velikosti výpoþetního výkonu útoþníkova stroje. Dialogové okno útoku hrubou silou (viz Obr. 10) umožĖuje definovat rĤzné parametry. V sekci „Charset“ lze vybrat znakovou sadu, z jejichž znakĤ se budou vytváĜet kombinace klíþĤ. Je zde na výbČr z pĜeddefinovaných sad znakĤ, od pouze malých/velkých znakĤ abecedy, pouze þíslic, pĜes malé znaky abecedy + speciální znaky, až po malou + velkou abecedu + þíslice + speciální znaky. Nebo je možné si zde navolit znaky samostatnČ. Z Obr. 10 je možné vyþíst, že je nastavena znaková sada malá abeceda + þíslice.
51
Obr. 10: Dialogové okno pro útok hrubou silou V sekci „Password length“ se nastavuje minimální a maximální délka klíþe, která se bude testovat pro prolomení klíþe. V tomto pĜípadČ je nastaveno testování kombinací 5 až 8 znakĤ. V sekci „Keyspace“ je zobrazen poþet možných kombinací klíþĤ. V sekci „Current password“ je zobrazena aktuálnČ testovaná kombinace, v sekci „Key Rate“ je zobrazen poþet otestovaných kombinací klíþĤ za sekundu a v sekci „Time Left“ je zobrazena doba, která zbývá do otestování všech kombinací klíþĤ. V tomto pĜípadČ zbývá nČco málo pĜes 26 dní. Obranou proti útoku hrubou silou je vytvoĜení silného hesla, které se bude po urþité dobČ mČnit. Silné heslo by mČlo obsahovat minimálnČ 8 znakĤ, malá a velká písmena, þíslice a speciální znaky. Silné heslo by se mČlo pravidelnČ mČnit zhruba po þtyĜech mČsících. PĜíklad silného hesla:
aKw9Ip:0bs
Tento nástroj prolomí jakékoliv heslo, záleží jen, jak dlouho mu to bude trvat. Pokud máme silné heslo o osmi znacích, malá i velká abeceda plus þíslice a speciální znak, bude tomuto nástroji, nainstalovaném na bČžném poþítaþi, vyzkoušení všech kombinací trvat asi 56 let. 4.6.2
Slovníkový útok
Slovníkový útok pracuje na principu využití základní chyby uživatele - zvolení slabého hesla. Uživatel si þasto volí heslo, které se mu dobĜe pamatuje. Proto si volí hesla typu jméno manželky, datum narození, jméno domácího mazlíþka atd. PĜi tomto útokĤ se zkouší každé slovo, které je obsaženo ve slovníku, jestli se jedná o dané heslo. Tento útok je úþinnČjší než útok hrubou silou, protože uživatelé si slabá hesla volí velice þasto.
52
Existují dvČ metody pro zvýšení úspČchu slovníkového útoku. První metodou je užití rozsáhlého slovníku nebo užití více slovníkĤ. Zde má útoþník výhodu, pokud daného uživatele zná osobnČ, protože mĤže použít více specifické slovníky. To znamená, že pokud daný uživatel zajímá fotbal, útoþník mĤže použít specifický slovník s názvy fotbalových klubĤ, se jmény hráþĤ apod. Druhou metodou je manipulace s ĜetČzcem znakĤ ve slovníku. Každé slovo ve slovníku je možné rĤznČ modifikovat, napĜíklad slovo ve slovníku otestuje pozpátku, pĜevede na velká písmena a podobnČ. Dialogové okno slovníkové útoku (viz Obr. 11) umožĖuje v sekci „Dictionary“ vložit nebo odstranit dané slovníky, zaþít hledat ve slovníku od urþitého pozice a následnČ resetovat pozici od které se bude zaþínat útok provádČt. V sekci „Options“ se nastavují operace, které se budou provádČt se slovem ve slovníku, pĜi zkoušení najít dané heslo. Je zda na výbČr z možností: • • • • • • • •
As Is – zkusí se slovo ve tvaru, jak je napsáno ve slovníku Reverse – slovo se zkusí pozpátku Double – slovo se zdvojí (Heslo -> HesloHeslo) Lowercase – slovo se pĜevede na malá písmena Uppercase – slovo se pĜevede na velká písmena Num. sub. perms – místo každého znaku slova se zkusí þíslice (Heslo->H2slo, H2sl8) Case Perm - místo každého znaku slova se zkusí velké písmeno (Heslo->HEslo,HesLO) Two numbers Hybrid-Brute - na každé slovo se vloží þíslice 0 až 99
V sekci „Key Rate“, podobnČ jako u útoku hrubou silou, ukazuje kolik se pĜi útoku vyzkouší slov ve slovníku za jednu sekundu. „Dictionary Position“ zobrazuje poĜadové þíslo právČ zkoušeného slova ve slovníku a zároveĖ kolik procent slov ze slovníku již bylo pro prolomení hesla vyzkoušeno. „Current password“ zobrazuje aktuálnČ testované slovo ve slovníku. Tento nástroj je velice efektivní pĜi snaze zjistit heslo bČžných uživatelĤ. Pokoušet se prolomit heslo slovníkovým útokem (napĜíklad administrátorského heslo serveru) nemá moc šancí na úspČch. Tento nástroj rychle objeví hesla, která mají urþitý význam nebo nČco pĜedstavují nebo jsou to hesla primitivní, která napadnou každého (12345 a podobnČ). PĜi tomto útokĤ rychlost odhalení hesla záleží jen na velikosti slovníku, který útoþník použije. BČžná hesla pomocí tohoto útoku lze odhalit bČhem nČkolika hodin nebo dní.
53
Obr. 11: Dialogové okno pro slovníkový útok
4.6.3
Kryptoanalýza
Tato vlastnost umožĖuje zlomit heslo užitím metody Faster Cryptanalyctic timememory trade off. Tato technika využívá sady velkých tabulek pĜed-vypoþítaných šifrovaných hesel, zvané Rainbow tabulky, ke zlepšení dnes známých porovnávacích metod a ke zrychlení odhalení hesla ve formČ þistého textu. Rainbow tabulky mohou být generovány napĜíklad pomocí programu “RainbowCrack“ nebo pomocí Windows utility „winrtgen“, která je dostupná na webových stránkách výrobce programu Cain & Abel. [13] Tato technika je velice rychlá, nicménČ je použitelná pouze k lámání hesel urþitého typu. Tato technika se nehodí u autentizaþních protokolĤ typu výzva-odpovČć a pĜi použití techniky takzvaného solení, kdy se ještČ pĜed hashováním k heslu pĜipojí náhodný ĜetČzec dat. U tČchto pĜípadĤ by se musela pĜi každé výzvČ nebo soli generovat nová Rainbow tabulka, což je velice nepraktické. Tento útok není vhodný na hashe hesla zachycených ze sítČ. Naopak tento útok je velice úþinný u pĜímých hashĤ, které se používají pĜi lokálním ukládáním šifrovaných hesel. Dialogové okno tohoto útoku (viz Obr. 12) umožĖuje v sekci „Sorted Rainbow Tables“ pĜidat/odebrat Rainbow tabulku a pĜidat sadu znakĤ, která se použije. Je možné použít pĜedefinované sady ze souboru „charsets.txt“ umístČném v hlavním adresáĜi programu. V sekci „Statistics“ se zobrazují statistiky tohoto útoku. NapĜíklad doba za jakou bylo heslo objeveno a podobnČ. V hlavní sekci je pak zobrazen podrobný výpis útoku a vþetnČ objeveného hesla. [13]
54
Obr. 12: Dialogové okno lámání SHA1 hash
4.7 Traceroute Nástroj Traceroute programu Cain&Abel je v podstatČ vylepšená verze Windows nástroje tracert. Nástroj tracert se používá pro sledování cesty mezi dvČma síĢovými zaĜízeními, kdy se zobrazuje seznam skokĤ v síti, které byly napĜíþ cestou úspČšnČ dosaženy. Tento seznam nám poskytuje dĤležité informace pĜi ovČĜování a Ĝešení problémĤ dostupnosti/nedostupnosti zaĜízení. Pokud data nČkde po cestČ selžou a nejsou doruþeny do cíle, z výpisu skokĤ zjistíme adresu posledního routeru, do kterého data ještČ v poĜádku došla. Díky tomuto nástroji zjistíme, kde je v síti problém nebo kde jsou nastavena taková bezpeþnostní omezení, že neumožní komunikaci. Po cestČ mohou být vyslané ICMP pakety zahozeny, aniž by byla zaslaná zpČt informace, proþ nebylo možné cíle dosáhnout. To se vČtšinou stává napĜíklad ve firewallech. K obejití bČžných firewallových omezení se používá protokol TCP, proto nástroj Traceroute podporuje i vedle protokolu ICMP i protokoly TCP a UDP. [13] Uživatelské rozhraní nástroje Traceroute (viz Obr. 13) se skládá z pole Target, kde se vkládá IP adresa nebo doména síĢového zaĜízení, ke kterému chceme zobrazit cestu. Následují pole Min TTL a Max TTL, kde se definuje minimální a maximální poþet pĜeskokĤ v síti. To znamená pĜes kolik routerĤ mohou do cíle pakety minimálnČ nebo maximálnČ procházet. Pokud se hodnota pole Max TTL nastaví na hodnotu 30, pokaždé kdy pakety vstoupí do routeru bude se tato hodnota dekrementovat o 1. Jakmile hodnota klesne na 0, paket se zahodí. Dále je pole Protocol, kde se vybere jeden z protokolĤ ICMP, TCP nebo
55
UDP. PrimárnČ se pro trasování používá protokol ICMP, ale pro obejití bČžných bezpeþnostních pravidel na firewallech se mĤže použít i TCP. Následuje pole Port, v kterém se nadefinuje þíslo portu (u protokolu TCP nebo UDP), podle kterého firewally budou rozhodovat, jestli dané pakety pustí dále nebo je zahodí. Následuje pole Timeout, kde se definuje maximální doba, za kterou musí router odpovČdČt zpČt, jinak se bude pokládat za nedosažitelný. Nakonec následuje tabulka, kde se vypisují informace, které byly získány z paketĤ putujících danou cestou. Ve sloupci hop se nachází þíslo skoku v síti (poĜadí routeru v cestČ), IP adresa daného síĢového rozhraní, tĜi sloupce, ve kterých jsou þasy odezev paketĤ od každého routeru. Sloupce jsou tĜi, protože se odesílají tĜi pakety za sebou z dĤvodu, pokud se nČkterý paket zpozdí a nestihne pĜijít vþas zpČt, byl by cíl oznaþen za nedostupný, pĜestože dostupný mĤže být. Zbylé pakety mohou dojít vþas a potvrdit dostupnost daného síĢového zaĜízení. Pokud paket úspČšnČ dorazí do routeru v cestČ, pošle se zpČt potvrzení ICMP Time Exceeded. Pokud paket dorazí úspČšnČ do cíle, zašle se potvrzení pomocí zprávy ICMP Echo Reply. Sloupec Hostname udává název daného síĢového zaĜízení. Následují sloupce udávající síĢovou masku, rozsah adres, síĢové jméno, popisek, zemi výskytu síĢového zaĜízení, název organizace pĜidČlující danou IP adresu, IP adresu podsítČ, vlastníka síĢového zaĜízení, následuje þíslo autonomního systému a název organizace pĜidČlující þíslo autonomního systému.
Obr. 13: Uživatelské rozhraní nástroje Traceroute
Tento nástroj programu Cain&Abel podle mého názoru nemá velkého uplatnČní. Zastává funkci nástroje tracert, který je obsažen ve všech operaþních systémech Windows a jeho rozšíĜení funkcí, která pĜináší Traceroute v tomto programu, nepovažuji za natolik dĤležité, abych si tento program stahoval jen kvĤli tomuto nástroji. Jedná se spíše jen o doplĖují informace, které nemají zásadní vliv na Ĝešení problémĤ s nedostupností daných
56
síĢových zaĜízení. Spíše se jedná o zajímavosti, jako je název vlastníka daného zaĜízení, þíslo autonomního systému a název organizace pĜidČlující þíslo autonomního systému, odkud poznáme, na kterém kontinentu se dané síĢové zaĜízení nachází (RIPE – Evropa, ARIN – Amerika, ...). Asi nejužiteþnČjším rozšíĜením oproti nástroje tracert je možnost volby protokolu TCP. Pokud víme, že se po cestČ nachází firewall nebo access list na routeru, je možno testovat prĤchodnost tČchto omezovaþĤ spojení na urþitých portech. PĜi práci s tímto nástrojem je vhodné vypnout nebo upravit nastavení firewallu.
4.8 CCDU Zkratka CCDU znamená Cisco Config Downloader/Uploader a pĜedstavuje vlastnost programu, která umožĖuje stahovat nebo nahrávat konfiguraþní soubory síĢových zaĜízení od výrobce Cisco. Tento nástroj umožní jednoduše nahrát konfiguraci do daného zaĜízení, aniž by administrátor musel ruþnČ zadávat všechny pĜíkazy. Konfiguraþní soubory jsou stahovány nebo nahrávány pĜes protokol SNMP/TFTP. Nástroj CCDU v programu Cain&Abel je možné používat pouze s routery a switchy, které používají MIB (Management Information Base) Old-Cisco-System-MIB nebo novČjší Cisco-Config-Copy-MIB. MIB je databáze objektĤ a veliþin, které mohou být na zaĜízení spravovány. Tyto objekty a veliþiny poskytují informace o síĢových zaĜízeních a jeho rozhraních. PIX firewall tyto MIB nepodporují. [13] Program Cain žádá síĢového zaĜízení Cisco o pĜenos konfiguraþních souborĤ pomocí protokolu SNMP. Pakety žádostí jsou vytvoĜené na základČ proprietárních objektových identifikátorĤ, které prodejci poskytují pro tuto funkcionalitu. Pakety žádostí obsahují také další parametry, mezi které patĜí typ protokolu, IP adresa serveru a název souboru. Tyto informace jsou dĤležité, aby patĜiþné zaĜízení vČdČlo, kam konfiguraþní soubory posílat nebo odkud je nahrávat. PĜi pĜenosu konfiguraþního souboru Cain otevĜe TFTP spojení (TFTP socket) do naslouchacího módu. PĜi pĜenosu konfiguraþních souborĤ není potĜeba TFTP server. Pro pĜenos konfiguraþních souborĤ Cisco routerĤ a switchĤ je potĜeba zadat v dialogu Hostname zaĜízení nebo jeho IP adresu, SNMP Read/Write Community – jedná se o heslo k Ĝízení pĜístupu SNMP klienta k serveru a Protocol – volba verze SNMP protokolu. CCDU nástroj nefunguje, pokud jsou nastavena omezení pĜístupu pomocí pĜístupových seznamĤ nebo jsou na firewallu nastavena pravidla nepropouštČjící SNMP/TFTP provoz. Tento nástroj má problémy i s dynamickým NAT. [13] Nástroj CCDU dokáže být pro síĢové administrátory velice užiteþný, pokud spravuje lokální síĢ LAN složenou ze switchĤ a routerĤ Cisco. Administrátorovi staþí ruþnČ nakonfigurovat dané zaĜízení pouze jednou, protože si daný konfiguraþní soubor mĤže pomocí tohoto nástroje zálohovat. Druhé zaĜízení stejného typu již nemusí kompletnČ ruþnČ konfigurovat jako v prvním pĜípadČ, ale staþí pouze pomocí nástroje CCDU, nahrát zálohu konfiguraþního souboru do daného zaĜízení a pak už jen ruþnČ konfigurovat specifické
57
požadavky na zaĜízení, které nejsou již obsaženy v zálohovaném souboru. Ze síĢového zaĜízení Cisco se stahuje nebo nahrává soubor „running-config“. Jedná se o soubor, který se po provedení konfiguraþních zmČn, musí zkopírovat do souboru „startup-config“, jinak nebudou zmČny v konfiguraci uloženy a po restartu zaĜízení bude naþtena konfigurace ze souboru „startup-config“. Výhodou nástroje CCDU je, že administrátoĜi nemusejí instalovat TFTP server, ale staþí jim pouze program Cain Na druhou stranu je nástroj CCDU v rukou útoþníka velice nebezpeþný. Útoþník s pĜístupem do sítČ LAN, mĤže jednoduše stáhnout konfiguraþní soubory síĢových zaĜízení, pozmČnit jejich obsahy k obrazu svému, zjistit nastavená hesla nebo hashe hesel, které mĤže prolomit pomocí nástroje Cracker a zase soubory do zaĜízení nahrát zpČt. Pokud si útoþník mĤže stáhnout konfiguraþní soubor, rázem se z nČj mĤže stát neomezený vládce nad zaĜízením.
4.9 Wireless Pod kartou Wireless se v programu Cain&Abel ukrývá nástroj, který detekuje bezdrátové lokální sítČ WLAN. Jedná se o nástroj Wireless Scanner a k ovládání bezdrátové síĢové karty používá ovladaþ Winpcap Packet Driver. Jednotlivé pĜístupové body (AP) a adhoc sítČ se vyhledávají každých pČt sekund a parametry tČchto bezdrátových sítí jsou zobrazeny do seznamu. Active Scanner (aktivní skener) - aktivní skener pracuje tak, že pomocí ovladaþe Winpcap otevĜe adaptér bezdrátové sítČ a následnČ zažádá pomocí funkce „PacketRequest“ o komunikaci s bezdrátovou síĢovou kartou. Passive Scanner (pasivní skener) - pasivní skener vyžaduje AirPcap adaptér od firmy CACE Technologies, který umožní zachytit rámce standardu 802.11 prostĜednictvím ovladaþe AirPcap. Skener rozpozná bezdrátové pĜístupové body a klienty dekódováním rámcĤ 802.11b/g, které putují vzduchem. Skener každou sekundu mČní frekvenci adaptéru a tím mĤže objevit bezdrátové sítČ i na ostatních kanálech než který je nastavený. Program Cain také podporuje techniku automatických ARP žádostí (ARP Requests injection) a umí zachytávat autentizaþní hashe zabezpeþení bezdrátových síti WPA-PSK. Technika ARP Requests Injection umožní urychlit zachytávání unikátních WEP inicializací a je možná pouze se specifickým ovladaþem Airpcap TX od firmy CACE Technologies. [13] Útok na WEP - pĜi zaškrtnutí checkboxu „Capture WEP IVs to dump.ivs file“ Cain zaþne zachytávat WEP inicializaþní zprávy do souboru „dump.ivs“. Tento soubor je umístČný v adresáĜi programu Cain. Tento soubor mĤže být okamžitČ otevĜen pĜi kliknutí na tlaþítko Analyze. WEP IV jsou potĜebné pro prolomení WEP šifrovacích klíþĤ, které jsou použity v chránČné bezdrátové síti. Odborné dokumentace uvádČjí, že minimální poþet WEP IV inicializaþních zpráv potĜebných k úspČšnému prolomení 64-bitových WEP klíþĤ pomocí
58
Korek útoku (statická crackovací metoda pro odkrytí WEP klíþĤ) je 250 000 a u 128-bitových klíþĤ 1 000 000. PĜi použití novČjšího PTW útokĤ ( podle jmen autorĤ Pyshkin, Tews, Weinmann) lze prolomit 128-bitové klíþe již se 70 000 inicializaþními zprávami. [13] Tento nástroj programu Cain je užiteþný pro vyhledávání dostupných bezdrátových sítí, umožní kontrolovat obsazení jednotlivých kanálĤ. O jednotlivých bezdrátových sítích nám tento nástroj poskytne informace jako BSSID (Basic Service Set IDentifier), což je MAC adresa pĜístupového bodu bezdrátové sítČ, dále þas kdy skener danou síĢ naposledy uvidČl, sílu signálu, název sítČ (SSID - Service Set IDentifier). SSID musí být v dosahu dané sítČ unikátní. Skener dále podává informace, jestli je provoz v dané bezdrátové síti šifrován, kanál a frekvenci na kterém síĢ pracuje, provozní rychlosti, poþet pĜijatých paketĤ a unikátních WEP IV zpráv. Aktivním skenováním si útoþník na základČ zjištČných informací vytvoĜí obrázek o daných bezdrátových sítích, ale nemĤže pomocí nČco podniknout útok, ani nemĤže sbírat WEP IV unikátní zprávy. Pasivní skenování již umožní provést ARP Requests injection nebo odeslat zachycené WPA-PSK autentizaþní hashe do Crackeru programu Cain. Pro pasivní skenování je,ale zapotĜebí získat ovladaþ Airpcap TX a USB zaĜízení pro zachytávání paketĤ.
4.10 Query Pod kartou Query se v programu Cain nachází nástroj, který umí spolupracovat s rĤznými databázemi. Tento nástroj se umí pĜipojit k velkému množství databází, aĢ už se jedná o profesionální databáze MS SQL, MySQL, MS Access a nebo se jedná o jednoduché databáze vytvoĜené v excelu. Po pĜipojení k urþité databázi se tento nástroj dokáže na danou databázi i dotazovat. Aby se tento nástroj dokázal k dané databázi pĜipojit, musí se provést nastavení datových zdrojĤ (ODBC) v ovládacích panelech ĺ nástroje pro správu. Zde se specifikuje, kde se daná databáze nachází a kam se tedy Cain má pĜipojit. [13] Práce s nástrojem je následující. V sekci „ODBC Data Source“ se zvolí zdroj dat a klikne na tlaþítko „Connect“. Nástroj naþte data ze zdrojového souboru a zobrazí seznam tabulek. Po zvolení nČkteré tabulky se zobrazí její obsah a v sekci „Query“ je možné psát dotazy na databázi. Na obrázku (viz Obr. 14) je vidČt pĜíklad použití nástroje Query, který naþetl data z databáze v programu Microsoft Visio. V sekci Query je vidČt dotaz na tabulku „SíĢ poþítaþe“. Tento dotaz vykonal požadavek, aby databáze vypsala všechny Ĝádky tabulky „SíĢ - poþítaþe“, ve kterých je výrobce Compaq a seĜadila je podle MachineSN. Práce s tímto nástrojem vyžaduje znalosti pĜíkazĤ z prostĜedí databází. V tomto nástroji je možné provádČt na databáze pouze dotazy, neumožĖuje databáze tvoĜit ani editovat.
59
Obr. 14: Nástroj Query pro práci s databázemi
4.11 Tools 4.11.1 Route Table Pomocí tohoto nástroje je možné zobrazit smČrovací tabulku poþítaþe, na kterém je nainstalován program Cain. UmožĖuje i pĜidat nové routy do této tabulky nebo modifikovat þi odebrat routy již pĜítomné v tabulce. PĜi vytváĜení nové routy se zadá cílová IP poþítaþe nebo sítČ, síĢová maska, IP adresa gateway a IP adresa výstupního rozhraní daného poþítaþe. JeštČ je možné definovat metriku dané routy. Tento nástroj poskytuje prakticky stejné informace, jaké poskytuje ve Windows pĜíkazové Ĝádce nástroj route.
4.11.2 TCP/UDP Tables Pod položkou Route Table se nachází nástroj programu Cain TCP/UDP Table Viewer. Poskytuje informace o parametrech spojení, které poþítaþ navázal. Tabulka v každém Ĝádku tabulky zobrazuje informace o názvu procesu, typ protokolu (TCP nebo UDP), IP adresa poþítaþe, na kterém je Cain nainstalován, dále na kterém portu se spojení navazuje, IP adresa vzdáleného stroje, s kterým je spojení vytvoĜeno a na jakém portu a u protokolu TCP je i stav spojení.
60
Tento nástroj není pĜíliš užiteþný, protože ve Windows pĜíkazové Ĝádce každého poþítaþe je nástroj „netstat“, který poskytuje stejné informace, dokonce jich poskytuje mnohem více než nástroj v programu Cain. 4.11.3 Base64 Password Decoder Jedná se o nástroj programu (viz Obr. 15), který umožĖuje dekódovat hesla nebo text z base64 kódu zpČt do pĤvodní podoby. Tento nástroj umí pouze base64 kód dekódovat, kodér v programu Cain&Abel není pĜítomen. Kódování base64 je navrženo k tomu, aby reprezentovalo libovolné posloupnosti oktetĤ ve formČ, která vyžadují citlivost na velká a malá písmena, ale nemusí být pro lidi þitelná. PĜi procesu kódování do base64 kódu se postupuje tak, že se vstupní bity rozdČlí do skupin po 24 bitech, kdy tato skupina je prakticky tvoĜena 3 skupinami po 8 bitech, kde každý znak v ASCII tabulce je vyjádĜen právČ 8 bity. Skupina 24 bitĤ se rozdČlí do 4 skupin po 6 bitech, kdy každá skupina tČchto bitĤ (26 stavĤ )bude vyjádĜena jako jeden z 64 znakĤ base64 abecedy. [8] Base64 se používá v nČkolika internetových protokolech (HTTP, MIME, IMAP) pro zakódování libovolných dat jako prostý text ASCII znakĤ. Dále se používá napĜíklad pĜi šifrování binárních dat (multimédia) nebo uložení hashĤ hesel vypoþtených šifrováním v /etc/passwd a nebo spammeĜi používají base64, aby se vyhnuli základním anti-spamovým nástrojĤm, které nedekódují tento formát a nemohou tedy zjistit klíþová slova v zakódovaných zprávách. [8, 13] Tento nástroj je omezen na dekódování hesel a textu dlouhého pouze 76 znakĤ v base64 kódu. Delší text je nutné rozdČlit na menší skupiny, ale musí se dát pozor, aby daná skupina obsahovala poþet base64 znakĤ v násobku 4, jinak poslední znak bude dekódován špatnČ. PĜi práci s nástrojem se do pole „Base64 encrypted password“ vloží heslo v base64 kódu a poli „Decrypted password“ se zobrazí hledané dešifrované heslo a v poli „Decrypted password (HEX)“ se zobrazí dešifrované heslo v hexadecimálním tvaru.
Obr. 15: Dekodér base64 kódu
61
4.11.4 Access Database Password Decoder Nástroj Access Database Password Decoder je nástroj programu, který umožní odkrýt heslo chránČného databázového souboru. Jedná se o soubory s pĜíponou „.mdb“ vytvoĜené programem na tvorbu databází Microsoft Access. PĜístupové heslo k souboru je uloženo pĜímo v daném databázovém souboru a jako šifrovací techniku používá jednoduché logické funkce XOR. XOR je možné okamžitČ otoþit a ihned dešifrovat. PĜi pokusech dešifrovat co nejdelší heslo bylo zjištČno, že maximální délka hesla, které lze dešifrovat, je omezena na 18 znakĤ. Pokud bude heslo delší jak 18 znakĤ, dekodér zobrazí správnČ pouze každý sudý znak hesla. Místo lichých znakĤ hesla se objeví tlusté svislé þáry. I pĜes toto omezení považuji nástroj za plnČ vyhovující, protože naprosté minimum uživatelĤ si zvolí heslo delší jak 18 znakĤ. [13] Práce s nástrojem (viz Obr.16) je plnČ automatická, pouze v sekci „MDB Filename“ se musí vložit cesta k heslem chránČnému „.mdb“ souboru. V sekci „Encrypted Password“ se zobrazí šifrované heslo v hexadecimálním tvaru a v sekci „Decrypted Password“ se zobrazí hledané heslo k databázi v podobČ þistého textu. Tento nástroj je napĜíklad velice užiteþný, když uživatel zapomene heslo k dané databázi. Díky tomuto nástroji si heslo rychle a jednoduše zjistí. Díky tomu odpadají bezpeþnostní rizika v podobČ lísteþkĤ pĜilepených na monitoru s heslem k dané databázi.
Obr. 16: Nástroj pro dešifrování heslem chránČných Microsoft Access souborĤ
4.11.5 Cisco Type-7 Password Decoder Cisco Type-7 Password Decoder je nástroj programu, který dokáže dekódovat pĜístupová hesla k síĢovým zaĜízením od firmy Cisco. Cisco používá svĤj vlastní šifrovací algoritmus k šifrování hesel, které se používají pro pĜístup k síĢovému zaĜízení pĜes konzolový kabel nebo pomocí vzdáleného pĜístupu pĜes takzvané vty linky. Cisco používá algoritmus Type-5 a Type-7. Tento nástroj dokáže dekódovat pouze hesla šifrovaná algoritmem Type-7. Šifrování pomocí algoritmu Type-7 se
62
musí aktivovat v pĜíkazovém Ĝádku Cisco IOS pomocí pĜíkazu „service passwordencryption“. [7] Hesla šifrovaná pomocí algoritmu Type-7 je možné nalézt v konfiguraþních souborech „startup-config“ nebo „running-config“. Takto zašifrované heslo se zkopíruje do nástroje Cisco Type-7 Password Decoder (viz Obr. 17) a ten automaticky dešifruje dané heslo do podoby þistého textu. Pomocí programĤ Packet Tracer a Cain&Abel se podaĜilo zjistit, že délka hesla nemá vliv na rychlost odkrytí hledaného hesla. Hledané heslo bude mít maximálnČ 25 znakĤ, protože delšího heslo nelze dešifrovat a ani v programu Packet Tracer nelze síĢovému zaĜízení delší heslo nastavit. I kdyby šlo na fyzickém zaĜízení nastavit delší heslo, domnívám se, že témČĜ žádný administrátor z praktických dĤvodĤ tak dlouhá hesla nepoužívá. Proto považuji tuto maximální délku dešifrovatelného hesla za plnČ dostaþující. Hesla šifrovaná pomocí algoritmu Type-5 nelze tímto nástrojem dešifrovat. Je ale možné zašifrovaná hesla vložit do Cisco IOS-MD5 Hashes Crackeru v programu Cain a aplikovat na nČj slovníkový útok nebo útok hrubou silou.
Obr. 17: Cisco Type-7 Password Decoder
4.11.6 Cisco VPN Client Password Decoder Tento nástroj programu umožĖuje dešifrovat hesla VPN klientského softwaru od firmy Cisco, která se ukládají do profilových souborĤ s pĜíponou „.pcf“. Tyto profilové soubory obsahují všechny potĜebné parametry ke vzdálenému pĜipojení pĜes síĢ VPN. Software šifruje hesla pomocí šifrovacích algoritmĤ SHA1 a 3DES a jsou nezávislé uživatelsky i na zaĜízení. [13] Tento nástroj pracuje automaticky a pro dešifrování staþí vložit šifrované heslo do pole „Cisco VPN Profile encrypted password“. V poli decrypted password se zobrazí dešifrované heslo v podobČ þistého textu. Funkci tohoto nástroje nebylo možné ovČĜit, protože jsem nemČl pĜístup k žádnému Cisco klientskému softwaru ani Cisco síĢovému zaĜízení, ke kterému bych mohl pĜistupovat pĜes VPN.
63
4.11.7 VNC Password Decoder VNC Password Decoder je nástroj programu Cain (viz Obr. 18), který dokáže dekódovat hesla VNC Ĝešení. VNC (Virtual Network Computing) je vzdálené desktopové Ĝešení, které umožní zobrazit plochu a plnČ ovládat poþítaþ z jiného poþítaþe nebo mobilního zaĜízení odkudkoliv z Internetu. VNC software umožĖuje vzdálenou kontrolu mezi odlišnými typy poþítaþĤ i operaþních systémĤ. VNC pracuje na principu klient – server, kdy heslo se nastavuje na serveru a klientovi je umožnČno vzdálené Ĝízení poþítaþe, na kterém je nainstalován VNC server, na základČ znalosti tohoto hesla. Heslo se ukládá na serveru do registru v hexadecimálním tvaru. [13] V pĜípadČ softwaru RealVNC je heslo uloženo v registru: \\HKEY_CURRENT_USER\\Software\\RealVNC\\WinVNC4\\Password a ne pod cestou jakou uvádí nástroj VNC Password Decoder. VNC Password Decoder umí dešifrovat heslo v podobČ þistého textu maximálnČ 8 znakĤ dlouhé. Myslím si, že heslo kratší než 8 znakĤ není zrovna bezpeþné, z þehož bych usuzoval, že si uživatelé nastaví heslo delší. Jelikož ale uživatel poþítaþe, který bude vzdálenČ ovládán, vČtšinou u daného poþítaþe sedí a sleduje, co vzdálený pomocník s jeho poþítaþem dČlá, kdykoliv pĜi nekalé þinnosti pomocníka mĤže komunikaci pĜerušit. Proto se hesla volí spíše krátká, jednoduše srozumitelná a vzdálené ovládání pĜes VNC se po skonþení þinnosti nebo pomoci okamžitČ vypne.
Obr. 18: VNC Password Decoder
64
4.11.8 Hash Calculator Jedná se o nástroj programu Cain, který dokáže z vloženého ĜetČzce znakĤ vytvoĜit jejich hashe. Tento nástroj je schopný ze vstupního ĜetČzce vytvoĜit 11 rĤzných hashĤ. Hash Calculátor podporuje tyto hashovací algoritmy: MD2, MD4, MD5, SHA-1,SHA-2 (256), SHA-2 (384), SHA-2 (512), RIPEMD-160, LM, NT, MySQL323, MySQLSHA1, Cisco PIX, VNC Hash. [13] Nástroj tedy vypoþítá napĜíklad nejpoužívanČjší algoritmy MD (Message Digest) a SHA (Secure Hash Algorithm), kdy þísla v závorkách znamenají délku hashe v binárním tvaru. RIPEMD-160 (RACE Integrity Primitives Evaluation Message Digest) je algoritmus, který má plnit roli bezpeþné náhrady za algoritmy MD. LM a NT jsou hashe, které se používají pro autentizaci v operaþních systémech Microsoft, MySQL323 a MySQLSHA1 jsou hashe využívané pĜi autentizaci k databázovému serveru MySQL, Cisco PIX hashe se používají u firewallĤ od firmy Cisco a VNC Hash je hash používají se pĜi autentizaci k VNC serveru. Všechny hashe jsou v tomto nástroji zobrazeny v hexadecimálním tvaru. Tímto nástrojem mĤžeme ovČĜit správnost dekódovaného hesla z VNC Password Decoderu z kapitoly 4.11.7. Pokud do Hash Calculatoru (viz Obr. 19) vložíme dekódované heslo z VNC Password Decoderu, dostaneme zase pĤvodní hash daného hesla.
Obr. 19: Hash Calculator
65
4.11.9 RSA SecurID Token Calculator RSA SecurID Token se používá všude tam, kde je potĜeba bezpeþnČ autentizovat uživatele, pĜedevším v bankovnictví. Jedná se o hardwarový generátor šestimístných þíselných náhodných pĜístupových kódĤ, které se pravidelnČ obmČĖují každých 60 sekund. Pomocí RSA SecureID TokenĤ se dosáhne dvou faktorové autentizace. NapĜíklad když uživatel chce využívat elektronického bankovnictví, autentizuje se zadáním tajného personálního osobního þísla (PIN) a následnČ ještČ zadáním aktuálnČ zobrazeného þíselného kódu na tokenu. Algoritmus pro generování þíselných kódĤ používá v podstatČ dva parametry. Sériové þíslo a aktivaþní klíþ tokenu. Oba parametry obvykle prodejce poskytuje v XML souboru. Hodnoty tokenu vypoþítány každé dvČ minuty a zobrazeny každých 60 sekund. Aby autentizaþní systém RSA SecureID fungoval správnČ, je nutné, aby byl systémový þas synchronizován s interním þasem tokenu. Pokud by tento þas nebyl synchronizován, zobrazované hodnoty na tokenu by nesouhlasily s hodnotami, které systém akceptuje pro autentizování uživatele. [9, 13, 16] Nástroj RSA SecureID Token Calculator programu Cain je nástroj, který dokáže generované autentizaþní pĜístupové kódy zobrazit ještČ pĜed tím, než se objeví na displeji tokenu. Z dĤvodu správné synchronizace tokenu nástroj musí uvažovat odchylku mezi systémovým þasem a interním þasem tokenu. Synchronizace þasu se musí provést pro každý token zvlášĢ v synchronizaþním dialogu, který vyžaduje, aby uživatel vložil právČ zobrazený þíselný kód na tokenu. Pro použití tohoto nástroje je nutné mít od prodejce k dispozici XML soubor, který se do tohoto nástroje musí importovat, aby program naþetl potĜebné informace o tokenu. XML soubor obsahuje informace o tokenu jako je sériové þíslo, seed tokenu, datum aktivace tokenu a datum konce platnosti tokenu a fyzickou adresu tokenu. Seed tokenu je aktivaþní klíþ tokenu. Po importování XML souboru se v nástroji programu zobrazí sériové þíslo tokenu, seed tokenu (klíþ) a odchylka mezi þasem systému a interním þasem. NáslednČ se provede synchronizace tokenu s nástrojem, což se provede kliknutím pravým tlaþítkem na Ĝádek se sériovým þíslem tokenu a do následnČ zobrazeného dialogové okna se zadá právČ zobrazený þíselný kód na tokenu. Po synchronizaci se zobrazí dva sloupce s hodnotami. V jednom sloupci jsou šestimístné pĜístupové autentizaþní kódy a v druhém sloupci je datum a þas, kdy bude daný kód správný pro autentizování. PĜístupové kódy s pĜíslušnými þasy lze uložit do textového souboru. PĜi ukládání tČchto hodnot do souboru je možné si zvolit dobu, kolik minut, hodin, dní, mČsícĤ nebo rokĤ chceme tyto hodnoty dopĜedu vygenerovat. [13] Na Obr. 20 a Obr. 21 je vidČt funkce nástroje RSA SecureID Token Calculator a zpĤsob, jakým se útoþník mĤže autentizovat na RSA serveru, aniž by mČl Token fyzicky k dispozici. Pro útoþníka je velmi dĤležité mít synchronizovaný þas s RSA systémem, protože pokud by mČl útoþník na svém poþítaþi tĜeba jen o minutu odlišný þas oproti RSA systému, nemohl by se autentizovat, protože by Cain aktuální pĜístupový kód ukazoval právČ o tuto þasovou odchylku s pĜedstihem nebo zpoždČnČ. Na Obr. 20 je vidČt posloupnost pĜístupových kódĤ mČnících se pravidelnČ po jedné minutČ. Na Obr. 21 je vidČt pĜístupový kód na tokenu, který je shodný s pĜístupovým kódem právČ zobrazeným v programu Cain na Obr. 20.
66
Obr. 20: Použití nástroje RSA SecureID Token Calculator v programu Cain
Obr. 21: RSA SecureID Token
67
4.11.10 Remote Desktop Password Decoder V operaþních systémech Microsoft je integrován nástroj umožĖují se pĜipojit na vzdálený poþítaþ a zobrazit jeho pracovní plochu pĜesnČ tak, jak ji vidí lokální uživatel. Tento nástroj se nazývá Remote Desktop (vzdálená plocha). Pokud se administrátor nebo nČjaký uživatel þasto pĜipojuje k více vzdáleným strojĤm, je možné si parametry spojení uložit do „.RDP souboru“. Do tohoto souboru se uloží IP adresa vzdáleného stroje, uživatelské jméno, heslo a doména. Pokud se v pĜihlašovacím dialogu zatrhne „Povolit uložení povČĜení“, pĜihlašovací údaje se zašifrují pomocí aplikaþního programového rozhraní CryptProtectData a uloží se. [13] Nástroj programu Cain Remote Desktop Password Decoder dokáže pĜihlašovací údaje z RDP souboru dešifrovat. Nástroj pracuje automaticky, staþí pouze v sekci RDP file vložit cestu k uloženému souboru a nástroj sám zobrazí uživatelské jméno, doménu, zašifrované heslo v hexadecimálním tvaru a dešifrované heslo v podobČ þistého textu. Tento nástroj v rukou útoþníka je velice nebezpeþný, protože z RDP souborĤ mĤže útoþník získat pĜihlašovací údaje ke všem strojĤm, ke kterým byly tyto soubory vytvoĜeny. Pokud se dostane k RDP souborĤm s parametry spojení na servery, jedná se o velký bezpeþnostní problém, protože si útoþník mĤže v síti prakticky dČlat co se mu zlíbí. Nevýhodou pro útoþníka je, že jelikož bylo využito aplikaþního programového rozhraní CryptProtectData, zašifrované heslo je možné dešifrovat z RDP souboru pouze z uživatelského úþtu a fyzického stroje, na kterém byly RDP soubory vytvoĜeny. To znamená, musí mít fyzický pĜístup k poþítaþi a musí znát pĜihlašovací údaje k uživatelskému úþtu, na kterém byly RDP soubory vytvoĜeny a uloženy.
4.11.11 Syskey Decoder Syskey Decoder je nástroj, který extrahuje bootovací klíþ, který je generovaný utilitou SYSKEY z lokálního registru nebo souboru SYSTEM. Bootovací klíþ je informace, kterou využívá utilita SYSKEY k zašifrování hashĤ hesel pĜedtím než jsou uloženy do SAM databáze v operaþním systému Windows pomocí 128 bitového šifrovacího klíþe. Pokud jsou tyto soubory uloženy lokálnČ, bootovací klíþ je ukryt mezi klíþe v registru HKEY_LOCAL_MACHINE \System\CurrentControlSet\Control\Lsa Nástroj Syskey Decoder (viz Obr. 22) mĤže rekonstruovat tyto informace do hexadecimálního tvaru a následnČ jsou pĜipraveny pro nástroj programu Cain NT Hashes Dumper. Nástroj Syskey pracuje automaticky a po kliknutí na tlaþítko Local System Boot Key se zobrazí lokální bootovací klíþ v hexadecimálním tvaru. [13]
68
Obr. 22: Grafické rozhraní nástroje Syskey Decoder
69
5 Praktická ukázka útokĤ pomocí programu Cain
Po prozkoumání všech nástrojĤ, zjištČní a vyzkoušení jejich možností jsem program Cain nainstaloval na poþítaþ, který se nacházel v domácí lokální síti LAN, kde se nacházelo šest poþítaþĤ. ýtyĜi poþítaþe byly pĜipojeny pomocí pevného pĜipojení k portĤm routeru a dva poþítaþe byly pĜipojeny pomocí bezdrátového pĜipojení. Po instalaci programu Cain jsem nakonfiguroval sniffer, aby zachytával informace z konkrétní síĢové karty a pĜepnul síĢovou kartu do promiskuitního módu (viz kapitola 4.2.1). Po konfiguraci snifferu jsem použil nástroj pro skenování MAC adres v síti, abych zjistil MAC adresy hostĤ v dané síti (viz kapitola 4.5.1). NáslednČ jsem nakonfiguroval nástroj pro ARP Poison Routing (APR), aby zprostĜedkoval komunikaci mezi výchozí bránou a jednotlivými hosty pĜes mĤj (útoþník) poþítaþ. Všechny stavy spojení se nacházeli ve stavu „Idle“. Do aktivního stavu jsem tato spojení uvedl aktivováním snifferu a nástroje APR. Jakmile uživatelé jednotlivých poþítaþĤ zaþali komunikovat pĜes bránu do internetu, jejich komunikace zaþala pĜecházet pĜes mĤj poþítaþ. Tento stav indikuje status „Full-routing“, což znamená, že komunikace procházela pĜes mĤj poþítaþ v obou smČrech. Tento stav je patrný z obrázku 23.
Obr. 23: Full-routing Jakmile uživatelé jednotlivých poþítaþĤ postupnČ zaþali používat jednotlivé služby, aplikace a pĜihlašovat se k úþtĤm na internetových stránkách, sniffer zaþal analyzovat jednotlivé protokoly a prohledávat je pro získání uživatelských jmen a hesel. Po nČkolika hodinách se mi podaĜilo odchytit uživatelská jména a hesla z komunikace probíhající pĜes nešifrované protokoly FTP (viz Obr. 24), HTTP (viz Obr. 25), dále pĜihlašovací informace k aplikaci ICQ nebo k emailovým úþtĤm, ke kterým se pĜistupuje napĜíklad pĜes Outlook. 70
Dále se mi podaĜilo zachytit pĜihlašovací údaje pro pĜístup k routeru nebo pĜihlašovací údaje úþtĤ na ústĜednČ Asterisk a zachytit a nahrát VoIP hovor. Hesla a nČkteré þásti IP adres jsou na obrázcích zámČrnČ z bezpeþnostních dĤvodĤ skryty.
Obr. 24: Zachycené pĜihlašovací údaje k FTP serveru
Obr. 25: Zachycené pĜihlašovací údaje k webovým serverĤm NáslednČ se mi podaĜilo zachytit i autentizaþní údaje použité pĜi vytváĜení VPN spojení do firemní sítČ. V tomto pĜípadČ se mi zobrazilo pouze uživatelské jméno a hash hesla. Proto jsem tento hash poslal do nástroje Cracker a aplikoval jsem na nČj slovníkový útok, který nebyl úspČšný. Poté jsem aplikoval útok hrubou silou a díky krátké délce hesla se 71
mi podaĜilo dané heslo získat. Jednalo se o ukázkový pĜíklad použití slabého hesla. Kdyby heslo bylo delší jak 8 znakĤ, obsahovalo malou i velkou abecedu, þíslice i speciálník znaky, dané heslo by se mi nepodaĜilo získat dĜíve než za nČkolik let.
Obr. 26: Zachycené pĜihlašovací údaje VPN spojení. BČhem mého sniffování síĢového provozu se nČkteĜí uživatelé pokusili komunikovat s webovými servery, které komunikují pĜes zabezpeþený protokol HTTPS. Webový server zaslal uživateli certifikát, ve kterém jsou informace prokazující identitu serveru. Tento certifikát, ale nedošel uživateli, který požádal o komunikaci, ale zachytil ho nástroj APR na mém poþítaþi. Program Cain pozmČnil veĜejný klíþ tohoto certifikátu a poslal danému uživateli. Uživateli se objevila hláška, která ho informovala, že certifikát pochází z nedĤvČryhodného zdroje. Tato hláška se objevuje pomČrnČ þasto a proto uživatel tento certifikát pĜijal. Díky tomuto kroku je možné, aby šifrovaná komunikace pĜišla do poþítaþe, kde je program Cain, tam byla dešifrována, uložena a následnČ zašifrována a poslána uživateli nebo serveru (podle smČru komunikace). Zachycená HTTPS komunikace (viz Obr. 27) je ukládána do textových souborĤ do adresáĜe „HTTPS“ v hlavním adresáĜi programu. Zachycené certifikáty (viz Obr. 28) jsou ukládány do adresáĜe „Certs“.
Obr. 27: HTTPS komunikace
72
Obr. 28: Zachycené certifikáty Ze zachycené HTTPS komunikace jsem zjistil, že se jedná o komunikaci s informaþním systémem VUT a po vložení dešifrovaných zdrojových kódĤ do programu PSPad jsem si prohlédl obsah webových stránek (viz Obr. 29 a Obr. 30), které si daný uživatel prohlížel.
Obr. 29: Zachycený rozvrh hodin zobrazený programem PSPad
73
Obr. 30: Zachycená stránka z elearningu VUT zobrazená programem PSPad Protože pĜi vytváĜení informaþního systému je využito kaskádových stylĤ a java skriptĤ, není formát zachyceného rozvrhu hodin totožný jako jej mČl zobrazen uživatel. Dále jsem analyzoval jednotlivé soubory, abych se pokusil získat pĜihlašovací údaje k informaþnímu systému. PodaĜilo se mi pĜihlašovací údaje najít, dokonce ve formČ þistého textu (viz Obr. 31).
Obr. 31: Zachycené pĜihlašovací údaje k informaþnímu systému VUT 74
6 ZávČr PĜi práci na diplomové práci jsem se postupnČ seznámil s problematikou zabezpeþení poþítaþových sítí, zabezpeþení osobního poþítaþe a bezpeþného používání poþítaþe v síti Internet. Dále jsem se seznámil s rĤznými druhy šifrování, s jejich funkcí, využitím a rozdíly. PodobnČ jsem prostudoval nejznámČjší šifrovací protokoly a algoritmy. ZamČĜil jsem se na jejich výhody a nevýhody, kde se používají a pĜi jakých pĜíležitostech. NáslednČ jsem se vČnoval útokĤm na lokální poþítaþové sítČ, jejich funkci, jejich vzájemné porovnání, jaké informace útoþníci pĜi nich mohou získat a jaké dĤsledky dané útoky mohou zpĤsobit. Protože útokĤ je obrovské množství zamČĜil jsem se pouze na ty nejznámČjší jako ARP Spoofing, DHCP Spoofing, DNS Spoofing, MAC Flooding, Port Stealing a ICMP Redirect. Hlavní bodem této diplomové práce je program Cain & Abel, který slouží pro získávání hesel a autentizaþních parametrĤ na základČ odposlechu lokálních poþítaþových sítí. Obsahuje spoustu dalších nástrojĤ, napĜíklad nástroje pro získání hesel uložených v pamČti operaþního systému, nástroje pro dešifrování hashĤ hesel, rĤzné Windows utility nebo nástroje pro práci s databázemi. Tato diplomová práce je zamýšlena jako takový návod na program Cain & Abel, který je vytvoĜen z mých poznatkĤ a zkušeností s tímto programem a z praktický útokĤ na lokální poþítaþovou síĢ. PostupnČ jsem nastudoval instalaci tohoto programu, seznámil jsem se s grafickým rozhraním programu a konfigurací jeho nástrojĤ. PostupnČ jsem vyzkoušel funkci jednotlivých nástrojĤ a použil tyto nástroje pro útoky na jednotlivé šifrovací algoritmy. PĜi práci s programem jsem zjistil i nČkteré nedostatky programu. PĜi pokusech nainstalovat program Abel na vzdálený poþítaþ, aby posílal informace z tohoto poþítaþe zpČt do programu Cain, jsem zjistil, že vzdálená instalace programu Abel, jak ji popisuje výrobce není možná, protože ji znemožní firewall na vzdáleném poþítaþi. Možné je provést pouze instalaci lokální. Naopak je dĤležité pro bezproblémový pĜíjem informací z programu Abel nebo zachycených pĜihlašovacích údajĤ bČhem útokĤ, vypnout firewall nebo ho vhodnČ nastavit na poþítaþi, kde je program Cain nainstalován. Domnívám se, že se v tomto programu nachází mnoho nástrojĤ, které mi zde pĜipadnou zbyteþné, protože jsou obsaženy v pĜíkazové Ĝádce operaþního systému. Jedná se napĜíklad o nástroj Traceroute, tabulka TCP/UDP spojení, smČrovací tabulka a podobnČ. Naopak mi zde chybí nástroj, který by vypoþítal hash ze souboru, díky kterému by bylo možné ovČĜit integritu dat, þímž lze pĜedejít napĜíklad stažení dat z internetu s viry. Po osvojení si práce s programem jsem provedl útok ARP Spoofing v domácí lokální síti, který je jediný útok z kapitoly 3, který tento program umí provést. PĜi tomto útoku jsem zjistil, jak je uživatel zranitelný pĜi útoku „Man in the middle“, i když komunikuje napĜíklad pĜes zabezpeþený protokol (napĜ. HTTPS). PĜi práci s nástrojem programu Cain RSA SecureID Token Calculator jsem dostal k dispozici hardwarový token a synchronizoval jej s tímto nástrojem. Po synchronizaci hardwarového tokenu s nástrojem programu jsem byl schopen zjistit þíselné pĜístupové kódy, aniž bych musel využívat hardwarového tokenu. Pomocí nástroje RSA SecureID Token
75
Calculator jsem byl schopen vytisknout si þíselné pĜístupové kódy na zvolené þasové období dopĜedu, což umožĖuje se autentizovat v libovolný den i þas bez fyzického vlastnictví tokenu. Praktické využití nástroje RSA SecureID Token Calculator jsem mČl demonstrovat s pomocí RSA serveru, který mČl být k dispozici v pĜedmČtu Kryptografie v informatice, ale bohužel z dĤvodĤ odpadání výuky a kratšího semestru nebyl RSA server zaĜazen do výuky a nebyl ani fyzicky k dispozici. Danou problematiku jsem tedy popsal teoreticky a více se zamČĜil i na ostatní nástroje programu.
76
SEZNAM LITERATURY A POUŽITÝCH ZDROJģ [1]
THOMAS, Thomas M. Zabezpeþení poþítaþových sítí bez pĜedchozích znalostí. David Krásenský. Brno : CP Books,a.s., 2005. 338 s. ISBN 80-251-0417-6.
[2]
[1] SCHNEIER, Bruce. Applied cryptography. 2nd edition. [s.l.] : John Wiley & Sons, 1996. 784 s. ISBN 0-471-11709-9 .
[3]
JEěÁBEK, J., Pokroþilé komunikaþní techniky. Brno: VUT v BrnČ, 2009.
[4]
BURDA, K. Bezpeþnost informaþních systémĤ. 1. Brno: FEKT VUT Brno, 2005. s. 1-104.
[5]
MENEZES, Alfred J. ; VAN OORSCHOT, Paul C.; VANSTONE, Scott A. Handbook of Applied Cryptography. [s.l.] : CRC Press, 2008 . 816 s. Dostupné z WWW: . ISBN 0-8493-8523-7.
[6]
Cisco Networking Academy : CCNA Exploration 4.0 Accessing the WAN [online]. 2007 [cit. 2009-10-10]. Dostupný z WWW: .
[7]
Cisco Networking Academy : CCNA Exploration 4.0 LAN Switching and Wireless [online]. 2007 [cit. 2009-10-10]. Dostupný z WWW: http://ev-iip.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCServlet/ LMS_ID=CNAMS,Theme=ccna3theme,Style=ccna3,Language=en,Version=1,RootID =knet-lcms_exploration3_en_40,Engine=static/CHAPID=null/RLOID=null/RIOID= null/index.html.
[8]
RFC 3548. The Base16, Base32, and Base64 Data Encodings. [s.l.] : [s.n.], 2003. 13 s. Dostupné z WWW: .
[9]
RSA The Security Division of EMC [online]. 2007 [cit. 2010-05-13]. RSA SecureID. Dostupné z WWW: .
[10]
Moderní metody šifrování. PCtuning [online]. 2005 [cit. 2009-11-02]. Dostupný z WWW:.
77
[11]
NejznámČjší útoky v síti Ethernet. Connect! [online]. 2007 [cit. 2009-11-12]. Dostupný z WWW: .
[12]
HALER, Martin. Odposloucháváme data na pĜepínaném Ethernetu. LUPA [online]. 2006 [cit. 2009-10-15]. Dostupný z WWW: .
[13]
Oxid.it [online]. 2001-2009 .
[14]
CISCO [online]. 2008 [cit. 2010-02-26]. When Are ICMP Redirects Sent?. Dostupné z WWW: .
[15]
CISCO [online]. 2008 [cit. 2010-04-18]. Zabezpeþení pĜepínaných sítí. Dostupné z WWW: .
[16]
SvČt sítí [online]. 2000 [cit. 2010-04-17]. SecureID. Dostupné z WWW: .
[17]
DRMOLA, Robert. Základy kryptografie [online]. 2007 [cit. 2010-05-01]. Bobhy. Dostupné z WWW: .
[18]
P. Hanáþek. Bezpeþnostní funkce v poþítaþových sítích. Zpravodaj ÚVT MU. ISSN 1212-0901, 1999, roþ. X, þ. 2, s. 5-9.
[19]
MILFAJT J. Bezpeþnostní protokoly v praxi. Brno: Vysoké uþení technické v BrnČ. Fakulta elektrotechniky a komunikaþních technologií. Ústav telekomunikací, 2008. 56s.Vedoucí bakaláĜské práce Ing. Tomáš Pelka.
[cit.
78
2009-11-20].
Dostupný
z
WWW:
SEZNAM ZKRATEK 3DES AAA ADPCM AES AP APR ARP CCDU CHAP CLI DCE/RPC DES DHCP DNS DoS EIGRP FTP GRE/PPP HSRP HTTP HTTPS ICMP iLBC IMAP IP LAN LDAP MAC MD5 MIME MITM NNTP NTLM ODBC PGP PIX POP3 PPPoE RADIUS RC4 RDP RIP RSA RTP SHA SIP SMB SMTP
Triple Data Encryption Standard Authentication, Authorization, Acoounting Adaptive Differential Pulse Code Modulation Advanced Encryption Standard Access Point ARP Poison Routing Address Resolution Protocol Cisco Config Downloader/Uploader Challenge Handshake Authentication Protocol Command Line Interface Distributed Computing Environment / Remote Procedure Calls Data Encryption Standard Dynamic Host Configuration Protocol Domain Name System Denial of Service Enhanced Interior Gateway Routing Protocol File Transfer Protocol Generic Route Encapsulation/ Point-to-Point Protocol Hot Standby Router Protocol Hyper Text Transfer Protocol Hyper Text Transfer Protocol Secure Internet Control Message Protocol internet Low Bitrate Codec Internet Message Access Protocol Internet Protocol Local Area Network Lightweight Directory Access Protocol Media Access Control Message Digest 5 Multipurpose Internet Mail Extensions Man In The Middle Network News Transfer Protocol NT LAN Manager Open DataBase Connectivity Pretty Good Privacy Private Internet eXchange Post Office Protocol 3 Point-to-Point Protocol over Ethernet Remote Authentication Dial In User Service Rivest Cipher 4 Remote Desktop Protocol Routing Information Protocol iniciály autorĤ Rivest, Shamir, Aleman Real-time Transport Protocol Secure Hash Algorithm Session Initiation Protocol Server Message Block Simple Mail Transfer Protocol 79
SNMP SP SQL SSH SSID SSL TACACS TCP TDS TNS UDP VNC VPN VoIP VRRP WEP WPA XML
Simple Network Management Protocol Service Pack Structured Query Language Secure SHell Service Set IDentifier Secure Sockets Layer Terminal Access Controller Access-Control System Transmission Control Protocol Tabular Data Stream Transparent Network Substrate User Datagram Protocol Virtual Network Computing Virtual Private Network Voice over Internet Protocol Virtual Router Redundancy Protocol Wired Equivalent Privacy Wi-Fi Protected Access eXtensible Markup Language
80