Эксплуатация уязвимостей SMTP

«Основной вектор атак через почту — не хакерские атаки в чистом виде, а эксплуатация доверия к самому протоколу. Злоумышленник не ломает шифрование, а использует SMTP так, как он был задуман десятилетия назад, когда вопросам безопасности не уделялось такого внимания. Результат — спам, фишинг и компрометация доменной репутации, которые могут дорого обойтись организации».

Почему SMTP остаётся целью

SMTP — это протокол для передачи почты между серверами, а не для работы клиентов, как POP3 или IMAP. Его изначальная открытость и доверительная модель, необходимая для маршрутизации писем по всему миру, создают широкое поле для злоупотреблений. Атаки редко направлены на кражу данных самого сервера; чаще целью становится использование его ресурсов для рассылки спама, фишинга или маскировки другой вредоносной активности.

Ключевые порты и их назначение

Понимание роли портов критично для настройки безопасной инфраструктуры и анализа сетевого трафика.

Порт Протокол / Назначение Статус
TCP 25 SMTP (стандартный, без шифрования). Используется для передачи почты между серверами (MTA-to-MTA). Основной. На нём же может работать STARTTLS.
TCP 587 SMTP Submission (с шифрованием, обычно STARTTLS). Предназначен для отправки почты от клиентов (MUA) к серверу. Рекомендуемый порт для почтовых клиентов.
TCP 465 SMTPS (SMTP over SSL). Исторический порт для немедленного SSL/TLS-соединения. Устарел (deprecated), но до сих пор поддерживается некоторым ПО.
TCP 110 (POP3), 995 (POP3S)
TCP 143 (IMAP), 993 (IMAPS)
Порты для получения почты клиентами. Атаки на них — отдельная тема, но они часть единой почтовой экосистемы. Важно разграничивать: SMTP — для отправки, POP3/IMAP — для получения.

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

Открытый релей (Open Relay)

Сервер с открытым релеем принимает и пересылает письма от любого отправителя к любому получателю, не проводя авторизацию. Это превращает его в анонимный инструмент для рассылки спама. Современные почтовые системы быстро внесут IP-адрес такого сервера в чёрные списки (DNSBL), что приведёт к блокировке всей исходящей почты организации.

Проверить сервер на наличие открытого релея можно с помощью Nmap и скрипта smtp-open-relay.nse:

nmap --script smtp-open-relay.nse 10.1.2.14

Если в выводе есть строка Server is an open relay, конфигурация уязвима.

Сбор информации через SMTP-команды

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

Наиболее полезные с точки зрения разведки команды:

  • VRFY (Verify) — подтверждает существование почтового ящика на сервере.
  • EXPN (Expand) — раскрывает участников рассылочного списка.
  • RCPT TO — в рамках транзакции также может использоваться для подбора учётных записей.

Пример ручной проверки через telnet на порт 25:

$ telnet 192.168.78.8 25
220 mail.example.com ESMTP
VRFY omar
252 2.0.0 omar <omar@example.com>  # Пользователь существует
VRFY unknown
550 5.1.1 User unknown             # Пользователь не найден

Ответ 252 или 250 указывает на успешную проверку, 550 — на ошибку. Автоматизировать перебор можно утилитой smtp-user-enum:

smtp-user-enum -M VRFY -U users.txt -t 192.168.78.8

Важный момент: в современных почтовых серверах команды VRFY и EXPN по умолчанию отключены (в Postfix, Exim, Microsoft Exchange). Их наличие — признак устаревшей или небрежной настройки. Включение этих команд напрямую противоречит рекомендациям по безопасной конфигурации в духе ФСТЭК и 152-ФЗ, так как раскрывает структуру учётных запистий.

Известные уязвимости и эксплойты

Помимо ошибок конфигурации, существуют программные уязвимости в конкретных реализациях SMTP-серверов. Их спектр широк: от переполнений буфера в старом ПО до логических уязвимостей, позволяющих обойти аутентификацию.

Базовый поиск в базах эксплойтов (например, с помощью searchsploit в Kali Linux) показывает сотни записей для различных продуктов: от Alt-N MDaemon и Apache James до Exim и Sendmail.

root@kali:~# searchsploit smtp
... (список уязвимостей) ...
Exim ESMTP 4.80 - glibc gethostbyname Denial of Service | linux/dos/35951.py
DeepOfix SMTP Server 3.3 - Authentication Bypass       | linux/remote/29706.txt
...

Критически важно: многие из этих уязвимостей относятся к старым, не поддерживаемым версиям. Однако в корпоративных сетях нередко можно встретить устаревшее ПО, которое не обновлялось годами из-за совместимости со внутренними системами. Регулярное обновление почтового сервера и смежных компонентов — базовое, но часто игнорируемое требование.

Меры защиты и аудита

Защита SM-инфраструктуры — многоуровневая задача.

  1. Конфигурация сервера: Безусловное отключение VRFY и EXPN. Настройка строгой политики релейности: сервер должен пересылать почту только для своих доменов и/или только после успешной аутентификации. Принудительное использование шифрования (TLS) для соединений между серверами (MTA) и для клиентов (порт 587 с STARTTLS).
  2. Сетевое разграничение: Ограничение доступа к порту 25 (MTA) только с доверенных IP-адресов других почтовых серверов, если это возможно. Порт 587 для клиентов должен быть защищён корпоративным VPN или доступен только из внутренней сети.
  3. Мониторинг и аудит: Регулярная проверка логов SMTP-сервера на предмет попыток подбора учётных записей (VRFY, RCPT TO для несуществующих пользователей) и использования открытого релея. Внешний аудит — тестирование собственного сервера теми же методами, что использует злоумышленник (например, скриптом проверки релея).
  4. Репутационные механизмы: Контроль IP-адреса сервера в публичных чёрных списках (DNSBL). Настройка SPF, DKIM и DMARC для защиты от спуфинга и подтверждения легитимности исходящей почты.

Главный вывод: уязвимости SMTP редко бывают «зрелищными» утечками данных. Их опасность — в долгосрочной компрометации репутации и ресурсов компании, превращении её инфраструктуры в плацдарм для атак на других. Проверка почтового шлюза на базовые ошибки конфигурации должна быть таким же обязательным элементом аудита, как и анализ веб-приложений.

Оставьте комментарий