într-un mediu de rețea pornit, pachetele sunt trimise la portul de destinație prin adresa MAC. Acest proces necesită ca sistemele din rețea să mențină un tabel care asociază adresele MAC la porturi. Într-un mediu comutat, pachetele sunt trimise numai dispozitivelor pentru care sunt destinate. Chiar și în acest mediu comutat, există modalități de a mirosi pachetele altor dispozitive. Un astfel de mod este să vă falsificați adresa MAC și să otrăviți tabelul ARP. Deoarece ARP nu păstrează informații de stare, memoria cache ARP poate fi suprascrisă (cu excepția cazului în care o intrare este marcată Explicit ca permanentă).
otrăvirea cache-ului ARP pune atacatorul în poziția de a intercepta comunicațiile între cele două computere. Computerul a crede că comunică cu computerul B, dar din cauza tabelului ARP otrăvit, comunicarea merge de fapt la computerul atacatorului. Atacatorul poate apoi fie să răspundă la computerul A (pretinzând că este computerul B), fie pur și simplu să transmită pachetele către destinația dorită, dar numai după ce informațiile despre pachete sunt capturate și înregistrate pentru o utilizare ulterioară de către atacator. De asemenea, răspunsul de la computerul B poate fi capturat și înregistrat de atacator, care a folosit și otrăvirea Arp pentru a face computerul B să creadă că computerul atacatorului este computerul A. Acest tip de atac este cunoscut sub numele de omul din mijloc atac.
acest articol acoperă o serie de instrumente utilizate în atacurile de otrăvire cache ARP, inclusiv ettercap, arpspoof, nemesis, p0f, dsniff și scapy.
rularea Ettercap
pentru otrăvirea cache ARP să aibă loc, atacatorul trebuie să fie în același segment de rețea ca sistemele atacate. Primul pas este obținerea unei liste de adrese IP și adresele MAC asociate acestora. Mai multe instrumente vă vor ajuta să obțineți aceste informații; un exemplu este un instrument numit ettercap (http://ettercap.sourceforge.net/). Ettercap este o suită pentru om în atacurile de mijloc pe un LAN local. Acesta dispune de sniffing de conexiuni live, filtrarea conținutului pe zbor, și mai mult. Ettercap sprijină disecție activă și pasivă a multor protocoale unele dintre mai multe protocoale. Următoarea comandă:
# ettercap -T -M arp:remote //
va mirosi rapid toate gazdele din subrețea; pentru a vizualiza rezultatele, tastați l sau apăsați h pentru meniul de ajutor și veți vedea o listă de comenzi.
ARP cache DOS
pentru a otrăvi ARP o anumită adresă IP și a bate sistemul offline, astfel încât să nu poată comunica cu nimeni, utilizați arpspoof din suita dsniff (http://monkey.org/~dugsong/dsniff/), o colecție gratuită de instrumente pentru auditarea rețelei și testarea penetrării. Suita dsniff include instrumente precum dsniff, filesnarf, mailsnarf, nsgsnarf, urlsnard și webspy, care monitorizează pasiv o rețea pentru date interesante. (Instrumentele arpspoof, dnsspoof și macof facilitează interceptarea traficului de rețea indisponibil în mod normal unui atacator din cauza comutării layer-2.)
arpspoof (http://arpspoof.sourceforge.net/) este mult mai simplu decât ettercap pentru redirecționarea pachetelor:
# arpspoof-i eth0-t < țintă> gazdă
specificarea interfeței este opțională, dar necesară dacă există mai multe interfețe. Opțiunea-t specifică gazda particulară la ARP poison; dacă gazda nu este specificată, toate gazdele de pe LAN vor fi otrăvite. Gazda poate fi gateway-ul implicit, iar acest lucru va împiedica ținta să comunice dincolo de segmentul local. Arpspoof redirecționează pachetele de la o gazdă țintă sau toate gazdele de pe LAN prin falsificarea răspunsurilor arp. Frumusețea acestui program provine din funcția arp_send (), care folosește și libnet pentru a falsifica pachetele. arp_send () trimite un pachet arp cu adrese hardware sursă/țintă IP și Ethernet furnizate de utilizator. Libnet este un API generic de rețea care oferă acces la mai multe protocoale.
pentru a înțelege mai bine procesul de otrăvire a cache-ului ARP, luați în considerare un instrument alternativ numit Nemesis. Dacă aveți IP-ul și MAC-ul țintei și gazdei intenționate,puteți utiliza Nemesis pentru a otrăvi ținta. Nemesis (http://nemesis.sourceforge.net/) este un pachet de rețea de linie de comandă crafting și utilitate injecție. Nemesis poate crea și injecta pachete ARP, DNS, ETHERNET, ICMP, IGMP, IP, OSPF, RIP, TCP și UDP. Prin crearea propriului pachet folosind Nemesis, puteți vedea cum funcționează otrăvirea cache-ului ARP:
$ sudo nemesis arp -v -r -d eth0 -S 192.168.1.2 \-D 192.168.1.133 -h 00:22:6E:71:04:BB -m 00:0C:29:B2:78:9E \-H 00:22:6E:71:04:BB -M 00:0C:29:B2:78:9E
apoi creați un pachet pentru a trimite în cealaltă direcție:
$ sudo nemesis arp -v -r -d eth0 -S 192.168.1.133 \-D 192.168.1.2 -h 00:22:6E:71:04:BB -m 00:22:6B:7E:AD:7C \-H 00:22:6E:71:04:BB -M 00:22:6B:7E:AD:7C
aceste două comenzi spoof ARP răspunde de la 192.168.1.2 la 192.168.1.133 apoi de la 192.168.1.33 la 192.168.1.2. Opțiunea Nemesis Arp-s specifică adresa IP sursă, – d specifică adresa IP de destinație, -h specifică adresa MAC a expeditorului, -m afișează adresa MAC țintă,- H adresa MAC sursă și-M adresa MAC destinație. Aceste două comenzi trimit răspunsuri false ARP pentru a menține cache-urile ARP otrăvite și redirecționarea traficului.
pentru a vă asigura că memoria cache rămâne otrăvită, redați comenzile la fiecare 10 secunde cu o buclă.
$ while true>do> sudo nemesis arp -v -r -d eth0 -S 192.168.1.2 \-D 192.168.1.133 -h 00:22:6E:71:04:BB -m 00:0C:29:B2:78:9E \-H 00:22:6E:71:04:BB -M 00:0C:29:B2:78:9E> sudo nemesis arp -v -r -d eth0 -S 192.168.1.133 \ -D 192.168.1.2 -h 00:22:6E:71:04:BB -m 00:22:6B:7E:AD:7C \-H 00:22:6E:71:04:BB -M 00:22:6B:7E:AD:7C> echo "Redirecting"> sleep 10> done
odată ce se face acest lucru, caseta vizată va fi dezactivată și nu va putea comunica cu restul rețelei. Am făcut un videoclip pe site-ul meu care demonstrează acest atac și este disponibil la http://pbnetworks.net.
Sniffing LAN
un obiectiv de otrăvire cache ARP este de a pune atacatorul în poziția de a capta și jurnal de informații de rețea. Intrușii au mai multe instrumente pentru a asculta pe LAN și datele de logare pentru o analiză ulterioară.
modul bridge al Ettercap vă permite să interceptați pachete pe care le puteți citi, mirosi sau modifica înainte de a le trimite victimei. Modul Bridge necesită două interfețe care sunt plasate în segmentul de rețea. Dacă configurați în linie cu modul bridge network, sunteți foarte greu de detectat.
# ettercap -Tq -i eth0 -B eth1
– i setează interfața primară ca eth0,- B setează a doua interfață de legătură. Dacă executați ettercap în interfața cu utilizatorul GTK+, selectați Sniff | Bridged sniffing.