Stegosip: TCP tunnel over RTP/SIP
Stegosip
This software was part of the dissertation that I presented the 04/07/2011 for the master degree in computer engineering under the title “Steganography over SIP/RTP protocols”. The work was conducted under the supervision of professor Luigi Ciminiera at the Politecnico di Torino.
It covers an IP tunnel into SIP/RTP protocol using LSB and LACK steganographic methods. The hidden channel is a point-to-point IP tunnel between the two peers communicating via the SIP call.
Install
Install the required dependencies.
$ sudo apt-get install nfqueue-bindings-python python-dpkt
git clone https://github.com/epinna/Stegosip.git
Download StegoSIP in both endpoints PC-Alice and PC-Bob. Make sure to specify the tunnel IP addresses of the two endpoints as shown below.
# On PC-Alice
$ gedit stegosip.conf # set Alice IP option address as 10.0.0.1
# On PC-Bob
$ gedit stegosip.conf # set Bob IP address as 10.0.0.2
Usage
Start StegoSIP in Alice and Bob hosts
# On PC-Alice
$ sudo ./stegosip.py
# On PC-Bob
$ sudo ./stegosip.py
It starts inspecting the SIP traffic on the machines waiting for inbound or outbound SIP calls. When it detects an RTP stream, it would raise a stego0 network interface in both endpoints which can be used as a private hidden network among the peers.
Example
The software is SIP client agnostic but has been tested with Ekiga. Find below a commented example of an outgoing call from PC-Alice to PC-Bob which is used to establish the covert channel.
Alice and Bob can now communicate using 10.0.0.1 and 10.0.0.2 hosts.
# PC-Alice
$ ping 10.0.0.2PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_req=1 ttl=64 time=50.1 ms
64 bytes from 10.0.0.2: icmp_req=2 ttl=64 time=58.7 ms
…
Source: https://github.com/epinna/