На проверке APT36 хакерская группировка: разбор кампаний Gopher Strike и Sheet Attack против госсектора

Тёмный ситуационный центр: изогнутый видеостен с графом кибератаки на сине-жёлтом фоне, ветви C2-каналов ведут к Slack и Google Sheets. Красная цепочка атаки APT36 подсвечена на экране, силуэт опер...


У идентифицированных жертв APT36, по данным Bitdefender, одновременно крутились несколько параллельных имплантов - каждый на отдельном языке (Go, Nim, Zig, Crystal), каждый со своим каналом C2. Убиваешь один бэкдор - остальные продолжают тащить данные через Slack, Discord, Google Sheets и Supabase. Исследователи назвали эту модель Distributed Denial of Detection - перегрузка SOC-команды не техническим совершенством, а чистым объёмом и разнообразием. Пакистанская APT группировка Transparent Tribe за последний год радикально сменила подход к инструментарию, и кампании Gopher Strike и Sheet Attack показывают этот сдвиг на практике - общую динамику по другим группировкам я собрал в карте APT-группировок 2025-2026.

Бизнес-логика атаки: зачем APT36 нужны данные госсектора​

APT36 - кибершпионаж госсектора в чистом виде. Ни шифрования, ни ransom notes, ни wiper-поведения. Группировка активна с 2013 года, атрибутируется к пакистанским государственным интересам и сфокусирована на разведке из оборонных ведомств и дипломатических миссий Южной Азии - прежде всего Индии и Афганистана.

По данным Bitdefender, злоумышленники целенаправленно ищут файлы конкретных категорий: документация по армейскому персоналу, материалы внешней политики и дипломатии, стратегические и политические документы, данные по обороне и национальной безопасности. Для профилирования целей используются LinkedIn-профили сотрудников государственных ведомств, связанных с военной сферой.

По данным Acronis Threat Research Unit (TRU), в свежих кампаниях группировка расширила таргетинг: под прицелом оказались индийские стартапы в сфере OSINT и кибербезопасности, сотрудничающие с правоохранительными органами. Расширение целей не означает отход от первоначальной задачи - APT36 против госсектора остаётся основным вектором, но теперь группировка бьёт по компаниям, которые сами занимаются цифровой разведкой для правительства. Логично - зачем ломать заказчика, если можно ломать подрядчика.

Для SOC-команды вывод простой: стандартные алерты на ransomware-поведение здесь бесполезны. Детект строится на аномалиях сетевого трафика к облачным сервисам, нетипичных процессных цепочках и подозрительных файловых операциях.

Kill chain Transparent Tribe APT: от spear phishing до эксфильтрации​

Первичный доступ: Spearphishing Attachment (T1566.001, Initial Access)

Большинство наблюдаемых кампаний APT36 начинаются с целевого фишинга. Векторы доставки - ZIP-архивы, ISO-образы, контейнерные файлы (VHDX). Внутри - LNK-ярлыки с двойным расширением (например, Approved Documents 2026.pdf.lnk или Online JLPT Exam Dec 2025.pdf.lnk) и сопутствующие файлы: документы-приманки, batch-скрипты, пейлоады.

По данным CYFIRMA, в одной из кампаний ZIP-архив содержал LNK-файл плюс PPAM-файл (PowerPoint Add-in с вредоносными макросами) - два независимых вектора исполнения для повышения вероятности компрометации. Два вектора в одном архиве - если не сработает один, сработает другой. По данным Acronis TRU, кампания против стартапов использовала ISO-образ MeetBisht.iso с LNK-ярлыком, batch-скриптом и Crimson RAT, замаскированным под исполняемый файл с именем excel.

Предусловия и ограничения: жертва должна самостоятельно смонтировать ISO или распаковать ZIP и вручную запустить LNK-файл. Windows по умолчанию скрывает расширения известных типов - двойное расширение .pdf.lnk отображается как .pdf. Если GPO принудительно показывает все расширения, маскировка ломается. Одна групповая политика - и весь вектор не работает.

Исполнение и стейджинг (T1059, T1059.001)

LNK запускает %COMSPEC% /c start /MIN ~\myscsd.bat - командный интерпретатор с минимизированным окном. Batch-скрипт выполняет последовательность:
  1. Копирование вредоносных файлов из скрытого каталога в C:\ProgramData\
  2. Открытие документа-приманки в полноэкранном режиме - чтобы жертва смотрела на PDF, пока в фоне происходит всё остальное
  3. Снятие Mark of the Web через PowerShell (Remove-Item -Stream Zone.Identifier или Unblock-File) для обхода SmartScreen
  4. Создание hard-link на исполняемый файл в %APPDATA% с рандомизированным именем
  5. Запуск пейлоада из пользовательской директории
По данным CYFIRMA, параллельно VBA-макрос в PPAM автоматически реконструирует финальный пейлоад из OLE-объектов, выбирая вариант под версию ОС.

Предусловия и ограничения: PowerShell-скрипт для снятия MotW требует Execution Policy, допускающей запуск скриптов. В средах с Constrained Language Mode и WDAC этот этап блокируется. Макрос в PPAM срабатывает только при разрешённых макросах в Office - GPO с блокировкой макросов из недоверенных источников нейтрализует этот вектор.

Закрепление идёт через модификацию ключей реестра автозапуска (HKCU\...\Run). По данным CYFIRMA, строки путей в реестре обфусцированы. По данным Rescana, малварь адаптирует стратегию закрепления при обнаружении конкретных антивирусов: Kaspersky, Quick Heal, Avast, AVG, Avira - для каждого применяется альтернативный механизм. То есть малварь сначала осматривается, кто стоит на хосте, и только потом выбирает способ персистенса.

Маскировка: бинарник Crimson RAT искусственно раздут до 34 МБ мусорными данными (по данным Acronis) - простой, но рабочий трюк для обхода сигнатурных движков, которым тяжело с такими объёмами. Имена функций и переменных обфусцированы. C2-связь через собственный TCP-протокол с обфусцированными командами и жёстко прописанными адресами серверов.

Помимо Crimson RAT, в арсенал APT36 входят DeskRAT, AresRAT, AllaKore, GetaRAT и Poseidon - группировка ротирует инструменты между кампаниями.

Gopher Strike и Sheet Attack: Golang RAT и облачный C2​

Кампании Gopher Strike и Sheet Attack, зафиксированные в отчётах Recorded Future и The Hacker News, обозначили переход APT36 от монолитного Crimson RAT к набору Golang-инструментов с облачным C2. И вот тут становится по-настоящему интересно.

По данным Rescana, ключевые семейства вредоносного ПО на Go в этих кампаниях:

ИнструментФункцияC2-канал
GOGITTERDownloaderGitHub
GITSHELLPADBackdoorПриватные GitHub-репозитории
GOSHELLLoader для Cobalt Strike BeaconHTTP/S

C2-инфраструктура эксплуатирует легитимные облачные сервисы (Living Off Trusted Services): Google Sheets, Firebase, приватные GitHub-репозитории. Из доменных IOC по данным Rescana: adobe-acrobat[.]in, innlive[.]in, drjagrutichavan[.]com, а также динамический DNS.

Использование Web Protocols (T1071.001, Command and Control) через HTTPS к Google Sheets и Firebase критически усложняет сетевой детект - трафик неотличим от легитимного без DPI с расшифровкой TLS. Попробуйте заблокировать sheets.googleapis.com в организации, где бухгалтерия живёт в Google Workspace. Эксфильтрация идёт через тот же C2-канал (T1041): файлы Office, PDF, скриншоты, содержимое буфера обмена, системная информация. По данным Rescana, мониторинг буфера обмена может использоваться для подмены криптовалютных адресов.

Vibeware: как APT36 генерирует малварь через AI​

Отдельный феномен, описанный Bitdefender, - переход APT36 к модели «vibeware». Группировка использует LLM-ассистированные IDE для массовой генерации имплантов на нишевых языках (Nim, Zig, Crystal), для которых у стандартных сигнатурных движков покрытие минимальное.

Доказательная база AI-генерации (по данным Bitdefender):
  • Метаданные проектов содержат артефакты AI-интегрированных редакторов кода
  • Бинарники содержат Unicode-эмодзи в строках - характерный маркер LLM-генерации
  • Темп производства - новые варианты ежедневно
  • Качество низкое: в одном Go-бинарнике для кражи браузерных кредов обнаружен template placeholder вместо URL C2-сервера - инструмент физически не мог эксфильтровать данные. Буквально забыли вставить адрес сервера. Vibe coding во всей красе
Обнаруженные vibeware-компоненты: Warcode (loader для Havoc, связующее звено со старым инструментарием APT36), NimShellcodeLoader, CreepDropper, MailCreep, SheetCreep, SupaServ, LuminousStealer, CrystalShell, ZigShell, BackupSpy, ZigLoader, Gate Sentinel Beacon. Во внутренней инфраструктуре группировки обнаружен рекуррентный username «Nightmare».

Стратегическая логика: жертва получает несколько параллельных имплантов. SOC-команда, привыкшая к линейному incident response (нашли семпл → удалили → закрыли инцидент), вынуждена параллельно анализировать семплы на разных языках с разными протоколами C2. Bitdefender подчёркивает: «операции hacking остаются ручными» - автоматизировано только производство инструментов, не сама атака. Конвейер дешёвых имплантов, каждый из которых по отдельности - мусор, но вместе они перегружают защитников.

Detection-чеклист: индикаторы компрометации APT36​

Сетевой уровень​

Мониторинг аномального трафика к облачным сервисам - основной вектор детекта для Sheet Attack:
  • HTTP/S-запросы к sheets.googleapis.com, firebaseio.com из процессов, не являющихся браузерами или офисными приложениями
  • POST/GET к Discord Webhooks, Slack API, Supabase REST API из нетипичных процессов
  • DNS-резолвы к доменам adobe-acrobat[.]in, innlive[.]in, drjagrutichavan[.]com, sharmaxme11.org
  • TCP-соединения к IP 93.127.133.9 (IOC из threat intelligence отчёта Acronis TRU)

Хостовый уровень​

Sigma-правило proc_creation_win_powershell_base64_invoke.yml из SigmaHQ покрывает сценарий запуска PowerShell с base64-encoded payload - техника, используемая APT36 для снятия MotW и загрузки стейджеров.

Паттерны для корреляции в SIEM:
  • Цепочка explorer.exe (T1202) -> cmd.exe (T1059.003) -> mshta.exe (T1218.005) - нетипична для легитимного использования и характерна для LNK-based доставки
  • cmd.exe /c start /MIN *.bat из пользовательской директории
  • Создание файлов в C:\ProgramData\ с последующим запуском через %APPDATA%
  • PowerShell с Unblock-File или Remove-Item -Stream Zone.Identifier
  • Запись в HKCU\Software\Microsoft\Windows\CurrentVersion\Run из нестандартных процессов (Sysmon EventID 13)
YAML:
# Пример для демонстрации концепции - адаптировать под ваш SIEM
title: APT36 LNK-to-BAT Staging
detection:
    selection:
        ParentCommandLine|contains: 'start /MIN'
        CommandLine|contains|any:
            - 'Zone.Identifier'
            - 'ProgramData'
    condition: selection
level: high

Файловый уровень​

  • ISO/VHDX-файлы, полученные по email - триггер для File Integrity Monitoring (D3-FIM по D3FEND)
  • LNK-файлы с двойным расширением (.pdf.lnk, .xlsx.lnk) в пользовательских каталогах
  • PE-файлы без расширения в C:\ProgramData\ - паттерн стейджинга Crimson RAT
  • .NET-бинарники >34 МБ с высокой энтропией - маркер раздутого Crimson RAT
  • MD5-хэши IOC (по данным Acronis TRU): 22218f19425b78dfd6a4f42e43f5486f, 47a55959c1eee2ea3a8885f8e08eb3ab, 4976ef0054b0283c0d013be2f442e17b, 5b4a48815446cd40d8e141cbf8582296, 5c4488b4eda72d245dac5382f3587f09

MITRE ATT&CK APT36: маппинг тактик и защитные меры​

ТехникаТактикаD3FEND-мераПрактическая реализация
Spearphishing Attachment (T1566.001)Initial AccessFile Integrity Monitoring (D3-FIM)Блокировка ISO/VHDX/LNK на почтовом шлюзе
Command and Scripting Interpreter (T1059)ExecutionExecutable Allowlisting (D3-EAL)Ограничение bat/cmd из user-writable директорий через AppLocker
Mshta (T1218.005)Defense EvasionContent Quarantine (D3-CQ)Блокировка mshta.exe через WDAC где не требуется
PowerShell (T1059.001)ExecutionDynamic Analysis (D3-DA)Constrained Language Mode + Script Block Logging
Registry Run Keys (T1547.001)PersistenceSystem Init Config Analysis (D3-SICA)Мониторинг Run/RunOnce через Sysmon EventID 13
Masquerading (T1036)Defense Evasion-GPO: отображение всех расширений файлов
Obfuscated Files (T1027)Defense Evasion-YARA на .NET-бинарники с аномальным размером
Web Protocols (T1071.001)C2-Алерты на API Google Sheets/Firebase из нетипичных процессов
Exfiltration Over C2 (T1041)Exfiltration-DLP на отправку Office/PDF через HTTPS к облачным API

Валидация детектов через Atomic Red Team​

Для проверки готовности SOC к тактикам APT36 - тесты из репозитория Atomic Red Team, которые запускаются штатно без инфраструктуры атакующего:
📚 Часть контента скрыта. Этот материал доступен участникам сообщества с рангом One Level или выше
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме

Каждый тест эмулирует конкретную технику из kill chain APT36. Если на какой-то из них SIEM молчит - это gap в detection coverage. Лучше узнать об этом из Atomic Red Team, чем из реального инцидента.

Работая с инцидентами, где фигурировала инфраструктура APT36, я наблюдал одну системную ошибку: SOC-команды строят детект под конкретный семпл, а не под поведенческий паттерн. Нашли Crimson RAT - написали правило под его хэш и домен C2. Через неделю прилетает тот же функционал на Nim, с C2 через Discord - и правило молчит.

Модель vibeware - не технический прорыв. Код низкого качества, ошибки видны при беглом анализе в dnSpy. Но стратегически подход работает: SOC вязнет в реверсе каждого нового семпла вместо того, чтобы ловить аномалии на уровне процессных деревьев и сетевого трафика.

Если в вашем SOC нет Sysmon с конфигурацией уровня SwiftOnSecurity/olafhartong и нет рабочих Sigma-правил на процессные цепочки - вы узнаете о компрометации из отчёта вендора, а не из собственного SIEM.

Есть и второй аспект, который мало обсуждается: C2 через Google Sheets и Firebase невозможно заблокировать на сетевом уровне без ущерба для бизнес-процессов. Единственный рабочий подход - мониторинг того, какой именно процесс обращается к API этих сервисов. Если безымянный .NET-процесс шлёт POST на sheets.googleapis.com - это алерт уровня critical, а не информационное событие. Если у вас другой стек детекции и нужна адаптация Sigma-правил под конкретный SIEM - на форуме codeby.net обсуждаем детект APT-группировок Южной Азии с разбором свежих IoC.
 
Последнее редактирование:
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🧭 Навигатор · ИБ 2026
Не знаешь, какой трек твой?
5 направлений ИБ, реальные зарплаты и точка входа для каждого — в одном треде.
JuniorSenior+
100K → 600K+ ₽ /мес
Открыть навигатор →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab