Undetectable communication

6 06 2008

The possibility of covert channels and information hiding (steganography) within other pieces of information seems to be endless. This time, these guys show us the possibility to hide information in SIP, RTP and RTSP packets within others. The amazing thing is that for most of the people these protocols don’t ring a bell, but in reality, applications such as video streaming and voice over IP rely on them. This means that covert channels could be created in apparently innocuous phone calls and in video transmissions over the net. The danger escalates even further when you start thinking of the endless possibilities of these type of cummunication. Indetectable botnets that communicate through multicast networks of triple play providers or simply dangerous information passing through a Skype call.

From personal experience working on designing certain mechanisms in triple play networks, tons of ideas for practical (legal and illegal) applications come to my mind. Just as an example, imagine your internet + TV + phone provider wanting to spy on you without you finding out. You get shipped with a state of the art set top box that has every nifty feature you’ve ever wanted. However, it might also include some small modifications in its protocols as to conceal information which your provider might consider “interesting”. The chances of you finding out this is done are almost zero. Even if you try really hard to analyze the network traffic, everything will seem to working as intended.

In the case of a botnet, the master won’t even need to communicate directly with its slaves. The slaves just send their messages to the net and the master listens. He is the only one that knows what to look for. A passive sniffer in the right place is all he needs and he cannot be traced back by means of his IP or used services being disclosed by noisy machines.

Heuristic or behavior based scanner may try to detect deviations in tipical protocols. The problem here is that the protocol itself is behaving as a tipical implementation would and there would be little or no deviation. Even if deviation is detected, other techniques such as delaying messages (also explained in the article) would suffice to overrun the detection.





IP geographic location

22 11 2007

GeoIP is a nice service that provides free databases with IP to country/city relations. They have very nice APIs which might eventually come in handy when doing your every-day log analysis.

Given that I needed to find the assigned IPs to a certain country, and that the C API I saw provided no means of doing it, I created a small script that will drop all the IP addresses in a plaintext file. The information is taken from the CSV database.


./country2ip.sh database.csv Country_Name output_file

It is not intended to be efficient and it certainly is not. It is intended to be effective and it serves its purpose. Be aware of the extremely large files that it may generate.

Download here.

Some interesting info:

Brasil: 25,583,219 unique IP addresses
Uruguay: 17,174,982 unique IP addresses
Argentina: 4,996,274 unique IP addresses
Chile: 4,295,697 unique IP addresses
Venezuela: 3,186,405 unique IP addresses
Colombia: 3,120,548 unique IP addresses
Peru: 1,077,608 unique IP addresses
Ecuador: 767,728 unique IP addresses
Bolivia: 354,207 unique IP addresses
Paraguay: 83,328 unique IP addresses