ARP attacker


I tidigare avsnitt har vi undersökt sårbarheter i IP, TCP och UDP. En viktig gemensam faktor för dessa protokoll är att säkerhet inte var en prioritet när TCP/IP-protokollsviten utvecklades. Detta påverkar inte bara själva transporten av data, utan även de adresstjänster som IP är beroende av, såsom: ARP, DNS och DHCP bland andra.

I detta avsnitt får du en översikt över dessa sårbarheter. I kommande delar kommer varje tjänst att analyseras mer ingående ur ett säkerhetsperspektiv.

Address Resolution Protocol – ARP

ARP är ett nätverksprotokoll som används för att identifiera och koppla en MAC-adress till en känd IP-adress i ett lokalt nätverk. Protokollet saknar inbyggda säkerhetsmekanismer, vilket gör protokollet sårbart och öppnar upp för flera typer av attacker.

När en enhet vill kommunicera med en annan enhet inom samma nätverk sker följande:

  1. Slutenheten skickar en ARP-förfrågan (broadcast)
  2. Alla enheter i nätverket tar emot förfrågan
  3. Den enhet som har rätt IP-adress svarar med ett ARP-svar
  4. Avsändaren lagrar MAC-adressen i sin ARP-tabell

Detta gör det möjligt att skicka data vidare på Layer 2.

Gratuitous ARP

Varje datorklient kan skicka ett ARP-svar, kallat ”gratuitous ARP”. Detta görs ofta när en datorklient startar för att informera alla andra enheter på det lokala nätverket om sin MAC-adress. När en dator sänder ett gratuitous ARP lagrar andra nätverksenheter på delnätet MAC-adressen och IP-adressen som finns i det gratuitous ARP i sina ARP-tabeller.

Denna funktion hos ARP innebär också att vilken datorklient som helst kan påstå sig vara ägare till vilken IP- eller MAC-adress som helst. En hotaktör kan förgifta ARP-cacheminnet hos datorerna på det lokala nätverket, vilket skapar en MITM (Man-In-The-Middle)-attack för att omdirigera trafiken.

Målet är att rikta in sig på ett offer, och få det att ändra sin standard gateway till hotaktörens enhet. Detta placerar hotaktören mellan offret och alla andra system utanför det lokala delnätet.

ARP Cache Poisoning

Figuren visar hur ARP cache poisoning kan uppstå i ett nätverk där även en hackare (hotaktör) finns närvarande. När PC-A behöver skicka trafik utanför sitt lokala nätverk måste den först ta reda på MAC-adressen till sin standard gateway, vilket i detta fall är R1 (192.168.10.1).

ARP processen

  1. PC-A skickar en ARP Request (broadcast) för att fråga efter MAC-adressen till 192.168.10.1
  2. R1 tar emot förfrågan och uppdaterar sin ARP-cache med IP- och MAC-adressen för PC-A
  3. R1 svarar med ett ARP Reply (unicast) som innehåller sin egen MAC-adress
  4. PC-A tar emot svaret och uppdaterar sin ARP-cache med R1:s IP- och MAC-adress

Efter detta kan PC-A skicka trafik till gatewayen korrekt. Men eftersom en hackare befinner sig i samma nätverk kan den också ta emot ARP-trafik, vilket gör det möjligt att manipulera ARP-tabeller hos både PC-A och R1.

I nästa steg skickar hackaren två falska ARP-meddelanden för att:

  • få PC-A tro att gatewayens MAC-adress är hackarens
  • få R1 att tro att PC-A har en MAC-adress som hackarens

Hotaktören genomför en ARP poisoning attack. ARP poisoning attacken kan vara passiv eller aktiv. Vid passiv ARP poisoning stjäl hotaktörer konfidentiell information. Vid aktiv ARP poisoning modifierar hotaktörer data under överföring eller injicerar skadlig data.

Notera: Det finns många verktyg tillgängliga på internet för att skapa ARP MITM-attacker inklusive dsniff, Cain & Abel, ettercap, Yersinia med flera.