Найти тему

GitHub и NPM реестр использовались для размещения вредоносного ПО, похищающего ключи SSH

Оглавление
Два пакета вредоносного ПО, загруженные в NPM реестр, предназначены для кражи приватных SSH-ключей и их загрузки в контролируемый злоумышленниками репозиторий GitHub.
Два пакета вредоносного ПО, загруженные в NPM реестр, предназначены для кражи приватных SSH-ключей и их загрузки в контролируемый злоумышленниками репозиторий GitHub.

Вредоносные NPM пакеты, предназначенные для загрузки украденных SSH-ключей на GitHub, были обнаружены исследователями программных угроз в этом месяце.

В начале января GitHub удалил из NPM реестра два пакета — warbeast2000 и kodiak2k. Оба пакета были предназначены для захвата приватных SSH-ключей с машин, на которых они были установлены, и хранения их в контролируемом злоумышленниками репозитории GitHub.

Вредоносные инструменты для кражи ключей SSH были впервые обнаружены исследователями из ReversingLabs с помощью платформы Software Supply Chain Security компании. Вредоносные пакеты были обнаружены в первую неделю января 2024 года и удалены NPM реестром, принадлежащим GitHub, вскоре после того, как о них стало известно.

Подробности о warbeast2000 и kodiak2k были впервые раскрыты компанией ReversingLabs в блоге 23 января.

"Поскольку в комментариях к коду есть инструкции, возможно, автор [пакета] намерен поделиться вредоносным кодом с другими злоумышленниками", — сообщила SC Media Люция Валентич, исследователь программных угроз из ReversingLabs и автор статьи в блоге. "Возможно, они также надеются, что разработчики и пользователи загрузят и установят warbeast2000 и kodiak2k".

Разработчикам ПО угрожают опасные NPM пакеты

Пакеты warbeast2000 и kodiak2k используют постинсталляционный скрипт для получения дополнительного JavaScript-кода из внешнего источника и его выполнения на машине жертвы. По крайней мере один из пакетов (warbeast2000) получает этот второй вредоносный скрипт с адреса Pastebin.

Полезная нагрузка, устанавливаемая и выполняемая warbeast2000, нацелена на файл id_rsa, расположенный по адресу /.ssh в домашней директории жертвы, чтобы получить приватный SSH-ключ, хранящийся в этом файле. "Id_rsa" — это имя файла по умолчанию для SSH-ключей, сгенерированных программой ssh-keygen, которая является стандартной для систем Unix, Linux и macOS, а также Git для Windows.

После считывания закрытого SSH-ключа последняя полезная нагрузка warbeast2000 копирует ключ, кодирует его в Base64 и загружает в репозиторий GitHub, контролируемый злоумышленником. Warbeast2000 не имеет других функций и не имитирует другие легитимные пакеты.

Полезная нагрузка Kodiak2k работает аналогично warbeast2000, но вместо того, чтобы искать id_rsa, она ищет в (домашнем каталоге)/.ssh файл с именем "meow", который, по мнению исследователей ReversingLabs, является просто именем-заглушкой. Как и в случае с warbeast2000, если ключ "meow" найден, вредоносная программа загружает его в формате Base64 в контролируемый злоумышленниками репозиторий GitHub.

Кроме того, более поздние версии kodiak2k выполняли скрипт из архивного GitHub-репозитория фреймворка Empire post-exploitation, который включает код, связанный с похитителем учетных данных Mimikatz. Были замечены и не вредоносные функции, например, функция для запуска notepad.exe. По словам исследователей, kodiak2k, вероятно, все еще находился в стадии разработки, когда его удалили из реестра NPM.

Валентич сказал SC Media, что нельзя с уверенностью сказать, были ли warbeast2000 и kodiak2k созданы одним и тем же субъектом угроз.

Потенциальный взлом SSH-ключей такими пакетами, как warbeast2000 и kodiak2k, опасен для разработчиков программного обеспечения, использующих те же репозитории с открытым исходным кодом, куда было загружено вредоносное ПО.

"Ключи SSH дают тем, кто ими владеет, возможность получать доступ к репозиториям GitHub и вносить в них свой вклад, включая те, которые содержат проприетарный (непубличный) код", — написал Валентич в блоге ReversingLabs. "Как показывают атаки на SolarWinds и 3CX, такой уровень доступа может оказать серьезное и негативное влияние на безопасность производителя программного обеспечения, а также организаций конечных пользователей, которые развертывают и используют затронутое программное обеспечение: это подпитывает разрушительные атаки на цепочки поставок программного обеспечения".

Warbeast2000 имел восемь версий и был загружен почти 400 раз к моменту удаления, а kodiak2k имел более 30 версий и был загружен около 950 раз перед удалением, согласно данным ReversingLabs.

Менеджеры пакетов с открытым исходным кодом столкнулись с увеличением количества загружаемых вредоносных программ на 1300 %.

В прошлом реестр NPM неоднократно использовался для распространения вредоносного ПО. Среди недавних примеров — кампания, направленная на разработчиков Roblox с похитителем информации Luna Grabber в августе прошлого года, а также поток из 15000 фишинговых пакетов, попавших в реестр в феврале прошлого года.

GitHub и репозиторий NPM не одиноки: индекс Python Package Index (PyPI) также пострадал от вредоносных пакетов, некоторые из которых были загружены тысячами раз.

Отчет ReversingLab "Состояние безопасности цепочки поставок программного обеспечения в 2024 году" показал, что в 2023 году в репозиториях открытых пакетов, таких как NPM и PyPI, было обнаружено в 13 раз больше пакетов с вредоносным ПО по сравнению с 2020 годом.

Валентич рассказал о некоторых "красных флажках", на которые разработчики должны обращать внимание при использовании пакетов с сайтов с открытым исходным кодом.

Это "могут быть такие вещи, как typosquatting (переделка пакета под другой известный/платный пакет с открытым исходным кодом), наличие обфусцированного кода (необычного для пакетов с открытым исходным кодом) или (как в данном случае) скрипты после установки, которые получают и выполняют файлы извне пакета", — пояснил Валентич в электронном письме SC Media.

Реестр NPM и платформа PyPI также предприняли шаги в ответ на растущие угрозы безопасности, отметил Валентич.

"Это особенно касается безопасности учетных записей: такие платформы, как npm, настоятельно рекомендуют разработчикам внедрять многофакторную аутентификацию, сканирование кода и более гранулированные разрешения для токенов доступа", — говорит Валентич. "Такие платформы, как GitHub, npm и другие, также усилили сканирование на предмет случайно раскрытых секретов или PII".

GitHub не ответил на вопросы SC Media о warbeast2000 и kodiak2k, а также о своих мерах защиты от распространения вредоносного ПО.

Источник: SC Media