The only purpose of this trojan is to map open ports on random hosts on the Internet. The way it works suggests that it is an experimental project exploring new ways of port scanning.
Typot is statically linked to two well known libraries:
- 'libnet': library to craft and send network packets
- 'libpcap': network traffic capture library
Using 'libnet' the trojan crafts TCP SYN packet with window size of 55808. Both the source and the destination addresses are random in the packet. This means that even if the port is open on the remote host the response will not go back to the trojan. This feature makes the trojan harder to track down.
To capture the responses from open ports Typot uses the 'libpcap' library. With 'libpcap' the trojan switches the network interface to promiscuous mode and listen to all traffic on the physical network segment. By listening Typot tries to capture responses for TCP SYN requests sent by other instances of the trojan. The collected data is written to a file named 'r' in the same directory where the trojan is located.
The data Typot collects about ports is sent to a predefined IP address by connecting to port 22, every 24 hours. If the specified host is unreachable the trojan unistalls itself by deleting '/tmp/.../a' which is supposedly a copy of it.
Since the trojan is dynamically linked to glibc 2.3 it will work only on recent versions of Linux distributions.