Bill Marquette wrote:
I have nearly zero idea what you're asking for, but I suspect you want something like PF's dup-to functionality.

     /dup-to/
           The /dup-to/ option creates a duplicate of the packet and routes it
           like /route-to/.  The original packet gets routed as it normally
           would.


Amy I close?

Well, I'm not sure what *Amy* has to do with anything, but...

That sounds close, but the key would be mangling both the source & destination fields AND keeping state. Then for just cream on the top, go invisible by incrementing one's TTL.

Example:

ICMP ping comes in from 192.168.0.1, a scanning host. The firewall, masquerading host B at 192.168.0.2, rewrites the destination as 192.168.0.3 (host A) and the source as itself (192.168.0.2) and marks a state. When (if) a return packet comes from 192.168.0.3, it matches the state, source gets mangled again to 192.168.0.2, destination as 192.168.0.1, and is forwarded on to 192.168.0.1. That way, all the specifics of host B that can be determined from stateless network scans would for all intents and purposes look precisely like host A.

On top of that, statefully incrementing TTL by 1 each time a packet is masqueraded would prevent even the most scrutinizing scan from discerning that host B exists - the firewall IP would just look like another NIC on host A. Host A, of course, would have to be complicit - if the scan came from host A, all would be revealed and lost.

I know it's all rather complex, and I've not tried it yet on IPTables, but the MASQUERADE and TTL targets seem to do precisely that.

RB

Reply via email to