What's chkrootkit? |
chkrootkit is a tool to locally check for signs of a rootkit. It contains:
chkrootkit has been tested on: Linux 2.0.x, 2.2.x, FreeBSD 2.2.x, 3.x and 4.x, OpenBSD 2.6, 2.7 and 2.8, Solaris 2.5.1, 2.6 and 8.0.
More details can be found on the chkrootkit's README.
What's New |
chkrootkit 0.33 is now available! (Release Date: Sat, Jun 2 2001) This version includes:
Download |
The following files are available for downloading:
License Information |
chkrootkit is free software. License information is available at chkrootkit's COPYRIGHT file.
Mailing List |
To subscribe:
echo "subscribe users your email" | mail majordomo@chkrootkit.org
FAQ |
chkrootkit looks for known "signatures" in trojaned system binaries. For example, some trojaned versions of ps have "/dev/ptyp" inside them.
Obviously an attacker can easily modify the rootkit sources to change its signatures and avoid chkrootkit detection. See next question.
If chkrootkit can't find a known signature inside a file, it can't automatically determine if it has been trojaned. Try to run chkrootkit in expert mode (-x option) -- in this mode the user can examine suspicious strings in the binary programs that may indicate a trojan.
For example, lots of data can be seen with:
# ./chkrootkit -x | morePathnames inside system commands:
# ./chkrootkit -x | egrep '^/'
Not all systems have Perl available. The motivation was to write a simple tool that could be run in systems with minimal installation.
The following commands are used by the chkrootkit script:
awk, cut, echo, egrep, find, head, id, ls, netstat, ps, strings, sed, uname
Probably not. We suggest you follow one of the alternatives below:
# ./chkrootkit -p /cdrom/bin
# ./chkrootkit -r /mnt
If you run chkproc on a server that runs lots of short time processes it could report some false positives. chkproc compares the ps output with the /proc contents. If processes are created/killed during this operation chkproc could point out these PIDs as suspicious.
If you're running PortSentry/klaxon or another program that binds itself to unused ports probably chkrootkit will give you a false positive on the bindshell test (ports 114/tcp, 465/tcp, 511/tcp, 1008/tcp, 1524/tcp, 1999/tcp, 3879/tcp, 5665/tcp, 10008/tcp, 12321/tcp, 23132/tcp, 27374/tcp, 29364/tcp, 31336/tcp, 31337/tcp, 45454/tcp, 47017/tcp, 47889/tcp, 60001/tcp).
Contacting the Authors |
Please send comments, new rootkits, questions and bug reports to Nelson Murilo <nelson@pangeia.com.br> (main author) and Klaus Steding-Jessen <jessen@nic.br> (co-author).
Related Links |
Acknowledgments |