(https://i.postimg.cc/T1Nb4zQN/Ghost-bug.png) (https://postimages.org/)
Dos investigadores de ciberseguridad se llevaron una recompensa de 50.500 dólares por encontrar una vulnerabilidad crítica en la cadena de suministro de software de una importante empresa. El exploit apuntaba a una empresa recientemente adquirida, exponiendo una falla que podría tener ramificaciones generalizadas.
El dúo, Lupin (Roni Carta) y Snorlhax, tienen un historial de colaboración; recientemente centraron su atención en el área a menudo pasada por alto de las adquisiciones empresariales. Observaron que estas integraciones presentan con frecuencia brechas de seguridad, ya que las entidades recién adquiridas pueden no siempre mantener los mismos estándares de seguridad rigurosos que sus empresas matrices. Esta percepción guió su búsqueda de una vulnerabilidad "que cambie las reglas del juego".
Su enfoque comenzó con un examen detallado de la presencia en línea de la empresa adquirida, incluidos sus repositorios de código y registros de paquetes. Los investigadores emplearon técnicas avanzadas, transformando archivos JavaScript en árboles de sintaxis abstracta (AST) y análisis de imágenes Docker para identificar dependencias y descubrir posibles fallas. Esta investigación los llevó a una organización DockerHub vinculada a la adquisición.
El verdadero avance se produjo después de que los investigadores descargaran y examinaran una imagen de Docker. En su interior, descubrieron el código fuente completo de los sistemas backend de la empresa. Pero la historia no terminó allí, ya que los investigadores desenterraron información aún más confidencial.
Según la publicación del blog técnico de Lupin, el dúo descubrió que todavía había una carpeta ".git" incluida en la imagen. Dentro de la carpeta, encontraron un token de autorización para GitHub Actions (GHS). Este token, si se hubiera explotado, podría haberle dado al atacante la capacidad de manipular los procesos de compilación de la empresa. El token podría haberles permitido inyectar código malicioso, alterar versiones de software o incluso obtener acceso a repositorios adicionales.
Una investigación más profunda reveló que la imagen de Docker había eliminado el archivo de configuración .npmrc, pero los investigadores reconocieron que las capas anteriores de la imagen aún podían contener rastros de él. Aprovecharon herramientas como Dive y Dlayer para explorar estas capas, y finalmente localizaron un token npm privado. Este token proporcionó acceso de lectura y escritura a los paquetes privados de la empresa objetivo.
El equipo se dio cuenta de que ahora tenían una ruta para insertar código malicioso en uno de los paquetes privados, que los desarrolladores, los pipelines y los sistemas de producción de la empresa obtendrían automáticamente. Como se trataba de paquetes privados, el ataque evitaría los análisis de seguridad, lo que les permitiría comprometer los sistemas en todos los niveles, lo que provocaría robos y filtraciones de datos a gran escala.
Las vulnerabilidades de la cadena de suministro de software han afectado a miles de empresas en los últimos meses. Los ciberataques dirigidos a empresas como Snowflake Inc., Blue Yonder y MOVEit Transfer siguen siendo explotados, lo que afecta a organizaciones de todo el mundo.
La buena noticia es que el dúo documentó sus hallazgos y demostró el impacto de la vulnerabilidad al equipo de seguridad de la empresa afectada. Su informe describió cómo los atacantes podrían usar un paquete npm envenenado para recopilar secretos, infiltrarse en sistemas internos y comprometer los pipelines de CI/CD. Como resultado, la empresa otorgó a los investigadores una recompensa por errores de 50 500 dólares, reconociendo la gravedad de la vulnerabilidad.
Este incidente muestra cómo los ataques pueden tener éxito cuando se unen múltiples fallas pasadas por alto. En este caso, el problema se originó a partir de brechas en la cadena de suministro de software y fallas de seguridad en una empresa recién adquirida. El equipo destacó la importancia de proteger cada parte del proceso de compilación, desde el código en sí hasta los componentes y paquetes externos involucrados. Es un ejemplo de cómo proteger un proceso de desarrollo de software no es simple; requiere una cuidadosa atención a cada detalle.
Fuente:
HackRead
https://hackread.com/duo-bug-bounty-supply-chain-flaw-newly-acquired-firm/