SOC Prime Bias: Critique

27 May 2026 15:26 UTC

De l’appliance de périphérie à la compromission de l’entreprise : Intrusion Linux en plusieurs étapes via F5 et Confluence

Author Photo
SOC Prime Team linkedin icon Suivre
De l’appliance de périphérie à la compromission de l’entreprise : Intrusion Linux en plusieurs étapes via F5 et Confluence
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

Un acteur malveillant a d’abord accédé via un répartiteur de charge F5 BIG-IP exposé, puis s’est tourné vers un serveur Linux interne et a ensuite compromis une instance interne d’Atlassian Confluence en exploitant une vulnérabilité connue. À partir de là, l’attaquant a effectué une découverte large, volé des identifiants et lancé des attaques de relais Kerberos et NTLM contre des actifs de domaine Windows. L’opération s’est appuyée sur un mélange d’outils open-source et de scripts personnalisés pour l’analyse, le déplacement latéral et l’exfiltration de données.

Enquête

Microsoft Defender Security Research a retracé l’intrusion de l’appareil BIG-IP compromis à l’hôte Linux interne, où les enquêteurs ont trouvé un outil de balayage personnalisé téléchargé depuis une adresse IP malveillante. L’analyse a également documenté l’utilisation d’utilitaires tels que Nmap, gowitness et Responder durant l’attaque. Les chercheurs ont également découvert un vol d’identifiants depuis les fichiers de configuration de Confluence, suivi d’attaques de relais ciblant le contrôleur de domaine et d’autres ressources Windows.

Atténuation

Les organisations doivent traiter les appareils en bordure d’accès à Internet comme des ressources de niveau 0, appliquer une gestion stricte des correctifs et du cycle de vie pour les appareils vieillissants ou non pris en charge, et limiter l’exposition des interfaces de gestion. Les applications web internes doivent être renforcées et mises à jour rapidement contre les vulnérabilités connues. Des contrôles d’authentification plus forts, y compris la désactivation de NTLM lorsque possible et l’application de la signature SMB, peuvent aider à réduire l’impact des attaques basées sur le relais.

Réponse

Les défenseurs doivent alerter sur les connexions SSH inhabituelles provenant d’adresses IP inattendues, surveiller les transferts de fichiers non autorisés et l’exécution d’utilitaires de balayage connus, et bloquer les binaires ELF suspects. Les équipes de sécurité devraient également faire tourner les identifiants potentiellement exposés, appliquer le principe du moindre privilège pour les comptes de service, et vérifier l’intégrité des configurations de Confluence et Active Directory.

"graph TB %% Class definitions classDef action fill:#99ccff classDef technique fill:#c2e0ff classDef tool fill:#e6e6e6 classDef credential fill:#ffdd99 %% Étape 1 – Exploiter l’Application Publiquement Exposée step1_exploit["<b>Technique</b> – <b>T1190 Exploiter l’Application Publiquement Exposée</b><br/><b>Description</b>: L’adversaire exploite une vulnérabilité dans un service exposé à Internet pour obtenir l’accès initial."] class step1_exploit technique %% Outil – F5 BIG-IP Vulnérable tool_f5["<b>Outil</b> – <b>Nom</b>: Répartiteur de charge F5 BIG-IP (vulnérable)<br/><b>CVE</b>: CVE-2025-153521"] class tool_f5 tool %% Étape 2 – Exploitation de Services à Distance step2_remote["<b>Technique</b> – <b>T1210 Exploitation de Services à Distance</b><br/><b>Description</b>: Utiliser la même vulnérabilité pour exécuter du code sur le système cible et se déplacer latéralement."] class step2_remote technique %% Étape 3 – Services à Distance SSH step3_ssh["<b>Technique</b> – <b>T1021.004 SSH</b><br/><b>Description</b>: S’authentifier via SSH avec un compte privilégié sur un hôte Linux interne."] class step3_ssh technique %% Étape 4 – Détournement de Session de Service à Distance step4_hijack["<b>Technique</b> – <b>T1563.001 Détournement de Session de Service à Distance</b><br/><b>Description</b>: Maintenir une session SSH interactive en direct pour exécuter des commandes."] class step4_hijack technique %% Étape 5 – Balayage Actif (Blocs IP) step5_ipscan["<b>Technique</b> – <b>T1595.001 Balayage de Blocs IP</b><br/><b>Description</b>: Exécuter des scripts Nmap pour découvrir des hôtes actifs et des ports ouverts sur des sous-réseaux internes."] class step5_ipscan technique %% Outil – Nmap tool_nmap["<b>Outil</b> – <b>Nom</b>: Nmap<br/><b>Objectif</b>: Découverte réseau et balayage de ports"] class tool_nmap tool %% Étape 6 – Balayage Actif (Vulnérabilité) step6_vulnscan["<b>Technique</b> – <b>T1595.002 Balayage de Vulnérabilité</b><br/><b>Description</b>: Utiliser un scanner personnalisé et gowitness pour localiser les applications internes vulnérables telles que Confluence."] class step6_vulnscan technique %% Outil – gowitness tool_gowitness["<b>Outil</b> – <b>Nom</b>: gowitness<br/><b>Objectif</b>: Capturer des captures d’écran des services web pour l’énumération"] class tool_gowitness tool %% Étape 7 – Découverte de Configuration de Réseau du Système step7_netconfig["<b>Technique</b> – <b>T1016 Découverte de Configuration de Réseau du Système</b><br/><b>Description</b>: Collecter les détails de configuration réseau pour cartographier l’environnement."] class step7_netconfig technique %% Étape 8 – Découverte de Fichiers et de Répertoires step8_filedisc["<b>Technique</b> – <b>T1083 Découverte de Fichiers et de Répertoires</b><br/><b>Description</b>: Énumérer les fichiers sur l’hôte Linux compromis et le serveur Confluence (par exemple, server.xml, confluence.cfg.xml)."] class step8_filedisc technique %% Étape 9 – Identifiants Non Sécurisés step9_creds["<b>Technique</b> – <b>T1552 Identifiants Non Sécurisés</b><br/><b>Description</b>: Extraire les identifiants de compte de service des fichiers de configuration."] class step9_creds technique %% Noeud d’identification cred_service["<b>Identifiant</b> – Identifiants de compte de service collectés"] class cred_service credential %% Étape 10 – Comptes Valides step10_valid["<b>Technique</b> – <b>T1078 Comptes Valides</b><br/><b>Description</b>: Réutiliser les identifiants Confluence collectés pour s’authentifier aux services Active Directory."] class step10_valid technique %% Étape 11 – Déplacement Latéral via Services à Distance step11_lateral["<b>Technique</b> – <b>T1021 Services à Distance</b><br/><b>Description</b>: Tenter un déplacement latéral basé sur NTLM en utilisant des outils d’énumération et de partage de fichiers."] class step11_lateral technique %% Outils – enum4linux, netexec, smbclient tool_enum4linux["<b>Outil</b> – <b>Nom</b>: enum4linux<br/><b>Objectif</b>: Collecte de données d’énumération Windows"] class tool_enum4linux tool tool_netexec["<b>Outil</b> – <b>Nom</b>: netexec<br/><b>Objectif</b>: Exécuter des commandes via SMB"] class tool_netexec tool tool_smbclient["<b>Outil</b> – <b>Nom</b>: smbclient<br/><b>Objectif</b>: Accéder aux partages SMB"] class tool_smbclient tool %% Étape 12 – Passer le Ticket (Relai Kerberos/NTLM) step12_passticket["<b>Technique</b> – <b>T1550.003 Passer le Ticket</b><br/><b>Description</b>: Effectuer des attaques de relai Kerberos et NTLM (par ex., PetitPotam) contre les contrôleurs de domaine."] class step12_passticket technique %% Outil – PetitPotam tool_petitpotam["<b>Outil</b> – <b>Nom</b>: PetitPotam<br/><b>Objectif</b>: Relai NTLM via Microsoft RPC"] class tool_petitpotam tool %% Étape 13 – Voler ou Forger des Tickets Kerberos step13_kerb["<b>Technique</b> – <b>T1558 Voler ou Forger des Tickets Kerberos</b><br/><b>Description</b>: Obtenir des tickets Kerberos privilégiés pour compromettre davantage l’AD."] class step13_kerb technique %% Étape 14 – Détournement du Flux d’Exécution (Permissions de Fichier) step14_perm["<b>Technique</b> – <b>T1574.005 Détournement du Flux d’Exécution : Faiblesse des Permissions de Fichier d’Installateur Exécutable</b><br/><b>Description</b>: Ajouter des permissions exécutables aux binaires ELF malveillants avant exécution."] class step14_perm technique %% Étape 15 – Déployer un Shell Web step15_webshell["<b>Technique</b> – <b>T1505.003 Composant Logiciel Serveur : Shell Web</b><br/><b>Description</b>: Déployer un shell web sur le serveur Confluence pour la persistance."] class step15_webshell technique %% Étape 16 – Protocoles de Couche Applicative (Transfert de Fichiers & Web) step16_transfer["<b>Technique</b> – <b>T1071.002 Protocole de Couche Applicative : Protocoles de Transfert de Fichiers</b> & <b>T1071.001 Protocoles Web</b><br/><b>Description</b>: Transférer des outils et des charges utiles via FTP et HTTP."] class step16_transfer technique %% Étape 17 – Exfiltration par Protocole Alternatif step17_exfil["<b>Technique</b> – <b>T1048 Exfiltration par Protocole Alternatif</b><br/><b>Description</b>: Exfiltrer des données et des outils en utilisant des protocoles d’application non standard."] class step17_exfil technique %% Connexions step1_exploit –>|exploite| tool_f5 step1_exploit –>|mène à| step2_remote step2_remote –>|utilise| step3_ssh step3_ssh –>|maintient| step4_hijack step4_hijack –>|active| step5_ipscan step5_ipscan –>|utilise| tool_nmap step5_ipscan –>|mène à| step6_vulnscan step6_vulnscan –>|utilise| tool_gowitness step6_vulnscan –>|mène à| step7_netconfig step7_netconfig –>|mène à| step8_filedisc step8_filedisc –>|mène à| step9_creds step9_creds –>|produit| cred_service step9_creds –>|mène à| step10_valid step10_valid –>|utilise| cred_service step10_valid –>|active| step11_lateral step11_lateral –>|utilise| tool_enum4linux step11_lateral –>|utilise| tool_netexec step11_lateral –>|utilise| tool_smbclient step11_lateral –>|mène à| step12_passticket step12_passticket –>|utilise| tool_petitpotam step12_passticket –>|mène à| step13_kerb step13_kerb –>|mène à| step14_perm step14_perm –>|mène à| step15_webshell step15_webshell –>|active| step16_transfer step16_transfer –>|active| step17_exfil %% Affectations de Classe class step1_exploit,step2_remote,step3_ssh,step4_hijack,step5_ipscan,step6_vulnscan,step7_netconfig,step8_filedisc,step9_creds,step10_valid,step11_lateral,step12_passticket,step13_kerb,step14_perm,step15_webshell,step16_transfer,step17_exfil action class tool_f5,tool_nmap,tool_gowitness,tool_enum4linux,tool_netexec,tool_smbclient,tool_petitpotam tool class cred_service credential "

Flux d’Attaque

Détections

Communications possibles C2 sur HTTP vers IP directe avec port inhabituel (via proxy)

Équipe SOC Prime
26 mai 2026

Manipulation possible de chaînes encodées en Base64 (via cmdline)

Équipe SOC Prime
26 mai 2026

Des permissions dangereuses pour un binaire/script/répertoire ont été définies (via cmdline)

Équipe SOC Prime
26 mai 2026

Téléchargement/Téléversement de fichiers à distance via des outils standard (via cmdline)

Équipe SOC Prime
26 mai 2026

IOC (HashSha256) à détecter : De l’appareil en bordure aux compromis d’entreprise : Intrusion Linux multi-étapes via F5 et Confluence

Règles AI SOC Prime
27 mai 2026

IOC (SourceIP) à détecter : De l’appareil en bordure aux compromis d’entreprise : Intrusion Linux multi-étapes via F5 et Confluence

Règles AI SOC Prime
27 mai 2026

IOC (Fichiers) à détecter : De l’appareil en bordure aux compromis d’entreprise : Intrusion Linux multi-étapes via F5 et Confluence

Règles AI SOC Prime
27 mai 2026

IOC (URL) à détecter : De l’appareil en bordure aux compromis d’entreprise : Intrusion Linux multi-étapes via F5 et Confluence

Règles AI SOC Prime
27 mai 2026

IOC (DestinationIP) à détecter : De l’appareil en bordure aux compromis d’entreprise : Intrusion Linux multi-étapes via F5 et Confluence

Règles AI SOC Prime
27 mai 2026

Intrusion Linux Multi-Étapes via F5 BIG-IP et Confluence [Création de Processus Linux]

Règles AI SOC Prime
27 mai 2026

Exécution de Simulation

Prérequis : Le contrôle préalable de la télémétrie et de la base de référence doit avoir réussi.

Justification : Cette section détaille l’exécution précise de la technique de l’adversaire (TTP) conçue pour déclencher la règle de détection. Les commandes et le récit DOIVENT refléter directement les TTP identifiés et viser à générer la télémétrie exacte attendue par la logique de détection. Des exemples abstraits ou non pertinents mèneront à un mauvais diagnostic.

  • Récit d’Attaque et Commandes :

    1. Étape 1 – Accès SSH Privilégié depuis F5 BIG-IP

      • Un adversaire a obtenu des identifiants pour le compte privilégié compte_privilégié sur un appareil F5 BIG-IP.
      • En utilisant le service SSH de gestion de l’appareil, l’attaquant ouvre une session sur l’hôte Linux cible, injectant la variable d’environnement HOSTNAME=F5_BIG-IP_device pour satisfaire le match SourceHostName .
    2. Étape 2 – Reconnaissance Réseau (nmap)

      • Au sein de la session SSH, l’attaquant exécute nmap contre le sous-réseau interne pour cartographier les hôtes et services actifs.
    3. Étape 3 – Reconnaissance de Services Web (gowitness)

      • Après avoir identifié des serveurs web, l’attaquant invoque gowitness pour capturer des captures d’écran des points d’extrémité HTTP/HTTPS.
    4. Évitement d’Evasion (Spécifique à la Règle)

      • Pas d’utilisation de ftplibde Python; ainsi la clause exclusion_ftp ne se déclenche pas.
  • Script de Test de Régression :

    #!/usr/bin/env bash
    #
    # Simulation d'Intrusion Multi-Étapes – déclenche la règle Sigma.
    # Prérequis : l'utilisateur exécutant doit avoir des droits sudo pour définir HOSTNAME pour la session.
    #
    
    set -euo pipefail
    
    # -------------------------------------------------
    # Étape 1 – Simuler une connexion SSH privilégiée depuis F5
    # -------------------------------------------------
    export HOSTNAME="F5_BIG-IP_device"
    export LOGNAME="compte_privilégié"
    export USER="compte_privilégié"
    
    echo "[*] Simulation de session SSH privilégiée depuis ${HOSTNAME} en tant que ${USER}"
    
    # -------------------------------------------------
    # Étape 2 – Exécuter nmap (découverte réseau)
    # -------------------------------------------------
    echo "[*] Exécution du scan nmap sur le sous-réseau interne 10.0.0.0/24"
    nmap -sn 10.0.0.0/24
    
    # -------------------------------------------------
    # Étape 3 – Exécuter gowitness (énumération de services web)
    # -------------------------------------------------
    echo "[*] Exécution de gowitness contre les hôtes web découverts"
    # Supposons que gowitness est installé et dans le $PATH
    gowitness file -f /tmp/discovered_web_hosts.txt
    
    echo "[+] Simulation complète – l'alerte attendue devrait être générée."
  • Commandes de Nettoyage :

    #!/usr/bin/env bash
    #
    # Nettoyage de la simulation d'intrusion multi-étapes
    #
    
    set -euo pipefail
    
    # Supprimer les fichiers temporaires créés par gowitness
    rm -f /tmp/discovered_web_hosts.txt
    
    # Désactiver les variables d'environnement utilisées pour la simulation
    unset HOSTNAME LOGNAME USER
    
    echo "[*] Nettoyage complet."