Анализ реализованных атак

Анализ реализованных атак
В данном обзоре будет проанализированы способы проникновения и эксплуатации вредоносного содержимого на основании примеров ранее реализованных атак.

1. Типичная последовательность действий при проникновении и эксплуатации вредоносного содержимого выглядит следующим образом (Рис. 1):

8640f576b89c03de6c629505fde634ed.png
Рис. 1 Типичная последовательность действий злоумышленников


1) Доставляется вредоносное содержимое одним из всевозможных способов:
a. Вредоносным вложением электронной почты;
b. Вредоносным содержимым файлов (Microsoft Word, Adobe PDF);
c. Вредоносным содержимым исполняемых файлов (.exe) или скрин-серверов (.scr);
d. Вредоносным содержимым в .rar файлах;
e. Страницей с приглашением на конференцию с заранее заражённым сайтом;
f. Интеграцией вредоносного кода в Java-код;

2) Тело зловредного содержимого хранится на машине жертвы в виде зашифрованного файла;

3) Бот инициирует соединение во вне с целью получения адреса командного сервера (CnC server). Соединение строится на ip-адрес доверенного ресурса (например, форум Microsoft – TechNet), что позволяет обойти большинство средств, работающих по принципу black list (средств, блокирующих боты). На форуме TechNet запрашивается определённая страница, содержащая инструкцию о доступе к серверу управления (это может быть страница профиля определённого пользователя, либо определённая ветка форума). На инфицированную станцию передаётся в кодированном виде адрес командного сервера. Инфицированная станция выполняет обращение на командный сервер, включаясь в инфицированную бот сеть и предоставляя управление злоумышленникам.

4) При запуске браузера червь выполняет обращение на командный центр, передавая информацию о станции жертвы, в том числе:
a. Имя станции жертвы;
b. Локальный ip –адрес;
c. Домен;
d. Дата и время;
e. Версия почтового клиента;
f. Версия браузера;
g. Версия ОС;
h. Настройки proxy-сервера;
i. Информация о виртуальных машинах;
j. Регистрация всех нажатий;
k. Снимки с экрана;
l. Данные из адресной почтовой книги;
m. История просмотренных страниц;
n. Сохранённые ссылки.

5) Собранная информация шифруется;

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

7) После получения доступа к периметру компании, через командный центр злоумышленник удалённо выполняет общесистемные команды, такие как:
a. Ipconfig/all
b. Set
c. Netstat –ano
d. Tasklist
e. Net start
f. Net localgroup administrators
g. Net use
h. Systeminfo
i. Net view/domain
j. Dir C:WindowsMicrosoft.NETFramework
k. Dir “C:Program Files”

8) После изучения окружения, злоумышленник пытается проникнуть в соседние доступные системы;

9) Всю интересную информацию злоумышленник помещает в архивный файл и загружает его на командный центр.

2. Доставка вредоносного содержимого внутрь защищенного периметра

Приведем несколько примеров получения вредоносного содержимого.

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

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

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

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

3. Применение уязвимости в языке программирования JAVA

Язык программирования Java содержит ряд уязвимостей, позволяющих интегрировать вредоносный код, в обычный java-код web-страницы, загружаемый при её просмотре. Вот как это происходит:
  1. Пользователь заходит на ресурс, который содержит java-код, выполняемый браузером;
  2. При выполнении кода web-страницы, браузер, в том числе, загружает кусок вредоносного кода, позволяющего инфицировать именно данную систему;
  3. В зависимости от типа используемой уязвимости, злоумышленник имеет возможность обходить встроенные проверки безопасности в Java, предотвращая собственное обнаружение, повышая тем самым вероятность успешного проникновения на станцию жертвы;
  4. Загружаемый вредоносный контент почти всегда зашифрован чтобы сделать невозможным его обнаружение антивирусным средством.
Ниже приведена часть запроса, содержащая эксплуатацию уязвимостей сервера Apache через вызов Java.

d5a1ed8c12ba02c0b1415e56ade0f152.png


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

Операционные системы Windows содержат оболочку PowerShell, позволяющую злоумышленникам получать полный контроль над целевой рабочей станцией, по следующему алгоритму:
  1. Посредством одной из техник доставки вредоносного содержимого на станцию жертвы, злоумышленник загружает вредоносный код для получения удалённого доступа;
  2. Злоумышленник получает права администратора на рабочей станции жертвы, чаще всего привилегии доменной учётной записи;
  3. Посредством протоколов SMB, NetBIOS, WinRM злоумышленник получает доступ к целевой рабочей станции/серверу.
1ee669b345442b5bc8c14307310e8901.png
Рис. 2 Возможности злоумышленника при эксплуатации уязвимостей в PowerShell

5. Разбор атаки на смартфоны под управлением Android

Сегодня более 50% рынка мобильных телефонов занимают устройства под управлением ОС Android. Данная система предоставляет множество возможностей своим пользователям и разработчикам, но в то же время обладает большим количеством уязвимостей, обусловленных широтой всех доступных средств разработки и аппаратных архитектур для данной ОС.

Как и любой программный продукт, библиотеки, применяемые для разработки приложений для Android, содержат множество уязвимостей и недостатков. Приложения собирают и передают излишнюю информацию во вне, обладают интерфейсами, позволяющими получить информацию об устройстве и его содержимом, проводить с устройством все возможные операции без ведома пользователя.
Простейший пример атаки выглядит следующим образом:
  • злоумышленник взламывает сеть, к которой подключается пользователь (например, WiFi сеть);
  • злоумышленник обеспечивает себе возможность прослушивания трафика пользователя (DNS hijacking, BGP hijacking, ARP hijacking) для идентификации установленных на устройстве приложений и используемых библиотек;
  • как только цель идентифицирована, запускается целевая атака, эксплуатирующая выявленную уязвимость (чтобы снизить шанс обнаружения, злоумышленник атакует вполне конкретную цель, а не все устройства доступные для него в данной сети);
  • как только злоумышленник получает доступ к устройству и его содержимому, он может незаметно для пользователя получать те данные, которые его интересуют (например, логины/пароли для доступа на корпоративный компьютер, адреса телефоны ключевых людей в организации, данные о деньгах и их движении и т.д.).

bdf0a89f4107c24975ebed1ea8d89095.png
Рис. 3 Пример атак на Android устройствах через уязвимости в библиотеках


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

6. Кража денег через подставные аккаунты

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

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

017cd62392c69e9192588ef8d82b6cc3.png
Рис. 4 Сообщение о желании приобрести exploit


В состав программы включался keylogger (HawkEye или KeyBase), после чего злоумышленники рассылали вредоносный контент потенциальным жертвам. В качестве целей выбирались жертвы из стран, где у злоумышленников были банковские счета или, не было проблем с денежными переводами. Жертву подбирали на основе данных на сайте Alibaba, где производители оставляют свои данные.

После чего выбранному объекту отправлялось письмо с запросом ценового предложения на позиции, указанные во вложении (вложение помимо описания позиций содержало вредоносный код). Как только вредоносный код исполнялся, на станции жертвы, keylogger начинал отправлять данные на командный центр. Злоумышленники выискивали в полученных данных информацию, относящуюся к банковским транзакциям (например, переписку о готовящейся сделке), после чего реализовывали атаку man-in-the-middle между покупателем и продавцом (путём покупки сторонних доменов и создания почтовых аккаунтов максимально похожих на реальные). Вся переписка осуществлялась через почтовые адреса злоумышленников, при этом ни покупатель, ни продавец об этом не догадывались. Сделка проводилась через подставные банковские счета и деньги получал злоумышленник.

f67fce0568e3e4252a670b0cfede2980.png
Рис.5 Результаты проверки антивирусами


7. Сложносоставная атака

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

9b94a8a8481fcd9307d058ca4b40bac2.png
Рис. 6 Схема сложносоставной атаки


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

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

8. Целевая атака на правительственные и коммерческие системы юго-восточной Азии

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

9116adae18dae6596b0b676ccc5c7d48.png
Рис. 7 Двухуровневая система получения данных


Связь с командным центром осуществлялась посредством однонаправленных запросов (POST). Установленные “черви” обладали логикой, позволяющей проводить проверку что на узле нет других “червей”, версии “червя” и обновление версии “червя”. Действия злоумышленников не были нацелены на получение “мгновенной выгоды”, как-то номера банковских карт, персональные данные или номера счетов и транзакции по ним. Целью был сбор максимального количества данных на постоянной основе, например, внутренние документы компаний, данные о разработках и клиентах, данные о сделках и планах. Всё что могло бы быть использовано в конкурентной борьбе или раскрыть информацию о планах и намерениях, представляло интерес и скрыто копировалось.

9. Сбор данный через социальную инжинерию

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

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

10. Целевая атака на биржевые компании

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

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

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

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

11. Атака посредством подставного образа программного обеспечения

В данном случае был модифицирован оригинальный образ firmware от производителя Cisco. Злоумышленник использовал backdoor не боясь быть обнаруженным. Образ мог быть скачан с форумов или через torrent (например, если компания не имеет актуального сервисного контракта и не может получить образ с сайта производителя).

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

12. Использование WEB-аналитики для выбора целей

Ежедневно каждый из нас посещает множество ресурсов в сети Интернет для работы или развлечения, этим в том числе успешно пользуются злоумышленники. Через уязвимости в web-сайтах, злоумышленники загружают на них фрагменты кода, исполняемые браузерами. При посещении пользователем заражённого сайта, ему загружается скрыто исполняемый скрипт, собирающий информацию о рабочей станции пользователя, его настройках и установленных приложениях. Скрипт создаёт свои копии и “дочерние скрипты”, выполняющиеся в случае очистки кэша, переустановки браузера или удаления тела основного скрипта (таким образом, жертва остаётся под постоянным наблюдением). Собранная информация отправляется на ресурсы web-аналитики, позволяя создавать подробный профиль жертвы, готовя таким образом данные для целевой атаки.

f715e6d92b492673572755c8ca51a2e2.png
Рис. 8 Формирование профиля жертвы


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

13. Разбор некоторых векторов DDOS атак

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

TCP STOMP – классическая ACK flood атака модифицированная для обхода средств защиты. Перед началом атаки, жертве отправляется несколько сессий для получения корректной последовательности TCP соединений, после чего полученные данные используются для выполнения атаки.

DNS Water Torture – злоумышленник использует заранее подготовленный DNS запрос направляемый DNS серверу провайдера. В DNS запросе содержится случайно генерируемая строка, ссылающаяся на DNS злоумышленника. DNS сервер провайдера в свою очередь делает запрос на полученный адрес, не получая при этом никакого ответа и затрачивая для этого ресурсы. Множество подобных запросов приводят к отказу DNS сервера провайдера, либо возникновению существенных задержек в его работе.

Существующие системы позволяют абсолютно любому собрать собственный вектор DDoS атаки, для примера можно привести следующее:
  • На общедоступных ресурсах достаточно найти исходный код бота, например, Mirai. Бот Mirai сложно обнаружить поскольку он “живёт” только в памяти. Он обладает конфигуратором для изменения размера пакета/ttl/Tos/idnt/src port/dst port, использования TCP urg/ack/psh.rst/syn/fin;
  • Компиляция исходного кода для x86 платформы занимает 5 минут и не требует особых знаний;
  • Чуть больше часа требуется для того чтобы встроить в Mirai исходный код другого инструментария для атак, например, для атаки на ssl;
  • В итоге мы получаем уникальный вектор для атаки на целевой ресурс.
Изображение:
Android Java PowerShell безопасность взлом вредоносное ПО ИБ интегратор ИБ интернет уязвимость хакер
Alt text

Ваша приватность умирает красиво, но мы можем спасти её.

Присоединяйтесь к нам!