IP Spoofing con IP reale quando è stata effettuata l'handshake TCP a 3 vie

2

In una situazione, in cui l'IP spoofato è un IP remoto reale esistente e si scopre che l'handshake TCP a 3 vie è stato creato con un server.

La macchina MiTM invia il pacchetto con IP falsificato al server. L'IP reale riconosce l'ACK inviato dal server all'IP reale e riceve il pacchetto di risposta dal server seguito dal riconoscimento?

EDIT: Dato che il brief precedente non era chiaro, qui cerco di essere il più descrittivo possibile.

Client A con IP reale si è connesso con il server S completando l'handshake TCP a 3 vie e trasferendo pacchetti di dati come una normale connessione. Ora, la macchina attaccante M invia un pacchetto che spoofing l'indirizzo IP di A e una volta che questo pacchetto viene ricevuto dal server, restituisce il flag / campo ACK a A . Per favore correggimi se ho sbagliato con questa parte del flag ACK / campo qui.

Ora le mie domande qui sono:

  1. Il flag / campo ACK dal server S sarà accettato da A ?
  2. Il pacchetto inviato da M con IP falsificato di A riceve una risposta da S a A . Questa risposta sarà accettata da A ?
posta WCO 11.10.2016 - 09:34
fonte

3 risposte

1

Prima di tutto, ogni pacchetto TCP ha un identificatore sequenziale , che inizia in una posizione casuale. ( spiegato brevemente in questa discussione ) Quindi se l'attaccante sta contraffacendo pacchetti (non- SYN ) (provando a dirottare una connessione esistente), allora tutti questi pacchetti falsificati saranno ignorati o rifiutati (a seconda del tipo di pacchetto) perché saranno fuori sequenza.

Quindi, affinché l'attacco abbia successo, dovrà intercettare la connessione in modo da poter scoprire quale dovrebbe essere l'identificatore sequenziale.

Dopo aver determinato la sequenza. (tramite Eavesdropping passivo) È facile far accettare al server i dati in sequenza.

Client A with real IP has connected ... Now, the attacker machine M sends a packet spoofing the IP address of A ... Will the ACK flag/field from server S be accepted by A?

Il pacchetto di riconoscimento avrà lo stesso identificatore sequenziale del pacchetto di dati inviato.

Il client A non accetterà il riconoscimento perché i dati sono stati inviati dall'hacker M . (quindi il client non sta ancora anticipando un riconoscimento)

(A meno che non si trattasse di un attacco Attivo (non passivo) che dà all'aggressore più opzioni, come il vero MiTM)

Tuttavia, il server accetterà comunque i dati.

Anche se il client non accetta il riconoscimento di pacchetti di dati falsificati, la connessione rimarrà aperta. Il client potrebbe anche inviare un altro pacchetto di dati. Il server ignorerà il secondo pacchetto di dati perché ha lo stesso identificatore sequenziale, ma probabilmente ripeterà il riconoscimento al client che non sarebbe più saggio. Non ne sono sicuro al 100%, quindi ho pubblicato un domanda specifica su quel punto solo per essere sicuro.

The packet sent by M with spoofed IP of A gets a response from S to A. Will this response be accepted by A?

Sì, i flussi di input e output aumenteranno i loro identificatori sequenziali separatamente.

L'uso di una connessione sicura come TLS rileverà facilmente tali spoof del protocollo TCP, quindi di solito è la soluzione consigliata.

    
risposta data 12.10.2016 - 16:23
fonte
0

La domanda è un po 'poco chiara, tuttavia cercherò di formulare alcune ipotesi e rispondere a qualcosa.

Supponiamo che A sia l'attaccante e R sia il vero IP. S è il server.

Cose da ricordare.

  • I pacchetti TCP, che si tratti di handshake o di altri pacchetti, avranno una sequenza numero e un numero di riconoscimento che aiuterà il parti comunicanti nell'individuare la sessione.
  • Una stretta di mano a tre vie si verifica solo all'inizio di una connessione TCP, non con ogni pacchetto di dati.

Quindi, venendo alla tua domanda,

  1. R ha una connessione esistente con S
  2. A invia un SYN a S con l'IP di R come indirizzo di origine
  3. S invia un SYN-ACK a R.
  4. A seconda della configurazione, R non risponderà o risponderà con un RST poiché non sarà in grado di far corrispondere la sequenza e il numero di riconoscimento del pacchetto ricevuto con quello che ci si aspetta da una delle connessioni che ha precedentemente avviato.

Lo spoofing è possibile se il sistema produce numeri di sequenza TCP prevedibili.

    
risposta data 11.10.2016 - 15:40
fonte
-1

Non sono sicuro se ti capisco chiaramente ma in uno scenario in cui un'entità legale Le comunica con un server S usando TCP, quindi stabilisce end-to- fine comunicazione

Ora se uno spoofante A , usa l'IP di Le e i contatti S allora il pacchetto verrebbe gestito nel contesto di comunicazione tra Le e S . Tuttavia tieni presente che TCP mantiene l'ordine dei pacchetti e questo è il caso che A dovrebbe prendere in considerazione prima di inviare il pacchetto, rendendo lo sforzo un po 'più difficile ma non impossibile. Quindi forse la risposta non sarà un ACK dopo tutto ..

Per limitare l'accesso alla connessione TCP è necessario utilizzare l'autenticazione, ad esempio, a livello di applicazione.

Questo è un link che ho trovato interessante: descrizione TCP

    
risposta data 11.10.2016 - 09:50
fonte

Leggi altre domande sui tag