Re:Engineer distributes resume via IPv6 traceroute
by mrb on Friday August 26, 2022 @02:26PM
(#32611025)
Virtual interfaces aren't necessary, and would be overkill. All he needs on his server is to listen on a raw network socket, read the incoming packet's IP TTL value, then forge and send an ICMP "time exceeded" response with the source IP address set to a value that depends on the TTL. The entire thing could be done in 20-30 lines of Python.
Next to that he set up a DNS server configured with PTR records that map these forged IP addresses to arbitrary hostnames of his choices.
Re:Engineer distributes resume via IPv6 traceroute
by nitros on Friday August 26, 2022 @03:34PM
(#32611787)
For maximum 'performance' you can do it in-kernel with eBPF :^)
https://github.com/simmsb/traceroute-spoof
Re:Engineer distributes resume via IPv6 traceroute
by tyingq on Friday August 26, 2022 @02:38PM
(#32611142)
Sure, another way to do it, though the python would have to get the peer address, extract 64 bits of the incoming msg, table lookups of hop count -> forged address, decrement hop counts, etc. A shell script creating virtual interfaces and routing wouldn't likely be much longer than 20-30 lines either.
Re:Engineer distributes resume via IPv6 traceroute
by mrb on Friday August 26, 2022 @05:31PM
(#32612994)
There is no need to do "table lookups of hop count" or to "decrement hop counts". The IP TTL value is just a field that can be read from the IP header, which is trivial since the Python would get the entire IP header from the raw socket. If you see a TTL=1 you send back the forged response as coming from $IP_1, if you see a TTL=2 you forge the response as coming from $IP_2, etc. The forged response can always contain the same default TTL.
Re:Engineer distributes resume via IPv6 traceroute
by tyingq on Friday August 26, 2022 @08:16PM
(#32614263)
> table lookups of hop count -> forged address
>> There is no need to do "table lookups of hop count"
>> If you see a TTL=1 you send back the forged response as coming from $IP_1, if you see a TTL=2 you forge the response as coming from $IP_2
You're describing a table lookup of the forged address using the hop count.
Re:Engineer distributes resume via IPv6 traceroute
by mrb on Saturday August 27, 2022 @01:29AM
(#32616029)
Right, I understand you now.
Re:Engineer distributes resume via IPv6 traceroute
by JoachimSchipper on Friday August 26, 2022 @01:52PM
(#32610649)
traceroute(1) uses the IP Time-To-Live (TTL) field, not network latency. So just a bunch of virtual interfaces on a suitable *nix should be enough.
If he's scripted it to do all the virtual nic creation and dns ptr entries, it would be interesting to see.
[1] https://bencane.com/2012/07/16/tc-adding-simulated-network-l...