Otrăvire ARP

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În domeniul securității computerelor , otrăvirea ARP (literalmente otrăvirea ARP , falsificarea ARP) este o tehnică de hacking care permite unui atacator, într-o rețea comutată , să efectueze un om în mijlocul atacului. Toate mașinile care se află în același segment de rețea atunci când acestea funcționează la nivelul 3, adică interconectarea cu alte subrețele, schimbând trafic IP datorită utilizării manipulărilor adecvate prin protocoalele de nivel 2 . Intoxicația ARP este principala tehnică de atac pe rețelele LAN schimbate astăzi. Acesta constă în trimiterea intenționată și forțată a răspunsurilor ARP care conțin date inexacte sau, mai bine, care nu corespund cu cele reale. În acest fel, tabelul ARP ( cache de intrare ARP ) al gazdei va conține date modificate (de aici și termenii otrăvire , otrăvire literală și falsificare , înșelăciune). De foarte multe ori scopul acestui tip de atac este de a redirecționa, într-o rețea comutată , pachetele destinate unei gazde la alta pentru a citi conținutul acestora pentru a captura parolele care în unele protocoale călătoresc în clar.

Introducere

Necesitatea de a practica acest atac se datorează faptului că în rețelele Ethernet recente hub - urile au fost înlocuite cu switch-uri , care, spre deosebire de primele, datorită tabelei CAM , permit redirecționarea traficului doar către gazda de destinație, făcând astfel orice încercare de sniffing. ineficient (în rețelele vechi cu hub-uri, de fapt, toate pachetele ajung la toate gazdele și, prin urmare, nu este nevoie să vă schimbați adresa MAC pentru a primi pachete destinate altei gazde).

Operațiune

Acest atac se bazează pe o slăbiciune inerentă a protocolului ARP : lipsa unui mecanism de autentificare .

Ethernet , cel mai popular standard pentru rețelele locale, identifică gazde pe baza unei adrese de 48 de biți numită MAC , spre deosebire de Internet, unde fiecare gazdă este mapată utilizând protocolul IP pe 32 de biți .

Protocolul ARP se ocupă cu gestionarea asocierii dintre adresele IP și adresele MAC. Această asociere, în Ethernet , se face înainte de orice fel de comunicare. Există două tipuri de mesaje din protocolul ARP: cerere ARP (efectuată în transmisie ) și răspuns ARP (efectuată în unicast ). O gazdă ipotetică 192.168.1.1 care dorește să comunice cu gazda 192.168.1.2 va trimite o cerere ARP în transmisie cu MAC-ul său, adresa IP și adresa IP de destinație; când 192.168.1.2 primește cererea ARP, acesta va răspunde cu un răspuns ARP destinat pentru sursa MAC și care conține propriul MAC. Pentru a optimiza performanța și a limita traficul, aceste informații (adresa IP de asociere / adresa MAC) sunt stocate în tabelul ARP ( cache ARP) al fiecărei gazde, astfel încât să nu fie necesar să faceți cereri continue pentru adresele posibile ulterioare către terminalele gazdă deja cunoscute. Pentru a îmbunătăți în continuare performanța la primirea răspunsurilor ARP (unele chiar și cu cereri ARP), chiar dacă nu sunt solicitate, gazdele își actualizează informațiile cache ARP.

Solaris implementează o gestionare personalizată a cererii / răspunsului ARP, de fapt actualizează înregistrările tabelului ARP doar dacă acestea sunt deja prezente. Aceasta este o problemă suplimentară pentru atacator, chiar dacă este ușor de rezolvat: este suficient să trimiteți un pachet de solicitare de ecou ICMP către gazda Solaris pentru a-l obliga să răspundă și să utilizeze inevitabil ARP, adăugând astfel o înregistrare la tabelul său ARP.

Acum să analizăm următorul scenariu:

  • Atacant: IP = 192.168.1.2, MAC = 00: 00: 00: ZZ: ZZ: ZZ
  • John: IP = 192.168.1.13, MAC = 00: 00: 00: JJ: JJ: JJ
  • Linus: IP = 192.168.1.88, MAC = 00: 00: 00: LL: LL: LL

Cache-urile ARP ale fiecărei gazde înainte de atac vor fi:

  • Pentru atacator:
    • 192.168.1.2, MAC = 00: 00: 00: ZZ: ZZ: ZZ
    • 192.168.1.13, MAC = 00: 00: 00: JJ: JJ: JJ
    • 192.168.1.88, MAC = 00: 00: 00: LL: LL: LL
  • Pentru John:
    • 192.168.1.2, MAC = 00: 00: 00: ZZ: ZZ: ZZ
    • 192.168.1.13, MAC = 00: 00: 00: JJ: JJ: JJ
    • 192.168.1.88, MAC = 00: 00: 00: LL: LL: LL
  • Pentru Linus:
    • 192.168.1.2, MAC = 00: 00: 00: ZZ: ZZ: ZZ
    • 192.168.1.13, MAC = 00: 00: 00: JJ: JJ: JJ
    • 192.168.1.88, MAC = 00: 00: 00: LL: LL: LL

Pentru a efectua otrăvirea ARP , atacatorul va trimite răspunsurile ARP construite / modificate corespunzător: lui John îi va trimite un răspuns care are IP - ul lui Linus ca IP (192.168.1.88), dar propriul MAC ca MAC (00: 00: 00: ZZ : ZZ: ZZ), Linus va trimite un răspuns cu IP - ul lui John (192.168.1.13) și cu MAC, tot de data aceasta, a lui (00: 00: 00: ZZ: ZZ: ZZ). Pentru a prelungi atacul, este necesar să trimiteți răspunsuri ARP la fiecare 10 secunde, deoarece sistemele de operare șterg adesea sistematic intrările din memoria cache ARP după o anumită perioadă de timp.

Deci, după atac, cache-urile ARP ale fiecărei gazde vor fi otrăvite, falsificate sau corupte:

  • Pentru atacator:
    • 192.168.1.2, MAC = 00: 00: 00: ZZ: ZZ: ZZ
    • 192.168.1.13, MAC = 00: 00: 00: JJ: JJ: JJ
    • 192.168.1.88, MAC = 00: 00: 00: LL: LL: LL
  • Pentru John:
    • 192.168.1.2, MAC = 00: 00: 00: ZZ: ZZ: ZZ
    • 192.168.1.13, MAC = 00: 00: 00: JJ: JJ: JJ
    • 192.168.1.88, MAC = 00: 00: 00: ZZ: ZZ: ZZ
  • Pentru Linus:
    • 192.168.1.2, MAC = 00: 00: 00: ZZ: ZZ: ZZ
    • 192.168.1.13, MAC = 00: 00: 00: ZZ: ZZ: ZZ
    • 192.168.1.88, MAC = 00: 00: 00: LL: LL: LL

Când cele două victime, John și Linus, stabilesc comunicarea între ele, vor crede că comunică între ele, dar în realitate vor comunica cu atacatorul care, pentru a arăta transparență și regularitate în comunicarea dintre cele două gazde și, prin urmare, continuă pentru a adulmeca traficul aferent, va redirecționa traficul de la John la Linus și invers versiunea de la Linus la John, creând astfel un MITM .

După implementarea MITM, atacatorul va putea apoi să adulmece sau să citească tot traficul în clar, cum ar fi parola telnet , ftp , pop3 , irc etc. și, de asemenea, poate modifica și crea pachete noi.

Implementare

Există mai multe instrumente pentru astfel de atacuri, dar probabil cel mai cuprinzător este Ettercap , disponibil pentru diferite sisteme de operare, cum ar fi Linux , * BSD, Windows și macOS . Acest instrument avansat și puternic oferă multe posibilități de configurare. Poate fi folosit atât prin gui, cât și prin linia de comandă . Există, de asemenea, posibilitatea de a crea filtre personalizate, pentru sniffing, utilizând un limbaj derivat din filtrul de pachete Berkeley .
Cu Ettercap pentru a realiza o otrăvire ARP și MITM-ul consecvent, dați următoarea comandă:

 ettercap -i interface -T -q -M ARP / hostname1 / / hostname2 /

Pentru a efectua otrăvirea arp pe întregul segment de rețea , această comandă va fi suficientă:

 ettercap -i interface -T -q -M ARP // //

Urme rămase

Urmele lăsate de atacator constau din propria adresă MAC conținută în memoria cache ARP a victimelor și acest fapt este de fapt exploatat în unele tehnici de protecție împotriva acestui tip de atac printr-o simplă detectare a anomaliilor.

Contramăsuri

Utilizarea tabelelor IPv6 , IPsec sau statice ARP sunt metode care se pot dovedi o apărare eficientă împotriva atacurilor de falsificare ARP. Evident, este de neimaginat să mențineți actualizate tabelele ARP ale fiecărei gazde dintr-o rețea mare pentru a urmări eventualele discrepanțe dintre adresa IP și adresa MAC din atac. Alte soluții ar putea fi:

  • O soluție open source este ArpON „ARP handler inspection”. ArpON este un daemon portabil care face protocolul ARP sigur împotriva atacurilor Man in the Middle (MITM) prin tehnici ARP Spoofing, ARP Cache Poisoning, ARP Poison Routing (APR).
  • utilizați software precum arpwatch care examinează activitățile de rețea și evidențiază discrepanțele sau ca OpenAAPD , un demon anti-otrăvire ARP pentru OpenBSD sau un sistem de detectare a intruziunilor (IDS) precum Snort .
  • utilizați securitatea portului pe comutatoare sau asigurați-vă că pentru fiecare port al dispozitivului poate exista o singură adresă MAC .
  • SARP sau Secure ARP [1] , o extensie a protocolului ARP care se bazează pe criptare asimetrică, astfel încât să poată autentifica expeditorul.

Utilizarea legitimă a falsificării ARP

Spoofingul ARP poate fi utilizat și în scopuri legitime. Un exemplu poate fi cel al instrumentelor de autentificare a rețelei care redirecționează gazdele neînregistrate către o pagină de autentificare înainte de a permite accesul complet la rețea , ca în cazul tehnicii portalului captiv .

Tehnici alternative

Există tehnici alternative la otrăvirea ARP pentru sniffing lan comutat . Inundația MAC permite, de fapt, să exploateze o slăbiciune în funcționarea comutatoarelor , pe baza faptului că tabela CAM , memoria cu care aceste dispozitive țin evidența adreselor MAC și a portului asociat relativ, are resurse finite. Atunci când acest lucru este inundat de adrese MAC , care își epuizează resursele, comutatorul intră într-o stare numită deschidere nereușită și trimite trafic către toate porturile, la fel ca orice hub , făcând posibilă adulmecarea . Uneori, unele comutatoare nu se deschid, ci se închid blocând astfel toate porturile și, prin urmare, tot traficul întregului segment de rețea . Acest tip de atac, care implică doar adrese MAC și nu adrese IP, poate fi, prin urmare, considerat ca fiind nivelul 2 . De asemenea, nivelul 2 este atacul furtului portului .

Notă

  1. ^ (RO) D. Bruschi, A. Ornaghi, E. Rosti, „S-ARP: a Secure Address Resolution Protocol”, în Conferința de aplicații de securitate computerizată, Conferința anuală anuală de aplicații de securitate computerizată (ACSAC '03), 8 decembrie 2003, p. 66, DOI : 10.1109 / CSAC.2003.1254311 , ISBN 0-7695-2041-3 . Adus pe 27 septembrie 2010 .

Bibliografie

  • ( EN ) Jon Erikson, HACKING the art of expolitation , ediția a II-a, San Francisco, NoStarch Press, 2008 [1977] , p. 241, ISBN 1-59327-144-1 .

Elemente conexe

linkuri externe

Securitate IT Portal de securitate IT : accesați intrările Wikipedia care se ocupă cu securitatea IT