Skip to main content
  1. Concetti/

ICMP, MAC e IP - Identità e Diagnostica di Rete

·4 mins
Alessio Barnini
Author
Alessio Barnini
Table of Contents

Cos'è
#

Tre concetti fondamentali del networking: IP identifica dove sei nella rete (indirizzo logico), MAC identifica chi sei fisicamente sulla LAN (indirizzo hardware), ICMP è il protocollo di diagnostica usato da ping e traceroute.

IP vs MAC — due livelli diversi
#

MODELLO OSI
───────────────────────────────────────────
Layer 3 — Network    →  IP Address
                         identifica dove sei nella rete
                         cambia se cambi rete
                         es. 192.168.1.45

Layer 2 — Data Link  →  MAC Address
                         identifica chi sei fisicamente
                         hardcoded nel firmware della scheda
                         non cambia (in teoria)
                         es. 00:1A:2B:3C:4D:5E
───────────────────────────────────────────

Nella LAN:     i dispositivi si trovano tramite MAC (ARP)
Fuori dalla LAN: il MAC non viaggia più, conta solo l'IP

MAC Address
#

Struttura: 6 byte in esadecimale
00:1A:2B : 3C:4D:5E
────────   ────────
OUI        NIC specific
(primi 3)  (ultimi 3)

OUI = Organizationally Unique Identifier
      identifica il produttore della scheda
      es. 00:1A:2B = produttore X

MAC Spoofing:

Scenario reale:
  Firewall configurato → permette solo MAC dell'amministratore
  Attaccante scopre il MAC → lo impersona (spoof)
  Firewall convinto → traffico malevolo passa

Usato anche legalmente:
  Hotel/café Wi-Fi → controllo accessi per MAC
  Cambio MAC → bypass del filtro

ICMP — Internet Control Message Protocol
#

Non trasporta dati applicativi.
Trasporta messaggi di diagnostica e controllo di rete.

Struttura header ICMP:

┌───────────────┬───────────────┬───────────────────────────────┐
│     Type      │     Code      │           Checksum            │
├───────────────┴───────────────┼───────────────────────────────┤
│          Identifier           │        Sequence Number        │
├───────────────────────────────┴───────────────────────────────┤
│                       Data (payload)└───────────────────────────────────────────────────────────────┘

Type  → tipo messaggio    Code → sottotipo
─────────────────────────────────────────
  0     Echo Reply        —      risposta al ping
  8     Echo Request      —      ping in uscita
  3     Dest. Unreachable 0      rete non raggiungibile
                          1      host non raggiungibile
                          3      porta non raggiungibile
 11     Time Exceeded     0      TTL scaduto (usato da traceroute)

Flusso ping:

[Tu]                              [8.8.8.8]
  │                                   │
  │── ICMP Type 8 (Echo Request) ────►│
seq=1, ttl=64  │                                   │
  │◄─ ICMP Type 0 (Echo Reply) ───────│
seq=1, ttl=118, time=12ms       │

TTL — Time To Live:

Ogni router che il pacchetto attraversa decrementa TTL di 1.
Quando TTL = 0 → il router scarta il pacchetto
               → manda ICMP Type 11 (Time Exceeded) al mittente

Questo meccanismo è la base di traceroute:
  manda pacchetti con TTL=1, poi TTL=2, poi TTL=3...
  ogni router risponde con ICMP Time Exceeded
  → mappa il percorso hop per hop

Perché è importante per Blue Team
#

MAC spoofing  → bypass firewall basati su MAC whitelist
                rilevabile confrontando ARP table con MAC attesi

ICMP          → ping flood = DoS elementare
                ICMP tunnel = esfiltrazione dati nascosta in ping
                Bloccare ICMP completamente = problema diagnostica

IP vs MAC     → capire ARP è fondamentale per rilevare ARP poisoning
                (attacco MITM su LAN)

Scenario Reale
#

Un analista vede traffico ICMP anomalo nel SIEM — centinaia di Echo Request al secondo verso un host interno. Potrebbe essere un ping flood (DoS) o un ICMP tunnel (malware che esfila dati nascondendoli nei pacchetti ping). Analizza il payload ICMP con Wireshark: se il campo Data contiene dati non standard, è tunneling.

Dove l'ho incontrato
#

  • network-fundamentals — TryHackMe modulo 2

Caso Reale — MAC Spoofing in Hotel
#

SCENARIO: Hotel fa pagare la connessione per dispositivo

[Laptop]   MAC: AA:BB:CC  → paga → autorizzato ✅
[Telefono] MAC: 11:22:33  → non pagato → bloccato ❌

Attacco:

1. Scopri il MAC del laptop (già autorizzato)
2. Cambia il MAC del telefono → cloni AA:BB:CC
3. Il router vede AA:BB:CC → pensa sia il laptop
4. Telefono passa ✅

⚠️  MA: laptop e telefono NON possono essere connessi insieme
    stesso MAC sulla stessa rete = conflitto
    i pacchetti vanno a caso su uno dei due
    connessione instabile su entrambi

FUNZIONA SOLO SE:
  → il laptop è disconnesso (prendi il suo posto)
  → oppure sei su segmenti di rete separati

Come lo rileva il Blue Team:

Switch managed vede stesso MAC su due porte diverse
Alert → "duplicate MAC detected"
   possibili cause:
   ├── MAC spoofing in corso
   └── errore di configurazione

Contromisure:
  - Port Security (blocca porta se MAC duplicato)
  - Dynamic ARP Inspection (DAI)
  - 802.1X authentication (autenticazione per certificato, non MAC)

Risorse
#

Collegato a
#

Related