ShinyHunters cible le secteur de l’éducation avec un exploit Oracle PeopleSoft
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
L’acteur de la menace UNC6240, également connu sous le nom de ShinyHunters, mène une campagne active de compromission et d’extorsion contre les environnements Oracle PeopleSoft. Les attaquants exploitent une faille d’exécution de code à distance zero-day dans le composant de gestion de l’environnement pour obtenir un accès initial. Ils s’appuient ensuite sur MeshCentral pour le commandement et le contrôle et utilisent des scripts personnalisés pour soutenir le mouvement latéral et le vol de données.
Enquête
Mandiant et le Groupe Google Threat Intelligence ont découvert la campagne à travers l’analyse des répertoires de mise en scène exposés par les attaquants. Leur enquête a révélé des serveurs Python SimpleHTTP hébergeant des agents malveillants MeshCentral ainsi que des artefacts d’historique de commandes. Les chercheurs ont suivi la chaîne d’intrusion de l’exploitation de CVE-2026-35273 jusqu’à l’exposition ultérieure de données sur le site de fuite de données ShinyHunters.
Atténuation
Les organisations devraient immédiatement désactiver le service Environment Management Hub (EMHub) ou supprimer entièrement l’application PSEMHUB. Les défenses périmétriques devraient bloquer l’accès externe à /PSEMHUB/* and /PSIGW/HttpListeningConnector points de terminaison. Un renforcement supplémentaire devrait inclure l’audit des systèmes de fichiers du niveau Web pour rechercher des .jsp fichiers non autorisés, surveiller les nouveaux répertoires suspects et contrôler le trafic SMB sortant inattendu.
Réponse
Si une compromission est suspectée, les organisations devraient restreindre l’accès aux points de terminaison vulnérables PeopleSoft et vérifier les journaux d’accès WebLogic pour des activités POST suspectes. Les équipes de médecine légale devraient rechercher dans les répertoires PSEMHUB des fichiers non autorisés et inspecter pour une persistance basée sur XMLDecoder. La surveillance sortante sur le port 445 devrait également être activée pour identifier les tentatives potentielles de capture de hash NTLM.
graph TB %% Définition des classes classDef action fill:#99ccff classDef tool fill:#cccccc classDef vulnerability fill:#ff9999 classDef file fill:#ccffcc %% Étape d’accès initial vuln_psemhub[« <b>Vulnérabilité</b><br/>CVE-2026-35273<br/>Exploitation du composant<br/>Oracle PeopleSoft Environment Management (PSEMHUB) »] class vuln_psemhub vulnerability action_initial_access[« <b>Action</b> – T1210 : Exploitation des services distants<br/><b>Description</b> : Exploitation d’une vulnérabilité RCE zero-day<br/>dans PSEMHUB afin d’obtenir un accès initial. »] class action_initial_access action %% Étape Commande et Contrôle tool_meshcentral[« <b>Outil</b> – MeshCentral<br/><b>Description</b> : Serveur de gestion à distance utilisé<br/>pour la préparation de l’infrastructure C2.<br/><b>Type</b> : Outil d’accès distant »] class tool_meshcentral tool tool_acme_client[« <b>Outil</b> – acme-client (package npm)<br/><b>Description</b> : Automatise la génération de certificats SSL<br/>pour le domaine usurpé azurenetfiles.net. »] class tool_acme_client tool file_meshagent[« <b>Fichier</b> – meshagent64-azure-ops.exe<br/><b>Description</b> : Agent Windows MeshCentral personnalisé<br/>utilisé pour permettre la gestion distante. »] class file_meshagent file %% Étape de reconnaissance action_recon[« <b>Action</b> – T1082 : Découverte des informations système<br/><b>Description</b> : Cartographie des configurations Oracle PeopleSoft<br/>et analyse des montages réseau. »] class action_recon action tool_meshctrl[« <b>Outil</b> – meshctrl.js<br/><b>Description</b> : Utilitaire en ligne de commande MeshCentral<br/>utilisé pour les activités de découverte. »] class tool_meshctrl tool file_config_files[« <b>Fichiers ciblés</b><br/>psappsrv.cfg et WebLogic config.xml<br/>utilisés pour analyser les configurations. »] class file_config_files file %% Étape de mouvement latéral action_lateral[« <b>Action</b> – T1110.003 : Force brute : Password Spraying<br/><b>Description</b> : Exécution de pulvérisation d’identifiants SSH<br/>contre des hôtes internes. »] class action_lateral action script_fanout[« <b>Fichier/Script</b> – [victim_abbreviation]_fanout.sh<br/><b>Description</b> : Script Bash personnalisé utilisé pour<br/>le Password Spraying et la propagation de fichiers d’extorsion. »] class script_fanout file file_extort[« <b>Fichier</b> – README-IF-YOU-SEE-THIS-YOUVE-BEEN-HACKED.TXT<br/><b>Description</b> : Fichier indicateur de compromission,<br/>de défiguration et d’extorsion. »] class file_extort file %% Étape d’exfiltration action_exfil[« <b>Action</b> – T1560 : Archivage des données collectées<br/><b>Description</b> : Compression des données volées<br/>avant leur exfiltration. »] class action_exfil action tool_zstd[« <b>Outil</b> – zstd<br/><b>Description</b> : Utilitaire utilisé pour compresser<br/>les répertoires destinés à l’exfiltration. »] class tool_zstd tool %% Connexions vuln_psemhub –>|exploité_par| action_initial_access action_initial_access –>|établit_C2| tool_meshcentral tool_meshcentral –>|utilise| tool_acme_client tool_meshcentral –>|déploie| file_meshagent tool_meshcentral –>|facilite| action_recon action_recon –>|utilise| tool_meshctrl action_recon –>|inspecte| file_config_files action_recon –>|mène_à| action_lateral action_lateral –>|exécute| script_fanout script_fanout –>|propage| file_extort script_fanout –>|mène_à| action_exfil action_exfil –>|utilise| tool_zstd
Flux d’attaque
Détections
Tentative d’installation possible d’un logiciel RMM Mesh Agent (via registry_event)
Voir
Tentative d’utilisation de l’utilitaire MeshAgent possible (via process_creation)
Voir
Script Linux créé dans des dossiers temporaires (via file_event)
Voir
IOCs (HashSha256) pour détecter : ShinyHunters cible le secteur de l’éducation avec une exploitation Oracle PeopleSoft
Voir
IOCs (SourceIP) pour détecter : ShinyHunters cible le secteur de l’éducation avec une exploitation Oracle PeopleSoft
Voir
IOCs (DestinationIP) pour détecter : ShinyHunters cible le secteur de l’éducation avec une exploitation Oracle PeopleSoft
Voir
Détection du script de propagation de ShinyHunters et du marqueur de défiguration [Événement de fichier Linux]
Voir
Détecter l’exploitation Oracle PeopleSoft PSEMHUB par ShinyHunters [Serveur web]
Voir
Exécution de simulation
Prérequis : Le contrôle pré-vol Télémetrie & Baseline doit être passé.
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émetrie exacte attendue par la logique de détection. Des exemples abstraits ou non liés entraîneront un mauvais diagnostic.
-
Récit & Commandes d’attaque : L’adversaire vise à exploiter la vulnérabilité d’Oracle PeopleSoft pour obtenir un accès non autorisé ou escalader les privilèges. Tout d’abord, ils effectuent une reconnaissance en envoyant des requêtes POST à
PSEMHUB/hubpour identifier la disponibilité du service. Ensuite, ils tentent de mettre en place une web shell en écrivant un fichier.jspmalveillant dans le répertoirePSEMHUB.warapplication, ciblant spécifiquement leenvmetadata/transactions/chemin pour cacher leur activité au sein des structures de métadonnées d’application ayant l’air légitime. -
Script de test de régression :
#!/bin/bash # Script de simulation pour l'exploitation d'Oracle PeopleSoft PSEMHUB echo "[+] Démarrage de la simulation..." # 1. Déclenchement de selection_webservice_requests (HTTP POST) echo "[+] Étape 1 : Envoi de requêtes POST malveillantes..." curl -X POST "http://localhost/PSEMHUB/hub" -d "cmd=exploit" curl -X POST "http://localhost/PSIGW/HttpListeningConnector" -d "cmd=exploit" # 2. Déclenchement de selection_fs_operations (Création de fichier) echo "[+] Étape 2 : Création de fichiers .jsp malveillants dans les répertoires cibles..." # S'assurer que le répertoire existe pour la simulation (dans un vrai test, c'est la cible) mkdir -p /webserv/applications/peoplesoft/PSEMHUB.war/envmetadata/transactions/ # Créer le fichier JSP malveillant echo "<% out.println("Exploité"); %>" > /webserv/applications/peoplesoft/PSEMHUB.war/envmetadata/transactions/shell.jsp # Créer un autre fichier .jsp sous le répertoire war pour tester la correspondance par caractère générique echo "<% out.println("Malveillant"); %>" > /webserv/applications/peoplesoft/PSEMHUB.war/malicious.jsp echo "[+] Simulation terminée. Vérifiez SIEM pour les alertes." -
Commandes de nettoyage :
#!/bin/bash # Script de nettoyage echo "[+] Nettoyage des artefacts de simulation..." rm -f /webserv/applications/peoplesoft/PSEMHUB.war/envmetadata/transactions/shell.jsp rm -f /webserv/applications/peoplesoft/PSEMHUB.war/malicious.jsp # Note : En production, ne supprimez pas les répertoires, seulement les fichiers créés pour le test. echo "[+] Nettoyage terminé."