Originally posted by Effugas
Ah, the pain of the white hat...
just when you find a new toy, you go ahead and kill it...
Many of your techniques could be used with HTTP and HTTPS to provide covert channels through RFC, and W3C compliant content. A combination of multiple protocols can be used to load balance virtual covert channels over multiple ports/services, and who cares about ordering if your tunnel relies upon TCP and windows (code reuse.) Combined with your DNS work, you could create a multi-headed beast that will use whatever services and protocols available to communicate in a covert channel-- and by spreading the load across multiple services, you avoid detection by some of the heuristics mentioned, and have something that is more fault tolerant and reliable. (Borrowing techniques from Radio: spread spectrum? (multiple ports load balancing), frequency hopping (randomization of port selection fo data.)
Maybe one hack would allow traffic out, and another would allow traffic in, split the IO.
You could even go further and use variations to the dual-window TCP item, and have special web servers provide two images (one which is the "normal" image, and the other which contains some steganographic information) in order to pass even more information in secondary or tertiary covert channels.
HTTP or HTTPS are *perfect* candidates for applying your techniques. Images and videos use up tons of throughput and make it easier to hide needles in haystacks. (Consider Server Push and Client Pull, and more.) DNS traffic is usually fairly low per desktop host unless you have users doing zone transfers or processing reports (like web logs) with rDNS. It is too easy for even a little traffic to provide a spike and draw attention. DNS is not a bad choice at all-- it is very good due to many of the reasons you have mentioned WRT filters.
I'm enjoying this collaboration greatly.
You'll definitely be getting alpha code from me. Regarding topic selection -- I don't think I'm doing a single topic talk this year, so once again I'll be coding things up until the night before the Black Hat talk :)
Thanks. :-)
Comment