Sploitus

Exploit for CVE-2024-21413

kitploit · 2026-08-25

Exploit Code

MARKDOWN228 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-POLARISXSEC-CVE-2024-21413
# Эксплуатация CVE-2024-21413 (Outlook)

Статус проекта: Приостановлен (незавершенная практика; не удалось захватить NTLM-хеши)

## Цели

Попытка эксплуатации уязвимости CVE-2024-21413, которая позволяет утечку NTLM-хешей в Outlook при взаимодействии с вредоносными ссылками.

Целью практики было не создание с нуля всех инструментов, используемых в атаке, а глубокое понимание их центрального механизма и экспериментирование с реальными ошибками при создании собственной инфраструктуры.

Я использовал коды эксплойтов и SMTP/POP3-серверов, разработанные сторонними лицами и опубликованные сообществом, за что я глубоко благодарен.

## Содержание

  * Требования
  * Виртуальные машины
  * Установка
  * Поток эксплуатации
  * Тесты и результаты
  * Извлеченные уроки



## Требования

  * Python 3.10+
  * Outlook 2016
  * Kali Linux
  * Собственные SMTP/POP3-серверы
  * Эксплойт
  * Виртуальные машины



## Виртуальные машины

### Машина-жертва (Windows)

  * **ОС** : Windows 10 Home (x32)
  * **Outlook** : Microsoft Outlook 2016 (версия 16.0.4266.1001)
  * **Сеть** : Адаптер 1: NAT, Адаптер 2: Внутренняя сеть



### Машина-атакующий (Kali)

  * **ОС** : Kali Linux 2025.1
  * **Установленные инструменты и библиотеки** : 
    * Python 3.10+
    * smtplib
    * email
    * socket
    * threading
    * os
    * aiosmtpd
    * servidor-smtp.py
    * servidor-pop3.py
    * exploit.py
  * **Сеть** : Адаптер 1: NAT, Адаптер 2: Внутренняя сеть



### Инфраструктура

  * SMTP- и POP3-серверы были развернуты на машине-атакующем (Kali) вручную с помощью скриптов на Python.



Машины запускались в VirtualBox.

## Установка

### Установка (Kali)

#### Установка SMTP-сервера

  * **Venv** : Виртуальное окружение с Python 3 
    * **Шаг 1** : Создать каталог для сервера и виртуального окружения (mkdir smtp-lab) и перейти в него (cd smtp-lab)
    * **Шаг 2** : Создать виртуальное окружение внутри каталога (python3 -m venv venv)
    * **Шаг 3** : Активировать виртуальное окружение (source venv/bin/activate)
    * **Шаг 4** : Установить aiosmtpd внутри виртуального окружения (pip install aiosmtpd)
    * **Шаг 5** : Создать код сервера (nano servidor-smtp.py)
    * **Шаг 6** : Запустить сервер (python3 servidor-smtp.py)



##### Код SMTP-сервера

Код SMTP-сервера находится в файле `src/servidor-smtp.py`.

#### Установка POP3-сервера:

  * **Шаг 1** : Создать каталог для сервера (mkdir pop3-server) и перейти в него (cd pop3-server)
  * **Шаг 2** : Создать код сервера (nano server-pop3.py)
  * **Шаг 3** : Запустить сервер (python3 server-pop3.py)



##### Код POP3-сервера

Код POP3-сервера находится в файле `src/servidor-pop3.py`.

#### Установка эксплойта

  * **Шаг 1** : Создать код; этот код я взял у CMNatic, но адаптировал под свою инфраструктуру (nano exploit.py)



##### Код эксплойта

Код эксплойта находится в файле `src/exploit.py`.

### Установка (Windows 10)

  * **Шаг 1** : Установить ISO Microsoft Office 2016; я использовал сайт archive.org и установил версию Microsoft Office 2016 Professional Plus x86
  * **Шаг 2** : После установки ISO скачать Microsoft Office и войти в Outlook 2016
  * **Шаг 3** : Правильно настроить Outlook



#### Настройка Outlook 2016

Здесь показано, как настроить Outlook для работы с тестовыми SMTP и POP3-серверами.

  * Как в поле "Incoming mail server", так и в "Outgoing mail server(SMTP)" необходимо указать IP-адрес внутреннего сетевого интерфейса атакующей машины (Kali).
  * Пароль не имеет значения для атаки, можно выбрать любой.



![Скриншот настройки](https://assets.kitploit.com/production/public/readmes/38803/8af7f1073601680f44198f5c73d41152a17116636ef2dcdb6a44fd34175efab3.png)

## Поток эксплуатации

Цель эксплойта для CVE-2024-21413 — заставить Outlook выполнить автоматический SMB-запрос к ресурсу, контролируемому атакующим, что приводит к отправке NTLM-хеша жертвы, который можно перехватить офлайн для взлома.

### Подготовка окружения

  1. Атакующая машина (Kali) запускает собственный SMTP и POP3-сервер.
  2. Outlook на машине-жертве (Windows 10) настроен на получение писем с этого сервера.
  3. Атакующая машина (Kali) поднимает поддельный SMB-сервер (в моем случае я использовал Responder).



### Отправка вредоносного письма

  * Письмо отправляется жертве с SMTP атакующего.
  * Тело сообщения содержит вредоносную UNC-ссылку.
  * Путь спроектирован так, чтобы активировать автоматическое SMB-подключение, если пользователь взаимодействует со ссылкой.



### Взаимодействие пользователя

  * Жертва открывает Outlook и видит сообщение.
  * Ожидается, что она нажмет на ссылку.
  * Если Outlook попытается разрешить UNC-путь, генерируется SMB-запрос к серверу атакующего.
  * Ниже показано, как выглядит вредоносное письмо в Outlook с точки зрения жертвы:



![Вредоносное письмо в Outlook](https://assets.kitploit.com/production/public/readmes/38803/a197cdbad18ce13a7a40d6cccbecee72e8c3070f3c8c302b85e3ebdce4bf5981.png)

### Перехват хеша

  * SMB-сервер атакующего принимает соединение.
  * Outlook при попытке аутентификации автоматически отправляет NTLM-хеш пользователя.
  * Атакующий может сохранить этот хеш для атаки типа hashcat.



### Примечания

  * В моем случае письмо успешно доставлялось в Outlook.
  * Однако при нажатии на UNC-ссылку ожидаемое SMB-соединение не устанавливалось.
  * Я до сих пор не знаю причину сбоя, хотя подозреваю, что это может быть связано с настройками сети, версией Outlook или проблемами доступности/ответа SMB-сервера.



## Тесты и результаты

### Функции, которые работали

  * SMTP и POP3 настроены правильно, Outlook синхронизировался с ними без ошибок.
  * Вредоносное письмо было получено Outlook.
  * Сообщение отображало UNC-ссылку без блокировки.
  * SMB-окружение атакующего было поднято и находилось в режиме прослушивания.



### Что не сработало

  * При нажатии на UNC-ссылку в Outlook не было видимого SMB-трафика в Wireshark.
  * Не было сгенерировано ни одной попытки NTLM-аутентификации с машины-жертвы.
  * На SMB-сервере не было зарегистрировано подключений.



### Анализ с помощью Wireshark

  * Снимки сделаны на интерфейсе Kali (eth1).
  * Наблюдался SMTP и POP3 трафик, но ни одного пакета TCP 445 или UDP 137/138 при нажатии на ссылку.
  * Также была попытка запустить Outlook от имени администратора: без изменений.



## Извлеченные уроки

### Полученные знания

  * Как работают SMTP и POP3 на низком уровне.
  * Что именно ожидает Outlook при синхронизации учетных записей.
  * Как Outlook интерпретирует UNC-ссылки и какие условия должны быть выполнены для их автоматического открытия.
  * Ценность Wireshark и логов как инструментов отладки в сложных лабораторных условиях.



### Почему я решил остановиться здесь

  * После многочисленных попыток эксплойт не дошел до этапа захвата хеша, что было конечной целью.
  * Я задокументировал всю инфраструктуру, тесты и результаты, что остается ценным как учебная лаборатория.
  * Хотя конечная цель не была достигнута, процесс позволил мне глубоко изучить каждый задействованный технический компонент. Это можно будет возобновить в будущем.



## Благодарности

Код этого эксплойта основан на работе CMNatic из https://github.com/CMNatic/CVE-2024-21413. Я внес изменения для адаптации к своему окружению.