Эксперты Cisco Talos обнаружили новую кампанию знаменитой северокорейской хакерской группы Famous Chollima, в ходе которой произошло слияние функционала двух ранее раздельных вредоносных программ - BeaverTail и OtterCookie. Атака затронула организацию в Шри-Ланке, хотя изначально она не была прямой целью злоумышленников.
Описание
Инцидент начался с того, что один из сотрудников организации стал жертвой фишинговой схемы, связанной с поддельными предложениями о работе. Злоумышленники, выдавая себя за рекрутеров, убедили пользователя установить троянизированное приложение Chessfi, представляющее собой платформу для игры в шахматы с использованием криптовалюты. В процессе установки жертва unknowingly загрузила вредоносный пакет node-nvm-ssh из официального репозитория NPM, что привело к компрометации системы.
Слияние инструментов
BeaverTail и OtterCookie изначально разрабатывались как взаимодополняющие инструменты, но в последних кампаниях исследователи наблюдали их функциональное объединение. В новой атаке код содержал характеристики обеих программ, что размывает границы между ними. Особый интерес представляет новый модуль для OtterCookie, обнаруженный в апреле 2025 года, который обеспечивает кейлоггинг (перехват нажатий клавиш) и создание скриншотов.
Новый модуль слежения использует пакеты node-global-key-listener для перехвата ввода с клавиатуры, screenshot-desktop для создания снимков экрана и sharp для конвертации изображений. Данные сохраняются во временной папке windows-cache и каждые четыре секунды отправляются на командный сервер (C2) злоумышленников. В одном из образцов исследователи также обнаружили дополнительную функцию мониторинга буфера обмена.
Эксперименты с векторами доставки
При поиске похожих угроз Talos обнаружил вредоносное расширение для VS Code, содержащее код BeaverTail и OtterCookie. Расширение маскируется под инструмент для управления процессом найма сотрудников. Хотя точная атрибуция этого расширения группе Famous Chollima остается под вопросом, его появление свидетельствует о поиске хакерами новых методов распространения вредоносного программного обеспечения.
Эволюция OtterCookie
OtterCookie впервые был обнаружен специалистами NTT Security Holdings в ноябре 2024 года, однако анализ показывает, что программа используется с сентября 2024 года. Изначально она обладала базовыми функциями сбора данных, но со временем превратилась в модульную систему с расширенными возможностями.
Версия v1 включала возможность удаленного выполнения команд, тогда как v2 добавила функцию кражи содержимого буфера обмена. Вариант v3, обнаруженный в феврале 2025 года, получил возможность выборочной загрузки файлов на сервер злоумышленников, а v4, появившаяся в апреле, содержала код для обнаружения виртуальных сред, что указывает на стремление хакеров избегать анализа в песочницах.
Нынешняя кампания использует версию v5, которая включает ранее не документированный модуль кейлоггинга и создания скриншотов. Это демонстрирует постоянное развитие инструментов северокорейских хакеров.
Особенности инфекции
Процесс заражения в данном случае отличался сложной многоступенчатой структурой. После установки зависимостей через npm запускался каскад скриптов, который в конечном итоге выполнял обфусцированный код из файла test.list. Использование бесплатного инструмента Obfuscator.io значительно затрудняло анализ, однако исследователям удалось деобфусцировать код с помощью специализированных инструментов и языковых моделей.
Функциональное перекрытие
Анализ показал значительное пересечение функционала между BeaverTail, OtterCookie и другой известной программой - InvisibleFerret. Многие модули, традиционно ассоциирующиеся с Python-версией InvisibleFerret, теперь реализованы на JavaScript в рамках OtterCookie. Этот переход может позволить злоумышленникам отказаться от зависимости от Python, что особенно актуально для атак на системы Windows, где этот язык программирования не всегда предустановлен.
Тенденции развития угроз
Объединение инструментов BeaverTail и OtterCookie, а также постоянное добавление нового функционала демонстрируют высокую оперативную активность северокорейских хакерских групп. Их постоянные эксперименты с векторами доставки и методами обфускации представляют серьезную проблему для систем безопасности. Исследователи отмечают, что обнаружение новых образцов на платформах вроде VirusTotal остается ненадежным, что дает злоумышленникам достаточно времени для успешного проведения атак.
Организациям рекомендуется усилить awareness сотрудников относительно фишинговых атак, связанных с предложениями о работе, и внедрить строгие процедуры проверки стороннего программного обеспечения перед его установкой в корпоративной среде.
Индикаторы компрометации
URLs
- http://135.181.123.177
- http://135.181.123.177/api/service/makelog
- http://138.201.50.5:5961/upload
- http://144.172.112.50/api/service/makelog
- http://144.172.96.35/api/service/makelog
- http://172.86.113.12
- http://172.86.73.46
- http://172.86.88.188/api/service/makelog
- http://172.86.88.188/api/service/process/c841b6c4ac4d2e83f16cf7a8bfbec3d7
- http://172.86.88.188:1418/socket.io/
- http://172.86.88.188:1476/upload
- http://23.227.202.244:1224/brow/14/144
- http://23.227.202.244:1224/client/14/144
- http://23.227.202.244:1224/keys
- http://23.227.202.244:1224/payload/14/144
- http://23.227.202.244:1224/pdown
- http://23.227.202.244:1224/uploads
- https://bitbucket.org/dev-chess/chess-frontend.git
- https://www.npmjs.com/package/node-nvm-ssh
SHA256
- 0904eff1edeff4b6eb27f03e0ccc759d6aa8d4e1317a1e6f6586cdb84db4a731
- 51ddd8f6ff30d76de45e06902c45c55163ddbec7d114ad89b21811ffedb71974
- 6a9b4e8537bb97e337627b4dd1390bdb03dc66646704bd4b68739d499bd53063
- 72ebfe69c69d2dd173bb92013ab44d895a3367f91f09e3f8d18acab44e37b26d
- 77aec48003beeceb88e70bed138f535e1536f4bbbdff580528068ad6d184f379
- 83c145aedfdf61feb02292a6eb5091ea78d8d0ffaebf41585c614723f36641d8
- 8efa928aa896a5bb3715b8b0ed20881029b0a165a296334f6533fa9169b4463b
- 9e65de386b40f185bf7c1d9b1380395e5ff606c2f8373c63204a52f8ddc01982
- a6914ded72bdd21e2f76acde46bf92b385f9ec6f7e6b7fdb873f21438dfbff1d
- caad2f3d85e467629aa535e0081865d329c4cd7e6ff20a000ea07e62bf2e4394
- d27c9f75c3f1665ee19642381a4dd6f2e4038540442cf50948b43f418730fd0a
- d89c45d65a825971d250d12bc7a449321e1977f194e52e4ca541e8a908712e47
- dff2a0fb344a0ad4b2c129712b2273fda46b5ea75713d23d65d5b03d0057f6dd
- f08e3ee84714cc5faefb7ac300485c879356922003d667587c58d594d875294e