HowtoSicurezza Informatica

Hackerare computer con un ping? Ping e progetto Loki.

Datemi un canale valido di comunicazione.

Come hackerare un computer ? No, molto di più. Il protocollo Internet Control Message Protocol  lavora a livello IP. L’ICMP non è un protocollo di trasporto. Si tratta di un protocollo senza connessione utilizzato per trasmettere messaggi di errore e altri informazioni a indirizzi unicast. I pacchetti ICMP sono incapsulati all’interno di datagramm IP. I primi 4 byte dell’intestazione sono gli stessi per ogni messaggio ICMP, con il resto dell’intestazione diverso per i diversi tipi di messaggi ICMP.

Internet Control Message Protocol (ICMP)

L’Internet Control Message Protocol (ICMP) è un protocollo di supporto nella suite di protocolli Internet. Viene utilizzato dai dispositivi di rete, compresi i router, per inviare messaggi di errore e informazioni operative che indicano, ad esempio, che un servizio richiesto non è disponibile o che un host o un router non può essere raggiunto. L’ICMP si differenzia dai protocolli di trasporto come TCP e UDP in quanto non è tipicamente utilizzato per lo scambio di dati tra sistemi, né è regolarmente utilizzato da applicazioni di rete degli utenti finali (ad eccezione di alcuni strumenti diagnostici come ping e traceroute).

Un messaggio ICMP viene creato come risultato di errori in un datagramma IP o a scopo diagnostico. Questi errori sono segnalati all’indirizzo IP di origine del datagramma originario. Un messaggio ICMP è incapsulato direttamente all’interno di un singolo datagramma IP e segnala errori nell’elaborazione dei datagrammi.

Un’intestazione ICMP inizia dopo l’intestazione IPv4. Un pacchetto ICMP ha un’intestazione di otto byte, seguita da una sezione dati di dimensioni variabili. I primi quattro byte dell’intestazione sono fissi:

ICMP type
ICMP code
Checksum of the entire ICMP message
Checksum of the entire ICMP message
I restanti quattro byte dell’intestazione variano in base al tipo e al codice ICMP.

Il messaggio di errore associato all’ICMP include una sezione dati che contiene l’intera intestazione IP insieme ai primi otto byte del pacchetto che ha generato il messaggio di errore. Un datagramma ICMP viene poi incapsulato in un nuovo datagramma.

hackerare computer con un ping
pacchetto ICMP – hackerare computer con un ping

Tipo messaggio ICMP 

  • Echo Reply (Ping Reply, used with Type 8, Ping Request)
  • Destination Unreachable
  • Source Quench
  • Redirect
  • Echo Request (Ping Request, used with Type 0, Ping Reply)
  • Router Advertisement (Used with Type 9)
  • 10 Router Solicitation (Used with Type 10)
  • 11 Time Exceeded
  • 12 Parameter Problem
  • 13 Timestamp Request (Used with Type 14)
  • 14 Timestamp Reply (Used with Type 13)
  • 15 Information Request (obsolete) (Used with Type 16)
  • 16 Information Reply (obsolete) (Used with Type 15)
  • 17 Address Mask Request (Used with Type 17)
  • 18 Address Mask Reply (Used with Type 18)

 

ICMP oxo e ox8

 

Quindi esistono 15 diversi tipi di messaggi ICMP.

I tipi ICMP di cui ci occupiamo sono il tipo 0x0 e il tipo 0x8.
L’ICMP tipo 0x0 specifica un ICMP_ECHOREPLY (la risposta) e un tipo 0x8 indica un ICMP_ECHO (la query). La linea d’azione normale è la seguente per un tipo 0x8 per ottenere una risposta di tipo 0x0 da un server di ascolto.  (Normalmente, questo server è in realtà il kernel del sistema operativo dell’host di destinazione. La maggior parte del traffico ICMP è, per impostazione predefinita, gestito dal kernel). Questo è ciò che il “programma ping” fa.

Ping invia uno o più pacchetti ICMP_ECHO a un host. Lo scopo può essere solo quello di determinare se un host è effettivamente raggiungibile. I pacchetti ICMP_ECHO hanno anche la possibilità  di includere una sezione dati. Questa sezione di dati viene utilizzata quando viene specificata l’opzione percorso di registrazione o, nel caso più comune (solitamente il valore predefinito), per memorizzare le informazioni di Timing per determinare il percorso di andata e ritorno.

 

ip_protocollo_ICMP
Il protocollo ICMP – Progetto Loki – hackerare computer con un ping

Da man

“Un’intestazione IP senza opzioni è di 20 byte. Un pacchetto ICMP ECHO_REQUEST contiene un ulteriore valore di 8 byte di intestazione ICMP seguito da un file quantità di dati arbitraria. Quando viene fornita una dimensione di pacchetto, questo indicava il valore di dimensione di questo dato in più (il valore predefinito è 56). Così il valore (quantità) di i dati ricevuti all’interno di un pacchetto IP di tipo ICMP ECHO_REPLY sarà sempre superiore di 8 byte allo spazio dati richiesto (l’intestazione ICMP)…”.

Sebbene il carico utile sia spesso un’informazione contatore, non c’è nessun controllo da parte di qualsiasi dispositivo per quanto riguarda il contenuto dei dati. Così, come si scopre, il carico utile può essere costituito da contenuto arbitrario. Ecco il canale segreto, il lato oscuro di Ping !

 

Hackerare computer con un ping ?

Il principio di base della teoria dei firewall è semplice: serve per schermare una rete da un’altra.

Questo aspetto può essere ulteriormente chiarito in tre norme:

1. Tutto il traffico che passa tra le due segmenti di rete deve passare attraverso il firewall.
2. Solo il traffico autorizzato dal firewall può passare.
3. Il firewall è immune da compromessi.

Un canale nascosto è un luogo in cui possono passare informazioni anche se non sia normalmente utilizzato per lo scambio di informazioni. Pertanto, come di conseguenza, i canali nascosti sono impossibili da individuare e contrastare  utilizzando la “normale politica di sicurezza” del sistema . In teoria,  quasi tutti i processi o bit di dati possono essere imbarcati in un canale nascosto.

Un firewall, nel senso più elementare del termine, cerca di preservare la sicurezza. A tal fine  applica le tre regole di cui sopra.
I canali nascosti, tuttavia, per definizione, non sono soggetti a una logica  di “normale politica di sicurezza”.

hakerare computer con un ping

La premessa Loki

Il concetto del progetto Loki è semplice: informazioni arbitrarie in tunneling nella parte “dati” dei pacchetti ICMP_ECHO e ICMP_ECHOREPLY.

Loki sfrutta il canale nascosto esistente all’interno del traffico ICMP_ECHO. Questo è possibile  perché i dispositivi di rete non filtrano il contenuto “dati” di ICMP_ECHO. Semplicemente li fanno passare, li abbandonano o li restituiscono. I pacchetti trojan sono mascherati come traffico comune ICMP_ECHO. Possiamo incapsulare (tunnel) tutte le informazioni che vogliamo. Da qui in poi, il traffico Loki farà riferimento a al traffico ICMP_ECHO che riporta le informazioni sul tunnel. (I lettori più esperti noteranno che Loki è semplicemente una forma di steganografia).

Loki non è uno strumento OSCURO. Può essere utilizzato come porta di servizio di un sistema mediante la fruizione di un metodo segreto per ottenere l’esecuzione di comandi su un computer remoto. Oppure potrebbe essere utilizzato come clandestinely leeching information off di un macchina.

Ma potrebbe  essere utilizzato come un metodo di comunicazione segreto tra utente-macchina o utente-utente. In sostanza il canale è semplicemente un modo per mescolare segretamente dati !(la riservatezza e l’autenticità possono essere aggiunte mediante crittografia).

 Ricordate non si parla di hackerare computer !

Se il traffico ICMP_ECHO è consentito, allora questo canale nascosto esiste.  Se questo esiste, quindi è un canale imbattibile per creare una backdoor (una volta che il sistema è stato compromesso).  Anche con firewall di nuova concezione e filtraggio dei pacchetti e con tutti meccanismi di difesa in atto, questo canale continua ad esistere (a condizione, naturalmente, non neghino il passaggio del traffico ICMP_ECHO).  Con una logica di true su ICMP_ECHO , il canale può funzionare per tutta la durata delle sua esistenza.

hackerare computer con un ping ? NO, ma sfruttare il suo protocollo !

Key: hackerare computer