SOC Prime Bias: Critique

12 Nov 2025 16:04

CVE-2025-20337 : Rapport Actionnable pour les Équipes SOC

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
CVE-2025-20337 : Rapport Actionnable pour les Équipes SOC
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Analyse

L’équipe de renseignement sur les menaces d’Amazon a identifié un acteur de menace avancé utilisant deux vulnérabilités zero-day—CVE‑2025‑20337 dans Cisco Identity Services Engine et CVE‑2025‑5777 dans Citrix NetScaler ADC—pour déployer une web shell Java en mémoire sur mesure ciblant les appareils Cisco ISE.

Enquête

L’activité a été initialement signalée par le réseau honeypot MadPot d’Amazon. Les analystes ont observé des tentatives d’exploitation contre CVE‑2025‑5777 et CVE‑2025‑20337, suivies par la livraison d’une porte dérobée personnalisée nommée IdentityAuditAction. La web shell fonctionne entièrement en mémoire, utilise la réflexion Java, enregistre un écouteur sur le serveur Tomcat et chiffre le trafic avec DES et un encodage Base64 non standard. Amazon attribue la campagne à un acteur bien équipé avec des capacités zero-day et une connaissance des appliances Java d’entreprise et de périphérie réseau.

Atténuation

Appliquez immédiatement les correctifs publiés par les fournisseurs pour CVE‑2025‑20337 (Cisco) et CVE‑2025‑5777 (Citrix). Restreignez l’accès réseau aux interfaces de gestion à l’aide de pare-feu, de la segmentation VLAN et de contrôles de confiance zéro. Déployez la détection d’intrusion basée sur l’hôte pour surveiller les processus Java inattendus, les modifications Tomcat et le trafic HTTP anormal. Activez l’authentification multi-facteurs pour les comptes administratifs et auditez régulièrement l’accès privilégié.

Réponse

Corrigez les appareils Cisco ISE et Citrix NetScaler vulnérables, isolez les systèmes compromis et supprimez la web shell personnalisée. Effectuez une analyse légale des journaux et des dump mémoire pour identifier les indicateurs de compromission. Mettez à jour les règles de détection dans SIEM et IDS/IPS pour les charges utiles d’exploitation et les signatures de web‑shell. Notifiez les parties prenantes concernées et, si nécessaire, signalez l’incident aux autorités compétentes.

ngraph TB %% Class definitions classDef technique fill:#ffcc99 classDef action fill:#99ccff classDef malware fill:#ccffcc classDef builtin fill:#cccccc %% Vulnerabilities vuln_cisco[« <b>Vulnérabilité</b> : CVE‑2025‑20337 (Cisco ISE) »] class vuln_cisco builtin vuln_citrix[« <b>Vulnérabilité</b> : CVE‑2025‑5777 (Citrix NetScaler) »] class vuln_citrix builtin %% Exploitation for Defense Evasion tech_exploit[« <b>Technique</b> – <b>T1211 Exploitation pour évasion de défense</b><br/><b>Description</b> : L’attaquant exploite CVE‑2025‑20337 et CVE‑2025‑5777 pour exécuter du code à distance non authentifié sur les interfaces de gestion. »] class tech_exploit technique %% Remote code execution action_rce[« <b>Action</b> – Exécution de code à distance<br/><b>Résultat</b> : L’attaquant obtient l’exécution de code sur les interfaces de gestion. »] class action_rce action %% Web shell deployment malware_webshell[« <b>Malware</b> – Web Shell \ »IdentityAuditAction\ »<br/><b>Emplacement</b> : Déployé dans le serveur Tomcat, fournissant un accès persistant. »] class malware_webshell malware %% Obfuscated Files or Information tech_obfuscate[« <b>Technique</b> – <b>T1027 Fichiers ou informations obfusqués</b><br/><b>Description</b> : Le web shell personnalisé chiffre le trafic avec DES et utilise un encodage Base64 non standard pour échapper à la détection. »] class tech_obfuscate technique %% Hide Artifacts tech_hide[« <b>Technique</b> – <b>T1564 Masquer les artefacts</b><br/><b>Description</b> : L’exécution en mémoire et l’injection via reflection Java permettent au shell de s’exécuter sans écrire de fichiers sur le disque. »] class tech_hide technique %% Server Software Component: Web Shell tech_webshell[« <b>Technique</b> – <b>T1505.003 Composant logiciel serveur : Web Shell</b><br/><b>Description</b> : Le web shell persiste dans Tomcat pour un contrôle continu. »] class tech_webshell technique %% Command and Control action action_c2[« <b>Action</b> – Commande et Contrôle<br/><b>Fonction</b> : Fournit un canal C2 persistant et surveille toutes les requêtes HTTP. »] class action_c2 action %% Connections vuln_cisco –>|active| tech_exploit vuln_citrix –>|active| tech_exploit tech_exploit –>|conduit à| action_rce action_rce –>|déploie| malware_webshell malware_webshell –>|utilise| tech_obfuscate malware_webshell –>|utilise| tech_hide malware_webshell –>|fournit| action_c2 malware_webshell –>|est instance de| tech_webshell

Flux d’Attaque

Simulation de Charge Utile

Exécution de la Simulation
Prérequis : Le contrôle pré-vol Télémétrie & Baseline doit avoir réussi.

  • Narration & Commandes d’Attaque :

    Accès initial :Attaquant découvre un point de terminaison de téléversement de fichier non authentifié sur l’interface web Cisco ISE.
  •  
  • Déploiement de la Web Shell : en utilisant curl, l’attaquant téléverse webshell.jar déguisé en iseComponent.jar. Le JAR contient un servlet malveillant qui, lorsqu’il est invoqué, exécute du code Java arbitraire via la réflexion (java.lang.reflect.Method.invoke).
  •  
  • Obfuscation : La charge utile à l’intérieur du servlet est chiffrée en DES et encodée avec une variante Base64 personnalisée pour échapper à la correspondance de modèle simple.

     

  • Déclencheur d’Exécution : L’attaquant envoie une requête HTTP falsifiée qui provoque le lancement du processus ISE servlet, aboutissant à une ligne de commande semblable à :

    java -cp /opt/cisco/ise/webapps/iseComponent.jar -Dpayload=DES:U2FsdGVkX1+... Base64:QmFzZTY0RW5jb2RlZURhdGE=Copy
  • Journalisation : Cisco ISE enregistre un événement IdentityAuditAction avec la ligne de commande complète, satisfaisant les conditions de la règle de détection.
  • Script de Test de Régression :

    #!/usr/bin/env bash
    set -euo pipefail
    
    # Variables
    ISE_HOST="https://ise.example.com"
    UPLOAD_ENDPOINT="${ISE_HOST}/admin/uploadComponent"
    SHELL_JAR="webshell.jar"
    MALICIOUS_PAYLOAD="U2FsdGVkX1+..."   # DES‑encrypted, custom Base64
    CUSTOM_B64="QmFzZTY0RW5jb2RlZURhdGE="