Tomado el control de 14 bibliotecas PHP en el repositorio de Packagist

Los administradores del repositorio de paquetes Packagist revelaron información sobre un ataque que resultó en el control de las cuentas de las 14 bibliotecas PHP adjuntas, incluidos paquetes tan populares como instanciador (526 millones de instalaciones en total, 8 millones de instalaciones por mes, 323 paquetes dependientes), sql -formateador (94 millones de instalaciones totales, 800 mil por mes, 109 paquetes dependientes), doctrina-cache-bundle (73 millones de instalaciones totales, 500 mil por mes, 348 paquetes dependientes) y rcode-detector-decodificador (20 millones de instalaciones totales, 400 mil mensuales, 66 paquetes dependientes).

Luego de comprometer las cuentas, el atacante modificó el archivo compositor.json, agregando información en el campo de descripción del proyecto de que estaba buscando un trabajo relacionado con la seguridad de la información. Para realizar cambios en el archivo compositor.json, el atacante reemplazó las URL de los repositorios originales con enlaces a bifurcaciones modificadas (Packagist solo proporciona metadatos con enlaces a proyectos desarrollados en GitHub; al instalar con el comando “composer install” o “composer update” comando, los paquetes se descargan directamente desde GitHub). Por ejemplo, para el paquete acmephp, el repositorio vinculado se cambió de acmephp/acmephp a neskafe3v1/acmephp.

Al parecer, el ataque no se llevó a cabo para cometer acciones maliciosas, sino como demostración de la inadmisibilidad de una actitud descuidada hacia el uso de credenciales duplicadas en diferentes sitios. Al mismo tiempo, el atacante, contrariamente a la práctica establecida de "hacking ético", no notificó con antelación a los desarrolladores de la biblioteca ni a los administradores del repositorio sobre el experimento que se estaba llevando a cabo. Más tarde, el atacante anunció que, una vez que consiguiera el trabajo, publicaría un informe detallado sobre los métodos utilizados en el ataque.

Según los datos publicados por los administradores de Packagist, todas las cuentas que administraban los paquetes comprometidos utilizaban contraseñas fáciles de adivinar sin habilitar la autenticación de dos factores. Se alega que las cuentas pirateadas utilizaron contraseñas que se utilizaron no solo en Packagist, sino también en otros servicios, cuyas bases de datos de contraseñas fueron previamente comprometidas y estuvieron disponibles públicamente. La captura de correos electrónicos de propietarios de cuentas que estaban vinculadas a dominios caducados también podría usarse como una opción para obtener acceso.

Paquetes comprometidos:

  • acmephp/acmephp (124,860 instalaciones durante toda la vida útil del paquete)
  • acmephp/núcleo (419,258)
  • acmephp/ssl (531,692)
  • doctrina/paquete-caché-doctrina (73,490,057)
  • doctrina/módulo-doctrina (5,516,721)
  • doctrina/doctrina-mongo-odm-modulo (516,441)
  • doctrina/doctrina-orm-módulo (5,103,306)
  • doctrina/instanciador (526,809,061)
  • libro de crecimiento/libro de crecimiento (97,568
  • jdorn/caché-del-sistema-de-archivos (32,660)
  • jdorn/sql-formateador (94,593,846)
  • khanamiryan/qrcode-detector-decodificador (20,421,500)
  • objeto-calistenia/phpcs-calistenia-reglas (2,196,380)
  • tga/simhash-php, tgalopin/simhashphp (30,555)

Fuente: opennet.ru

Añadir un comentario