В популярных библиотеках Ruby обнаружен бэкдор
21/08/19
Разработчики менеджера пакетов RubyGems обнаружили бэкдор в 18 вредоносных версиях 11 библиотек Ruby. Злоумышленники использовали его для внедрения в проекты Ruby криптовалютного майнера через вредоносные версии библиотек.
В частности, вредоносный код был обнаружен в четырех версиях одной из популярнейших Ruby-библиотек rest-client. По словам пользователя GitHub под псевдонимом juskoljo, он проанализировал версии библиотеки с 1.6.9 по 1.6.13 и обнаружил, что последняя версия загружает с pastebin.com удаленный код и отправляет информацию на mironanoru.zzz.com.ua.
Как выяснил разработчик Ruby Ян Динтел (Jan Dintel), вредонос собирает переменные среды скомпрометированной системы (например, учетные данные для используемых сервисов) и отправляет их на удаленный сервер на территории Украины.
Для запуска кода злоумышленник должен отправить подписанные с помощью его собственного ключа файлы cookie. Они перегружают метод #authenticate в классе Identity, и при каждом вызове метода атакующему отправляется электронный адрес и пароль. Также бэкдор позволяет злоумышленнику выполнять на скомпрометированной системе произвольные команды.
Вредоносная кампания продолжалась более месяца, пока учетная запись разработчика rest-client Мэтью Мэннинга (Matthew Manning) не была взломана с целью добавления в менеджер пакетов RubyGems четырех вредоносных версий библиотеки.
18 вредоносных версий библиотек были загружены пользователями 3584 раза, после чего были удалены из RubyGems. Авторы проектов, где используются библиотеки с бэкдором, должны удалить из вредоносных библиотек все зависимости и использовать новые, безопасные.