nepenthes(8) finest collection


nepenthes [OPTIONS]
nepenthes [OPTIONS] [PATH]


By emulating widespread vulnerabilities Nepenthes is able to catch and store worms using these vulnerabilities. Furthermore you are able to determine the malware activity on a network by deploying a nepenthes sensor. The programm emulates different well known vulnerabilities waiting for malicious connections trying to exploit these. If a connection tries to exploit something, nepenthes tries to guess which exploit is going to be used. There are several different ways a exploitation can happen, the attacker can ask nepenthes to:
  • connect a provided ip & port offering a shell there (connectback)
  • bind a shell on a port (bindshell)
  • direct execute a shellcommand
  • provide a url from where to download a file and execute the file
  • use specific filetransferr mechanisms to transferr the file (link, blink, mydoom ...)

If a shell is expected, bindshell or connectback shell, nepenthes will offer this shell to the attacker and fullfill the requested actions. In most cases there are two ways worms try to spread themselves using a shell,

  • tftp - trivial filetransfer protocoll using tftp.exe in Microsoft Windows.
  • ftp - filetransfer protocoll using ftp.exe in Microsoft Windows.

Nepenthes will parse the shell instructions and try to download the file, upon success the file will be stored.


-c PATH, --config=PATH
PATH to nepenthes.conf
-d PATTERN, --disk-log=PATTERN
apply filter to console logging. PATTERN can consist of crit, warn, info, debug and spam, combine tags using , .
Use Nepenthes to check if a file or a directory of files in PATH contain known shellcodes. PATH can be a directory or multiple files. OPTIONS can be rmknown,rmnonop,nothing.
-h, --help
show help
-H, --large-help
show help with default values
-i, --info
how to contact us
-k, --check-config
check nepenthes.conf config for syntax errors
apply filter to console logging. PATTERN can consist of crit, warn, info, debug and spam, combine tags using , .
-L, --logging-help
display help for -d and -l
-o, --no-color
log without colors to console (does not work yet).
-r PATH, --chroot=PATH
chroot to PATH
-R, --ringlog
use ringlogger instead of filelogger
-u USER, --user=USER
switch the user the process runs as USER must be a users name.
-g GROUP, --group=GROUP
switch process group GROUP must be a groups name.
-v, --version
show version
-w, --workingdir
where shall the process live


nepenthes -d crit,warn,info
start nepenthes and log only messaged with loglevel critical, warning and info to disk
nepenthes -u marshall -g mother
start nepenthes and change to user marshall and group mother.
nepenthes -r /opt/nepenthes
start nepenthes and chroot to /opt/nepenthes
nepenthes -u marshall -g mother -r /opt/nepenthes
start nepenthes and change to user marshall and group mother and chroot to /opt/nepenthes
nepenthes -f rmknown,rmnonop,dononp /opt/nepenthes/var/hexdumps/
check the directory /opt/nepenthes/var/hexdumps for known shellcodes, remove known shellcodes, remove shellcodes without nop slide, check shellcodes without nopslide.
nepenthes -f nothing /tmp/*.bin /tmp/unknown_shellcodes/
check the files in the directory /opt/nepenthes/var/hexdumps and the files in /tmp/*.bin for known shellcodes, do nothing.


nepenthes configuration file
nepenthes modules
nepenthes modules configuration files


this manual is a pain