Se ha revelado información sobre las víctimas de phishing, de las cuales advirtieron recientemente los administradores del repositorio de paquetes de Python PyPI (Python Package Index). Como resultado del envío de mensajes notificando la necesidad de confirmar su correo electrónico, que enlazaban a un sitio falso pypj.org (letra «j» en lugar de «i»), se lograron apoderar de las cuentas de 4 mantenedores.
En consecuencia, los atacantes generaron dos tokens para acceder a la API y publicaron dos versiones del proyecto num2words (0.5.15 y 0.5.16), que contenían código malicioso. El módulo num2words, que tiene más de 3 millones de descargas al mes, proporciona funciones para convertir números en texto. Las versiones maliciosas de num2words fueron eliminadas por los administradores de PyPI una hora después de su publicación.
Para eludir la protección de la cuenta mediante la autenticación de dos factores, los atacantes utilizaron un proxy transparente para redirigir el tráfico desde el sitio de phishing pypj.org al sitio real pypi.org, lo que generó en el usuario la impresión de estar trabajando con el verdadero catálogo de PyPI. La página de inicio de sesión también fue proxyada y los atacantes controlaban no solo la contraseña ingresada inicialmente, sino también la respuesta a la solicitud de verificación del segundo factor de autenticación.
Para contrarrestar ataques futuros a través del proxy, los administradores de PyPI implementaron una protección que verifica el dominio mediante JavaScript del lado del cliente y, en caso de discrepancia en los hashes, dominios emite una advertencia (nada impide al atacante filtrar este script o reemplazar el hash de verificación en el nivel del proxy).
Fuente: opennet.ru
