it-swarm-eu.dev

È possibile passare TCP con indirizzo IP contraffatto?

Poco tempo fa, io e i miei amici abbiamo discusso se TCP può essere passata con un indirizzo IP contraffatto.

Supponiamo di avere un server Web che consenta solo determinati indirizzi IP. Qualcuno può connettere quel server Web tramite spoof IP?

28
ibrahim

Risposta breve: no.

Risposta più lunga: sì, se controlli un dispositivo router vicino al dispositivo di destinazione (deve trovarsi sul percorso tra l'indirizzo IP di origine reale e la destinazione e sul percorso tra l'indirizzo IP falso e la destinazione) o se la rete/host di destinazione accetta pacchetti indirizzati alla fonte .

21
symcbean

Risposta breve: Sì, ma non il più possibile come una volta, e dipende da come si prende letteralmente la tua domanda.

Risposta lunga:

Ho notato che non non hai chiesto "È possibile continuare una conversazione TCP con un indirizzo IP contraffatto" - quella domanda è stato abilmente risposto da @symcbean. Hai chiesto espressamente "È possibile passare TCP handshake con indirizzo IP contraffatto". Quindi c'è una differenza tra la domanda che hai posto - "Puoi falsificare SYN-> SYN/ACK-> ACK in modo tale che il server creda che una connessione sia stata inchiodata con successo" - e la domanda che probabilmente intendevi - "Puoi continuare una conversazione TCP con un indirizzo client contraffatto ".

Quindi diamo un'occhiata alla domanda letterale che hai posto. In tal caso, la risposta è "Sì, se il numero iniziale della sequenza TCP incluso nel SYN/ACK dal server è prevedibile." Ecco perché la prevedibilità ISN (Initial Sequence Number) è qualcosa testato dagli scanner di vulnerabilità e qualcosa che è molto più ampiamente implementato oggi rispetto a 10 o 15 anni fa. Per citare un avviso Cisco del 2001 relativo a questa vulnerabilità, " Il caso generale di questa vulnerabilità in TCP è ben noto alla comunità della sicurezza del sistema di informazione. " Il più famoso, - Mitnick abusò di questa funzione nel suo attacco a Shimomura .

A meno che non sia disponibile il routing di origine o l'accesso a un router nel percorso di rete, questa non è una configurazione sostenibile. Il client potrebbe essere in grado di indovinare l'ISN, ma i numeri di sequenza successivi vengono incrementati della dimensione dei pacchetti inviati , che l'attaccante non vedrà e non può prevedere in modo affidabile. Quindi dovrebbero essere in grado di ottenere almeno un pacchetto dopo l'handshake a tre vie, ma non una conversazione. E a volte un pacchetto è sufficiente.

La previsione ISN è un sottoinsieme specifico di attacchi di previsione della sequenza TCP . Anche se non posso citare buoni numeri, la mia esperienza suggerisce che è una vulnerabilità che è rimasta molto più a lungo di quanto avrebbe dovuto; ti imbatti ancora in dispositivi che non eseguono scansioni a causa di ciò. È difficile convincere tutti a correggere i propri stack TCP, soprattutto quando la correzione comporta una solida generazione di numeri casuali, che è piuttosto difficile su hardware limitato ed economico (il tipo che viene lanciato in dispositivi di rete sempre).

18
gowenfawr

Senza l'accesso alla rete dietro uno degli indirizzi IP consentiti o l'accesso a una macchina dietro uno degli indirizzi IP consentiti, è possibile non passare a - stretta di mano a 3 vie TCP con un indirizzo IP contraffatto.

5
Adi

È facile inviare un TCP con qualsiasi indirizzo IP. Su Linux è possibile aprire un socket non elaborato e inviare tutto ciò che si desidera. Il problema sta ricevendo SYN/ACK (o qualsiasi altra risposta) , che verrà indirizzato all'IP originale.

I router tra il tuo client possono avere regole firewall per rifiutare la richiesta, ma spesso presumono che il tuo client stia semplicemente instradando un pacchetto da un altro Host.

2
user87121