Основы сетей для хакеров, часть 6: Простой протокол передачи почты (SMTP)

  • Автор темы Автор темы LeSh1y777
  • Дата начала Дата начала

LeSh1y777

Пользователь
Регистрация
25/9/25
Сообщения
5,682
Репутация
49
Лайки
152
Депозит
-8.95$
Добро пожаловать обратно, мои начинающие кибервоины!

В этой серии статей «Основы сетевых технологий для хакеров » мы рассмотрим структуру, принцип работы и уязвимости основных сетевых протоколов. Таким образом, начинающий хакер/пентестер/кибервоин, как мы надеемся, получит представление не только об их работе, но и об их уязвимостях.

6a4a49_d399bf279a424be695c8cf6e4647c514mv2-1.jpg


В этой части серии мы рассмотрим простой протокол передачи электронной почты (SMTP), протокол, без которого большинство из нас не смогли бы жить!

Что такое SMTP?

Протокол Simple Mail Transport, или SMTP, как его обычно называют, является одним из важнейших протоколов в нашу цифровую эпоху. Он используется для передачи электронной почты от одного пользователя к другому. Хотя SMTP был впервые утверждён в 1983 году, это всё тот же протокол, который передаёт практически все электронные письма, но с некоторыми улучшениями.

6a4a49_f754cd903f554d69b6e114897cbef311mv2-1-1024x708.png


Как показано на схеме выше, клиент Ana@maildomain-abc.com отправляет электронное письмо на сервер MTU по протоколу SMTP и получает его по протоколу POP3 или IMAP. То же самое верно и для другого клиента, Lav@maildomain-xyz.com. Взаимодействие между почтовыми серверами или MTU осуществляется исключительно по протоколу SMTP через порт 25. POP3 использует порт 110, а IMAP — порт 143.

Модель обработки электронной почты

Сначала электронное письмо отправляется почтовым клиентом или почтовым агентом пользователя (MUA), таким как Microsoft Outlook, Mozilla и т. д., на почтовый сервер (почтовый агент или MSA) по протоколу SMTP через порт 587. Затем это письмо передается в MTU. Чаще всего эти два агента (MUA и MTU) представляют собой одну и ту же систему, управляемую одним программным обеспечением.

Граничный MTA использует DNS для поиска записи MX домена получателя (см. DNS ). Эта запись включает имя целевого MTA. Мы можем продемонстрировать это с помощью команды dig .

6a4a49_484691d510ba4892b79ff2bebd0fd930mv2.png


Затем MTA выбирает целевой хост, подключается к нему и отправляет сообщение.

Получив входящее сообщение, сервер передаёт его агенту доставки почты (MDA) для доставки локальному получателю. После доставки сообщения на локальный почтовый сервер оно сохраняется для извлечения аутентифицированным агентом доставки почты (MUA).

Типы МТУ

В различных системах используется множество почтовых модулей. В Linux основными являются sendmail, EXIM и Postfix. В операционной системе Microsoft основным является Exchange Server.

Анализ на уровне пакетов с помощью Wireshark

Когда мы перехватываем пакеты, идущие на SMTP-сервер, это выглядит примерно так, как показано ниже .

6a4a49_4bbf2571860c4d4b8bda2b2d5365f5d6mv2-1024x574.png


Обратите внимание, что в пакетах 1–3 внешний клиент завершает трёхстороннее TCP-рукопожатие. В пакете 4 SMTP-сервер идентифицирует себя как «mail01» и сервер Postfix на Ubuntu и начинает использовать протокол SMTP для связи. В пакете 5 клиент отправляет команду EHLO, инициируя связь. В пакете 8 клиент идентифицирует отправителя электронной почты, а в пакете 10 — получателя.

Настройка SMTP-сервера (EXIM4) в Linux

Теперь настроим SMTP-сервер в Kali Linux. В данном случае мы установим exim4 — самый распространённый почтовый сервер в системах Linux.

Мы можем загрузить exim4 из репозитория Kali.

kali > sudo apt install exim4

6a4a49_6d0e795b711d436eab0e1a8c23b09459mv2.png


Далее нам необходимо запустить мастер настройки, который проведет нас через настройку сервера exim4.

kali > sudo dpkg-reconfigure exim4-config

6a4a49_4b3e26dd1ca84a409b24185f8c60952cmv2-1.png


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

Первый вопрос — тип почтового сервера. Если вы хотите настроить сервер для отправки и получения электронной почты через Интернет, выберите первый вариант.

6a4a49_95a6466241e84e9b8215366943016a09mv2-1-1024x359.png


Далее вам необходимо указать доменное имя, которым вы владеете. В моём случае я использовал www.hackers-arise.com.

6a4a49_b9b6c0c6dbfd4cc1ba22b8cf855dcf40mv2-1-1024x345.png


Далее нам необходимо указать IP-адрес, который будет прослушивать сервер.

6a4a49_05048c9848304a2b97fdeeb12dc9cfd7mv2-1-1024x334.png


Здесь нам нужно указать список доменов-получателей или локальных доменов. По умолчанию используется Kali, и я оставил его как есть.

6a4a49_5094e2b1e94641a8adaebfdd9be87f55mv2-1024x332.png


Далее нам нужно предоставить список доменов-получателей, которым система будет передавать почту. Можно оставить это поле пустым.

6a4a49_18d0028df1794d939add35752699e089mv2-1-1024x326.png


Далее нам нужно выбрать способ доставки локальной почты. Мы можем выбрать формат mbox (/var/mail) или домашний каталог.

6a4a49_b17816041cf843a284a2be2b2537c315mv2-1-1024x327.png


Далее нас спрашивают о DNS-запросах. Если мы хотим минимизировать количество DNS-запросов, выберите «ДА».

6a4a49_a6bd628aa7714a4d9d221eb305401e41mv2-1024x348.png


Затем выберите домены, для которых будет осуществляться ретрансляция почты. Вы можете оставить это поле пустым.

6a4a49_18d0028df1794d939add35752699e089mv2-1-1-1024x326.png


Наконец, нам нужно выбрать, нужно ли разделять файл конфигурации для exim4. Вариант «Unsplit» более стабилен, а вариант «split» упрощает внесение изменений. Я выбрал «unsplit» или «NO».

6a4a49_b7c9d914bc514414a8b454291c9b5ca7mv2-1-1024x347.png


Теперь нам осталось только запустить наш сервер exim4, и наш почтовый сервер активирован и готов отправлять и получать электронную почту!

6a4a49_c8453318b6ae4bb99877e36c026de470mv2-1.png


Уязвимости в SMTP

Прошлый год ознаменовался серьёзной уязвимостью в Microsoft Exchange Server, обнаруженной, предположительно, китайскими хакерами. Эти уязвимости позволили хакерам получить доступ к записям электронной почты многих крупных корпораций и учреждений. Последствия этого взлома были настолько масштабными и серьёзными, что ФБР было дано разрешение на исправление систем Exchange Server по всей территории США.

Уязвимости вы можете увидеть ниже.

6a4a49_7b821c80c6e4438a8b396d4dc13e3f0emv2-1-1024x334.png


Кроме того, в 2020 году на почтовых серверах exim были обнаружены две серьезные уязвимости, которые позволяли осуществлять несанкционированный доступ к электронной почте, хранящейся на этих серверах.

6a4a49_067ef88feba4439383a927de1fb4be22mv2-1.png


Разведка и взлом SMTP

Прежде чем приступать к эксплуатации уязвимости, первым шагом является проведение надлежащей разведки. Nmap — это предпочтительный инструмент для сканирования портов. Давайте просканируем нашу службу SMTP, чтобы увидеть, какие порты и службы запущены.

Мы можем выполнить TCP-сканирование на порту 25 (порт SMTP по умолчанию) с помощью nmap и включить параметр -A, чтобы попытаться определить службу, работающую на этом порту, например:

кали > nmap -sT -A 192.168.56.103 -p25

6a4a49_af3a70277d21430e90c37b4eacaa130amv2-1.png


Как вы можете видеть выше, nmap обнаружил открытый порт 25 и работающий Exim 4.68.

Чтобы определить потенциальные уязвимости на этом SMTP-сервере, можно использовать скрипты nmap. Чтобы запустить все скрипты nmap для SMTP, можно использовать параметр –script=smtp-* , где подстановочный знак (*) означает запуск всех скриптов в категории smtp.

nmap –script=smtp-* 192.168.56.103 -p 25



Как вы можете видеть выше, скрипты smtp nmap смогли перечислить нескольких пользователей (эти пользователи затем могут быть целью атак социальной инженерии) и обнаружить, что сервер уязвим для эксплойтов cve-2010-4344 и CVE-2010-4345 .



Давайте посмотрим, сможем ли мы найти эти эксплойты в Metasploit. Запустите Metasploit, введя:

kali > msfconsole

Теперь давайте поищем эксплойты Exam, используя функцию поиска.

msf5 > тип поиска:эксплоиты exim



Как видно на скриншоте выше, в Metasploit есть несколько эксплойтов Exim. Давайте попробуем эксплойт exploit/unix/smtp/exim4_string_format .

Сначала загрузим эксплойт с помощью команды use.

msf5> использовать exploit/unix/smtp/exim4_string_format



Прежде чем двигаться дальше, давайте узнаем больше об этой уязвимости, введя ïinfo».

кали > информация



Как вы могли заметить выше, этот модуль эксплуатирует переполнение буфера кучи. Кроме того, при обнаружении интерпретатора Perl он автоматически повышает привилегии с обычного пользователя до root.

Затем установим параметр RHOSTS с IP-адресом целевой системы. После установки RHOSTS зададим полезную нагрузку (PAYLOAD). В данном случае используем cmd/unix/reverse_perl . Эта полезная нагрузка откроет командную оболочку на целевой машине, использующую Perl (в большинстве Unix-подобных систем Perl установлен по умолчанию), которая в случае успеха обратится к нашей атакующей системе.

Наконец, нам нужно только настроить LHOST и LPORT. Давайте настроим LPORT 443 так, чтобы он использовал стандартный открытый порт для HTTPS-трафика. Использование этого порта часто позволяет избежать утечки данных.

Остался последний шаг — запустить эксплойт

msf5> эксплойт




Как вы можете видеть выше, эксплойт сработал и предоставил нам командную оболочку в сеансе 1!

В отличие от систем Windows, при использовании командной оболочки в Linux мы получаем не командную строку, а пустую строку. Чтобы проверить, действительно ли мы находимся на SMTP-сервере Linux, можно ввести команды Linux и посмотреть ответ. В данном случае давайте выполним несколько распространённых команд Linux, таких как id, whoami, pwd, uname -a.



Как вы можете видеть выше, система отвечает, сообщая нам, что пользователь — uid=0 или root, текущий рабочий каталог — /var/spool/exim4, а uname — Linux mailserver01.

Краткое содержание

Служба электронной почты, или протокол SMTP (Simple Mail Transport Protocol), — одна из важнейших служб в нашу цифровую эпоху. Она также является одной из самых популярных мишеней для атак, поскольку содержит конфиденциальную и важную информацию. Крайне важно правильно настроить эту службу, чтобы предотвратить несанкционированный доступ к этому важнейшему источнику данных.
 
Назад
Сверху Снизу