Remy-Miquel/blue-team-tools

GitHub: Remy-Miquel/blue-team-tools

Stars: 0 | Forks: 0

# Blue Team Tools Outils d'analyse de sécurité développés dans le cadre de la formation Jedha. ## log_analyzer_v3.py — Apache Access Log Security Analyzer Analyseur de logs Apache (Combined Log Format) orienté Blue Team. Détecte les tentatives d'attaque courantes à partir des logs d'accès HTTP. ### Détections | Type d'attaque | Description | |---|---| | XSS | Patterns d'injection JavaScript (balises, événements, encodages) | | SQL Injection | Patterns SQLi courants (UNION, OR 1=1, sleep, DROP, etc.) | | Path Traversal / LFI | Traversées de répertoire et inclusion de fichiers locaux | | Brute-force / Scan | Volume d'erreurs 401/403/404 par IP dépassant un seuil configurable | ### Usage # Analyse basique python log_analyzer_v3.py access.log # Avec export du rapport dans un fichier python log_analyzer_v3.py access.log --output rapport.txt # Mode verbose (affiche chaque ligne parsée) python log_analyzer_v3.py access.log --verbose # Seuil brute-force personnalisé (défaut : 20 erreurs par IP) python log_analyzer_v3.py access.log --bf-threshold 15 ### Exemple de sortie [+] 1247 entrées parsées (3 lignes ignorées) [+] XSS=2 SQLi=5 PathTraversal=1 BruteForce/Scan=1 IP(s) ============================================================ SECURITY ANALYSIS REPORT — Blue Team Lab ============================================================ Généré le : 2026-05-26 14:32:11 Entrées lues : 1247 XSS détectés : 2 SQLi détectés : 5 Path Traversal : 1 IPs brute-force/scan: 1 ⚠️ POTENTIELLEMENT RÉUSSIES (HTTP 200) : 1 IPs attaquantes uniques : 2 - 192.0.2.1 - 192.0.2.2 ### Format de log attendu Combined Log Format (Apache / Nginx) : 127.0.0.1 - - [10/Jan/2026:10:30:00 +0000] "GET /page?id=1 HTTP/1.1" 200 512 "-" "Mozilla/5.0" ### Prérequis - Python 3.7+ - Aucune dépendance externe (stdlib uniquement : `argparse`, `re`, `collections`, `datetime`, `urllib.parse`) ### Architecture du script | Module / Fonction | Rôle | |---|---| | `setup_cli()` | Configuration des arguments CLI | | `read_log_file()` | Lecture en streaming (générateur, économe en RAM) | | `parse_log_line()` | Parsing regex du format Combined Log | | `_normalize()` | Double décodage URL + lowercase (anti-évasion) | | `detect_xss/sqli/path_traversal()` | Détection par patterns | | `detect_bruteforce()` | Comptage d'erreurs 401/403/404 par IP | | `generate_report()` | Rapport consolidé avec identification des HTTP 200 | ### Limitations - Analyse statique uniquement (pas de corrélation temporelle avancée) - Faux positifs possibles sur des requêtes légitimes contenant des mots-clés SQL - Combined Log Format uniquement ## Compétences démontrées - Python (stdlib) — argparse, re, collections, datetime, urllib.parse - Architecture modulaire (CLI / parsing / détection / rapport) - Gestion d'erreurs et d'encodage - Analyse de logs de sécurité - Détection de patterns d'attaque (XSS, SQLi, Path Traversal, brute-force) - Documentation technique ## Avertissement Outil développé dans un cadre éducatif pour l'analyse de logs de test. À adapter, tester et valider avant tout usage en environnement de production.