[ << ALL_FEED ]

Призрачный Gist

Ещё в группе «Общее»

Призрачный Gist 😏

В марте специалисты киберразведки PT ESC зафиксировали активность группировки Rare Werewolf (Rezet, Librarian Ghouls). На этот раз был обнаружен архив data.zip, содержащий следующую структуру файлов:

• Структура компании1111.docx
• any_svc.exe
• clean.ps1
• deploy.ps1
• hider.exe
• monitor.ps1
• run.bat
• svc.conf

🤔 Кратко разберем назначение каждого из файлов

Структура компании1111.docx — документ-приманка, пример которого можно видеть на скриншоте 1. any_svc.exe — исполняемый файл AnyDesk, а svc.conf — файл с конфигурацией AnyDesk. hider.exe — исполняемый файл NirCmd.

Однако самая интересная часть — цепочка PowerShell-скриптов, которая запускается через скрипт run.bat. Файл clean.ps1 отвечает за удаление уже установленных экземпляров AnyDesk на системе жертвы (пример скрипта можно видеть на скриншоте 2). Код скрипта останавливает все рабочие процессы и пытается найти установленное приложение по стандартным путям в файловой системе и реестре.

После очистки запускается файл deploy.ps1 (скриншот 3). Алгоритм работы скрипта следующий:

1️⃣ Подготовка директорий и конфигурации для закрепления AnyDesk (список директорий будет ниже)

2️⃣ Установка для всех файлов конфигурации прав доступа ReadOnly

3️⃣ Запуск исполняемых файлов any_svc.exe и hider.exe

4️⃣ Получение AnyDesk ID через команду --get-id

5️⃣ Отправка полученного ID в heartbeat-запросе на Gist-страницу на GitHub (скриншот 4) в виде комментария. Для отправки подобного запроса используется API-ссылка https://api.github.com/gists/ <gist-id>/comments, где gist-id — идентификатор заметки, который находится в скрипте. Сам комментарий можно увидеть далее.

6️⃣ Формирование LNK-файла SystemCheck.lnk в папке автозагрузки, который запускает скрипт monitor.ps1

monitor.ps1 (скриншот 5) — это скрипт, который использует команды NirCmd для сокрытия окон процессов any_svc.exe и AnyDesk.exe. В случае, если процесс any_svc.exe не запущен, hider.exe его запускает. Помимо этого, скрипт используется для автоматического нажатия кнопок в окнах с заголовками «Оповещение системы безопасности», то есть кнопок в окне уведомлений брандмауэра Windows. Примечательно, что в коде скрипта заголовок окна указан на трех языках — русском, английском и украинском.

😲 Остается важный вопрос: откуда вообще взялся data.zip? Не его же отправляют в фишинговом письме. Давайте ответим и на этот вопрос.

На основе поиска схожих с deploy.ps1 скриптов был найден load.ps1, который находился в другом архиве (скриншот 6). И уже по новому архиву был найден родительский файл — исполняемый файл на C# (фрагмент на скриншоте 7), который расшифровывает байты архива и помещает его в систему жертвы.

Расшифровка идет в два этапа. Во-первых, массив байтов проходит через операцию XOR с ключом длиной 8 байтов. Затем в массиве декодированных данных ищется заголовок ZIP-архива, и подменяется байт заголовка, отвечающий за метод сжатия (выставляется метод Deflate). Все действия проходят во временной директории, туда же в отдельный файл ghost_trace.log записываются логи работы дроппера.

NEW TARGET: ID=$cid | PC=$cn | USER=$un
# cid = идентификатор AnyDesk-ID
# cn - имя компьютера ($env:COMPUTERNAME)
# un - имя пользователя ($env:USERNAME)Code language: plaintext (plaintext)


IoCs

Дроппер:
c6663dec26224dd3566b4967e9440a7c865ee96af898a444771ba90d033afa55

Архивы:
e7302d00c3bef6ff247a37260abdd5ff7eca7c3225b43f56abf3950cc86bf3a8
ca32442aecd8b050dabb5585955df292c4c5b3a9384b90b3377eca3c6200ed21

Powershell-скрипты с обращением на GitHub:
20843993517d8930a56445554b9c93615e4dbaeb6ac66131f2920ea0c966e194
63cf2d21091ca3041f51d3b50f84056909cd44996202557f9161895335e3271cCode language: plaintext (plaintext)


IOA

%LocalAppData%\GhostExt
%LocalAppData%\GhostExt\svc.conf
%LocalAppData%\GhostExt\service.conf
%LocalAppData%\GhostExt\any_svc.exe
%LocalAppData%\GhostExt\hider.exe

%TEMP%\GhostExt\ghost_trace.log
%TEMP%\GhostExt\data.zip

%AppData%\Microsoft\Windows\Start Menu\Programs\Startup\SystemCheck.lnkCode language: plaintext (plaintext)


#TI #Malware #APT
@ptescalator (X, Max)

Ещё от ti_author

Ещё от ti_author

Ещё в группе «Общее»