Spoofing dell'indirizzo IPv4 pubblico

1

Come posso spoofare il mio indirizzo IPv4 pubblico su un altro senza usare proxys? Non ho bisogno di alcuna risposta, l'handshake TCP non deve essere completato! Voglio solo inviare un pacchetto SYN con un indirizzo sorgente (specifico) falsificato! Il mio problema è che ogni pacchetto che realizzo può avere solo un IP privato falsificato e il mio router farebbe semplicemente cadere il pacchetto (o almeno l'ISP lo farebbe) e non so come potrebbe raggiungere un server web al di fuori della mia rete a casa . Ci sono possibilità di fare in modo che l'ISP lo inoltrerà? Se ho dimenticato informazioni importanti, fammelo sapere.

thx

    
posta h4x0r 30.07.2014 - 14:55
fonte

1 risposta

4

Se sei un programmatore Python puoi usare il programma di manipolazione interattiva dei pacchetti Scapy per crea i tuoi pacchetti e inviali. Puoi anche usarlo come libreria all'interno del tuo programma Python.

Dall'interno del programma interattivo ecco come è possibile creare un pacchetto IP, cambiare l'indirizzo di origine e inviarlo. Scapy utilizzerà qualsiasi percorso predefinito che hai impostato.

>>> pkt = IP(src="1.2.3.4", dst="5.6.7.8")
>>> pkt.show()
###[ IP ]###
  version= 4
  ihl= None
  tos= 0x0
  len= None
  id= 1
  flags= 
  frag= 0
  ttl= 64
  proto= ip
  chksum= None
  src= 1.2.3.4
  dst= 5.6.7.8
  \options\
>>> pkt.send()

La cosa divertente di Scapy è che crea tutte le intestazioni di livello inferiore per te se non le specifichi con valori predefiniti. Quindi nell'esempio precedente l'intestazione Ethernet viene creata per te già. Quindi probabilmente vuoi manipolare il livello TCP, quindi il codice seguente si baserà sull'esempio sopra.

>>> ip_layer = IP(src="1.2.3.4", dst="5.6.7.8")
>>> tcp_layer = TCP()
>>> pkt = ip_layer/tcp_layer
>>> pkt.show()
###[ IP ]###
  version= 4
  ihl= None
  tos= 0x0
  len= None
  id= 1
  flags= 
  frag= 0
  ttl= 64
  proto= tcp
  chksum= None
  src= 1.2.3.4
  dst= 5.6.7.8
  \options\
###[ TCP ]###
     sport= ftp_data
     dport= http
     seq= 0
     ack= 0
     dataofs= None
     reserved= 0
     flags= S
     window= 8192
     chksum= None
     urgptr= 0
     options= {}

Se i percorsi sono impostati correttamente per arrivare a destinazione dovresti essere in grado di inviare il pacchetto. Scapy sarà anche in grado di catturare la risposta e cosa no se necessario. La documentazione fornisce buoni esempi semplici, ma non include esempi più avanzati. L'API non è ben documentata, ma esiste una versione di doxygen qui sopra.

    
risposta data 30.07.2014 - 15:12
fonte

Leggi altre domande sui tag