В npm обнаружены два вредоносных пакета, которые скрытно модифицируют легитимные, локально установленные пакеты, чтобы внедрить в них устойчивый реверс-шелл бэкдор. В результате, даже если жертва удалит сами вредоносные пакеты, бэкдор останется в системе.
Эту атаку обнаружили эксперты Reversing Labs, которые отмечают необычность использованного хакерами подхода.
«Загрузчики в npm — это не редкость, хотя они, возможно, не распространены не так широко, как инфостилеры. Однако этот загрузчик заслуживает особого внимания из-за необычных стратегий, использованных злоумышленниками для сокрытия доставляемой им вредоносной полезной нагрузки», — пишут исследователи.
Два связанных с этой кампанией вредоносных пакета — это ethers-provider2 и ethers-providerz. Первый вредонос основан на популярном пакете ssh2, однако обладает модифицированным скриптом install.js, который загружает полезную нагрузку второго этапа из внешнего источника. Пейлоад выполняется, а затем удаляется по завершении работы, чтобы уничтожить возможные следы.
На втором этапе атаки малварь проверяет наличие легитимного пакета ethers, и в случае его обнаружения заменяет легитимный файл provider-jsonrpc.js на вредоносную версию.
В итоге внедренный файл извлекает с удаленного хоста полезную нагрузку третьей стадии атаки, и она позволяет использовать реверс-шелл через модифицированный SSH-клиент, маскирующийся под легитимный SSH2-клиент.
В результате, даже если исходный вредоносный пакет ethers-provider2 будет удален, внедренный в ethers бэкдор останется и легитимный пакет по-прежнему будет заражен.
Второй вредоносный пакет, ethers-providerz, ведет себя аналогичным образом, но вместо ethers он нацелен на @ethersproject/providers. Его конечной целью тоже является модификация целевого пакета и использование реверс-шелла, который указывает на тот же IP-адрес (5[.]199[.]166[.]1:31337).
Reversing Labs обращает внимание, что ранние версии этого пакета содержали ошибки, из-за чего не могли работать как должно. В итоге автор удалил пакет из npm и, возможно, планирует выложить его снова после исправления багов.
Кроме того, исследователи упоминают еще два пакета (reproduction-hardhat и @theoretical123/providers), которые, судя по всему, тоже могут быть связаны с этой кампанией.
Специалисты подготовили правило YARA для обнаружения малвари, связанной с этой кампанией, и рекомендуют разработчикам использовать его для проверки своих сред на наличие остаточных угроз.