Control interceptado sobre 14 bibliotecas PHP en el repositorio Packagist

Los administradores del repositorio de paquetes Packagist revelaron información sobre un ataque en el que se tomó el control de las cuentas de los mantenedores de 14 bibliotecas de PHP, incluyendo paquetes populares como instantiator (526 millones de instalaciones en total, 8 millones de instalaciones en el último mes, 323 paquetes dependientes), sql-formatter (94 millones de instalaciones en total, 800 mil en el último mes, 109 paquetes dependientes), doctrine-cache-bundle (73 millones de instalaciones en total, 500 mil en el último mes, 348 paquetes dependientes) y rcode-detector-decoder (20 millones de instalaciones en total, 400 mil en el último mes, 66 paquetes dependientes).

Tras la compromisión de las cuentas, el atacante modificó el archivo composer.json, añadiendo en el campo de descripción del proyecto que estaba buscando trabajo relacionado con la seguridad informática. Para realizar el cambio en el archivo composer.json, el atacante reemplazó la URL de los repositorios originales por enlaces a forks modificados (Packagist solo proporciona metadatos con enlaces a proyectos desarrollados en GitHub; al ejecutar el comando 'composer install' o 'composer update', los paquetes se descargan directamente de GitHub). Por ejemplo, para el paquete acmephp, el repositorio vinculado fue sustituido de acmephp/acmephp a neskafe3v1/acmephp.

Al parecer, el ataque no fue realizado con el fin de llevar a cabo acciones maliciosas, sino como una demostración de la inaceptabilidad del uso negligente de credenciales repetidas en diferentes sitios. Además, el atacante, a diferencia de la práctica establecida de 'hackeos éticos', no notificó previamente a los desarrolladores de las bibliotecas y a los administradores del repositorio sobre el experimento que estaba llevando a cabo. Posteriormente, el atacante informó que una vez que logre conseguir trabajo, publicará un informe detallado sobre los métodos utilizados en el ataque.

Según la información publicada por los administradores de Packagist, en todas las cuentas que gestionaban los paquetes comprometidos se utilizaron contraseñas fáciles de adivinar sin habilitar la autenticación de dos factores. Se afirma que en las cuentas hackeadas se usaron contraseñas que también se aplicaron en otros servicios, cuyas bases de datos de contraseñas habían sido comprometidas anteriormente y se habían hecho públicas. Como opción de acceso, también se pudo utilizar la captura del correo electrónico de los propietarios de cuentas que estaban vinculadas a dominios vencidos.

Paquetes comprometidos:

  • acmephp/acmephp (124,860 instalaciones en total)
  • 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, tgalopin/simhashphp (30,555)

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster