Typot is a Linux trojan designed to perform distributed port scanning.
One peculiarity of this trojan is that it generates TCP packets
with a window size of 55808.
Technical details
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.
[Analysis: Gergely Erdelyi; F-Secure Corp.; June 23rd, 2003]