Cowrie SSH/Telnet Honeypot https://cowrie.readthedocs.io
Go to file
Michel Oosterhof d52886098e asciinema python3 compatible 2017-07-03 11:40:21 +00:00
bin asciinema python3 compatible 2017-07-03 11:40:21 +00:00
cowrie Restrict access to local subnets (#541) 2017-06-28 14:07:33 +02:00
data add bin/enable to pickle and enable sample output 2016-11-01 21:09:50 +04:00
dl Added 'empty' folders … 2014-05-28 05:00:21 +01:00
doc ELK logstash sample config update (#516) 2017-05-23 11:43:09 +04:00
etc Revert "move cfg.dist file" 2016-11-14 09:24:34 +04:00
honeyfs Remove entries from honeyfs/proc/mounts that does not have corresponding folders. (#423) 2017-01-27 14:43:08 +08:00
log/tty Added 'empty' folders … 2014-05-28 05:00:21 +01:00
share add share/cowrie 2016-10-30 15:14:04 +04:00
twisted/plugins also read cowrie.cfg file from etc/ 2017-06-12 13:18:49 +04:00
txtcmds add pkill 2017-05-22 22:04:48 +04:00
var Add etc/ and var/ directory structure for future use 2016-10-24 14:53:43 +04:00
.gitattributes cowrie rename 2015-05-12 14:57:29 +00:00
.gitignore update gitignore 2017-05-08 13:42:05 +04:00
.travis.yml build on travis with python 3.6 for bytes.format support 2017-03-06 12:39:47 +00:00
CHANGELOG.md now use both cowrie.cfg.dist and cowrie.cfg 2017-05-17 16:28:13 +04:00
INSTALL.md Minor fix to INSTALL.md, fixed links (#526) 2017-06-02 10:08:37 +04:00
README.md update contributing instructions 2017-05-22 21:55:15 +04:00
cowrie.cfg.dist parameterize idle timeout 2017-06-16 16:06:36 +04:00
requirements-output.txt Added MongoDB output support (#407) 2017-01-13 17:57:19 +04:00
requirements.txt removed duplicates from requirements.txt (#468) 2017-02-22 09:25:46 -08:00

README.md

Welcome to the Cowrie GitHub repository

This is the official repository for the Cowrie SSH and Telnet Honeypot effort.

What is Cowrie

Cowrie is a medium interaction SSH and Telnet honeypot designed to log brute force attacks and the shell interaction performed by the attacker.

Cowrie is developed by Michel Oosterhof.

Features

Some interesting features:

  • Fake filesystem with the ability to add/remove files. A full fake filesystem resembling a Debian 5.0 installation is included
  • Possibility of adding fake file contents so the attacker can cat files such as /etc/passwd. Only minimal file contents are included
  • Session logs stored in an UML Compatible format for easy replay with original timings
  • Cowrie saves files downloaded with wget/curl or uploaded with SFTP and scp for later inspection

Additional functionality over standard kippo:

  • SFTP and SCP support for file upload
  • Support for SSH exec commands
  • Logging of direct-tcp connection attempts (ssh proxying)
  • Forward SMTP connections to SMTP Honeypot (e.g. mailoney)
  • Logging in JSON format for easy processing in log management solutions
  • Many, many additional commands

Requirements

Software required:

  • Python 2.7+, (Python 3 not yet supported due to Twisted dependencies)
  • python-virtualenv

For Python dependencies, see requirements.txt

Files of interest:

  • cowrie.cfg - Cowrie's configuration file. Default values can be found in cowrie.cfg.dist
  • data/fs.pickle - fake filesystem
  • data/userdb.txt - credentials allowed or disallowed to access the honeypot
  • dl/ - files transferred from the attacker to the honeypot are stored here
  • honeyfs/ - file contents for the fake filesystem - feel free to copy a real system here or use bin/fsctl
  • log/cowrie.json - transaction output in JSON format
  • log/cowrie.log - log/debug output
  • log/tty/*.log - session logs
  • txtcmds/ - file contents for the fake commands
  • bin/createfs - used to create the fake filesystem
  • bin/playlog - utility to replay session logs

Is it secure?

Maybe. See FAQ

I have some questions!

Please visit https://github.com/micheloosterhof/cowrie/issues

Contributing

Cowrie welcomes any kind of contribution, please follow the next steps:

  • Fork the project on github.com.
  • Create a new branch.
  • Commit changes to the new branch.
  • Send a pull request.

Contributors

Many people have contributed to Cowrie over the years. Special thanks to:

  • Upi Tamminen (desaster) for all his work developing Kippo on which Cowrie was based
  • Dave Germiquet (davegermiquet) for TFTP support, unit testes, new process handling
  • Olivier Bilodeau (obilodeau) for Telnet support
  • Ivan Korolev (fe7ch) for many improvements over the years.
  • And many many others.