Хакеры крадут пароли к компьютерам на Linux, пользуясь «дырами» в приложениях Amazon, Lyft и Slack
Речь идет, в сущности, об одной и той же уязвимости, обнаруженной экспертом по безопасности по имени Алекс Бёрсан (Alex Birsan). Баг скрывается в инструментах для разработки открытого ПО.
Как выяснил Бёрсан, для эксплуатации уязвимости злоумышленники должны создать программные пакеты (Packages) с теми же названиями, какие используются в программной инфраструктуре целевой организации. На сегодняшний день создание любого приложения почти с гарантией означает использование внешних компонентов, взятых из самых разных источников. Эти компоненты часто лежат в открытом доступе в публичных репозитория и автоматически подтягиваются при компиляции конечного приложения с помощью специальных средств для управления «зависимостями» (программных менеджеров, определяющих где, когда и какой компонент необходим при компиляции).
Оказалось, что эти менеджеры зависимости зачастую предпочитают вызывать компоненты из внешних источников — публичных репозиториев вроде npm, PyPI, RubyGems
Атака, получившая название «подмена зависимостей» (Dependency Confusion), позволяет злоумышленникам встраивать свой собственный вредоносный код во внутренние приложения атакуемых компаний, просто подменив внешние компоненты, используемые при сборке приложения.
Бёрсан в итоге получил вознаграждения сразу от 35
Все было нормально, пока не…
Однако похоже, что злоумышленники
Судя по содержанию этих пакетов, целью злоумышленников является кража файлов с паролями (/etc/shadows) и создание бэкдоров, точнее, обратных шеллов. Некоторые пытаются выкачать и отправить на удаленный хост файлы .bash_history, содержащие пользовательские профили и историю команд, введенных в командной оболочке (шелле). Кража .bash_history — распространенный метод сбора паролей к чужим системам.
Характерно, что в качестве шаблона злоумышленники использовали именно экспериментальный эксплойт Бёрсана, но с добавлением вредоносного содержания.
«Основная проблема с этой атакой заключается в том, что ее очень легко произвести: опенсорсные репозитории и вся их номенклатура часто остаются в открытом доступе, так что злоумышленникам не потребуется даже предпринимать
Отметим, ранее корпорация Microsoft опубликовала документ с рекомендациями по защите пакетов от попыток подмены сторонних компонентов. Sonatype, со своей стороны, выпустила специальный скрипт для пользователей Nexus Repository Manager, который позволяет проверять зависимости и сопоставлять названия компонентов в приватных ресурсах с теми, которые выложены в публичных репозиториях.