Skip to content

TINEHO/Honeypot

Repository files navigation

Honey_Pot_Rust

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é.


Fonctionnalités

Simulation HTTP (Service Bancaire)

  • 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
  • Fausse API JSON (/api/transactions)
  • Routes pièges (/debug, /config) pour simuler des erreurs ou fuites

Simulation SSH

  • 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)

Journalisation Centralisée

Tous les événements sont loggués dans un seul fichier : honeypot.log.

  • HTTP :
    • Accès classiques et suspects (/admin, injections XSS/SQLi)
  • 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

Détection automatisée

  • 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 automatisés

  • tests/http_log_tests.rs : simulateur de requêtes HTTP
  • (optionnel) tests/ssh_log_tests.rs pour connexions SSH
cargo test -- --nocapture

Utilisation

Lancer le honeypot localement :

cargo run

Exemples de tests SSH :

ssh -p 2222 admin@localhost     # Connexion acceptée (logguée)
ssh -p 2222 root@localhost      # Connexion rejetée (logguée)

Structure du projet

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

Installation

Prérequis

Dépendances (gérées automatiquement par Cargo.toml) :

  • warp
  • tokio
  • simplelog
  • thrussh
  • reqwest

Compilation

cargo build

Personnalisation

  • 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

Avertissement

Ce projet est à but éducatif uniquement.
Ne jamais exposer un honeypot sans sandbox, pare-feu et supervision stricte.


Contributeurs

  • Selixah
  • Tineho

About

Honeypot en rust

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published