Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
HTSOC — Lab SOC reproductible pour la détection et la réponse à CVE-2024-4577 | Kitploit
Outils/GitHubGitHub/nktris/htsoc
Gestion des Indicateurs de Compromission (IOC)Flux et Agrégateurs de MenacesAnalyse des VulnérabilitésScripting et AutomatisationRenseignement sur les MenacesDétection d'IntrusionApprentissage et ÉducationRéponse aux IncidentsAnalyse de JournauxLabs et Pratique
GitHub
7il y a 1 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
nktris/htsoc

HTSOC

Lab SOC reproductible pour la détection et la réponse à CVE-2024-4577

Voir le dépôt
Partager

HTSOC — Système SOC intégré pour la surveillance, la détection et l'investigation d'événements

HTSOC est un système Security Operations Center auto-construit dans un environnement de laboratoire. Le système combine la collecte de logs, la détection via Splunk, la gestion des alertes/cas via TheHive, l'analyse des Observable via Cortex, la recherche IOC avec MISP ou VirusTotal, puis coordonne les notifications via n8n et Telegram.

CVE-2024-4577 n'est qu'un cas d'usage permettant de valider la capacité de détection multicouche ; l'ensemble du projet ne se limite pas à une seule CVE.

Table des matières

  • Objectifs
  • Architecture globale
  • Composants
  • Flux de traitement
  • Capacités de détection
  • Structure du dépôt
  • Déploiement
  • Tests et évaluation
  • Inventaire du système live
  • Runbook d'exploitation
  • Checklist de test

Objectifs

Le système simule un processus SOC complet :

  1. Collecte de télémétrie depuis Linux, Windows, Apache et Sysmon.
  2. Normalisation des logs dans Splunk selon index/sourcetype.
Télécharger l’outil
  • Détection de comportements suspects via SPL, recherches de corrélation, allowlist et score de risque.
  • Création d'alertes avec Observable pour poursuivre l'investigation par l'analyste.
  • Gestion des alertes/cas dans TheHive.
  • Permettre à l'analyste de sélectionner chaque Observable pour exécuter l'analyzer approprié dans Cortex.
  • Recherche IOC interne via MISP ou source externe via VirusTotal.
  • Envoi des alertes et des résultats d'analyse vers Telegram.
  • Mesure du MTTD, MTTN, MTTR, des faux positifs et du taux de doublons.
  • Architecture globale

    root@kitploit:~
    flowchart LR
        K[Kali ou source de test] --> W[Windows/XAMPP + Apache/PHP-CGI]
        L[Endpoint Linux] --> F[Universal Forwarder]
        W --> A[Log Apache access/error]
        W --> S[Sécurité Windows + Sysmon]
        A --> F
        S --> F
        F --> SP[Splunk]
        L --> F
        SP -->|Webhook d'alerte| TH[TheHive]
        TH -->|Alerte + Observable| N[n8n]
        N --> T[Telegram]
        N -->|Analyzer choisi par l'analyste| C[Cortex]
        C --> M[MISP]
        C --> V[VirusTotal]
        M --> N
        V --> N
        N --> T

    Topologie de laboratoire de référence

    ComposantRôleAdresse de référence
    Kalisource de trafic de test autorisé192.168.10.132
    Windows/XAMPPmachine cible Apache/PHP-CGI et Sysmon192.168.10.130:8080
    Splunkcollecte, recherche, corrélation et alertes192.168.10.128
    TheHivegestion des alertes, cas et Observable192.168.10.133:9000
    Cortexexécution des analyzers192.168.10.133:9001
    MISPréférentiel IOC interne192.168.10.133:443
    n8nautomatisation webhook/callback192.168.10.133:5678

    Les adresses ci-dessus sont réservées au laboratoire. Lors d'un redéploiement, remplacez-les par des variables d'environnement et n'exposez pas les services sur Internet.

    Composants

    Couche de collecte de données

    • Apache enregistre l'IP source, la méthode HTTP, l'URI, le statut et le User-Agent.
    • La sécurité Windows enregistre les connexions, la création de processus, les services et les changements de privilèges.
    • Sysmon complète avec la chaîne de processus, la ligne de commande, ProcessGuid, les preuves fichier, registre et réseau.
    • Les logs auth/syslog Linux enregistrent l'activité d'authentification et les événements système Linux.
    • Universal Forwarder transmet les logs vers Splunk selon les input/sourcetype définis.

    Couche de détection Splunk

    Splunk est le centre de détection du système. Les recherches couvrent le brute force de connexion, les logons réseau NTLM suspects, les changements de groupes à privilèges élevés, le mouvement latéral via SMB, la création de nouveaux services Windows, PowerShell encodé et l'injection d'arguments PHP-CGI.

    Couche de gestion des investigations

    TheHive reçoit les alertes de Splunk, affiche la sévérité/la source/le titre, stocke les Observable et permet à l'analyste de convertir une alerte en cas. Cortex reçoit les Observable de TheHive pour exécuter les analyzers. MISP et VirusTotal sont deux options d'analyse parallèles, non obligatoirement exécutées en série.

    Couche d'orchestration

    n8n reçoit les webhooks de TheHive et envoie l'alerte SOC initiale vers Telegram. Lorsque l'analyste clique sur un Observable, n8n traite alors le callback, détermine l'analyzer, crée le job Cortex, attend le rapport et envoie le résultat vers Telegram. Les mécanismes update_id, callback_query_id, suppression et job ID évitent les exécutions répétées.

    Flux de traitement

    Flux d'alerte

    root@kitploit:~
    Génération du log
      → Universal Forwarder
      → Recherche/corrélation Splunk
      → Alerte TheHive
      → Webhook n8n
      → Alerte SOC Telegram
    

    Flux d'analyse des Observable

    root@kitploit:~
    L'analyste clique sur un Observable dans Telegram
      → Callback Telegram
      → n8n répond immédiatement au callback
      → récupération de l'Observable depuis TheHive
      → vérification du type d'Observable et de l'analyzer
      → Cortex crée le job
      → n8n attend et récupère le rapport
      → Telegram envoie le résultat
    

    n8n n'exécute pas automatiquement tous les Observable dès la réception de l'alerte. L'analyzer n'est exécuté que lorsque l'analyste le sélectionne, ce qui réduit les coûts, diminue les notifications redondantes et préserve le contrôle de l'investigation.

    Capacités de détection

    Détections de base

    Les détections de base se trouvent dans config/splunk/core-savedsearches.conf, avec des lookups excluant les activités légitimes :

    DétectionDonnées principalesObjectif
    Brute Force LoginWindows Event ID 4625multiples échecs de connexion dans une fenêtre temporelle
    Suspicious NTLM LogonWindows Event ID 4624logon réseau type 3 utilisant NTLM de manière anormale
    Privileged Group ChangeEvent ID 4732/4728/4756ajout d'un compte à un groupe à privilèges élevés
    Lateral Movement SMBEvent ID 4624une source accédant à plusieurs hôtes de manière anormale
    New Windows ServiceEvent ID 7045création d'un nouveau service hors allowlist
    Encoded PowerShellEvent ID 4688PowerShell utilisant -enc ou -EncodedCommand

    Cas d'usage CVE-2024-4577

    Ce cas d'usage comporte deux couches :

    • La phase 1 analyse l'URI Apache, décode plusieurs niveaux et recherche des combinaisons d'endpoint PHP, d'encodage anormal, de l'option -d, de noms de fichiers INI PHP sensibles ou de php://input. C'est un signal de suspicion.
    • La phase 2 recoupe avec la sécurité Windows/Sysmon dans une fenêtre temporelle limitée. Un processus enfant suspect créé par php-cgi.exe constitue une preuve forte ; les preuves fichier/registre/réseau sont des preuves de soutien.

    Les métadonnées de règle au format Sigma se trouvent dans detections/sigma/cve-2024-4577-php-cgi-argument-injection.yml. La recherche exécutée dans Splunk se trouve dans config/splunk/install-cve-detections.ps1.

    Structure du dépôt

    root@kitploit:~
    config/
    ├── forwarder/       configuration des entrées/sorties Windows et Linux
    ├── misp/             IOC simulés pour la recherche interne
    ├── n8n/              modèle de workflow TheHive–Telegram–Cortex
    ├── splunk/           recherches enregistrées, lookups et script de corrélation
    └── sysmon/           configuration de la télémétrie Windows
    deploy/              modèle Docker Compose avec secrets supprimés
    detections/
    └── sigma/            métadonnées de règles indépendantes du fournisseur
    scripts/
    ├── splunk/           mise à jour des recherches via API
    ├── validation/       vérification de la disponibilité
    └── windows/          installation de la télémétrie sur la machine cible du lab
    docs/                 documentation d'exploitation et callback Telegram
    

    La correspondance entre la source et le système live se trouve dans l'inventaire du système. Le manifeste du workflow n8n réel avec secrets supprimés se trouve dans config/n8n/live-workflow-manifest.json ; le petit fichier modèle d'import est conservé séparément pour reconstruire un nouveau lab en toute sécurité.

    Déploiement

    Stack Docker

    root@kitploit:~
    cp deploy/docker-compose.soc.example.yml deploy/docker-compose.yml
    cp .env.example .env
    # Renseigner les secrets via un gestionnaire de secrets ou un fichier .env local.
    docker compose -f deploy/docker-compose.yml config
    docker compose -f deploy/docker-compose.yml up -d
    docker compose -f deploy/docker-compose.yml ps
    

    Le modèle Compose déploie TheHive, Cortex, MISP, Cassandra, Elasticsearch, MinIO, Redis et les modules MISP. n8n est actuellement exploité comme service hôte et la configuration du workflow se trouve dans config/n8n/.

    Windows et Splunk

    root@kitploit:~
    # PowerShell Administrateur sur le Windows du lab
    .\scripts\windows\install-lab-telemetry.ps1
    
    # Sur la machine Splunk, ne pas écrire le mot de passe dans le code source
    $env:SPLUNK_PASSWORD = '<local-secret>'
    .\config\splunk\install-cve-detections.ps1
    python .\scripts\splunk\update-correlation-searches.py
    
    # Vérification de la disponibilité
    .\scripts\validation\check-system-readiness.ps1
    

    n8n, TheHive, Cortex et MISP

    1. Importer le modèle de workflow dans n8n.
    2. Créer des identifiants dédiés pour TheHive, Cortex et Telegram.
    3. Configurer le webhook TheHive pointant vers n8n.
    4. Vérifier que Cortex dispose des analyzers MISP/VirusTotal correspondants.
    5. Importer des IOC d'exemple dans l'événement MISP interne si nécessaire.

    Les détails du callback se trouvent dans docs/telegram-callback-setup.md.

    Tests et évaluation

    Les tests s'effectuent dans l'ordre ascendant :

    1. Apache/Sysmon génèrent les logs.
    2. Le Forwarder transmet les logs vers Splunk.
    3. Splunk renvoie les résultats de détection avec le bon index/sourcetype.
    4. TheHive reçoit l'alerte et les Observable.
    5. n8n reçoit le webhook une seule fois.
    6. Telegram reçoit l'alerte SOC.
    7. Le callback crée exactement un job Cortex.
    8. Telegram reçoit le rapport MISP ou VirusTotal.

    Les indicateurs utilisés dans le lab : MTTD de l'événement jusqu'à la détection par Splunk, MTTN de l'alerte jusqu'à la notification Telegram, MTTR de la réception de l'alerte jusqu'au triage/clôture du cas, taux de faux positifs et taux de doublons.