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



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


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

Шаг 1. Определение целей и подготовительные действия


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



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



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


Виды фишинга


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


Уэйлинг («Whaling») отличается от обычного фишинга тем, что атака нацелена на более высокопоставленных лиц или ключевых сотрудников организации. Злоумышленники представляются важными членами руководства, директорами или другими влиятельными лицами, чтобы убедить сотрудников предоставить конфиденциальную информацию или совершить финансовые операции.



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



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


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


Шаг 2. Определение методологии и выбор инструментов 


Для определения сценария рассмотрим несколько способов реализации фишинга: 


  • стандартный без доступа к аккаунту пользователя, при котором основная цель — убедить сотрудника в срочности и легитимности сообщения;


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


В первом случае проверку подлинности сообщения проводит почтовый сервер получателя, и достаточно просто может определить поддельное письмо по DKIM, SPF, и применить политику DMARC. Поэтому злоумышленники стараются сделать акцент на тайпсквоттинге, маскировке под легетимные домены путем незначительного изменения их написания. К примеру, habr.com вполне могут выдавать за haabr.com.


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


Этап доставки


Простота протокола SMTP означает относительную легкость  эксплуатации его уязвимостей. Рассмотрим структуру отправляемого сообщения:


EHLO 74.213.211.1
AUTH LOGIN
ЛОГИН_В_ФОРМЕ_BASE_64
ПАРОЛЬ_В_ФОРМЕ_BASE_64
MAIL FROM: narushitel@serverspace.ru
RCPT TO: head@serverspace.ru
DATA
From: Игорь Иванович <ceo@serverspace.ru>
To: Степан Федорович <head@serverspace.ru>
Subject: Приказ №300
Подлежит выполнению с текущего дня!
QUIT

Особенность обработки такого сообщения почтовым клиентом заключается в том, что все поля до DATA остаются в метаданных, а поля после этой строки отображаются в самом сообщении. Соответственно, получатель не увидит narushitel@serverspace.ru, пока не зайдет в исходный код сообщения, но зато поле From: Игорь Иванович ceo@serverspace.ru будет светиться в строчке «отправитель». Так выглядит само письмо:



А вот его исходный код, в котором можно увидеть настоящего отправителя в поле «Return-Path: narushitel@serverspace.ru»:



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


Этап вооружения


Теперь необходимо подумать о полезной нагрузке письма. Стандартной гиперссылкой никого не удивишь, офисные документы давно под нулевым доверием у инфраструктурных решений СЗИ, и скрипты, которые можно было внедрить в сообщение, обычно по умолчанию  заблокированы. Нарастающей угрозой становятся неприметные файлы .lnk, которые в своих атаках уже используют APT-группировки. Поэтому для моделирования этапа вооружения и заражения отлично подойдут LNK-файлы. 


LNK-файлы 


Ярлыки Windows, или LNK-файлы обычно создаются операционной системой Windows автоматически при открытии файлов пользователем, и используются для быстрого доступа. Кроме того, пользователь может создавать LNK-файлы вручную.



Концепция атаки реализуется благодаря особенностям структуры самого формата:



Ярлык содержит стандартный путь к PowerShell, и в качестве полезной нагрузки передает аргументы на выполнение. На этом принципе можно реализовать массу векторов атак. 


К примеру, если злоумышленник уверен, что устройство подключено к интернету и на пути не будет СЗИ, которые детектируют подобную активность, то в самой полезной нагрузке можно указать ссылку на вредоносный скрипт. При  запуске такого скрипта произойдет заражение. 


Если атака выполняется на защищенные машины, необходимые команды внедряются сразу в пэйлоад без обращения к стороннему серверу. Для примера рассмотрим «обезвреженный файл», показанный на скриншоте ниже. Скрипт содержит путь к первой версии PowerShell для совместимости со старыми дистрибутивами и аргумент с переадресацией на microsoft.com



На машине жертвы при активации ярлыка запускается дочерний процесс PowerShell и открывается окно:



В аргументы можно имплементировать любую команду, однако для скрытого выполнения действий с большим функционалом был также использован файл .hta (HTML Application).


HTML Application


HTA, или HTML Application представляет собой тип приложения, совместимого с Microsoft Windows, которое объединяет в себе возможности HTML, JavaScript и других веб-технологий. Файлы HTA можно запускать напрямую из системы без необходимости использования браузера.



Как это работает:


  1. Файл HTA содержит HTML-код, который определяет интерфейс пользователя и функциональность приложения. JavaScript используется для обеспечения интерактивности и динамического поведения веб-страницы. CSS применяется для стилизации внешнего вида приложения.
  2. При двойном щелчке мышью на файле HTA он запускается с помощью исполняемого файла mshta.exe, входящего в состав Windows. Mshta.exe интерпретирует HTML-код и выполняет JavaScript-код, создавая приложение.

В отличие от обычных скриптов, это решение позволяет получить доступ к ресурсам ОС более скрытно и незаметно для периметровых и хостовых СЗИ. Так как файл HTA представляет собой оболочку, в него имплементируется вредоносный JS-код, который уже выполняет нелегитимные действия на устройстве от лица самого пользователя. Эти действия могут быть разными: начиная от установки reverse shell’a, заканчивая шифрованием дисков устройства. Файл этого формата мы использовали на втором этапе атаки для передачи на устройство потенциальной жертвы эксплойта.


Средства реализации


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



Для создания и анализа .lnk-файлов использовался инструмент LECmd из набора «Eric Zimmerman’s tools».



Для создания .hta применялись системные средства ОС: CLI и PowerShell.



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


Шаг 3. Стратегия атаки и сбора информации


Пропишем сценарий, в котором укажем основных акторов и последовательность действий атакующей стороны:



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


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


Статья поддерживается командой Serverspace.

Serverspace — провайдер облачных сервисов, предоставляющий в аренду виртуальные серверы с ОС Linux и Windows в 8 дата-центрах: Россия, Беларусь, Казахстан, Нидерланды, Турция, США, Канада и Бразилия. Для построения ИТ-инфраструктуры провайдер также предлагает: создание сетей, шлюзов, бэкапы, сервисы CDN, DNS, объектное хранилище S3.

IT-инфраструктура | Кешбэк 17% по коду HABR

Комментарии (0)