Skip to main content

Trapster Daemon

Project description

Trapster logo

Trapster Community

🌐 Website · 📚 Documentation · 💬 Discord


Trapster Community is a low-interaction honeypot designed to be deployed on internal networks or to capture credentials. It is built to monitor and detect suspicious activities, providing a deceptive layer to network security.

Visit the Trapster website to learn more about our commercial version, which includes advanced features like pre-configured hardened OS, automatic deployment, webhook, SIEM integration and much more...

Features

  • Deceptive Security: Mimics network services to lure and detect potential intruders.
  • Asynchronous Framework: Utilizes Python's asyncio for efficient, non-blocking operations.
  • Configuration Management: Easily configurable through trapster.conf.
  • Expandable Services: Add and configure as many services as needed with minimal effort.
  • HTTP Honeypot Engine with AI capabilities: Clone any website using YAML configuration, and use AI to generate responses to some HTTP requests.

Supported Protocols

Protocol Notes
FTP (21) Capture FTP login attempts
SSH (22) Capture SSH login attempts
Telnet (23) Capture TELNET login attempts
DNS (53) Works as a proxy to a real DNS server, and log queries
HTTP/HTTPS (80/443) Copy website, features custom YAML configuration templating engine
SNMP (161) Log SNMP queries
LDAP (389) Capture LDAP login attempts and queries
Rsync (873) Capture RSYNC login attempts
MSSQL (1433) Capture MSSQL login attempts
MySQL (3306) Capture MySQL login attempts
RDP (3389) Capture RDP login attempts
PostgreSQL (5432) Capture POSTGRES login attempts
VNC (5900) Capture VNC login attempts

Documentation and installation guide

https://docs.trapster.cloud/community/

Logs

Format

Each module can generate up to 4 types of logs: connection, data, login, and query.

  • connection: Indicates that a connection has been made to the module.
  • data: Represents raw data that has been sent, logged in HEX format. This data is unprocessed.
  • login: Captures login attempts to the module. The data field is in JSON format and contains processed information.
  • query: Logs data that has been processed and does not correspond to an authentication attempt. The data field is in JSON format and contains processed information.

You can then filter log type you don't need.

HTTP Engine with AI capabilities

Configuration

The HTTP module can emulate any website. It works with YAML configuration files to match requests using regular expressions, and can generate responses using either a template or an AI model.

The configuration are stored in trapster/data/http, each folder represent a website. An example of the functionnalities can be found at trapster/data/http/demo_api/config.yaml

Structure:

  • config.yaml: contains the configuration for the website.
  • files/: contains the static files for the website.
  • templates/: contains the templates for the website, it supports jinja2 syntax.

Documentation : https://docs.trapster.cloud/community/modules/web/

Example: Fortigate

The default HTTPS server shows a fortigate login page: image

If someone tries to login, you will get a log like this one:

{
   "device":"trapster-1",
   "logtype":"https.login",
   "dst_ip":"127.0.0.1",
   "dst_port":8443,
   "src_ip":"127.0.0.1",
   "src_port":45182,
   "timestamp":"2025-02-28 18:53:18.498008",
   "data":"616a61783d3126757365726e616d653d61646d696e267365637265746b65793d61646d696e2672656469723d253246",
   "extra":{
      "method":"POST",
      "target":"/logincheck",
      "headers":{
         "host":"127.0.0.1:8443",
         "connection":"keep-alive",
         "content-length":"47",
         "cache-control":"no-store, no-cache, must-revalidate",
         "sec-ch-ua-platform":"\"Linux\"",
         "pragma":"no-cache",
         "sec-ch-ua":"\"Not(A:Brand\";v=\"99\", \"Google Chrome\";v=\"133\", \"Chromium\";v=\"133\"",
         "sec-ch-ua-mobile":"?0",
         "user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.3",
         "if-modified-since":"Sat, 1 Jan 2000 00:00:00 GMT",
         "content-type":"text/plain;charset=UTF-8",
         "accept":"*/*",
         "origin":"https://127.0.0.1:8443",
         "sec-fetch-site":"same-origin",
         "sec-fetch-mode":"cors",
         "sec-fetch-dest":"empty",
         "referer":"https://127.0.0.1:8443/login?redir=%2F",
         "accept-encoding":"gzip, deflate, br, zstd",
         "accept-language":"en-US,en;q=0.9"
      },
      "status_code":200,
      "username":"admin",
      "password":"admin"
   }
}

AI ALPHA support

To generate responses, you can use the ai field in the configuration. For now, it uses OVHCloud AI Endpoints as it is still free, and in beta. The file trapster/modules/libs/ai.py contains the code to generate responses using the AI model. It is still very basic, and will be improved in the near future.

For example, this image show a request to capture SQLi attempts, and the response generated by the AI model.

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-branch).
  3. Make your changes.
  4. Commit your changes (git commit -m 'Add new feature').
  5. Push to the branch (git push origin feature-branch).
  6. Create a pull request.

License

Trapster is licensed under the GNU Affero General Public License v3 or later (AGPLv3+). See the LICENSE file for more details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

trapster-1.0.26.tar.gz (55.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

trapster-1.0.26-py3-none-any.whl (61.0 kB view details)

Uploaded Python 3

File details

Details for the file trapster-1.0.26.tar.gz.

File metadata

  • Download URL: trapster-1.0.26.tar.gz
  • Upload date:
  • Size: 55.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for trapster-1.0.26.tar.gz
Algorithm Hash digest
SHA256 c799d28eb604e114bba374317649dff5282938a6c22d16d85d337789802ce784
MD5 e4e930d4b81388e43553ca0a6a5617ff
BLAKE2b-256 c1f5e0ce0d848749080be60b2484b83545a060a15d6e6b8379e1dc2822b1f9cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for trapster-1.0.26.tar.gz:

Publisher: publish.yml on 0xBallpoint/trapster-community

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file trapster-1.0.26-py3-none-any.whl.

File metadata

  • Download URL: trapster-1.0.26-py3-none-any.whl
  • Upload date:
  • Size: 61.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for trapster-1.0.26-py3-none-any.whl
Algorithm Hash digest
SHA256 7289f692c2dad1e7ab3575e45b643583aa703916afed54aa9c3fac588f55f220
MD5 245ac45ff5f959466be266934fd3fc26
BLAKE2b-256 4d511a5fdc711a4c332ff84d47adadb6724cae9bdc3ed3e72af4203d391eb653

See more details on using hashes here.

Provenance

The following attestation bundles were made for trapster-1.0.26-py3-none-any.whl:

Publisher: publish.yml on 0xBallpoint/trapster-community

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page