Metadata-Version: 2.4
Name: mongopot
Version: 2.0.0
Summary: A MongoDB Honeypot
Home-page: https://gitlab.com/bontchev/mongopot
Author: Vesselin Bontchev
Author-email: vbontchev@yahoo.com
License: GPLv3
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Security
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: configparser>=3.5.0
Requires-Dist: geoip2>=2.7.0
Requires-Dist: ipaddress; python_version < "3"
Requires-Dist: maxminddb>=1.3.0
Requires-Dist: pymongo
Requires-Dist: pytz
Requires-Dist: requests
Requires-Dist: service_identity>=18.1.0
Requires-Dist: twisted>=20.3.0
Provides-Extra: couchdb
Requires-Dist: couchdb; extra == "couchdb"
Provides-Extra: datadog
Requires-Dist: cryptography<=2.2.2; extra == "datadog"
Requires-Dist: pyOpenSSL<=18.0.0; extra == "datadog"
Provides-Extra: elastic
Requires-Dist: elasticsearch<=7.13; extra == "elastic"
Requires-Dist: numpy<=1.26.4; extra == "elastic"
Provides-Extra: discord
Provides-Extra: hpfeeds
Requires-Dist: hpfeeds>=3.0.0; extra == "hpfeeds"
Provides-Extra: influx2
Requires-Dist: influxdb-client; extra == "influx2"
Provides-Extra: jsonlog
Provides-Extra: kafka
Requires-Dist: confluent-kafka; extra == "kafka"
Provides-Extra: localsyslog
Provides-Extra: mysql
Requires-Dist: mysqlclient>=1.3.12; extra == "mysql"
Provides-Extra: nlcvapi
Requires-Dist: pyOpenSSL<=18.0.0; extra == "nlcvapi"
Provides-Extra: postgres
Requires-Dist: psycopg2-binary; extra == "postgres"
Provides-Extra: redisdb
Requires-Dist: redis; extra == "redisdb"
Provides-Extra: rethinkdblog
Requires-Dist: rethinkdb>=2.4; extra == "rethinkdblog"
Provides-Extra: slack
Requires-Dist: slack; extra == "slack"
Requires-Dist: slackclient; extra == "slack"
Provides-Extra: socketlog
Provides-Extra: sqlite
Provides-Extra: telegram
Provides-Extra: textlog
Provides-Extra: xmpp
Requires-Dist: xmpppy; extra == "xmpp"
Provides-Extra: all
Requires-Dist: couchdb; extra == "all"
Requires-Dist: elasticsearch<=7.13; extra == "all"
Requires-Dist: numpy<=1.26.4; extra == "all"
Requires-Dist: hpfeeds>=3.0.0; extra == "all"
Requires-Dist: influxdb-client; extra == "all"
Requires-Dist: confluent-kafka; extra == "all"
Requires-Dist: mysqlclient>=1.3.12; extra == "all"
Requires-Dist: pyOpenSSL<=18.0.0; extra == "all"
Requires-Dist: cryptography<=2.2.2; extra == "all"
Requires-Dist: psycopg2-binary; extra == "all"
Requires-Dist: redis; extra == "all"
Requires-Dist: rethinkdb>=2.4; extra == "all"
Requires-Dist: slack; extra == "all"
Requires-Dist: slackclient; extra == "all"
Requires-Dist: xmpppy; extra == "all"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: license-file
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# MongoPot: a MongoDB Honeypot

This is a honeypot simulating a MongoDB server. It borrows some ideas (mostly -
the communication protocol) from the [Simple MongoDB Honeypot
Server](https://github.com/0xNslabs/mongodb-honeypot) package. However, it has
many improvements, output plug-ins, and so on.

The honeypot does not emulate a full MongoDB server with databases and so on -
it only records the IP of the attacker, the username used, if any, any
pre-authentication commands, and returns an authentication error. It does not
attempt to record the passwords used by the attacker, since these are not
visible when the SCRAM authentication method is used.

## Prerequisites

- a working database server (only if you use an output plugin that outputs to a
database - e.g., MySQL)

## Usage

Check the [installation document](mongopot/data/docs/INSTALL.md) for more information how to
properly install, configure, and run the honeypot.
