Úvod do sveta hackingu (5)

Zdroj: SOOM.cz [ISSN 1804-7270]
Autor: Senri
Datum: 29.7.2014
Hodnocení/Hlasovalo: 2.52/52

V tejto časti si pár packetov aj naozaj odchytíme a pozrieme na to, ako vzerá ich štruktúra. Povieme si niečo o tom, prečo sa znalosť protokolov vyplatí, taktiež sa bližšie pozrieme na porty a povieme niečo o ARP spoofingu.

Protokoly – časť #2

Hacking tutorialV prvom rade si stiahneme program Wireshark, nainštalujeme a spustíme ho.

Pozn. môže sa pri štarte stať, že program vypíše, že sa nenašiel žiaden NPF driver. NPF je packet filter, ktorý sprostredkúva odchýtavanie packetov, jedine čo potrebujete urobiť, je ho zapnúť a to tak, že otvoríťe príkazový riadok ako administrátor a napíšete sc start npf, následne wireshark zapnite znova a malo by to fungovať

Kliknite na hornej lište na „Capture -> Interfaces...“ (Odchytávanie -> rozhrania), mali by ste mať k dispozícií len jedno s priradenou adresou, tak kliknete na to a potom na Start. V momente by na vás mala vyskočiť tabuľka plná zatiaľ pravdepodobne nezmyselných informácií. V hornej časti môžete vidieť jednotlivé packety, farebne odlíšene podľa protokolov, v dolnej časti sa zobrazia bližšie informácie o packete (v závislosti na tom, ktorý si vyberiete). Odchýtavanie packetov sa zastavuje krížikom v červenom kruhu pod „View“ vľavo hore.

udsh5_1.jpg

Najprv sa ale venujme hornému obsahu. Priemerná angličtina stačí, aby sme vedeli, čo nám jednotlivé stĺpce hovoria. Môžeme vyčítať bez problémov zdrojovú adresu (source), cieľovú adresu (destination), protokol (protocol), dĺžku v byte-och (o tom v neskoršej kapitole) a základné info. Ak sa pozrieme na info k nejakému TCP alebo UDP packetu, tak si môžeme všimnúť série čísel, to su práve porty, o ktorých sme v minulej časti rozprávali. Ak ste náhodou natrafili na ARP (Adress Resolution Protocol) packet, tak si môžete všimnúť že v popise má niečo ako „Who is x.x.x.x?“ . Je jednoduché si hneď domyslieť, čo je teda účelom ARP, teda zisťovať, kto ma akú adresu v danej podsieti. To sa neskôr využíva pri usmerňovaní pacektov. K ARP sa však vratíme ešte neskôr.

V dolnej časti sa nachádzajú presné dáta, ktoré packet nesie a to sa líši packet od packetu a aj ako začiatnočníci by ste mohli pár zakládnych údajov vyčitať. S tým, že väčšine veci zatiaľ nerozumiete si ale rozhodne nelámte hlavu. Pravdepodobne im nebudete všetkým do jedného rozumieť ani najbližších pár mesiacov (možno rokov). Samozrejme je tam ešte hromada iných údajov, no nám stači stručný prehľad, inak by sme písali rovno aspoň tisíc stranovú knihu. V celkom spodnej časti je packet v hexadecimálnom kóde. K tomu si však viac povieme v kapitole o hardware-i. V tomto momente si však môžete gratulovať, práve ste zistil ako vyzerá taký sieťový packet – ten sa samozrejme pre cestu káblom preloží do binárneho kódu (1 a 0) ale o tom taktiež neskôr.

V momente ked sa pripájate ne nejakú stránky, váš počítač zašle hromadu packetov obsahujúcich všetky informácie, ktoré z vašej požiadavky vyplývajú. To znamená, že všetky dáta, ktoré sprostredtkúvajú internetovú komunikáciu, nájdete práve v nich. Samotné scanovanie packetov nám však na ceste stať sa profesionálom pravdepodobne nebude stačiť. Existujú spôsoby ako „písať“ vlastné packety. To znamená, že obsah môžeme prispôsobiť nám – na to však potrebujeme trocha viac znalostí a to bohužial tento stručný úvod nebude schopný pokryť. Ďalším programom je portscanner (existuju ich tony), no stiahnime si napríklad Advanced Port Scanner. Vypíšte IP adresu servera (tu získate napr. z pingu, ak zapnete príkazový riadok a napíšete ping soom.cz tak vám vypíše okrem ostatného aj adresu servera v podobe IP):

udsh5_2.jpg

Spustite porscanner. Mal by vám ukázať, ktoré porty su na danom serveri otvorené. Ak by ste raz v budúcnosti chceli posielať TCP/UDP packety manuálne na iný stroj, musíte vedieť aké porty ma otvorené.

udsh5_3.jpg

SMTPPOP3 značí mailslužbu, www-http zase to, že server pravdepodobne hostuje webové stránky, SSH (secure shell) umožňuje dialkové zasielanie príkazov pre server a FTP (File Transfer Protocol) zodpovedá za sťahovanie a nahrávanie dát.

Prečo sa nám teda znalosť protokolov ale vyplatí? Vráťme sa k už spomínanému ARP. Funguje zjednodušene asi takto: Odošle do celej podsiete (na Broadcast adresu) packet ako napr. „Who has 192.168.1.10?“. Počítače, ktoré túto adresu nemajú, packet proste „zahodia (discard)“. Odpovie len počítač, ktorý túto požiadavku spĺňa. Zariadenie (ktoré ARP packet pôvodne vyslalo) si túto informáciu zapamätá a zapíše (priradí IP adresu k „relatívne stálej“ MAC adrese). Následne keď mu príde packet určený napríklad pre „192.168.1.10“, vie kam ho odoslať.

Čo je nedostatkom ARP je to, že nemusíme čakať na „otázku“. Nemusíme čakať na zariadenie, aby sa spýtalo „Kto má adresu x.x.x.x?“. Môžeme mu rovno poslať niečo ako „Ja som x.x.x.x!“ a on si nás zaeviduje. Prečo je to chyba? Predstavme si jednoduchú podsieť. Router a 2 počítače s adresami X a Y, pričom Y prináleží nám. Môžeme však routeru zaslať „Ja som X!“ a on si nás zapíše pod adresou X a následne všetky dáta určené pre X pôjdu nám. Toto sa nazýva ARP spoofing prípadne sa to dá považovať aj za MITM útok (Man In The Middle – muž/človek v strede), pretože sa „postavíme“ medzi smerovacie zariadenie a našu obeť. Toto je však len jeden z množstva príkladov a ešte neodhalených nedostatkov.

ARP protokol je nutný preto, že väčšina PC nemá pevne stanovenú IP adresu ale je mu automaticky pridelená pri vstupe do siete takzvaným DHCP (Dynamic Host Control Protocol) tak, aby nenastal konflikt s iným strojom. Je to vlastne náhrada za manuálne vypľňanie adries. Ak by sme prišli so PC do nejakého bistra a museli si nastaviť IP adresu, tak by sme začali 192.168.1.1 -> Hups obsadená, tak ...1.2 -> obsadená. DHCP to rieší za nás a automaticky nám pridelí voľnú adresu. ARP zabezpečí to, že sa k stálej MAC adrese (ktorú prideľuje výrobca sieťovej karty – dá sa to však obísť) pridelí aj IP adresa.

Ak ešte predsa máte nejaké pochybnosti, či potrebujete lepšie vysvetliť určité veci (čo verím že nutné bude, zhrnúť tak komplexné štruktúry do pár odstavcov je nemožné, no zas nechcem viesť 100 dielnu sériu) dovolím si vám odporučiť krátky film Warriors of the Net, ktorý jednoduchým a záživným spôsobom objasňuje prácu internetových zariadení.

Ak ste týmto všetkým prešli, mali by ste mať hrubú predstavu o protokoloch – kľučovými poznatkami sú asi tieto veci: protokol diktuje ako má komunikácia prebiehať; pre rôzne účely existujú aj rôzne protokoly; existujú takzvané porty, ktorý odkazujú na aplikáciu v počítači. Ďalšia časť bude trocha menej technická - zameráme sa na internetovú bezpečnosť.