Практический разбор деобфускации и anti-analysis техник современного infostealer-ПО

Практический разбор деобфускации и anti-analysis техник современного infostealer-ПО

Дата публикации: 14 January 2026

1. Введение

AuraStealer — активно развивающийся infostealer-as-a-service, появившийся на подпольных форумах летом 2025 года. Несмотря на сравнительно недолгую историю, данный образец демонстрирует зрелый подход к обфускации, anti-analysis и обходу защитных механизмов Windows, характерный для современных коммерческих MaaS-платформ.

Класс угрозы: Infostealer (MaaS)
Платформа: Windows 7–11
Язык реализации: C++
Размер билдов: ~500–700 KB

Ключевая особенность AuraStealer — агрессивная защита от анализа, выраженная не только в стандартных анти-debug и anti-VM проверках, но и в нетривиальных инженерных решениях:

  • косвенное управление потоком выполнения (indirect control flow);
  • exception-driven API hashing;
  • динамическая генерация mutex;
  • обход Application-Bound Encryption Chromium-браузеров;
  • Heaven’s Gate для вызова NTDLL из WOW64-контекста.

Цель данной статьи — показать практический путь анализа AuraStealer, а не просто перечислить техники.


2. Ландшафт угроз и доставка

AuraStealer распространяется без собственного загрузчика, полагаясь на сторонние delivery-цепочки:

  • Scam-Yourself кампании (TikTok, ClickFix-подобные сценарии);
  • cracked-ПО и игры;
  • вредоносные расширения (VS Code);
  • sideloading DLL;
  • кастомные лоадеры третьих сторон.

Важно: AuraStealer продаётся как чистый payload, что повышает вариативность цепочек заражения и затрудняет корреляцию IoC.

Особое место в текущих кампаниях распространения AuraStealer занимает TikTok как платформа доставки вредоносного кода. В отличие от классических фишинговых каналов (email, SEO-spam, malvertising), TikTok формирует доверие не через домен или бренд, а через персонифицированный контент, визуальную демонстрацию и социальное доказательство в виде лайков, комментариев и репостов.

Типовая цепочка заражения в TikTok-кампаниях выглядит следующим образом:

  1. Публикуется короткий ролик (15–60 секунд), имитирующий «обучающий» или «лайфхак» контент:

    • активация ПО, обход лицензии, бесплатный доступ к premium-функциям, «ускорение» игр или снятие ограничений.
  2. В видео демонстрируется реальное выполнение команд PowerShell, запуск скриптов или установка «патча», что создаёт иллюзию легитимности.

  3. Ссылка на полезную нагрузку маскируется:

    • через сокращатели URL;
    • через paste-сервисы (Pastebin, GitHub Gist);
    • через комментарии или профиль автора, минуя автоматическую модерацию.
  4. Пользователь самостоятельно выполняет команду, фактически выступая как оператор заражения — классический сценарий Scam-Yourself.

Ключевая особенность TikTok заключается в том, что алгоритм рекомендаций усиливает вредоносные кампании без прямого участия злоумышленников. Видео с ключевыми триггерами («free», «activation», «crack», «fix error», «working 2025») получают высокий engagement и автоматически попадают в рекомендации тысячам и миллионам пользователей. В результате распространение вредоносного ПО масштабируется с той же скоростью, что и вирусный контент.

С технической точки зрения TikTok-кампании выгодны операторам AuraStealer по нескольким причинам:

  • отсутствие инфраструктурной связки между payload и платформой распространения;
  • одноразовые delivery-артефакты (аккаунты, видео, ссылки), живущие часы или дни;
  • отсутствие необходимости в эксплойтах — выполнение кода происходит по инициативе пользователя;
  • обход традиционных средств защиты, ориентированных на email, веб-фильтрацию и known-bad URL.

Важно отметить, что AuraStealer идеально вписывается в эту модель, поскольку распространяется без собственного загрузчика и не накладывает ограничений на способ доставки. TikTok в данном контексте выступает не просто как социальная сеть, а как low-cost, high-reach initial access broker, заменяющий фишинговые рассылки и вредоносную рекламу.

Таким образом, TikTok становится полноценным элементом attack surface, а не внешним фактором. Для детекта и превенции это означает необходимость учитывать:

  • запуск PowerShell и скриптов после взаимодействия с браузером;
  • нетипичные команды, копируемые из буфера обмена;
  • корреляцию между пользовательской активностью и последующим появлением stealers.

3. Общий execution flow

Высокоуровнево выполнение AuraStealer можно представить так:

  1. Инициализация кастомного exception handler
  2. Построение lookup-таблиц для API hashing
  3. Выполнение anti-analysis цепочки
  4. Расшифровка embedded-конфигурации
  5. Создание mutex
  6. Связь с C2
  7. Кража данных и эксфильтрация
1
Init → Anti-Analysis → Config Decrypt → Mutex → C2 → Steal → Exfil

4. Обфускация управления потоком (Indirect Control Flow)

4.1 Суть техники

AuraStealer систематически заменяет:

  • call target
  • jmp target

на:

  • call reg
  • jmp reg

где адрес перехода вычисляется динамически через арифметику, cmov и зависимости от предыдущих вызовов.

Результат:

  • IDA видит один гигантский basic block
  • CFG полностью разрушен
  • decompiler бесполезен «из коробки»

4.2 Простые паттерны

Часто target = offset1 + offset2

Практический трюк:

  • пометить операнды как constant
  • позволить IDA самой свернуть выражение
1
Set type → const

Это мгновенно раскрывает десятки скрытых вызовов.


4.3 Сложные паттерны и backward slicing

Для сложных случаев применяется упрощённый backward slicing:

  1. Найти jmp/call reg
  2. Отследить регистр-цель назад
  3. Построить dependency-chain
  4. Символьно вычислить target

Для вычислений используется symbolic execution (angr), а не эмуляция — это позволяет перебрать все ветви.


4.4 Восстановление CFG без патчинга бинаря

Вместо патчинга используется IDA SDK hook:

  • перехват ev_ana_insn
  • подмена call regcall <resolved>
  • замена jmp regjnz

Это:

  • не ломает anti-tamper
  • восстанавливает CFG
  • делает декомпиляцию читабельной

5. Exception-Driven API Hashing

922 AuraStealer использует двухступенчатый API hashing, основанный на исключениях.

5.1 Как это работает

  1. Все WinAPI функции резолвятся через PEB walking

  2. Адреса маскируются XOR

  3. Вызов происходит через искусственный crash

  4. Exception handler:

    • определяет origin
    • подменяет EIP
    • передаёт управление нужной API

5.2 Почему это эффективно

  • дебаггер ловит EXCEPTION_ACCESS_VIOLATION первым
  • analyst либо тонет в исключениях
  • либо отключает их → пропускает handler

Это anti-debug и obfuscation одновременно.


6. Строковая обфускация

6.1 Плейнтекст и маскировка аргументов

Названия API остаются в plaintext, но:

  • адреса скрыты арифметикой
  • аргументы маскируются тем же механизмом, что и CFG

6.2 XOR-шифрование строк

Строки:

  • собираются из констант
  • XOR-ятся на стеке
  • используют повторяющиеся ключи

Для расшифровки применяется частичная эмуляция Unicorn:

  • пропуск call
  • форк execution при ветвлениях
  • сохранение контекста

7. Anti-Analysis цепочка

AuraStealer использует каскад проверок, где сбой на любом этапе завершает выполнение.

7.1 Anti-Tamper

1
MapFileAndCheckSumW

Любой патч → exit.


7.2 Dialog-based Human Check

  • random title
  • random code
  • обязательный ввод
  • защита от sandbox / automation

7.3 Геофильтрация

Через:

  • GetUserDefaultLCID
  • GetSystemDefaultLCID
  • GetLocaleInfoA

Исключаются:

  • CIS
  • Baltics

7.4 Anti-Sandbox

  • проверка Sleep hook
  • Defender artifacts (JohnDoe, HAL9TH)
  • blacklist DLL

7.5 Anti-VM

  • CPUID hypervisor bit
  • разрешение экрана
  • RAM
  • CPU count
  • количество процессов

7.6 Anti-Debug

  • PEB flags
  • KUSER_SHARED_DATA
  • NtCreateDebugObject
  • HandleCount
  • blacklist процессов
  • return-address corruption (INT3 / UD2 detection)

Последний механизм особенно опасен — crash происходит позже, маскируя причину.


8. Конфигурация

Конфигурация:

  • зашита в бинарь
  • AES-CBC
  • сериализованная структура

Содержит:

  • C2
  • фильтры
  • модули
  • delay
  • self-delete
  • proxy
  • дополнительные payload-ы

9. Обход Application-Bound Encryption (Chromium)

AuraStealer:

  1. Запускает браузер suspended
  2. Inject через NtCreateSection
  3. Использует Heaven’s Gate
  4. Вызывает IElevator::Decrypt
  5. Получает ключ ABE
  6. Дешифрует cookies / passwords

IPC реализован через temp-файлы.


10. Сетевое взаимодействие

Последовательность:

  1. Проверка 1.1.1.1:53
  2. /api/live
  3. /api/conf
  4. /api/send

Шифрование:

  • AES-CBC
  • random key/IV
  • Base64

11. Выводы

AuraStealer — технически зрелый infostealer, сочетающий:

  • сложную обфускацию
  • агрессивный anti-analysis
  • современный data-theft стек

При этом:

  • остаётся уязвимым к методичному reverse engineering
  • содержит логические и реализационные дефекты
  • предоставляет множество точек детекции

12. Практические рекомендации для защитников

  • EDR с behavior-based detection
  • контроль PowerShell / Run
  • мониторинг Heaven’s Gate
  • детекция NtCreateSection + browser injection
  • контроль mutex-паттернов
  • анализ exception-heavy процессов