ловушка smtp что это

Detection mailing viruses in corporate network

Ilya Evseev

Copyright ╘ 2004 IE

Введение

К недостаткам антивирусных мониторов можно отнести:

Рассматриваемое ниже решение лишено перечисленных недостатков, но имеет свои собственные:

Собственно излечение должно производиться обычным путём, то есть запуском антивирусной программы с чистого носителя.

Первый недостаток является наименее существенным, потому что именно на почтовые вирусы приходится подавляющая часть Интернет-эпидемий последних лет. Причин, по которым электронная почта превратилась в наиболее популярную для вирусных атак среду, несколько:

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

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

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

Фальшивая и рабочая системы

Выражаясь образно, перед тем, как настраивать ловушку, для неё потребуется расчистить пространство, сдвинув в сторону реально используемую почтовую инфраструктуру. Желательно при этом, чтобы с точки зрения пользователей всё продолжало работать без изменений, существенных плюс неприятных.

На каждой рабочей станции должно быть настроено два почтовых клиента:

Чем обусловлено данное требование? Все почтовые вирусы, прославившиеся масштабами разрушений, основаны на двух постулатах:

Из этого следуют два вывода:

Заражение через письмо происходит следующим образом:

Если второй способ является отличительной чертой Outlook (остальные почтовые клиенты подобной инициативностью в отношении т.н. active content не страдают), то первый расчитан на невнимательного или неквалифицированного пользователя, и подпадает под категорию т.н. social engineering.

Как правило, среднестатистический вирус не может или не пытается определить, через какой почтовый клиент он попал в систему, и начинает атаку на другие компьютеры, используя сведения из настроек и адресной книги Outlook’а или сервера MAPI (которым зачастую является всё тот же Outlook).

Настройка рабочей системы

Конфигурация фактически используемого почтового клиента на рабочей станции должна быть изменена следующим образом:

Затем сетевому администратору потребуется выполнить настройки в одном из трёх вариантов в зависимости от того, какой SMTP-сервер, или серверы, используется в организации для отправки почты:

Далее для демонстрации настроек сервера используется, если это не оговорено особо, следующее программное обеспечение:

Собственный SMTP-сервер на примере Postfix

Чтобы перенастроить Postfix, отредактируйте в файле /etc/postfix/master.cf все строки, начинающиеся с smtp inet, заменив smtp на номер порта, например, на 325. Желательно, чтобы новый номер.

При этом возникает проблема внешних соединений. Дело в том, что по протоколу SMTP почта на наш сервер поступает не только от клиентов, но и от других серверов из внешней сети, причём возможности заставить эти серверы пользоваться нестандартным портом не существует. Данная проблема решается простым перенаправлением IP-порта. С этой целью могут быть использованы разные программы, в том числе и стандартный супердемон xinetd. В каталоге /etc/xinetd.d на SMTP-сервере должен быть размещён файл smtp-forward с содержимым, составленным по следующему образцу:

Не менее просто делается редиректор с помощью пакетного фильтра iptables, работающего с Linux kernel 2.4+:

Любопытная особенность данного редиректора состоит в том, что пакеты подвергаются перенаправлению на основании одного только номера порта, вне зависимости от указанного в них IP-адреса цели. Это позволяет задавать в настройках клиента в качестве адреса SMTP-сервера абсолютно любое внешнее имя, например, www.gov.no. Однако по причинам, изложенным в следующем разделе, рекомендуется указывать здесь имя самого компьютера-редиректора/smtp-ловушки.

Разные IP-адреса для SMTP-сервера и SMTP-ловушки

Рисунок 1. Доступ к IP-портам на внешнем и внутреннем сетевом интерфейсе из внутренней сети

ловушка smtp что это. Смотреть фото ловушка smtp что это. Смотреть картинку ловушка smtp что это. Картинка про ловушка smtp что это. Фото ловушка smtp что это

Для организации этой схемы на сервере потребуется:

Редиректор на базе xinetd для фиксированного внешнего SMTP-сервера

Если персонал организации имеет почтовые ящики на ограниченном множестве внешних серверов, можно обойтись простым редиректором для каждого из них. Для этого на Линукс-маршрутизаторе, имеющем выход во внешнюю сеть, потребуется создать в каталоге /etc/xinetd.d множество файлов следующего вида:

Редиректор для произвольного внешнего SMTP-сервера

Для этого раздела в силу его малой актуальности решение не составлялось. По всей видимости, данная задача может быть решена только с использованием прокси-сервера SOCKS и клиентской утилиты SocksCapture. Поскольку на текущий момент у меня нет опыта их использования, в качестве отправной точки для собственных изысканий всем заинтересованным читателям предлагается статья Андрея Черезова в «КомпьюТерре», из которой и почерпнуты все мои нынешние познания о SOCKS.

Организация ловушки

Попав на компьютер и заразив его, почтовый вирус начинает заражать другие компьютеры. Для этого он производит рассылку заражённых писем одним из следующих способов:

Естественно, последние два варианта требуют, чтобы заражённая рабочая станция имела выход во внешнюю сеть либо напрямую, либо через SOCKS, либо через NAT.

Рисунок 2. Варианты отправки заражённых писем

ловушка smtp что это. Смотреть фото ловушка smtp что это. Смотреть картинку ловушка smtp что это. Картинка про ловушка smtp что это. Фото ловушка smtp что это

Соответственно, отлавливать заражённые письма будут два компонента:

Кроме того, некоторые дополнительные настройки окажутся нелишними в Outlook’e на рабочих станциях.

Отправка на собственный сервер, заменённый фиктивным

Принимать запросы на отправку почты через 25-й порт из локальной сети под видом SMTP-сервера будет xinetd:

Чтобы у инициатора соединения не возникало сомнений, что ему отвечает именно SMTP-сервер, xinetd будет немедленно посылать приглашение, взятое из файла /var/local/smtptrap.banner, как это всегда делает отвечающая сторона в SMTP. Приглашение может содержать сравнительно произвольный текст:

Например, соединитесь netcat‘ом с настоящим сервером SMTP и возьмите за образец приглашение, которое он выведет.

Хотя приведённый ниже сценарий создавался скорее в демонстрационных целях, нежели для практического применения, в нём есть почти всё, что требуется полноценной программе такого рода:

Вместе с тем, не реализованы следующие моменты:

К сожалению, shell-программирование и регулярные выражения являются настолько широкими и увлекательными темами, что более подробные пояснения к исходному тексту рискуют далеко выйти за рамки данной статьи.

Отправка через внешний сервер, запрещаемая пакетным фильтром

В задачу работающего на компьютере-маршрутизаторе пакетного фильтра входит просмотр заголовков IP-пакетов, отправляемых из внутренней сети, уничтожение тех пакетов, чьим целевым портом является smtp/25, и оповещение системного администратора.

Пакетный фильтр может решать эту задачу одним из трёх способов:

Перед вводом дополнительных правил пакетный фильтр должен быть минимально настроен, например:

Вариант 1: автономный

За сообщениями iptables следит исправленный вариант сценария из предыдущего раздела. Исправление состоит из двух строк и заключается в имени просматриваемого файла и образце поиска:

Вариант 2: фальшивый SMTP-сервер на другом компьютере

В этом случае дополнительного сценария не требуется, так как всей обработкой будет заниматься сервер TRAP_HOST:

Вариант 3: фальшивый SMTP-сервер на локальном компьютере

Фальшивый адрес в адресной книге

Список адресов, по которым должна производиться рассылка, может быть составлен вирусом из самых разных источников:

Поэтому имеет смысл поместить в локальную адресную книгу фальшивую контактную запись. Фальшивая запись должна:

Благодаря этим свойствам:

Некоторое неудобство состоит в том, что фиктивная запись обязана быть локальной, то есть не может быть однократно добавлена в адресную книгу на сервере ActiveDirectory или LDAP. Казалось бы, эту рутинную операцию не составит труда автоматизировать, однако здесь начиниются проблемы.

Поиски приводят нас к WAB, Windows Address Book или адресной книге Windows. Хотя в большинстве случаев она вызывается из Outlook Express, WAB является самостоятельным приложением и имеет собственный программный интерфейс. Его применение Microsoft демонстрирует утилитой WabTool, которая доступна в виде исходных текстов. К сожалению, WabTool является GUI-приложением, то есть не может использоваться в не-интерактивном, пакетном режиме, и годится только в качестве заготовки. Принципиальное нежелание в очередной раз разгребать сочинённый Microsoft мусор помешало автору статьи написать на её базе требуемую утилиту.

Настройки для сервера Posfix должны быть дополнены следующим образом:

Заключение

В завершение хочу поблагодарить своих бывших сослуживцев, А.Н. Боженко и Н.А. Рыбину, за материал, послуживший поводом для написания данной статьи.

Источник

SMTP relay или что делать если ваш сервер попал в email-блеклист

ловушка smtp что это. Смотреть фото ловушка smtp что это. Смотреть картинку ловушка smtp что это. Картинка про ловушка smtp что это. Фото ловушка smtp что это

Во всех случаях, эти письма проходят через множество гейтвеев, которые, видя большой поток одинаковых писем из нейтрального IP, помещают этот IP в черный список «до выяснения». Почтовые сервисы типа Gmail и Yahoo используют данные этих блеклистов для работы своих антиспамов, так что в лучшем случае письма с вашего сайта окажутся в папке со спамом.

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

Если вы там оказались, у вас есть два выбора — либо менять IP/сервер/хостинг, либо смириться, ибо на шареде или даже на vps-е, это судьба. Если же такое случилось с вашим собственным сервером, то сначала убейте саму причину появления спама, а потом пройдитесь по блеклистам, и вручную поудаляйте себя оттуда. Говорят, что это помогает. Если же вы не верите сказкам, просто смените IP адрес сервера, сейчас это стоит не так уж и дорого.

В любом случае, как временное решение, вы можете использовать чужой SMTP сервер для отправки писем сайта.

Использование чужого SMTP сервера с Друпалом

Для начала, вам нужно найти этот самый сервер. Если он у вас уже есть — прекрасно. Если нет, вы можете купить себе доступ, благо предложений сейчас хватает. Мне недавно очень пригодился один из таких сервисов — smtp2go. За символические 30 баксов, вы уже через 15 минут будете рассылать почту без преград.

Чтобы прикрутить это все к Друпалу, нужно будет воспользоваться модулем SMTP Authentication Support. При установке, обязательно прочтите README.TXT, модулю нужна сторонная библиотека, которую придется скачать.

Модуль представляет собой форму, в которую вы должны будете ввести все вышеперечисленное.
ловушка smtp что это. Смотреть фото ловушка smtp что это. Смотреть картинку ловушка smtp что это. Картинка про ловушка smtp что это. Фото ловушка smtp что это

Источник

Атака на протокол SMTP. Тестирование на взлом (ПЕНТЕСТ)

В статье далее рассматривается почтовый протокол с точки зрения тестирования безопасности. Цель — повышение безопасности сетей, администрирование.

Разбор протокола SMTP с точки зрения возможных атак и мер противодействия, все с точки зрения внешнего злоумышленника.

Что меня часто действительно сбивало с толку, так это то, что я не знал, какую часть почтового потока использовал, когда применял telnet для ручного подключения к SMTP-серверу во время взаимодействия. Я выступаю в роли SMTP-сервера или клиента? Почему он не блокирует мою попытку подделать электронные письма на определенном этапе?

Вся статья рассматривает внешние атаки, и поэтому вы не найдете предложений по внутренним мерам защиты.

Введение в SMTP

Simple Mail Transfer Protocolпредназначен для SEND писем из одной системы в другую.
Это могут быть почтовые клиенты, такие как Outlook, почтовые серверы, такие как Microsoft Exchange, межсетевой экран и т. д.

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

Некоторые термины, используемые вместе с SMTP :

Почтовый пользовательский агент (MUA) : это программа (часть), подключающаяся к SMTP-серверу для отправки электронной почты. Скорее всего, это ваш Outlook, Thunderbird или что угодно.

Агент пересылки почты (MTA) : транспортная часть программы. Они получают и передают электронные письма. Это может быть сервер Exchange, шлюз с выходом в Интернет и так далее.

Соответствующий RFC5321 упоминает только эти два термина.
Однако, если вы начнете спрашивать Интернет о SMTP, вы наверняка наткнетесь на агента отправки почты (MSA) и агента доставки почты (MDA) и некоторые другие.
Это также особые функции программы, участвующей в рабочем процессе электронной почты, которые позволяют описать процесс более точно и детально. MSA является частью получающую электронную почту от MUA и MDA, и передающей письмо к конечному принимающему MUA. Скорее всего, все эти функции будут найдены в одном или двух продуктах в вашей среде, которые могут позаботиться обо всех этих шагах.
Таким образом, рабочий процесс передачи электронного письма от одного пользователя к другому может выглядеть так:

MUA → MSA → MTA → Интернет → MTA → MDA → MUA

Термины relay и gateway четко определены в RFC5321.

Пример конфигурации

Outlook → Exchange → firewall → internet → SMTP-Server of the receiving side → mail-server of the receiving side → Outlook of receiver

Атака на SMTP-серверы — спуфинг почты

Теперь самое интересное.
Когда вы находитесь во внешнем взаимодействии и обнаруживаете устройство с открытым SMTP-портом, вы, скорее всего, нашли систему, которая в первую очередь обрабатывает входящие электронные письма из Интернета — в нашем случае это брандмауэр.

Мой личный рабочий процесс состоит в том, что я сначала перечисляю записи MX компании, чтобы определить поверхность их атаки относительно SMTP. Это можно сделать с помощью простого nslookup :

Результатом является список всех систем, ответственных за входящую почту для этого домена.

ловушка smtp что это. Смотреть фото ловушка smtp что это. Смотреть картинку ловушка smtp что это. Картинка про ловушка smtp что это. Фото ловушка smtp что это

Далее идет сканирование nmap для определения открытых портов:

Результат должен выглядеть примерно так:

ловушка smtp что это. Смотреть фото ловушка smtp что это. Смотреть картинку ловушка smtp что это. Картинка про ловушка smtp что это. Фото ловушка smtp что это

Дальше вручную подключаюсь к серверу с помощью telnet или netcat и проверяю, могу ли я отправлять поддельные электронные письма (из их домена в их домен, как если бы я сидел внутри их сети):

ловушка smtp что это. Смотреть фото ловушка smtp что это. Смотреть картинку ловушка smtp что это. Картинка про ловушка smtp что это. Фото ловушка smtp что это

Если вам нужно подключиться к серверу, который разрешает только шифрованную связь, вы можете использовать openssl:

На этом этапе SMTP-сервер может по-разному реагировать от случая к случаю:

Когда происходит последнее, я впервые подумал: черт возьми, они ошиблись. Мне удалось отправить электронное письмо от их имени. Давайте рассылаем им легальные фишинговые письма.
Но в основном это оказалось ошибочным предположением. Он только сообщает вам, что (в данном случае) брандмауэр принял ваш запрос в первую очередь. Если после этого он сделает другие проверки, это будет для вас вне поля зрения. Обычно заказчик сообщал мне, что письмо было заблокировано брандмауэром или что оно было помечено как вредоносное внутри их Outlook. Оба сценария не подвергают их риску.
Это также момент, когда становится ясно, что клиенту нужна какая-то аутентификация. Но как именно и в каких случаях?
Что ж, здесь может быть несколько сценариев:

1. Кто-то подключается к вашему SMTP-серверу и хочет отправить с внешнего IP и домена на ваш домен.
Это «нормальный» случай, который, как можно предположить, происходит ежедневно.
С точки зрения клиентов, мы хотим убедиться, что проверили (SPF, DKIM, DMARC), законна ли отправляющая сторона для этого. Если все проверки пройдены, электронное письмо может быть отправлено в Exchange.

2. Кто-то подключается с внешнего IP к вашему SMTP-серверу и хочет отправить с вашего домена.
Я считаю это по крайней мере необычным, поскольку никто из вашей организации не будет напрямую передавать свои электронные письма на брандмауэр при нормальных обстоятельствах. Предполагаемый способ: Outlook → Exchange, а не Outlook → брандмауэр.
Здесь в игру вступает аутентификация. Обычно Outlook отправляет вашу электронную почту в Exchange, и ваш Exchange будет проходить проверку подлинности на брандмауэре, чтобы отправлять электронные письма за пределы вашей организации.
Если вы обнаружите внешние электронные письма, отправляющий IP и MAIL FROM будут извне вашего домена.
Поэтому, если внешний IP-адрес хочет отправить из вашего домена и, что еще хуже, в ваш домен, вы должны принудительно выполнить аутентификацию или иным образом отклонить сообщение.
В моей тестовой лаборатории соответствующий запрос потерпит неудачу следующим образом:

ловушка smtp что это. Смотреть фото ловушка smtp что это. Смотреть картинку ловушка smtp что это. Картинка про ловушка smtp что это. Фото ловушка smtp что это

Сама аутентификация может быть принудительно реализована с помощью SMTP-Auth / SMTP. Это позволит войти в систему с помощью PLAIN, LOGIN, CRAM-MD5, SCRAM-SHA-1 или NTLM.
Аутентификация всегда должна идти рука об руку с шифрованной связью (SSL / TLS), поскольку учетные данные не должны передаваться в открытом виде по незащищенным сетям.

Для hMailServer вы можете детально установить, когда требуется аутентификация:

ловушка smtp что это. Смотреть фото ловушка smtp что это. Смотреть картинку ловушка smtp что это. Картинка про ловушка smtp что это. Фото ловушка smtp что это

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

ловушка smtp что это. Смотреть фото ловушка smtp что это. Смотреть картинку ловушка smtp что это. Картинка про ловушка smtp что это. Фото ловушка smtp что это

3. Кто-то подключается к вашему SMTP-серверу и хочет отправить с внешнего домена на внешний домен.
Это будет считаться открытым почтовым ретранслятором, если это разрешено, и вы не хотите попасть в черные списки для спамеров.
Этот сценарий представляет собой тип неправильной конфигурации, при которой каждый сможет использовать ваш SMTP-сервер для рассылки своего СПАМА другим пользователям по всему миру.
Здесь вы хотите убедиться в следующем:
ваш SMTP-сервер не должен принимать и пересылать электронные письма с нелокальных IP-адресов в нелокальные почтовые ящики неаутентифицированным или неавторизованным пользователем.

SPF, DKIM, DMARC

Есть три контрмеры, которые были введены, чтобы уменьшить злоупотребление электронной почтой.
Я просто коснусь поверхности и попытаюсь вкратце объяснить, что делает каждый из них.

SPF

Если IP-часть содержит сервер, который отправил электронное письмо, принимающая сторона знает, что этой системе разрешено отправлять электронные письма для соответствующего домена.

Чтобы узнать больше об этой проверке: https://postmarkapp.com/blog/explaining-spf

DKIM

Чтобы узнать больше об этой проверке: https://postmarkapp.com/guides/dkim

DMARC

Эта запись будет определять, что 100% = все электронные письма, которые не проходят SPF или DKIM, должны быть отклонены, а отчет должен быть отправлен на dmarc-reports@company.com.

Чтобы узнать больше об этой проверке: https://postmarkapp.com/guides/dmarc

Как правило, следующие пункты заставят ваши SMTP-серверы работать безопасным образом (внешний вид):

Атака SMTP-серверов — перечисление пользователей

Перечисление пользователей — это второй тип атак, от которых вы хотите избавиться.
Плохие парни могут легко собрать список адресов электронной почты, принадлежащих вашей компании, с помощью социальной инженерии и проверить их действительность с помощью SMTP.
После успешной проверки их можно затем использовать для атак с использованием паролей и тому подобного — например, против вашего OWA / EWS, O365, VPN или чего-либо еще.

Существует как минимум три метода / команды, позволяющие перечислять пользователей:

VRFY : используется для проверки того, известен ли определенный пользователь SMTP-серверу.
EXPN : используется для раскрытия фактического адреса (а) электронной почты псевдонима
RCPT TO : необходимая команда для указания того, кому следует отправить электронное письмо.

Вы можете проверить, доступны ли команды с помощью команды HELP (если таковая имеется).

ловушка smtp что это. Смотреть фото ловушка smtp что это. Смотреть картинку ловушка smtp что это. Картинка про ловушка smtp что это. Фото ловушка smtp что это

ловушка smtp что это. Смотреть фото ловушка smtp что это. Смотреть картинку ловушка smtp что это. Картинка про ловушка smtp что это. Фото ловушка smtp что это

ловушка smtp что это. Смотреть фото ловушка smtp что это. Смотреть картинку ловушка smtp что это. Картинка про ловушка smtp что это. Фото ловушка smtp что это

Напротив, RCPT TO необходим для того, чтобы все работало.

Интересный факт: когда я проводил исследование для этого сообщения в блоге, в самой первой записи Google, касающейся SMTP и тестирования на проникновение, предлагалось отключить RCPT TO. Если бы это было возможно, вы сделали бы свой SMTP-сервер бесполезным.

Однако вы можете усложнить злоумышленникам подсчет ваших пользователей следующими способами:

Заключение

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

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

Источник

Detection mailing viruses in corporate network

Ilya Evseev

Copyright ╘ 2004 IE

Введение

К недостаткам антивирусных мониторов можно отнести:

Рассматриваемое ниже решение лишено перечисленных недостатков, но имеет свои собственные:

Собственно излечение должно производиться обычным путём, то есть запуском антивирусной программы с чистого носителя.

Первый недостаток является наименее существенным, потому что именно на почтовые вирусы приходится подавляющая часть Интернет-эпидемий последних лет. Причин, по которым электронная почта превратилась в наиболее популярную для вирусных атак среду, несколько:

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

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

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

Фальшивая и рабочая системы

Выражаясь образно, перед тем, как настраивать ловушку, для неё потребуется расчистить пространство, сдвинув в сторону реально используемую почтовую инфраструктуру. Желательно при этом, чтобы с точки зрения пользователей всё продолжало работать без изменений, существенных плюс неприятных.

На каждой рабочей станции должно быть настроено два почтовых клиента:

Чем обусловлено данное требование? Все почтовые вирусы, прославившиеся масштабами разрушений, основаны на двух постулатах:

Из этого следуют два вывода:

Заражение через письмо происходит следующим образом:

Если второй способ является отличительной чертой Outlook (остальные почтовые клиенты подобной инициативностью в отношении т.н. active content не страдают), то первый расчитан на невнимательного или неквалифицированного пользователя, и подпадает под категорию т.н. social engineering.

Как правило, среднестатистический вирус не может или не пытается определить, через какой почтовый клиент он попал в систему, и начинает атаку на другие компьютеры, используя сведения из настроек и адресной книги Outlook’а или сервера MAPI (которым зачастую является всё тот же Outlook).

Настройка рабочей системы

Конфигурация фактически используемого почтового клиента на рабочей станции должна быть изменена следующим образом:

Затем сетевому администратору потребуется выполнить настройки в одном из трёх вариантов в зависимости от того, какой SMTP-сервер, или серверы, используется в организации для отправки почты:

Далее для демонстрации настроек сервера используется, если это не оговорено особо, следующее программное обеспечение:

Собственный SMTP-сервер на примере Postfix

Чтобы перенастроить Postfix, отредактируйте в файле /etc/postfix/master.cf все строки, начинающиеся с smtp inet, заменив smtp на номер порта, например, на 325. Желательно, чтобы новый номер.

При этом возникает проблема внешних соединений. Дело в том, что по протоколу SMTP почта на наш сервер поступает не только от клиентов, но и от других серверов из внешней сети, причём возможности заставить эти серверы пользоваться нестандартным портом не существует. Данная проблема решается простым перенаправлением IP-порта. С этой целью могут быть использованы разные программы, в том числе и стандартный супердемон xinetd. В каталоге /etc/xinetd.d на SMTP-сервере должен быть размещён файл smtp-forward с содержимым, составленным по следующему образцу:

Не менее просто делается редиректор с помощью пакетного фильтра iptables, работающего с Linux kernel 2.4+:

Любопытная особенность данного редиректора состоит в том, что пакеты подвергаются перенаправлению на основании одного только номера порта, вне зависимости от указанного в них IP-адреса цели. Это позволяет задавать в настройках клиента в качестве адреса SMTP-сервера абсолютно любое внешнее имя, например, www.gov.no. Однако по причинам, изложенным в следующем разделе, рекомендуется указывать здесь имя самого компьютера-редиректора/smtp-ловушки.

Разные IP-адреса для SMTP-сервера и SMTP-ловушки

Рисунок 1. Доступ к IP-портам на внешнем и внутреннем сетевом интерфейсе из внутренней сети

ловушка smtp что это. Смотреть фото ловушка smtp что это. Смотреть картинку ловушка smtp что это. Картинка про ловушка smtp что это. Фото ловушка smtp что это

Для организации этой схемы на сервере потребуется:

Редиректор на базе xinetd для фиксированного внешнего SMTP-сервера

Если персонал организации имеет почтовые ящики на ограниченном множестве внешних серверов, можно обойтись простым редиректором для каждого из них. Для этого на Линукс-маршрутизаторе, имеющем выход во внешнюю сеть, потребуется создать в каталоге /etc/xinetd.d множество файлов следующего вида:

Редиректор для произвольного внешнего SMTP-сервера

Для этого раздела в силу его малой актуальности решение не составлялось. По всей видимости, данная задача может быть решена только с использованием прокси-сервера SOCKS и клиентской утилиты SocksCapture. Поскольку на текущий момент у меня нет опыта их использования, в качестве отправной точки для собственных изысканий всем заинтересованным читателям предлагается статья Андрея Черезова в «КомпьюТерре», из которой и почерпнуты все мои нынешние познания о SOCKS.

Организация ловушки

Попав на компьютер и заразив его, почтовый вирус начинает заражать другие компьютеры. Для этого он производит рассылку заражённых писем одним из следующих способов:

Естественно, последние два варианта требуют, чтобы заражённая рабочая станция имела выход во внешнюю сеть либо напрямую, либо через SOCKS, либо через NAT.

Рисунок 2. Варианты отправки заражённых писем

ловушка smtp что это. Смотреть фото ловушка smtp что это. Смотреть картинку ловушка smtp что это. Картинка про ловушка smtp что это. Фото ловушка smtp что это

Соответственно, отлавливать заражённые письма будут два компонента:

Кроме того, некоторые дополнительные настройки окажутся нелишними в Outlook’e на рабочих станциях.

Отправка на собственный сервер, заменённый фиктивным

Принимать запросы на отправку почты через 25-й порт из локальной сети под видом SMTP-сервера будет xinetd:

Чтобы у инициатора соединения не возникало сомнений, что ему отвечает именно SMTP-сервер, xinetd будет немедленно посылать приглашение, взятое из файла /var/local/smtptrap.banner, как это всегда делает отвечающая сторона в SMTP. Приглашение может содержать сравнительно произвольный текст:

Например, соединитесь netcat‘ом с настоящим сервером SMTP и возьмите за образец приглашение, которое он выведет.

Хотя приведённый ниже сценарий создавался скорее в демонстрационных целях, нежели для практического применения, в нём есть почти всё, что требуется полноценной программе такого рода:

Вместе с тем, не реализованы следующие моменты:

К сожалению, shell-программирование и регулярные выражения являются настолько широкими и увлекательными темами, что более подробные пояснения к исходному тексту рискуют далеко выйти за рамки данной статьи.

Отправка через внешний сервер, запрещаемая пакетным фильтром

В задачу работающего на компьютере-маршрутизаторе пакетного фильтра входит просмотр заголовков IP-пакетов, отправляемых из внутренней сети, уничтожение тех пакетов, чьим целевым портом является smtp/25, и оповещение системного администратора.

Пакетный фильтр может решать эту задачу одним из трёх способов:

Перед вводом дополнительных правил пакетный фильтр должен быть минимально настроен, например:

Вариант 1: автономный

За сообщениями iptables следит исправленный вариант сценария из предыдущего раздела. Исправление состоит из двух строк и заключается в имени просматриваемого файла и образце поиска:

Вариант 2: фальшивый SMTP-сервер на другом компьютере

В этом случае дополнительного сценария не требуется, так как всей обработкой будет заниматься сервер TRAP_HOST:

Вариант 3: фальшивый SMTP-сервер на локальном компьютере

Фальшивый адрес в адресной книге

Список адресов, по которым должна производиться рассылка, может быть составлен вирусом из самых разных источников:

Поэтому имеет смысл поместить в локальную адресную книгу фальшивую контактную запись. Фальшивая запись должна:

Благодаря этим свойствам:

Некоторое неудобство состоит в том, что фиктивная запись обязана быть локальной, то есть не может быть однократно добавлена в адресную книгу на сервере ActiveDirectory или LDAP. Казалось бы, эту рутинную операцию не составит труда автоматизировать, однако здесь начиниются проблемы.

Поиски приводят нас к WAB, Windows Address Book или адресной книге Windows. Хотя в большинстве случаев она вызывается из Outlook Express, WAB является самостоятельным приложением и имеет собственный программный интерфейс. Его применение Microsoft демонстрирует утилитой WabTool, которая доступна в виде исходных текстов. К сожалению, WabTool является GUI-приложением, то есть не может использоваться в не-интерактивном, пакетном режиме, и годится только в качестве заготовки. Принципиальное нежелание в очередной раз разгребать сочинённый Microsoft мусор помешало автору статьи написать на её базе требуемую утилиту.

Настройки для сервера Posfix должны быть дополнены следующим образом:

Заключение

В завершение хочу поблагодарить своих бывших сослуживцев, А.Н. Боженко и Н.А. Рыбину, за материал, послуживший поводом для написания данной статьи.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *