
В марте специалисты киберразведки 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.

Алгоритм работы скрипта следующий:
1️⃣ Подготовка директорий и конфигурации для закрепления AnyDesk (список директорий будет ниже)
2️⃣ Установка для всех файлов конфигурации прав доступа ReadOnly
3️⃣ Запуск исполняемых файлов any_svc.exe и hider.exe
4️⃣ Получение AnyDesk ID через команду --get-id
5️⃣ Отправка полученного ID в heartbeat-запросе на Gist-страницу на GitHub в виде комментария.

Для отправки подобного запроса используется 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, который находился в другом архиве.

И уже по новому архиву был найден родительский файл — исполняемый файл на 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)
Индикаторы компрометации
Дроппер: c6663dec26224dd3566b4967e9440a7c865ee96af898a444771ba90d033afa55
Архивы: e7302d00c3bef6ff247a37260abdd5ff7eca7c3225b43f56abf3950cc86bf3a8 ca32442aecd8b050dabb5585955df292c4c5b3a9384b90b3377eca3c6200ed21
Powershell-скрипты с обращением на GitHub: 20843993517d8930a56445554b9c93615e4dbaeb6ac66131f2920ea0c966e194 63cf2d21091ca3041f51d3b50f84056909cd44996202557f9161895335e3271c
Индикаторы атаки
%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.lnk

Группа киберразведки экспертного центра Positive Technologies
(Источник: https://t.me/ptescalator)
