В репозитории PyPI был обнаружен скомпрометированный пакет ctx, который загружают более 20 000 раз в неделю. Вредоносная версия воровала переменные среды в поисках учетных данных и ключей от Amazon AWS. Также компрометации подверглась популярная PHP-библиотека phpass, форки которой похищали секреты аналогичным образом.
Пакет ctx в репозитории PyPI был скомпрометирован ранее в этом месяце. Похоже, виной всему стала атака на его разработчика, хотя эксперты еще выясняют подробности. По информации издания Bleeping Computer, при всей популярности этого пакета он не обновлялся с 2014 года, однако новые версии, начавшие выходить с 15 мая (и продолжавшие выходить на этой неделе) содержали вредоносный код.
Первыми компрометацию ctx заметили пользователи Reddit, после чего исследователь Сомдев Сангван (Somdev Sangwan) сообщил в Twitter, что PHP-пакет phpass тоже скомпрометирован похожим образом, и некоторые версии библиотеки воруют у разработчиков ключи AWS.
Эту информацию проверили исследователи Sonatype и пришли к выводу, что компрометации, к сожалению, действительно имели место. Эксперты пишут, что вредоносные версии ctx уже удалены из PyPI, но изученные копии всех версий содержали малварь. Следует отметить, что даже версия 0.1.2, которую не трогали с 2014 года, была заменена на вредоносную.
После установки все версии ctx собирали переменные среды на зараженной машине и загружали их в эндпоинт Heroku (https://anti-theft-web.herokuapp[.]com/hacked/)
Похожая атака была произведена и на форк популярного пакета Composer/PHP hautelook/phpass, который оказался скомпрометирован, а вредоносные версии опубликованы в репозитории Packagist. Этот фреймворк, выпущенный еще в 2005 году, был загружен более 2,5 млн раз на Packagist за время своего существования.
Bleeping Compuer пишет, что вредоносные коммиты, сделанные на этой неделе, тоже отвечали за похищение переменных среды. Измененный файл PasswordHash.php специально искал значения AWS_ACCESS_KEY и AWS_SECRET_KEY, а затем эти секреты загружались в вышеупомянутый эндпоинт Heroku. То есть за обеими атаками стояли одни и те же злоумышленники.
Отмечается, что за последние недели PHPass был установлен всего несколько раз, так как уже довольно давно от был отмечен как «abandoned» и мало использовался.
ИБ-исследователи пишут, что личность нападавшего очевидна, но отказываются сообщать подробности и раскрывать имя человека, предположительно стоящего за компрометацией пакетов, пока не появится больше информации.