How to implement source spoofing during TCP session?

The idea is that two different machines (behind two different NATs) are connected to the public server.

And they are trying to create a TCP connection to such an open server ... Then it is possible that magic could happen in the proxying thread! Change the source address and dest to the entire tcp / ip stack during this session.

The goal is to exclude this third part as a proxy from further communication ...

+1


source to share


1 answer


First you need a server that Peer will send data or whatever to tell it to send a syn-ack to the server.

Then Peer A will first send the packet to Peer B's address with a low TTL so that it is dropped in the middle and does not reach NAT B. It will continue to send this packet until the packet reaches it with a syn-ack containing the source address B (the original forger). And A will do a handshake with the server, but A will think that he is doing a handshake with B.



The exact same thing happens with B. B will shake hands with the server, but think that it is being done with A. After the handshake is completed at both ends, the data transfer starts with A and B as a P2P connection.

This is a source of spoofing as the server contacts both peer companies pretending to be one of the peers. Thus, both peer NATs are open to each other.

+3


source







All Articles