3 releases (1 stable)
1.0.0 | Nov 15, 2024 |
---|---|
0.1.1 | Nov 6, 2024 |
0.1.0 | Oct 30, 2024 |
#273 in Network programming
130 downloads per month
20KB
254 lines
Rustbucket
Rustbucket is a lightweight honeypot written in Rust that runs on virtual machines and containers exposed to the internet. By simulating common services on commonly attacked ports, Rustbucket captures and logs malicious activity for analysis.
The fun sauce is that Rustbucket also has a built-in ChatGPT integration, allowing it to generate responses to attackers in real-time. This can be used to confuse attackers, gather more information, or simply have fun with them.
Admittedly, ChatGPT can only pretend to be an Ubuntu server about 60% of the time. Nonetheless, it's a fun addition to the honeypot that can lead to some interesting interactions. You can also modify the prompts yourself in Config.toml to make ChatGPT behavior however you'd like!
Features
- Protocol Emulation: Mimics popular services such as SMTP, HTTP, and FTP.
- Configurable Ports: Easily configure which ports to monitor and the services to emulate through a TOML configuration file.
- Logging: Captures all interactions, providing valuable insights into potential attacks.
- Concurrency: Utilizes Rust’s async capabilities for handling multiple simultaneous connections efficiently.
Prerequisites
- Rust (1.50 or later)
- Cargo (Rust’s package manager and build system)
- ChatGPT API Key with usage quota (it doesn't use much!)
Installation
- Clone the repository:
git clone https://github.com/yourusername/rustbucket.git cd rustbucket
- Update Config.toml with your ChatGPT API key. Feel free to customize the Prompt messages to make Rustbucket behave the way you want.
- Build the project:
cargo build --release
- Optionally, build it in a container:
docker build -t rustbucket .
Dependencies
~14–27MB
~383K SLoC