Спецпроекты

Хакеры крадут пароли к компьютерам на Linux, пользуясь «дырами» в приложениях Amazon, Lyft и Slack

ПО Безопасность

Злоумышленники пытаются эксплуатировать уязвимость «подмены зависимостей» для кражи паролей в Linux/Unix и установки обратных шеллов. Ранее за обнаружение этой уязвимости эксперт получил награды 35 разных компаний.

Не тот файл

Злоумышленники крадут файлы с паролями к системам Linux/Unix и открывают так называемые обратные шеллы (командные оболочки), эксплуатируя уязвимости в приложениях Amazon, Zillow, Lyft и Slack NodeJS.

Речь идет, в сущности, об одной и той же уязвимости, обнаруженной экспертом по безопасности по имени Алекс Бёрсан (Alex Birsan). Баг скрывается в инструментах для разработки открытого ПО.

Как выяснил Бёрсан, для эксплуатации уязвимости злоумышленники должны создать программные пакеты (Packages) с теми же названиями, какие используются в программной инфраструктуре целевой организации. На сегодняшний день создание любого приложения почти с гарантией означает использование внешних компонентов, взятых из самых разных источников. Эти компоненты часто лежат в открытом доступе в публичных репозитория и автоматически подтягиваются при компиляции конечного приложения с помощью специальных средств для управления «зависимостями» (программных менеджеров, определяющих где, когда и какой компонент необходим при компиляции).

Оказалось, что эти менеджеры зависимости зачастую предпочитают вызывать компоненты из внешних источников — публичных репозиториев вроде npm, PyPI, RubyGems и т. д., нежели из внутренних ресурсов компаний. Это открывает широкие возможности для кибервторжений.

Уязвимость в инструментах для создания открытого ПО позволяет подменять пакеты

Атака, получившая название «подмена зависимостей» (Dependency Confusion), позволяет злоумышленникам встраивать свой собственный вредоносный код во внутренние приложения атакуемых компаний, просто подменив внешние компоненты, используемые при сборке приложения.

Бёрсан в итоге получил вознаграждения сразу от 35 компаний-разработчиков — указанная уязвимость обнаружилась в их инструментах. До последнего времени, впрочем, эксперты по безопасности не наблюдали попыток воспользоваться этой уязвимостью для причинения реального вреда.

Все было нормально, пока не...

Однако похоже, что злоумышленники все-таки решили взять ее на вооружение: сотрудники компании Sonatype обнаружили целый ряд вредоносных пакетов под наименованиями amzn, zg-rentals, lyft-dataset-sdk, serverless-slack-app. Внутри оказались названия, похожие или идентичные названиям легитимных проектов в GitHub и других репозиториях.

Российским стартапам выделят миллионы на цифровизацию Москвы
Инновации и стартапы

Судя по содержанию этих пакетов, целью злоумышленников является кража файлов с паролями (/etc/shadows) и создание бэкдоров, точнее, обратных шеллов. Некоторые пытаются выкачать и отправить на удаленный хост файлы .bash_history, содержащие пользовательские профили и историю команд, введенных в командной оболочке (шелле). Кража .bash_history — распространенный метод сбора паролей к чужим системам.

Характерно, что в качестве шаблона злоумышленники использовали именно экспериментальный эксплойт Бёрсана, но с добавлением вредоносного содержания.

«Основная проблема с этой атакой заключается в том, что ее очень легко произвести: опенсорсные репозитории и вся их номенклатура часто остаются в открытом доступе, так что злоумышленникам не потребуется даже предпринимать каких-то особых усилий, — считает Дмитрий Кирюхин, эксперт по информационной безопасности компании SEC Consult Services. — Пока единственный способ защититься — поменять файлы настроек так, чтобы при компиляции приложений в приоритете стояли внутренние ресурсы».

Отметим, ранее корпорация Microsoft опубликовала документ с рекомендациями по защите пакетов от попыток подмены сторонних компонентов. Sonatype, со своей стороны, выпустила специальный скрипт для пользователей Nexus Repository Manager, который позволяет проверять зависимости и сопоставлять названия компонентов в приватных ресурсах с теми, которые выложены в публичных репозиториях.