Kimsuky и ScarCruft — две северокорейские группировки, за которыми следят десятки команд по всему миру — снова изменили тактику. На этот раз так, что стандартные средства защиты их практически не видят. Исследователи из Fortinet FortiGuard Labs, AhnLab и южнокорейской компании S2W зафиксировали сразу три отдельные кампании против организаций в Южной Корее. Объединяет их одна идея: не писать собственные инструменты там, где можно использовать чужие.

Вместо того чтобы тащить на машину жертвы экзотический малварь, атакующие всё активнее опираются на так называемые LolBins — Living off the Land Binaries, то есть штатные инструменты Windows вроде PowerShell и планировщика задач. А в качестве командных серверов используют GitHub и Dropbox. Логика простая: трафик к этим платформам не вызывает подозрений ни у корпоративных файрволов, ни у большинства систем мониторинга.
Первую кампанию описали аналитики Fortinet FortiGuard Labs во главе с исследователем Карой Лин. Цепочка начинается с фишингового письма, внутри которого спрятан обфусцированный LNK-файл — обычный ярлык Windows. При открытии он сбрасывает на машину PDF-документ в качестве приманки и одновременно запускает PowerShell-скрипт в фоне. Пока жертва читает документ, скрипт проверяет окружение: ищет процессы виртуальных машин, отладчиков и форензик-инструментов. Если хоть что-то из этого обнаружено — скрипт немедленно останавливается и не оставляет следов.
Если проверка пройдена, из скрипта извлекается VBScript, который создаёт задачу в планировщике Windows. Задача запускает PowerShell-нагрузку каждые 30 минут, работает в скрытом окне и автоматически поднимается после каждой перезагрузки системы. После закрепления скрипт собирает данные о заражённой машине, пишет их в лог-файл и отправляет на GitHub. Для авторизации используется захардкоженный токен доступа. Инструкции и дополнительные модули скрипт также тянет оттуда же — из заранее подготовленных репозиториев. Исследователи Fortinet обнаружили несколько аккаунтов, задействованных в инфраструктуре:
Вторую кампанию раскрыли специалисты AhnLab. Она тоже начинается с LNK-файла, но дальше схема немного другая. Скрипт создаёт скрытую папку по пути
Возможности этого бэкдора вполне стандартны для шпионского инструмента: загрузка дополнительных модулей, выполнение команд с C2, работа с файловой системой (создание, удаление, загрузка файлов), запуск BAT-, VBScript- и EXE-файлов. Ничего экстраординарного, но именно это и позволяет оставаться незамеченным: Python-скрипты не детектируются так же агрессивно, как PE-файлы.
Третья кампания связана не с Kimsuky, а с другой северокорейской группировкой — ScarCruft. Её зафиксировала компания S2W. Раньше ScarCruft использовала схожие LNK-цепочки с последующим сбросом BAT-скриптов и шеллкода. Теперь они перешли на HWP-документы с встроенными OLE-объектами (Object Linking and Embedding). Полезная нагрузка активируется через DLL side-loading, а финальным имплантом становится RokRAT — троян удалённого доступа, который эксклюзивно используется северокорейскими хакерами и ранее неоднократно фигурировал в атрибуциях на ScarCruft.
Общий вектор во всех трёх кампаниях — минимизация использования традиционных PE-файлов. Это осознанный шаг: антивирусы и EDR-системы давно обучены на поведении исполняемых файлов. PowerShell, Python, VBScript, XML-планировщики и легитимные облачные сервисы оставляют куда меньше артефактов. Примечательно, что предыдущие кампании с Xeno RAT и его вариантом MoonPeak, которые распространялись через те же LNK-файлы, были задокументированы годом ранее компаниями ENKI и Trellix — и уже тогда аналитики предупреждали об эволюции тактики Kimsuky. Судя по всему, эволюция продолжается.

Изображение носит иллюстративный характер
Вместо того чтобы тащить на машину жертвы экзотический малварь, атакующие всё активнее опираются на так называемые LolBins — Living off the Land Binaries, то есть штатные инструменты Windows вроде PowerShell и планировщика задач. А в качестве командных серверов используют GitHub и Dropbox. Логика простая: трафик к этим платформам не вызывает подозрений ни у корпоративных файрволов, ни у большинства систем мониторинга.
Первую кампанию описали аналитики Fortinet FortiGuard Labs во главе с исследователем Карой Лин. Цепочка начинается с фишингового письма, внутри которого спрятан обфусцированный LNK-файл — обычный ярлык Windows. При открытии он сбрасывает на машину PDF-документ в качестве приманки и одновременно запускает PowerShell-скрипт в фоне. Пока жертва читает документ, скрипт проверяет окружение: ищет процессы виртуальных машин, отладчиков и форензик-инструментов. Если хоть что-то из этого обнаружено — скрипт немедленно останавливается и не оставляет следов.
Если проверка пройдена, из скрипта извлекается VBScript, который создаёт задачу в планировщике Windows. Задача запускает PowerShell-нагрузку каждые 30 минут, работает в скрытом окне и автоматически поднимается после каждой перезагрузки системы. После закрепления скрипт собирает данные о заражённой машине, пишет их в лог-файл и отправляет на GitHub. Для авторизации используется захардкоженный токен доступа. Инструкции и дополнительные модули скрипт также тянет оттуда же — из заранее подготовленных репозиториев. Исследователи Fortinet обнаружили несколько аккаунтов, задействованных в инфраструктуре:
motoralis, God0808RAMA, Pigresy80, entire73, pandora0009 и Brandonleeodd93-blip. Вторую кампанию раскрыли специалисты AhnLab. Она тоже начинается с LNK-файла, но дальше схема немного другая. Скрипт создаёт скрытую папку по пути
C:\windirr и сбрасывает туда несколько объектов: PDF-приманку, вторичный LNK-файл, замаскированный под документ Hangul Word Processor (HWP — стандартный офисный формат в Южной Корее), и промежуточные компоненты для закрепления. Командным сервером на этом этапе выступает Dropbox: оттуда забирается BAT-скрипт, который затем обращается к удалённому серверу quickcon[.]store. С него скачиваются два отдельных ZIP-фрагмента, которые склеиваются в единый архив. Внутри — XML-файл для планировщика задач и Python-бэкдор. Именно планировщик и запускает Python-имплант. Возможности этого бэкдора вполне стандартны для шпионского инструмента: загрузка дополнительных модулей, выполнение команд с C2, работа с файловой системой (создание, удаление, загрузка файлов), запуск BAT-, VBScript- и EXE-файлов. Ничего экстраординарного, но именно это и позволяет оставаться незамеченным: Python-скрипты не детектируются так же агрессивно, как PE-файлы.
Третья кампания связана не с Kimsuky, а с другой северокорейской группировкой — ScarCruft. Её зафиксировала компания S2W. Раньше ScarCruft использовала схожие LNK-цепочки с последующим сбросом BAT-скриптов и шеллкода. Теперь они перешли на HWP-документы с встроенными OLE-объектами (Object Linking and Embedding). Полезная нагрузка активируется через DLL side-loading, а финальным имплантом становится RokRAT — троян удалённого доступа, который эксклюзивно используется северокорейскими хакерами и ранее неоднократно фигурировал в атрибуциях на ScarCruft.
Общий вектор во всех трёх кампаниях — минимизация использования традиционных PE-файлов. Это осознанный шаг: антивирусы и EDR-системы давно обучены на поведении исполняемых файлов. PowerShell, Python, VBScript, XML-планировщики и легитимные облачные сервисы оставляют куда меньше артефактов. Примечательно, что предыдущие кампании с Xeno RAT и его вариантом MoonPeak, которые распространялись через те же LNK-файлы, были задокументированы годом ранее компаниями ENKI и Trellix — и уже тогда аналитики предупреждали об эволюции тактики Kimsuky. Судя по всему, эволюция продолжается.