forked from mmistakes/minimal-mistakes
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
111 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
--- | ||
title: "Ресерч свежего Excel документа с Loki malware внутри" | ||
date: 2022-09-06 08:43:45 +0600 | ||
toc: true | ||
header: | ||
teaser: "" ####->teaser | ||
tags: | ||
- Phishing | ||
- DFIR | ||
- malware | ||
- RE | ||
- maldoc | ||
--- | ||
|
||
|
||
# Ресерч свежего Excel документа с Loki malware внутри | ||
|
||
Решил немного изучить свежий сэмпл малваря Loki (31.08), который содержится в Excel документе и используется для фишинговой рассылки. В этой небольшой статье основное внимание уделено практической части поиска, извлечения и небольшого разбора поведения вредоноса. Надеюсь, что данная статья будет полезной с теоретической и практической точек зрения. | ||
|
||
Утилиты и скрипты: | ||
|
||
* file; | ||
* msoffcrypto-crack.py; | ||
* oletools; | ||
* scdbg; | ||
* Detect It Easy (diec); | ||
* InetSim; | ||
* FakeNet; | ||
* PoweShell; | ||
* strings. | ||
|
||
Свежий Анализ malicious Excel document с вредоносным вложением Loki malware (sha256: 4973d12a201434d409e66ebbb6568eb38fbb379181e166a1eca399df1f24682b) от 31.08.2022г. Вложения используются в фишинговых атаках и имеют определенную динамику поступления, за последний месяц (рисунок 1) на сайте https://bazaar.abuse.ch/. | ||
|
||
![1](/assets/images/loki_malware/1.png){:class="img-responsive"} | ||
|
||
Перед изучением, давайте убедимся, что содержимое файла не было зашифровано. | ||
|
||
![2](/assets/images/loki_malware/2.png){:class="img-responsive"} | ||
|
||
Так как файл зашифрован (Рисунок 2). Нам необходимо найти пароль и расшифровать. | ||
|
||
Далеко ходить не будем, поищем пароль в .xlsx файле. После недолгих поисков, мы получаем дешифрованный файл, т.к. пароль был внутри, после запуска файла, данный пароль использовался для дешфировки и выполнения вредоносного кода(рисунок 3). | ||
|
||
![3](/assets/images/loki_malware/3.png){:class="img-responsive"} | ||
|
||
Теперь можно начинать анализ файла, воспользуемся утилитами oletools by DidierStevens. | ||
|
||
Использование Oleid, не показало наличие вложенных VBA & XLM макросов и ссылок внутри документа. | ||
|
||
![4](/assets/images/loki_malware/4.png){:class="img-responsive"} | ||
|
||
Останавливаться не будем, взглянем на вывод oledump.py, он показывает наличие исполняемого файла binary в xlsx. Что ж, давайте экспортируем содержимое A2 в отдельный файл для дальнейшего анализа (Рисунок 5). | ||
|
||
![5](/assets/images/loki_malware/5.png){:class="img-responsive"} | ||
|
||
Итак, давайте запустим утилиту эмулирующую среду для запуска shellcode’а: scdbg. Установим findsc, ReportMode, CreateDump и.т.д (рисунок 6). | ||
|
||
|
||
![6](/assets/images/loki_malware/6.png){:class="img-responsive"} | ||
|
||
После эмуляции, в scdbg видно функции, которые вызваются (Рисунок 7): | ||
|
||
1. Функция GetProcAddress для получения адреса функции ExpandEnvironmentStringsW для расширения переменной среды. | ||
2. Вызов этой функции для последующего сохранения по корректному пути вредоносного файла. | ||
3. Получение адреса функции загрузки файла, с последующим вызовом её и сохранения вредоносного файла Cloud2.exe в %public%regasm_avch.exe. | ||
4. Исполнение загруженного файла. | ||
|
||
![7](/assets/images/loki_malware/7.png){:class="img-responsive"} | ||
|
||
Теперь, когда у нас есть адрес, загрузим файл. После загрузки, проанализируем содержимое. В первую очередь, на наличие пакера/протектора и языка, на котором написан код. Как мы видим на рисунке 8, исполняемый файл написан на C# и защищен при помощи протектора. | ||
|
||
![8](/assets/images/loki_malware/8.png){:class="img-responsive"} | ||
|
||
Перед анализом снимем протектор с файла (Рисунок 9). | ||
|
||
![9](/assets/images/loki_malware/9.png){:class="img-responsive"} | ||
|
||
Теперь можно приступать к статическому анализу файла, с использованием dnSpy (бесплатная утилита), IDA Pro или на худой конец пройтись strings, чтобы найти читаемые строки. Также можно посмотреть функции в сэмпле вредоноса. Вредонос взаимодействует со следующими ресурсами (следует из кода исполняемого файла Cloud2.exe.1): | ||
|
||
http://can-sat.netai[.]net/livestream/ | ||
|
||
Загружает файлы: | ||
|
||
http://tempuri[.]org/_CAN_SATDataSet.xsd | ||
http://tempuri[.]org/_CAN_SATDataSet1.xsd | ||
http://tempuri[.]org/_CAN_SATDataSet2.xsd | ||
|
||
Содержит алгоритм шифрования AES (работает с ключами 128, 192 или 256 бит). И много других интересных функций, полный список можете посмотреть сами. | ||
|
||
На этом небольшой статический анализ завершается и начинается динамический=) | ||
Динамический анализ при помощи FakeNet (Рисунок 10 и 11) и InetSim, показывает нам куда обращается вредонос во время запуска: | ||
|
||
![10](/assets/images/loki_malware/10.png){:class="img-responsive"} | ||
|
||
![11](/assets/images/loki_malware/11.png){:class="img-responsive"} | ||
|
||
Выше и в TCPViewer мы видим C2 Server 208.67.105[.]162 (месторасположение USA, City: Middleton), с которым взаимодействует вредонос (выше на рисунке 11, до копирования и переименования себя, а на рисунке 12, уже после копирования и переименования с атрибутами h – hidden & s – system, для скрытия). | ||
|
||
![12](/assets/images/loki_malware/12.png){:class="img-responsive"} | ||
|
||
Cloud2.exe копирует себя с атрибутами h (hidden) & s (system) в директорию C:\Users\<Username>\AppData\Roaming\585711\127DE7.exe (с другим именем), чтобы визуально его невозможно было найти, даже после включения отображения скрытых файлов(Рисунок 13 и 14). К слову, hash файла также меняется. | ||
|
||
![13](/assets/images/loki_malware/13.png){:class="img-responsive"} | ||
|
||
![14](/assets/images/loki_malware/14.png){:class="img-responsive"} | ||
|
||
Однако мы можем изменить атрибуты, чтобы файл стал нам вновь доступен (Рисунок 15). | ||
|
||
![15](/assets/images/loki_malware/15.png){:class="img-responsive"} | ||
|
||
Собственно, на этом небольшой разбор заканчивается. Описал некоторые техники и IoCи (индикаторы компрометации) в ходе выполнения анализа. При желании можно пойти дальше и выполнить более глубокий статический и динамический анализы. |