Metadata-Version: 2.4
Name: mongopot
Version: 2.0.2
Summary: A MongoDB Honeypot
Home-page: https://gitlab.com/bontchev/mongopot
Author: Vesselin Bontchev
Author-email: vbontchev@yahoo.com
License: GPL-3.0-only
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: 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: pytz
Requires-Dist: pymongo
Requires-Dist: requests<=2.27.1; python_version < "3"
Requires-Dist: requests; python_version >= "3"
Requires-Dist: service_identity<=18.1.0; python_version < "3"
Requires-Dist: service_identity; python_version >= "3"
Requires-Dist: twisted<21,>=20.3.0; python_version < "3"
Requires-Dist: twisted>=21; python_version >= "3"
Provides-Extra: couchdb
Requires-Dist: couchdb; extra == "couchdb"
Provides-Extra: datadog
Requires-Dist: certifi; extra == "datadog"
Requires-Dist: cryptography<=2.8; python_version < "3" and extra == "datadog"
Requires-Dist: pyOpenSSL<=18.0.0; python_version < "3" and extra == "datadog"
Requires-Dist: cryptography; python_version >= "3" and extra == "datadog"
Requires-Dist: pyOpenSSL; python_version >= "3" and extra == "datadog"
Provides-Extra: discord
Requires-Dist: certifi; extra == "discord"
Provides-Extra: elastic
Requires-Dist: elasticsearch<=7.13; python_version < "3" and extra == "elastic"
Requires-Dist: numpy<=1.16.6; python_version < "3" and extra == "elastic"
Requires-Dist: elasticsearch8<9.0.0,>=8.12.0; python_version >= "3" and extra == "elastic"
Requires-Dist: numpy; python_version >= "3" and extra == "elastic"
Provides-Extra: hpfeed
Requires-Dist: Automat<20; python_version < "3" and extra == "hpfeed"
Requires-Dist: hpfeeds>=3.0.0; extra == "hpfeed"
Provides-Extra: influx2
Requires-Dist: influxdb-client; python_version >= "3" and extra == "influx2"
Provides-Extra: jsonlog
Provides-Extra: kafka
Requires-Dist: confluent-kafka<1.0; python_version < "3" and extra == "kafka"
Requires-Dist: confluent-kafka; python_version >= "3" and extra == "kafka"
Provides-Extra: localsyslog
Provides-Extra: mongodb
Requires-Dist: pymongo<=3.13.0; python_version < "3" and extra == "mongodb"
Requires-Dist: dnspython; python_version < "3" and extra == "mongodb"
Requires-Dist: pymongo; python_version >= "3" and extra == "mongodb"
Provides-Extra: mysql
Requires-Dist: PyMySQL; python_version < "3" and extra == "mysql"
Requires-Dist: mysqlclient>=1.3.12; python_version >= "3" and extra == "mysql"
Provides-Extra: nlcvapi
Requires-Dist: certifi; extra == "nlcvapi"
Requires-Dist: pyOpenSSL<=18.0.0; python_version < "3" and extra == "nlcvapi"
Requires-Dist: pyOpenSSL; python_version >= "3" and extra == "nlcvapi"
Provides-Extra: postgres
Requires-Dist: psycopg2-binary; extra == "postgres"
Provides-Extra: redisdb
Requires-Dist: redis<=3.5.3; python_version < "3" and extra == "redisdb"
Requires-Dist: redis; python_version >= "3" and extra == "redisdb"
Provides-Extra: rethinkdblog
Requires-Dist: rethinkdb>=2.4; extra == "rethinkdblog"
Requires-Dist: looseversion; extra == "rethinkdblog"
Provides-Extra: slack
Requires-Dist: slackclient<3; python_version < "3" and extra == "slack"
Requires-Dist: slack-sdk; python_version >= "3" and extra == "slack"
Provides-Extra: socketlog
Provides-Extra: sqlite
Provides-Extra: telegram
Requires-Dist: certifi; extra == "telegram"
Provides-Extra: textlog
Provides-Extra: xmpp
Requires-Dist: xmpppy>=0.7.3; extra == "xmpp"
Provides-Extra: all
Requires-Dist: Automat<20; python_version < "3" and extra == "all"
Requires-Dist: PyMySQL; python_version < "3" and extra == "all"
Requires-Dist: certifi; extra == "all"
Requires-Dist: confluent-kafka; python_version >= "3" and extra == "all"
Requires-Dist: confluent-kafka<1.0; python_version < "3" and extra == "all"
Requires-Dist: couchdb; extra == "all"
Requires-Dist: cryptography; python_version >= "3" and extra == "all"
Requires-Dist: cryptography<=2.8; python_version < "3" and extra == "all"
Requires-Dist: dnspython; python_version < "3" and extra == "all"
Requires-Dist: elasticsearch8<9.0.0,>=8.12.0; python_version >= "3" and extra == "all"
Requires-Dist: elasticsearch<=7.13; python_version < "3" and extra == "all"
Requires-Dist: hpfeeds>=3.0.0; extra == "all"
Requires-Dist: influxdb-client; python_version >= "3" and extra == "all"
Requires-Dist: looseversion; extra == "all"
Requires-Dist: mysqlclient>=1.3.12; python_version >= "3" and extra == "all"
Requires-Dist: numpy; python_version >= "3" and extra == "all"
Requires-Dist: numpy<=1.16.6; python_version < "3" and extra == "all"
Requires-Dist: psycopg2-binary; extra == "all"
Requires-Dist: pyOpenSSL; python_version >= "3" and extra == "all"
Requires-Dist: pyOpenSSL<=18.0.0; python_version < "3" and extra == "all"
Requires-Dist: pymongo; python_version >= "3" and extra == "all"
Requires-Dist: pymongo<=3.13.0; python_version < "3" and extra == "all"
Requires-Dist: redis; python_version >= "3" and extra == "all"
Requires-Dist: redis<=3.5.3; python_version < "3" and extra == "all"
Requires-Dist: rethinkdb>=2.4; extra == "all"
Requires-Dist: slack-sdk; python_version >= "3" and extra == "all"
Requires-Dist: slackclient<3; python_version < "3" and extra == "all"
Requires-Dist: xmpppy>=0.7.3; 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 [Linux installation guide](https://gitlab.com/bontchev/mongopot/-/blob/master/mongopot/data/docs/INSTALL.md) or the
[Windows installation guide](https://gitlab.com/bontchev/mongopot/-/blob/master/mongopot/data/docs/INSTALLWIN.md) for complete
instructions on how to install, configure, and run the honeypot.
