Хабрахабр

[Перевод] Приключения неуловимой малвари, часть 1

Программы для взлома, не оставляющие следов атаки, известные также как fileless («бестелесные», невидимые, безфайловые), как правило, используют PowerShell на системах Windows, чтобы скрытно выполнять команды для поиска и извлечения ценного контента. Этой статьей мы начинаем серию публикаций о неуловимых малвари. антивирусы и многие другие системы обнаружения работают на основе сигнатурного анализа. Обнаружить хакерскую деятельность без вредоносных файлов — сложно выполнимая задача, т.к. Например, UBA-системы, способные обнаружить вредоносную активность в файловых системах.
Когда я впервые начал изучать тему крутых хакеров, не использующих традиционные способы заражения, а лишь доступные на компьютере жертвы инструменты и программное обеспечение, я и не подозревал, что вскоре это станет популярным способом атаки. Но хорошая новость состоит в том, что такое ПО все же существует. Поэтому я решил сделать серию публикаций на эту тему. Профессионалы в области безопасности говорят, что это становится трендом, а пугающие заголовки статей – тому подтверждение.

Великий и ужасный PowerShell

Я писал о некоторых из этих идей раньше в серии обфускации PowerShell, но больше исходя из теоретического представления. Позже я наткнулся на сайт для гибридного анализа, где можно найти образцы малвари, «отловленной» в дикой природе. Я решил попробовать использовать этот сайт для поиска образцов fileless-вредоносов. И мне это удалось. Кстати, если вы захотите отправиться в свою собственную экспедицию по поиску вредоносных программ, вам придется пройти проверку на этом сайте, чтобы они знали, что вы делаете работу как white hat специалист. Как блогер, который пишет о безопасности, я прошел ее без вопросов. Я уверен, вы тоже сможете.

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

д.), я смог увидеть и сам код. В случае с PowerShell и другими образцами сценариев (Visual Basic, JavaScript и т. Например, я наткнулся на такой PowerShell экземпляр:

Обратите внимание на использование Noninteractive и Hidden параметров. Вы также можете запустить PowerShell в кодировке base64, чтобы избежать обнаружения.

Если вы прочитали мои записи по обфускации, то вы знаете, что параметр -e указывает на то, что содержимое кодируется в base64. Кстати, гибридный анализ помогает также и с этим, декодируя все обратно. Еcли вы захотите попробовать декодировать base64 PowerShell (далее – PS) самостоятельно, нужно выполнить эту команду:

[System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText))

Вникай глубже

Я декодировал наш PS-сценарий с помощью этого метода, ниже представлен текст программы, правда слегка мной модифицированный:

Заметьте, что скрип был привязан к дате 4 сентября 2017 и передавал сессионные cookies.

Я писал об этом стиле атаки в серии по обфускации PS, в которой кодированный в base64 скрипт сам загружает недостающие вредоносные программы с другого сайта, задействуя из библиотеки .Net Framework объект WebClient, чтобы сделать всю тяжелую работу.

Для чего это нужно?

И так как все «зло» вредоносного ПО затем загружается и передается в наш PowerShell, этот подход таким образом позволяет полностью уклоняться от обнаружения. Для программного обеспечения безопасности, сканирующего журналы событий Windows или файерволла, кодировка base64 предотвращает обнаружение строки «WebClient» по простому текстовому шаблону в целях защиты от выполнения такого веб-запроса. Вернее, это я так думал сначала.

мою статью ) вы сможете увидеть загруженную строку в журнале событий. Оказывается, с включением продвинутого логирования журнала Windows PowerShell (см. Поэтому при включенном расширенном логировании мы увидим в журнале событий Windows выполненный запрос загрузки из PS скрипта по примеру, который мы разобрали выше. Я (как и другие ) считаю, что Microsoft следует включить данный уровень ведения журнала по умолчанию. Поэтому имеет смысл его активировать, согласны?

Добавим дополнительные сценарии

Хакеры ловко скрывают атаку PowerShell в макросах Microsoft Office, написанных на Visual Basic и на других скриптовых языках. Идея заключается в том, что жертва получает сообщение, например, от службы доставки, с вложенным отчетом в формате .doc. Вы открываете этот документ, который содержит макрос, и в конечном итоге он сам запускает вредоносный PowerShell.

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

Реальные хакеры делают это на раз-два. Обфусцированный JavaScript, прячущий наш PowerShell.

Это еще одна из техник, которую я встретил на просторах сети: использование оболочки Wscript.Shell для запуска кодированного PowerShell. Кстати, JavaScript сам по себе является средством доставки вредоносных программ. Многие версии Windows имеют встроенный Windows Script Host, который сам умеет запускать JS.
В нашем случае, вредоносный скрипт JS вложен как файл c .doc.js расширением. Windows, как правило, показывает только первый суффикс, поэтому он будет отображаться жертве как документ Word.

Неудивительно, что многие люди будут открывать это вложение, думая, что это Word-документ. Значок JS отображается только в иконке в виде свитка.

В моем примере я изменил приведенный выше PowerShell, чтобы загрузить сценарий с моего веб-сайта. Удаленный сценарий PS просто печатает «Evil Malware». Как видите, он совсем не злой. Конечно, реальные хакеры заинтересованы в получении доступа к ноутбуку или серверу, скажем, через командую оболочку. В следующей статье я покажу, как это сделать, используя PowerShell Empire.

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

Теги
Показать больше

Похожие статьи

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

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

Кнопка «Наверх»
Закрыть