Impacket pour les pentesteurs : Déplacement latéral sur le réseau et Red Teaming
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
L’article explique comment l’utilitaire impacket-net peut être utilisé pour l’énumération Active Directory et la manipulation administrative. Il montre comment les attaquants peuvent exploiter les hachages NTLM, les tickets Kerberos et les clés AES pour gérer les utilisateurs, groupes et comptes d’ordinateurs du domaine. L’outil permet une reconnaissance discrète et peut accélérer l’escalade de privilèges dans un environnement de domaine.
Enquête
Le rapport utilise un environnement de laboratoire contrôlé, ignite.local, pour démontrer différents chemins d’authentification et méthodes d’exécution de commandes. Il illustre comment un attaquant peut progresser d’une énumération à faibles privilèges à un contrôle administratif complet en modifiant les objets du répertoire. L’enquête met également en évidence comment ces actions restent visibles dans les journaux d’événements Windows.
Atténuation
Les atténuations recommandées incluent la configuration de ms-DS-MachineAccountQuota to 0 pour bloquer la création de comptes d’ordinateur non autorisés. Les organisations doivent également renforcer l’authentification LDAP, activer le liage de canal et désactiver les types de chiffrement plus faibles comme RC4. De plus, placer les comptes très privilégiés dans le groupe de sécurité Protected Users peut aider à prévenir l’abus de NTLM et l’utilisation prolongée du TGT.
Réponse
Si cette activité est détectée, les défenseurs devraient centraliser et alerter sur les identifiants d’événements Windows clés liés aux modifications de cycle de vie des comptes et des adhésions aux groupes. Des playbooks de réponse automatisée devraient être en place pour inverser rapidement les modifications de répertoires non autorisées. Déployer des comptes appâts dans des unités organisationnelles surveillées peut également fournir des alertes de haute confiance pour une réponse immédiate aux incidents.
Flux d’attaque
Nous mettons encore à jour cette partie. Inscrivez-vous pour être notifié
Notifiez-moiDétections
Utilisation probable d’outils de piratage Windows [Partie 1] (via cmdline)
Voir
Utilisation probable d’outils de piratage Windows [Partie 3] (via file_event)
Voir
Détection de l’utilitaire Impacket-Net avec modifications de comptes [Création de processus Linux]
Voir
Détecter l’escalade de privilèges et l’activité des comptes dans Active Directory [Journal des événements de sécurité Microsoft Windows]
Voir
Exécution de la simulation
Prérequis : La vérification pré-vol de télémétrie et de base doit avoir réussi.
Raisonnement : 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. Des exemples abstraits ou non liés entraîneront un mauvais diagnostic.
-
Récit & Commandes d’attaque : Un adversaire a réussi à s’introduire dans un serveur Linux. Pour s’assurer de la persistance et éviter d’être bloqué, il envisage de réactiver un compte administratif dormant. Il choisit d’utiliser l’utilitaire
impacket-net, un outil courant dans les frameworks de test de pénétration, car il croit qu’il s’agit d’un outil administratif standard susceptible de se fondre dans le bruit. L’attaquant exécute la commande via l’interpréteur Python pour manipuler la base de données des comptes locaux, utilisant spécifiquement le-enabledrapeau pour réactiver l’utilisateur cible. Cette action est conçue pour générer exactement lemotif de ligne de commande () que la règle de détection recherche.impacket-netand-enable) that the detection rule is looking for. -
Script de test de régression :
#!/bin/bash # Script de simulation pour déclencher la règle de détection Impacket-Net echo "[+] Démarrage de la simulation Impacket-Net..." # Nous simulons la présence de l'outil en appelant python3 # et en passant les chaînes spécifiques requises par la logique de détection. # Dans un scénario réel, ce serait : python3 /path/to/impacket-net -enable <user> python3 -c "import sys; print('Simulation de impacket-net -enable user123')" | grep -q "impacket-net" # Pour garantir que l'événement de création de processus réel est enregistré avec les chaînes spécifiques : # Nous exécutons une commande qui imite exactement les arguments de ligne de commande. export IM_SIM_CMD="python3 /usr/local/bin/impacket-net -enable target_account" echo "[+] Exécution : $IM_SIM_CMD" eval $IM_SIM_CMD echo "[+] Commande de simulation envoyée. Vérifiez le SIEM pour les journaux de création de processus." -
Commandes de nettoyage :
# Aucun changement persistant effectué lors de cette simulation, # mais veillez à ce que tous les fichiers temporaires créés soient supprimés. rm -f /tmp/impacket_sim_test.log echo "[+] Nettoyage terminé."