Tomou o control de 14 bibliotecas PHP no repositorio de Packagist

Os administradores do repositorio de paquetes de Packagist divulgaron información sobre un ataque que resultou no control das contas das bibliotecas PHP acompañantes, incluíndo paquetes tan populares como o instanciador (14 millóns de instalacións en total, 526 millóns de instalacións ao mes, 8 paquetes dependentes), sql -formatter (323 millóns de instalacións totais, 94 mil ao mes, 800 paquetes dependentes), doctrine-cache-bundle (109 millóns de instalacións totais, 73 mil ao mes, 500 paquetes dependentes) e rcode-detector-decoder (348 millóns de instalacións totais, 20 mil ao mes, 400 paquetes dependentes).

Despois de comprometer as contas, o atacante modificou o ficheiro composer.json, engadindo información no campo de descrición do proxecto que buscaba un traballo relacionado coa seguridade da información. Para facer cambios no ficheiro composer.json, o atacante substituíu os URL dos repositorios orixinais por ligazóns a forks modificados (Packagist ofrece só metadatos con ligazóns a proxectos desenvolvidos en GitHub; cando se instala coa "instalación do compositor" ou "actualización do compositor" comando, os paquetes descárganse directamente desde GitHub). Por exemplo, para o paquete acmephp, o repositorio ligado cambiouse de acmephp/acmephp a neskafe3v1/acmephp.

Ao parecer, o ataque non realizouse para cometer accións dolosas, senón como unha demostración da inadmisibilidade dunha actitude descoidada ante o uso de credenciais duplicadas en diferentes sitios. Ao mesmo tempo, o atacante, contrariamente á práctica establecida de "piratería ética", non notificou con antelación aos desenvolvedores da biblioteca e aos administradores do repositorio o experimento que se estaba a realizar. O atacante anunciou máis tarde que despois de conseguir o traballo, publicaría un informe detallado sobre os métodos utilizados no ataque.

Segundo os datos publicados polos administradores de Packagist, todas as contas que xestionaban os paquetes comprometidos utilizaban contrasinais fáciles de adiviñar sen habilitar a autenticación de dous factores. Alégase que as contas pirateadas usaban contrasinais que non só se usaron en Packagist, senón tamén noutros servizos, cuxas bases de datos de contrasinais estaban previamente comprometidas e quedaron dispoñibles públicamente. Capturar os correos electrónicos dos propietarios de contas que estaban ligados a dominios caducados tamén se podería usar como unha opción para acceder.

Paquetes comprometidos:

  • acmephp/acmephp (124,860 instalacións durante toda a vida útil do paquete)
  • acmephp/core (419,258)
  • acmephp/ssl (531,692)
  • doctrine/doctrine-cache-bundle (73,490,057)
  • doutrina/módulo-doutrina (5,516,721)
  • doctrine/doutrina-mongo-odm-module (516,441)
  • doutrina/módulo-orm-doutrina (5,103,306)
  • doutrina/instanciador (526,809,061)
  • libro de crecemento/libro de crecemento (97,568
  • jdorn/caché do sistema de ficheiros (32,660)
  • jdorn/sql-formatter (94,593,846)
  • Khanamiryan/decodificador-detector-código-qr (20,421,500)
  • Obxecto-calistenia/phpcs-regras-calistenia (2,196,380)
  • tga/simhash-php, tgalopin/simhashphp (30,555)

Fonte: opennet.ru

Engadir un comentario