Cowrie SSH/Telnet Honeypot https://cowrie.readthedocs.io
Go to file
Mehtab Zafar 571d4f0308 Use command instead of which for checking authbind (#1145) 2019-06-20 11:28:18 +04:00
.circleci Tests on CircleCI 2019-05-25 11:09:10 +04:00
.github add SUPPORT 2018-07-20 22:01:38 +04:00
bin Use command instead of which for checking authbind (#1145) 2019-06-20 11:28:18 +04:00
docs Tests on CircleCI 2019-05-25 11:09:10 +04:00
etc Remove deprecated options from config file (#1151) 2019-06-20 11:27:50 +04:00
honeyfs throw off TSM 2018-04-20 10:29:56 -05:00
share add .dist setting, remove process.py, move json 2018-07-07 18:11:32 +00:00
src handle submission if there is no good url (#1144) 2019-06-13 08:34:49 +04:00
var updated gitignores to ignore state files 2018-08-25 03:12:25 +04:00
.gitattributes cowrie rename 2015-05-12 14:57:29 +00:00
.gitignore Tox (#1123) 2019-05-12 19:40:45 +04:00
.travis.yml Sphinx rtd theme (#1081) 2019-03-31 13:09:15 +04:00
CHANGELOG.rst Doclink (#990) 2019-01-20 14:39:37 +04:00
CONTRIBUTING.rst Doclink (#990) 2019-01-20 14:39:37 +04:00
Dockerfile Docker cacheing and python2 (#879) 2018-09-17 10:49:57 +04:00
INSTALL.rst Doclink (#990) 2019-01-20 14:39:37 +04:00
LICENSE.rst Doclink (#990) 2019-01-20 14:39:37 +04:00
MANIFEST.in Setup (#996) 2019-01-27 12:25:40 +04:00
Makefile scripts to update and freeze main dependencies (#1139) 2019-05-29 05:17:45 +04:00
README.rst Doclink (#990) 2019-01-20 14:39:37 +04:00
requirements-dev.txt scripts to update and freeze main dependencies (#1139) 2019-05-29 05:17:45 +04:00
requirements-output.txt remove legacy (splunksdk) splunk output plugin (#961) 2018-11-14 23:17:30 +04:00
requirements.txt dependency upgrade Thu Jun 20 10:34:24 +04 2019 (#1152) 2019-06-20 11:27:13 +04:00
setup.py Setup (#996) 2019-01-27 12:25:40 +04:00
tox.ini more tox (#1125) 2019-05-12 21:38:49 +04:00

README.rst

Cowrie
######

|travis|_
|circleci|_
|codecov|_

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 <http://github.com/cowrie/cowrie/>`_ is developed by Michel Oosterhof.

Documentation
****************************************

The Documentation can be found `here <https://cowrie.readthedocs.io/en/latest/index.html>`_.

Slack
*****************************************

You can join the Cowrie community at the following `Slack workspace <http://bit.ly/cowrieslack>`_.

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 are stored in an `UML Compatible <http://user-mode-linux.sourceforge.net/>`_  format for easy replay with original timings with the `bin/playlog` utility.
* Cowrie saves files downloaded with wget/curl or uploaded with SFTP and scp for later inspection log

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 <https://github.com/awhitehatter/mailoney>`_)
* Logging in JSON format for easy processing in log management solutions
* Many, many additional commands

Docker
*****************************************

Docker versions are available.

* To get started quickly and give Cowrie a try, run::

    docker run -p 2222:2222 cowrie/cowrie
    ssh -p 2222 root@localhost

* On Docker Hub: https://hub.docker.com/r/cowrie/cowrie

* Or get the Dockerfile directly at https://github.com/cowrie/docker-cowrie

Requirements
*****************************************

Software required:

* Python 3.5+ (Python 2.7 supported for now but we recommend to upgrade)
* python-virtualenv

For Python dependencies, see `requirements.txt <https://github.com/cowrie/cowrie/blob/master/requirements.txt>`_.

Files of interest:
*****************************************

* `cowrie.cfg` - Cowrie's configuration file. Default values can be found in `etc/cowrie.cfg.dist <https://github.com/cowrie/cowrie/blob/master/etc/cowrie.cfg.dist>`_.
* `share/cowrie/fs.pickle <https://github.com/cowrie/cowrie/blob/master/share/cowrie/fs.pickle>`_ - fake filesystem
* `etc/userdb.txt` - credentials allowed or disallowed to access the honeypot
* `honeyfs/ <https://github.com/cowrie/cowrie/tree/master/honeyfs>`_ - file contents for the fake filesystem - feel free to copy a real system here or use `bin/fsctl`
* `honeyfs/etc/issue.net` - pre-login banner
* `honeyfs/etc/motd <https://github.com/cowrie/cowrie/blob/master/honeyfs/etc/issue>`_ - post-login banner
* `var/log/cowrie/cowrie.json` - transaction output in JSON format
* `var/log/cowrie/cowrie.log` - log/debug output
* `var/lib/cowrie/tty/` - session logs, replayable with the `bin/playlog` utility.
* `var/lib/cowrie/downloads/` - files transferred from the attacker to the honeypot are stored here
* `share/cowrie/txtcmds/ <https://github.com/cowrie/cowrie/tree/master/share/cowrie/txtcmds>`_ - file contents for simple fake commands
* `bin/createfs <https://github.com/cowrie/cowrie/blob/master/bin/createfs>`_ - used to create the fake filesystem
* `bin/playlog <https://github.com/cowrie/cowrie/blob/master/bin/playlog>`_ - utility to replay session logs

I have some questions!
*****************************************

Please visit the `Slack workspace <http://bit.ly/cowrieslack>`_ and join the #questions channel.

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 tests, new process handling
* Olivier Bilodeau (obilodeau) for Telnet support
* Ivan Korolev (fe7ch) for many improvements over the years.
* Florian Pelgrim (craneworks) for his work on code cleanup and Docker.
* And many many others.

.. |travis| image:: https://travis-ci.com/cowrie/cowrie.svg?branch=master
.. _travis: https://travis-ci.com/cowrie/cowrie

.. |circleci| image:: https://circleci.com/gh/cowrie/cowrie.svg?style=svg
.. _circleci: https://circleci.com/gh/cowrie/cowrie

.. |codecov| image:: https://codecov.io/gh/cowrie/cowrie/branch/master/graph/badge.svg
.. _codecov: https://codecov.io/gh/cowrie/cowrie