
HADES
HADES, the Honeypot And Deception Emulation System, is a high-interaction, low-effort honeypot system. Unlike most high-interaction honeypots, HADES doesn't provide attackers with access to any actual system. AI actually does all the work of simulating a realistic honeypot system based on a configurable system prompt that describes what type of system you want to simulate. Unlike many other high-interaction honeypots which require substantial effort to seed with realistic users, data, and applications, HADES's AI backend will do all this for you, automatically.
This version of HADES simulates a Linux server via the SSH protocol.
Setup
Install Dependencies
Ensure you have Python3 installed. Then, install the required dependencies:
pip install -r requirements.txt
Configuration
Before running HADES, you need to configure it properly. Follow these steps:
Generate the SSH Host Key
The SSH server requires a TLS keypair for security communications. You can generate an SSH keypair using the following command:
ssh-keygen -t rsa -b 4096 -f SSH/ssh_host_key
Copy the Template Configuration File
Copy the SSH/config.ini.TEMPLATE
file to SSH/config.ini
:
Edit the Configuration File
Open the SSH/config.ini
file and review the settings. Update the values as needed, paying special attention to the values in the [llm]
and [user_accounts]
sections.
Execution
To start the HADES honeypot server, change to the SSH
directory and run the following command:
python3 ./ssh_server.py
The server will start and listen for incoming SSH connections on the configured port.
Test it Out
Once the server is running (this can take a few seconds), access it on the configured port. If you are on a Linux or UNIX-like system, try the following command (substitute "localhost" and "8022" as appropriate for your config):
ssh guest@localhost -p 8022
Logging
Logs will be written to the file specified in the log_file
configuration option. Review the logs to monitor honeypot activity.
Contributing
Contributions are welcome! Please submit pull requests or open issues to discuss any changes or improvements.
License
This project is licensed under the MIT License. See the LICENSE file for details.