GitHub publicó los resultados del análisis del ataque, a raíz del cual, el 12 de abril, los atacantes obtuvieron acceso a entornos en la nube en el servicio Amazon AWS utilizado en la infraestructura del proyecto NPM. Un análisis del incidente mostró que los atacantes obtuvieron acceso a las copias de seguridad del host skimdb.npmjs.com, incluida una copia de seguridad de la base de datos con credenciales de aproximadamente 100 2015 usuarios de NPM a partir de XNUMX, incluidos hash de contraseñas, nombres y correos electrónicos.
Los hashes de contraseña se crearon utilizando los algoritmos PBKDF2 o SHA1 con sal, que se reemplazaron en 2017 con bcrypt, más de fuerza bruta. Después de que se identificó el incidente, se restablecieron las contraseñas filtradas y se envió una notificación a los usuarios para que establecieran una nueva contraseña. Dado que NPM ha incluido la verificación obligatoria de dos factores con confirmación por correo electrónico desde el 1 de marzo, el riesgo de compromiso del usuario se evalúa como insignificante.
Además, todos los archivos de manifiesto y metadatos de paquetes privados a partir de abril de 2021, archivos CSV con una lista actualizada de todos los nombres y versiones de paquetes privados, así como el contenido de todos los paquetes privados de dos clientes de GitHub (nombres no se revelan) cayó en manos de los atacantes. En cuanto al repositorio en sí, el análisis de los rastros y la verificación de los hash de los paquetes no reveló que los atacantes hicieran cambios en los paquetes de NPM y publicaran nuevas versiones ficticias de los paquetes.
El ataque se llevó a cabo el 12 de abril utilizando tokens OAuth robados generados para dos integradores de GitHub de terceros, Heroku y Travis-CI. Usando los tokens, los atacantes pudieron extraer de los repositorios privados de GitHub la clave para acceder a la API de Amazon Web Services utilizada en la infraestructura del proyecto NPM. La clave resultante permitió el acceso a los datos almacenados en el servicio AWS S3.
Además, se ha divulgado información sobre problemas de privacidad graves previamente identificados en el procesamiento de datos de usuario en servidores En los registros internos de NPM, las contraseñas de algunos usuarios, así como los tokens de acceso, se almacenaban en texto plano. Al integrar NPM con el sistema de registro de GitHub, los desarrolladores no eliminaron la información confidencial de las solicitudes registradas a los servicios de NPM. Según se informó, la vulnerabilidad se corrigió y los registros se eliminaron antes del ataque a NPM. Solo ciertos empleados de GitHub tenían acceso a los registros, que incluían contraseñas en texto plano.
Fuente: opennet.ru
