Пригоди невловимої малварі, частина I

Пригоди невловимої малварі, частина I

Цією статтею ми починаємо серію публікацій про невловимі малварі. Програми для злому, що не залишають слідів атаки, відомі також як fileless («безтілесні», невидимі, безфайлові), як правило, використовують PowerShell на системах Windows, щоб потай виконувати команди для пошуку і вилучення цінного контенту. Виявити хакерську діяльність без шкідливих файлів - складне завдання, т.к. антивіруси та багато інших систем виявлення працюють на основі сигнатурного аналізу. Але хороша новина полягає в тому, що таке ПЗ все ж таки існує. Наприклад, UBA-системи, здатні виявити шкідливу активність у файлових системах

Коли я вперше почав вивчати тему крутих хакерів, не використовують традиційні способи зараження, А лише доступні на комп'ютері жертви інструменти та програмне забезпечення, я і не підозрював, що незабаром це стане популярним способом атаки. Професіонали в галузі безпеки кажуть, що це стає трендом, а лякаючі заголовки статей - Тому підтвердження. Тому я вирішив зробити серію публікацій на цю тему.

Великий та жахливий PowerShell

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

Крім самих зразків на сайті можна побачити, що роблять ці програми. Гібридний аналіз запускає шкідливе ПЗ у власній пісочниці та відстежує системні виклики, запущені процеси та дії в мережі, а також витягує підозрілі текстові рядки. Для двійкових файлів та інших виконуваних файлів, тобто. там, де ви навіть не можете подивитися на фактичний код високого рівня, гібридний аналіз вирішує, чи ПЗ є шкідливим або просто підозрілим на основі його активності під час виконання. І після цього оцінюється зразок.

У випадку PowerShell та інших зразків сценаріїв (Visual Basic, JavaScript тощо), я зміг побачити і сам код. Наприклад, я натрапив на такий PowerShell екземпляр:

Пригоди невловимої малварі, частина I

Ви також можете запустити PowerShell у кодуванні base64, щоб уникнути виявлення. Зверніть увагу на використання Noninteractive та Hidden параметрів.

Якщо ви прочитали мої записи по обфускації, то знаєте, що параметр -e вказує на те, що вміст кодується в base64. До речі, гібридний аналіз допомагає також і з цим декодуючи все назад. Якщо ви захочете спробувати декодувати base64 PowerShell (далі – PS) самостійно, потрібно виконати цю команду:

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

Вникай глибше

Я декодував наш PS-сценарій за допомогою цього методу, наведений нижче текст програми, правда злегка мною модифікований:

Пригоди невловимої малварі, частина I

Зауважте, що скрип був прив'язаний до дати 4 вересня 2017 року і передавав сесійні cookies.

Я писав про цей стиль атаки в серії з обфускації PS, в якій кодований base64 скрипт сам завантажує відсутні шкідливі програми з іншого сайту, задіявши з бібліотеки .Net Framework об'єкт WebClient, щоб зробити усю важку роботу.

Для чого це потрібно?

Для програмного забезпечення безпеки, що сканує журнали подій Windows або фаєрвола, кодування base64 запобігає виявлення рядка «WebClient» за простим текстовим шаблоном для захисту від виконання такого веб-запиту. І оскільки все "зло" шкідливого ПЗ потім завантажується і передається в наш PowerShell, цей підхід таким чином дозволяє повністю ухилятися від виявлення. Точніше, це я так думав спочатку.

Виявляється, з включенням просунутого логування журналу Windows PowerShell (див. мою статтю) ви зможете побачити завантажений рядок у журналі подій. Я як та інших ) вважаю, що Microsoft слід увімкнути даний рівень ведення журналу за умовчанням. Тому при увімкненому розширеному логуванні ми побачимо в журналі подій Windows виконаний запит завантаження з PS скрипта за прикладом, який ми розібрали вище. Тож чи має сенс його активувати, чи згодні?

Додамо додаткові сценарії

Хакери спритно приховують атаку PowerShell у макросах Microsoft Office, написаних на Visual Basic та інших скриптових мовах. Ідея полягає в тому, що жертва отримує повідомлення, наприклад, від служби доставки з вкладеним звітом у форматі .doc. Ви відкриваєте цей документ, який містить макрос, і зрештою він сам запускає шкідливий PowerShell.

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

Пригоди невловимої малварі, частина I

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

Це ще одна з техніки, яку я зустрів на просторах мережі: використання оболонки Wscript.Shell для запуску кодованого PowerShell. До речі, JavaScript сам по собі є засобом доставки шкідливих програм. Багато версій Windows мають вбудований Сервер сценаріїв Windows, що сам вміє запускати JS.
У нашому випадку, шкідливий скрипт JS вкладений як файл c.doc.js розширенням. Windows зазвичай показує лише перший суфікс, тому він буде відображатися жертві як документ Word.

Пригоди невловимої малварі, частина I

Значок JS відображається лише у піктограмі у вигляді сувоя. Не дивно, що багато людей відкриватимуть це вкладення, думаючи, що це Word-документ.

У прикладі я змінив наведений вище PowerShell, щоб завантажити сценарій з мого веб-сайту. Віддалений сценарій PS просто друкує Evil Malware. Як бачите, він зовсім не злий. Звісно, ​​реальні хакери зацікавлені у отриманні доступу до ноутбука чи серверу, скажімо, через командну оболонку. У наступній статті я покажу, як це зробити за допомогою PowerShell Empire.

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

Джерело: habr.com

Додати коментар або відгук