Группа Lazarus, северокорейская APT (продвинутая постоянная угроза), развернула ранее неизвестный шпионский инструмент в рамках кампании Operation DreamJob. Новая фаза атаки, получившая название «Gotta Fly», нацелена на оборонных подрядчиков, поддерживающих Украину, с целью хищения чувствительных технологий беспилотных летательных аппаратов. Об этом сообщают исследователи из 0x0d4y Malware Research и компании ESET.
Описание
Основным инструментом атаки стал бэкдор ScoringMathTea, написанный на C++. Он представляет собой модульный RAT (троян удаленного доступа), который функционирует исключительно в оперативной памяти. Его ключевой особенностью является активное использование методов противодействия анализу на этапе выполнения. В частности, вредоносная программа применяет строки в стеке, пользовательское полисабфитное дешифрование строк, хеширование API, PEB walking (проход по блоку окружения процесса) и рефлективную загрузку дополнительных плагинов.
ScoringMathTea попадает на систему в виде DLL-библиотеки. Сразу после загрузки она создает поток из функции DllMain, который запускает основной рабочий процесс. На раннем этапе инициализируется структура конфигурации с одним жестко заданным URL-адресом C2 (командного сервера). Затем генератор псевдослучайных чисел инициализируется с помощью GetTickCount64, а также подготавливаются пустые слоты для будущих адресов управления.
Все последующие вызовы Windows API разрешаются динамически с помощью пользовательской хеш-функции. Этот метод позволяет обходить хуки систем мониторинга. Аналогично, все строки в коде обфусцированы с использованием 64-символьного алфавита подстановки и цепочки ключей. Каждый байт расшифровывается путем вычитания текущего состояния ключа из его позиции в алфавите. После этого расшифрованный байт добавляется к ключу для следующей итерации, создавая связанный шифр, устойчивый к частотному анализу.
Сетевое взаимодействие осуществляется через динамически разрешаемые WinHttp API. Агент отправляет сигналы на сервер каждые 60 секунд, подделывая легитимный User-Agent браузера Edge. Полезная нагрузка (payload) кодируется в Base64, шифруется с помощью алгоритмов TEA или XTEA в режиме CBC и может сжиматься. Ответы от сервера автоматически очищаются от поддельных HTML-заголовков перед дешифровкой и выполнением команд.
Наиболее продвинутой возможностью ScoringMathTea является рефлективный загрузчик плагинов. По команде с сервера бэкдор загружает дополнительную DLL в память. Затем он вручную отображает секции PE-файла, выполняет релокацию, исправляет импорты, используя «чистую» таблицу API, полученную через PEB walking, и проверяет целостность с помощью CRC32. Весь этот процесс происходит без сохранения файла на диск, что значительно затрудняет обнаружение.
Данная комбинация техник подчеркивает постоянные инвестиции группы Lazarus в создание скрытных и модульных инструментов для шпионажа. Эксперты отмечают, что такие методы делают бэкдор чрезвычайно сложным для обнаружения традиционными системами защиты, которые полагаются на статический анализ и перехват API-вызовов.
Группа Lazarus, также известная как APT38, Hidden Cobra и Guardians of Peace, является одним из самых активных киберпреступных объединений, тесно связанных с КНДР. Считается, что она действует под эгидой Разведывательного управления Генерального штаба Корейской народной армии. Группа известна широким спектром операций, от финансового хищения до целенаправленного шпионажа. Ее жертвами становятся финансовые институты, криптовалютные биржи, оборонные и аэрокосмические компании, а также объекты критической инфраструктуры по всему миру.
Атака на производителей беспилотной техники демонстрирует стратегический интерес Северной Кореи к передовым военным технологиям. Использование столь сложного и скрытного инструмента, как ScoringMathTea, указывает на высокую степень профессионализма угрозы и необходимость применения оборонными компаниями продвинутых методов защиты, включая поведенческий анализ и мониторинг активности в памяти.
Индикаторы компрометации
SHA256
- 083d4a4ef6267c9a0ab57f1e5a2ed45ff67a0b4db83bbd43563458a223781120
- 503b3ece42f540409bcb2f0abc7584e557a0d120b7ba9854b4548496b2546d34
- 98d1a10521a4dd968d75e2860e523311b5851737795c84943c380870794c851a
- C39ecc7d9f1e225a37304345731fffe72cdb95b21aeb06aa6022f6d338777012
- f9a9c1a13ed74aebca0652b102755833fc084e221d731b5e7ae76ff136f85864