Un honeypot HTTP et SSH écrit en Rust simulant un environnement bancaire et un faux serveur distant, conçu pour piéger, observer et analyser les comportements malveillants dans un cadre contrôlé.
- Interface web réaliste avec :
- Page d'accueil
index.html
- Formulaire de connexion
login.html
- Tableau de bord utilisateur
dashboard.html
- Faux panneau d’administration
admin.html
- Page d'accueil
- Fausse API JSON (
/api/transactions
) - Routes pièges (
/debug
,/config
) pour simuler des erreurs ou fuites
- Faux serveur SSH (port
2222
) - Enregistrement des connexions et des commandes tapées
- Réponses simulées aux commandes pour tromper l'attaquant
- Faux utilisateurs (ex:
admin
,root
)
Tous les événements sont loggués dans un seul fichier : honeypot.log
.
- HTTP :
- Accès classiques et suspects (
/admin
, injections XSS/SQLi)
- Accès classiques et suspects (
- SSH :
- Connexions autorisées ou refusées
- Commandes exécutées par l’attaquant
Format :
[INFO] [IP] - SSH login successful - User: admin
[WARN] Requête suspecte vers /config depuis 192.168.1.10
- Brute-force : blocage IP après 5 échecs
- XSS/SQLi : détection via expressions régulières
- Analyse comportementale via les logs générés
tests/http_log_tests.rs
: simulateur de requêtes HTTP- (optionnel)
tests/ssh_log_tests.rs
pour connexions SSH
cargo test -- --nocapture
Lancer le honeypot localement :
cargo run
- HTTP disponible sur http://127.0.0.1/
- SSH sur
localhost:2222
ssh -p 2222 admin@localhost # Connexion acceptée (logguée)
ssh -p 2222 root@localhost # Connexion rejetée (logguée)
src/
main.rs # Point d'entrée du honeypot
ssh.rs # Faux serveur SSH
http.rs # Serveur HTTP (warp)
log.rs # Système de journalisation
static/
index.html # Page d'accueil
login.html # Page de connexion
admin.html # Faux accès admin
dashboard.html # Espace utilisateur
style.css # Feuille de style
tests/
http_log_tests.rs # Tests HTTP
honeypot.log # Fichier de logs généré automatiquement
- Rust
cargo
warp
tokio
simplelog
thrussh
reqwest
cargo build
- Modifiez les pages HTML dans
static/
pour adapter le scénario - Ajoutez des routes ou services dans
src/http.rs
- Modifiez
src/ssh.rs
pour simuler des commandes ou utilisateurs - Analysez le fichier
honeypot.log
pour extraire des IOCs ou des patterns
Ce projet est à but éducatif uniquement.
Ne jamais exposer un honeypot sans sandbox, pare-feu et supervision stricte.
- Selixah
- Tineho