
Framework de honeypot faiblement interactif configurable en YAML pour déployer des serveurs de leurre basés sur HTTP/HTTPS avec honeytraps intégrés et intégration des logs Datadog.
HASH est un framework pour créer et lancer des honeypots low-interaction.

La philosophie principale de HASH est d'être facile à configurer et flexible pour imiter n'importe quel logiciel fonctionnant sur HTTP/HTTPs. Avec l'empreinte minimale possible pour éviter d'être détecté comme honeypot.
fakerjs pour éviter la détection des honeypotsHASH est construit avec Node.js mais peut imiter n'importe quel langage/serveur web selon la configuration. Lisez la documentation complète ci-dessous.
npm install -g hash-honeypot
docker run --rm ghcr.io/datadog/hash help
HASH utilise des fichiers YAML pour configurer la simulation du logiciel souhaité. La structure typique du dossier de profil est la suivante :
|____templates
| |____resources
| | |____index.html
| | |____style.css
| | |____favicon.ico
| |____404.yaml
| |____default.yaml
|____init.yaml
Vous pouvez le construire vous-même ou le générer en utilisant la commande generate
Usage: HASH generate [options] <folder>
Generate honeypot profile
Arguments:
folder path/to the app
Options:
-t --template <template_name> base template (default: "default")
-n --name <honeypot_name> Honeypot name
-s --swagger <swagger_file> Path to swagger file to convert
-h, --help display help for command
Exemple
hash-honeypot generate myhoneypot --name my-honey-pot --template default
Vous pouvez également convertir des fichiers swagger en honeypot directement depuis la commande generate
Exemple de conversion de fichier(s) swagger en honeypot
hash-honeypot generate sample-swagger2 -n sample -s ./test-swagger/test-swagger.yaml
Usage: HASH run [options] <folder>
Run HASH
Arguments:
folder path/to the template folder
Options:
-l, --log <transport> logging transport (default: "console,file,datadog")
-f, --log_file <filename> logging filename (default: "hash.log")
-h, --help display help for command
exemple
hash-honeypot my-honeypot-profile -l file -f ./logs/hash.log
Si vous utilisez Datadog pour les logs, assurez-vous d'exporter la clé API Datadog :
export DD_API_KEY=<your-api-key>
Vous pouvez personnaliser votre profil de honeypot comme vous le souhaitez
Exemple de modèle de requête :
id: sqli-error
info:
title: 'SQL error honeytrap'
requests:
- isTrap: false
expect:
method: GET
path: '/author/:Id([0-9]+)'
reply:
status: 200
headers:
content-type: 'text/html'
body:
view: 'author.html'
- isTrap: true
expect:
method: GET
path: '/author/:Id'
reply:
status: 500
headers:
content-type: 'text/html'
body:
contents: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2"
Publié sous licence Apache-2.0, les contributions sont les bienvenues !
N'hésitez pas à ouvrir un ticket ou à nous contacter à [email protected].