В июле 2025 года специалисты компании Security Joes расследовали сложную кибератаку на рабочую станцию macOS-разработчика. Инцидент начался с репозитория на GitHub, который оказался частью масштабной кампании социальной инженерии. Расследование выявило новую операцию Lazarus Group, связанную с КНДР, под кодовым названием "LazarOps". Ее цель - компрометация цепочек поставок программного обеспечения через таргетированные атаки на разработчиков.
Описание
Социальная инженерия как стартовая точка
Атака началась с сообщения в LinkedIn от пользователя "Wilker Cuenun Buitrago", представившегося рекрутером. Жертве - опытному full-stack разработчику - предложили пройти техническое испытание: протестировать репозиторий "AI-healthcare" на локальной macOS-машине. Приняв приглашение GitHub от аккаунта "@vector-77", разработчик скачал проект, не подозревая о встроенном вредоносном коде. Внутри репозитория скрывался Python-скрипт .npl, активирующийся при сборке. Он установил соединение с C2-сервером для загрузки дополнительных полезных нагрузок, инициируя трехэтапную цепочку заражения.
Трехступенчатый механизм компрометации
Первая стадия, "InvisibleFerret Loader", представляла собой 3-килобайтный обфусцированный Python-код. Под 64 слоями кодировок Base64 и zlib скрывался механизм подключения к C2-серверу 144[.]172[.]104[.]113:1224. При недоступности сервера скрипт обращался к резервным Pastebin-ссылкам, включая домен fashdefi[.]store:6168.
На втором этапе модуль "brow3_726.py" собирал системные данные: метаинформацию, Git-конфигурации, профили браузеров и сведения IDE. Для маскировки использовалось кодирование Base64 и XOR с ключом "!!!HappyPenguin1950!!!".
Третья стадия развертывала бэкдор на основе модифицированного Tsunami-троянца. Он внедрял персистентность через LaunchAgent "com.apple.service.plist", сканировал файлы .env и config.js, перехватывал буфер обмена и нажатия клавиш. Собранные данные передавались через HTTP POST на серверы злоумышленников.
Ложные личности и масштабы кампании
Личность "Wilker Cuenun Buitrago" оказалась фальшивкой. Обратный поиск изображений показал, что фото принадлежит французскому разработчику Florent Champigny из BeReal. Его идентификатор использовали без ведома.
Анализ Security Joes выявил минимум 9 дополнительных зараженных репозиториев на GitHub, связанных с темами NFT, Web3 и ИИ-здравоохранения. Все они содержали идентичные C2-пути вида hxxp://*[.]store:6168/defy/v*, что указывает на единую платформу управления. Репозитории делились на три категории: специально созданные злоумышленниками (Rogue), легитимные проекты с внедренным вредоносным кодом (Compromised Legitimate) и репозитории, где жертвы пытались удалить вредоносные компоненты (Victim Cleanup Observed).
Инфраструктура и инструменты
Кампания использовала домены fashdefi[.]store и bujey[.]store с портами 1224 (первичное подключение) и 6168 (доставка вредоносов). В Stage 1 были встроены резервные списки из 1 000 Pastebin-URL. Расследование выявило повторяющиеся цифровые отпечатки: одинаковые строки MongoDB, API-ключи и параметры sType/qType в полезных нагрузках.
Аккаунты GitHub, такие как quyctd, code-top-star, и zinping, использовались для внедрения вредоносных коммитов. В одном случае аккаунт dressx-company/MVP был скомпрометирован через коллабораторов yesiviola и izoriianika66. По данным Security Joes, через LinkedIn были атакованы свыше 200 разработчиков в регионах EMEA и APAC.
Индикаторы компрометации
IPv4
- 144.172.104.113
- 95.164.17.24
URLs
- bujey.store:6168/defy/v7
- fashdefi.store:6168/defy/v11
- fashdefi.store:6168/defy/v3
- fashdefi.store:6168/defy/v6
- fashdefi.store:6168/defy/v7
- fashdefi.store:6168/defy/v9
SHA256
- a67d395649202fe3149df6c7e37762426dd5c040ece02a0a9350e7b805460e23
- c40d758857fe8b3e266d4c823689020b046b8a153a7f2d92581569bae8ceddcf
- c7b94abad45944a642d8bc674e8ce8cd768f30bb6e306c2534a9d9e76d1eae4f
- ffed818b35b249db723741d3ec1cb7bc5a8e3e47821feb030d4a424717cd670e