Новости Исследователь взломал более 10 библиотек в Packagist, пытаясь найти работу - «Новости»

Новости

Команда форума
Редактор
Регистрация
27 Февраль 2018
Сообщения
13 221
Лучшие ответы
0
Реакции
0
Баллы
1 293
Offline
#1
Исследователь под ником neskafe3v1 признался, что взломал 14 библиотек в Packagist, некоторые из которых насчитывают сотни миллионов установок. Взломщик рассказал СМИ, что таким необычным способом он пытается найти работу.


Напомню, что Packagist — это не пакетный менеджер, но хостинг PHP-пакетов. Это дефолтный хостинг Composer, и каждый месяц Composer используется для загрузки более 2 миллиардов пакетов. По сути, Packagist представляет собой один из крупнейших хостинговых сервисов в экосистеме PHP в целом.


Издание Bleeping Computer, с которым связался neskafe3v1, сообщает, исследователь успел скомпрометировать следующие пакеты:

Название пакета

Количество установок

acmephp/acmephp

124 860

acmephp/core

419 258

acmephp/ssl

531 692

doctrine/doctrine-cache-bundle

73 490 057

doctrine/doctrine-module

5 516 721

doctrine/doctrine-mongo-odm-module

516 441

doctrine/doctrine-orm-module

5 103 306

doctrine/instantiator

526 809 061

growthbook/growthbook

97 568

jdorn/file-system-cache

32 660

jdorn/sql-formatter

94 593 846

khanamiryan/qrcode-detector-decoder

20 421 500

object-calisthenics/phpcs-calisthenics-rules

2 196 380

tga/simhash-php (aka tgalopin/simhashphp)

30 555







Исследователь предоставил журналистам доказательства того, что в понедельник, 1 мая 2023 года, страницы Packagist для перечисленных выше пакетов были изменены, и стали указывать на фейковый репозиторий самого neskafe3v1, вместо нужных репозиториев на GitHub.







Например, как показано на скриншоте выше: на странице пакета acmephp ссылка на GitHub была изменена на репозиторий исследователя (вместо github.com/acmephp/acmephp).


Издание объясняет, что процесс публикации пакетов в Packagist несколько отличается от публикации в других опенсорсных репозиториях, таких как npm или PyPI. Так, разработчик просто создает учетную запись на Packagist.org и «прикрепляет» ссылку на свой репозиторий на GitHub для определенного пакета. После этого сканер Packagist посещает этот репозиторий и собирает все данные для отображения пакета на странице Packagist.


Когда разработчик запускает Composer с помощью команд install или update, его экземпляр Composer сначала ищет пакеты локально, а затем по умолчанию ищет нужную библиотеку в Packagist и получает URL для нужного пакета на GitHub. После этого содержимое пакета загружается из репозитория на GitHub, указанного на странице пакета в Packagist.


Таким образом, получается, что изменив страницы в Packagist для конкретных пакетов, исследователь, по сути, вмешался в процесс установки, используемый в средах Composer. То есть разработчики получали контент из репозиториев neskafe3v1 на GitHub, а не из настоящих репозиториев проектов.


Для своей демонстрации neskafe3v1 просто изменил файл composer.json в перечисленных пакетах, добавив в него сообщение: «Pwned by neskafe3v1. Ищу работу на позицию Application Security, Penetration Tester, Cyber Security Specialis».







Это было проделано через форк исходного репозитория и изменение поля description в файле composer.json, а изменения в итоге были зафиксированы в форкнутом репозитории. Отмечается, что neskafe3v1 не стал мержить изменения в исходные репозитории, так как для этого потребовался бы дополнительный доступ и, возможно, проверка со стороны сопровождающих.


Исследователь отказался раскрыть журналистам точную технику захвата пакетов, но отметил, что это не какая-то 0-day уязвимость, а достаточно известный способ. Издание предполагает, что neskafe3v1 каким-то образом получил доступ к учетным записям сопровождающих и после подменил URL-адреса на свои форки.


«Как видите, я ищу работу, поэтому я опубликую отчет после того, как меня наймет какая-нибудь компания. Пока я не преуспел, так что говорить не о чем», — рассказал neskafe3v1 журналистам Bleeping Computer, назвав свои действия «рекламой самого себя как сотрудника».



Разработчики Packagist сообщают, что neskafe3v1 не уведомлял их о своем «эксперименте», но они не обнаружили какого-либо вредоносного воздействия на платформу в результате произошедшего. Также они подтвердили, что захват пакетов действительно произошел в результате компрометации учетных записей их сопровождающих.


«Насколько нам известно, произошедшее не использовалось в каких-либо вредоносных целях и ограничилось несколькими старыми учетными записями с небезопасными паролями и отключенной двухфакторной аутентификацией, — сообщил изданию Нильс Адерман из Packagist.org, который также является одним из первых разработчиков Composer. — Похоже, все четыре учетные записи использовали пароли, ранее “утекшие” в ходе других инцидентов на других платформах. Пожалуйста, не используйте одни и те же пароли повторно».



В настоящее время администраторы Packagist уже обнаружили все скомпрометированные аккаунты, отключили доступ к ним и восстановили прежние значения URL-адресов на страницах пакетов.


В блоге администраторы просят исследователей ответственно сообщать о найденных ошибках и уязвимостях:


«Если вы являетесь ИБ-исследователем, вам известно об уязвимости Packagist.org или вы хотели бы провести исследование на Packagist.org, мы просим вас скоординировать это с нами, чтобы избежать негативного воздействия на пользователей и ответственно раскрыть информацию об уязвимостях».
 
Сверху Снизу