ot Rumen_Yotov(30-08-2005)

reiting (37)   [ dobre ]  [ zle ]

Printer Friendly Variant za otpechatvane

ARP e mnogo prost protokol, sustoi se samo ot chetiri (4) bazovi tipa suobshteniia:
1.ARP zaiavka. Kompyutura A pita mrezhata (chrez 'broadcast' adresa) "Koi ima tozi IP (internet adres)?
2.ARP otgovor. Kompyutur B otgovaria na A, "Az imam tozi IP adres, i moiat MAC adres e ...".
3.Obratna ARP zaiavka (RARP). Kontseptsiiata e sushtata kakto v tochka 1, samo che tuk Kompyutur A pita, "Koi ima tozi MAC adres"?
4.RARP otgovor. Kompyutur B otgovaria na A, "Az imam tozi MAC adres, i moiat IP adres e ....".

Vsichki mrezhovi ustroistva imat ARP-tablitsa, suhraniavana vremenno v pametta na kompyutura. V neia se suhraniavat (po dvoiki) vsichki IP <---> MAC adresi ot lokalnata mrezha, koito do momenta sa supostaveni.
ARP-tablitsata sluzhi kato kesh pri posledvashti zapitvaniia.

ARP zaiavkata se izprashta na 'broadcast' adresa na mrezhata (za da bude poluchen ot vsichki kompyutri). V otgovor na tova zapitvane se izprashta otgovor samo do pitashtiia, kato v otgovora e posochen i MAC adresa na otgovariashtiia. V rezultat tazi dvoika IP-MAC se zapazva v ARP-kesha.

Za postigane na po-visoka efektivnost avtorite na ARP protokola sa go oprostili maksimalno (no da e rabotosposoben) no uvi glavno za smetka na sigurnostta (lipsva vsiakakva identifikatsiia).

V deistvitelnost v niakoi operatsionni sistemi ARP protokola e realiziran po takuv nachin, che dazhe ustroistva koito ne sa napravili zapitvane poluchavat otgovora (predpolagam che tova e napraveno pak e tsel po-visoka efektivnost - izbiagvane na povtorni zapitvaniia).

Sega da se pomuchim da se postavim na miastoto na edin kraker (narichan haker na populiaren zhargon). "Zashto da ne izpratia edin falshiv (no protokolno korekten) otgovor, koito da asotsiira dvoika proizvolno izbrani IP i MAC adresi". Taka spokoino mozhem da izluzhem vseki (nezashtiten) kompyutur v mrezhata. No i tova ne e vsichko, oshte po-dobre shte e "ako izpratia takuv/a otgovor/i na 'broadcast' adresa na mrezhata, taka shte izluzha vsichki navednuzh, eha".

Sega obratno kum realnostta. Dano ot tozi suvsem kratuk predgovor stane iasno zashto tazi ataka se naricha "Zaraziavane na ARP-kesha" a ne samo ARP-zaraziavane. Zarazeniiat kesh avtomaticheski se izchistva sled spirane i povtorno zarezhdane na operatsionnata sistema (dokato ne bude zarazen pak).

Vsichko opisano dotuk dava vuzmozhnost za niakolko vida ataki:
1. Otkaz ot usluga;
2. Atakuvasht po sredata;
3. MAC prepulvane.

Sega nakratno za vsiaka edna ot tiah.

1. Otkaz ot usluga. Kogato se izprati ARP-otgovor, asotsiirasht IP adresa na rutera na dadena mrezha s falshiv (nesushtestvuvasht) MAC-adres. Rezultat, tsialata mrezha gubi vruzka sus sveta.

2. Atakuvasht po sredata. Tova e edna "klasicheska" ataka. TSelta e da se prehvanat dannite predavani mezhdu dva kompyutura v mrezhata (ediniiat nai-chesto e gorespomenatiiat ruter). Taka tseliiat trafik na atakuvaniiat kompyutur minava purvo prez atakuvashtiia i chak sled tova se preprashta kum rutera (mezhduvremenno tozi trafik mozhe da se vidi/zapishe).

Vsichko tova se realizira samo s dva ARP otgovora. Edin do rutera, i toi sudurzha IP-adresa na atakuvaniiat kompyutur i MAC-adresa na atakuvashtiia i vtori - do atakuvaniiat kompyutur, s IP adresa na rutera i MAC-adresa na atakuvashtiia. Oshte edna podrobnost (vtorichna), triabva da se vklyuchi (ako ne e bil vklyuchen) rezhim "IP forwarding" v iadroto. Niakude v tozi trafik sa i Vashite paroli.

3. MAC prepulvane. Tova e edna tehnika, nasochena glavno kum mrezhovite prevklyuchvateli (switches). Niama da se obsuzhda razlikata mezhdu hub (hub) i prevklyuchvatel (switch). Vuzmozhnostta za takava ataka se krie v estestvenoto ogranichenie na pametta na vseki edin prevklyuchvatel (suich po natatuk, dumata veche e pochti prieta) kudeto se suhraniavat dannite na ARP-kesha. Realno kogato se poluchat prekaleno mnogo danni e vuzmozhno (v zavisimost ot proizvoditel/model i dr.) tazi pamet na suicha da se prepulni i toi da prevklyuchi v rezhim "hub", pri koito prosto "broadcast-va" tseliiat mrezhov trafik. Eventualniia uspeh na atakata zavisi iztsialo ot suicha (proizvoditel/model), no pri uspeh ostava samo da se nastroi mrezhovata karta v suotveten rezhim i taka da se sledi tseliiat trafik v mrezhata.

Sega sled tolkova mnogo FUD (strah/nesigurnost/sumnenie) da suobshtim i niakoi (otnositelno) dobri novini. Edno zadulzhitelno uslovie za izvurshvane (vuobshte) na takava ataka e nalichieto na dostup do niakoi kompyutur v lokalnata mrezha. Atakata ne mozhe da se izvurshi otdalecheno (samo otblizo ;-)
Tia mozhe da bude izvurshena samo vurhu kompyutri, koito slushat na suotvetniia "broadcast" adres.

Sega napulno spored traditsiiata i loshata novina ;-) Tui kato vuzmozhnostta za ataka e zalozhena v protokol, koito e chast ot mrezhoviia TCP/IP protokol, vuzmozhnostta za ataka ne mozhe da se izbegne (pone ne v ethernet, kudeto vsiaka mrezhova karta ima i polzva MAC-adresa si). Niakoi da kazhe ako luzha tuk.

Sega hronologicheski sledvat i niakoi nachini za zashtita (inache zashto vuobshte se zanimavame s tova ?).

ZA MALKI MREZHI
Edna chesto izpolzvane vuzmozhnost e zadavaneto na statichni dvoiki adresi (IP <---> MAC) i suotvetno statichna ARP-tablitsa. Pri startirane/izpulniavane na "ifconfig" za NIX operatsionni sistemi ili (za pulnota) "ipconfig /all" za razlichnite versii na Windows (tm), mogat da se vidiat suotvetnite MAC adresi na ustroistvata (lokalni). Kak li stava za otdalechenite ? [hint: NMAP]. Ima i drugi instrumenti.

CHrez izpulnenie na "arp -s hostname/IP  MAC" (vizh "man arp", haide sega pak li chetene) mozhe da se dobaviat statichni danni v ARP-kesha. Statichni tuk oznachava postoianni (dori sled restartirane). Ili puk za da dokazhem,che i drugi osven hakerite mogat da misliat (e pone malko de) da slozhim tezi komandi v skript,koito estestveno da se starira oshte pri nachalno zarezhdane na operatsionnata sistema.

Problema s tova reshenie (pak li problem) e che to raboti dobre samo za "otnositelno" malki mrezhi, primerno do 20-tina mashini i vuobshte ne raboti za mrezhi v koito adresite se poluchavat chrez DHCP i suotvetno IP adresite se meniat.

ZA GOLEMI MREZHI
Tuk reshenieto/iata sa drugi. Purvo proverete dali Vashiiat (ili chuzhd) suich ima rezhim "Port Security", ako za shtastie ima go vklyuchete. Pri tozi rezhim suicha pozvoliava samo po edin (postoianen) MAC adres na vseki fizicheski port, koeto predpazva mrezhata (kompyutrite) ot ARP-ataki. Korporativno reshenie.

ZASHTITI ZA VSQKAKVI MREZHI
Eto tova e za men. Mnogo vazhna predpostavka za uspeshna zashtita e da znaete kak raboti ARP-protokola i suotvetno da go sledite. Edin instrument za tova e "arpwatch" (tova puk kude e? pitai Google za da nauchish ;) Tuk v vremeto i miastoto da spodelia i malko vpechatleniia ot moiata rabota s "arpwatch".
Nakratko programata raboti kato "demon" koito sledi ARP-tablitsata i pri promiana izprashta suobshteniia (meil do "root") kudeto dava dostatuchna informatsiia. Naprimer:
...BEGIN...
Subject: new station (connection-005.ISP.net)

           hostname: connection-005.ISP.net
         ip address: 192.168.1.5
   ethernet address: 0:b:41:1d:d2:5c
    ethernet vendor: <unknown>
          timestamp: Monday, August 29, 2005 22:05:54 +0300
...END...
Pismo za vseki nov adres. V nachaloto generira dosta trafik, sled tova neshtata se uspokoiavat.

Eto i neshto koeto da vi nakara da proverite/deistvate:
...BEGIN...
Subject: changed ethernet address (connection-042.ISP.net)

           hostname: connection-042.ISP.net
         ip address: 192.168.1.42
   ethernet address: 0:c:6e:2b:55:ee
    ethernet vendor: <unknown>
old ethernet address: 0:8:c7:29:a6:7e
old ethernet vendor: COMPAQ COMPUTER CORPORATION
          timestamp: Saturday, August 27, 2005 9:55:33 +0300
 previous timestamp: Wednesday, August 24, 2005 23:04:40 +0300
              delta: 2 days
...END...
Zabelezhka: niakoi danni (adresi & MAC-ove) v dvata primera sa promeneni.
Pone na tozi etap za men tova e koeto znam/vidiah. Ne sum se rovil nadulboko.

Drugo reshenie (a dali e takova):
Potursete za "arpstar" (vizh za Google po-gore). Tova e kurnul-modul koito suobshtava i *predpazva* ot ARP-ataki.
Proekta e otnositelno nov, no ima dori ;-) grafichen instrument (alpha) koito izvestiava za ataka/i.
Dokolkoto razbiram rabotata na tozi "grafichen instrument" e da grep-va zadaden log i kogato otkrie ARP da signalizira (tuk mozhe i da gresha). Logovete mu sa sistemnite logove.
(Zabelezhka: ne sum siguren dali *predpazva*, no taka pishe na saita na proekta).

Namerih i edna programa za Windows potrebiteli: [Xarp-0.1.5] adres: http://www.chrismc.de/

Treto reshenie:
To mai nai mi haresva - naistina e universalno ;-)
Izpolzvaite kriptirani vruzki (kudeto e vuzmozhno), taka dori i da vi prehvanat trafika niama kak (obshto vzeto) da go dekriptirat i slediat. Izpolzvam go za moiata poshta i drugade kudeto mozhe.

Sega kratko zaklyuchenie/obiasnenie.
Ideiata za podobna statiia (kak zvuchi samo) se poiavi predi okolo sedmitsa (ne zaradi konkursa, mnogo me murzi naposleduk) a doide ot vupros vuv foruma za programa/i za zashtita ot ARP-spoof ataki. Tui kato dosega izpolzvah osnovno (po skoro za proba) "arpstar" (ne sum polzval statichni danni) reshih da se porovia i tova e koeto za chas/dva otkrih sled tova niakolko dena asimilirane i mislene dali vuobshte da pisha neshto, ima oshte planini ot informatsiia.

Napisanoto e po-skoro kompilatsiia ot tuk i tam kato edinstvenoto moe dopulnenie sa niakoi komentari i primerite ot realnoto polzvane na programite.

Sega mi doide i ideia za polzata ot edno Wikki v linux-bg.org, kudeto mozhe da napishesh i neshto ne suvsem zavursheno ili puk da dobavish neshto kum veche napisanoto ot drugi.
Tova bi spestilo i dosta ot vuprosite/problemite vuv forumite, vmesto FAQ (puk e i po-lesno za poddurzhane, mai).

PS1:niama da se obidia ako tova vuobshte ne se publikuva na saita, no po-kusno edva li shte go dopulnia.
PS2:Priema se i vsiakakva kritika osobeno polezni dopulneniia, poiasneniia korektsii na greshki i t.n. Osnovnata tsel/ideia tuk e da se postavi vuprosa i se dadat niakoi resheniia, idei, opiti i mneniia.

Rumen Iotov


<< Postfix s TLS podruzhka | Kak da "svaliame" Debian s Jigdo ot bulgarskite ogledala. >>