Un grupo de cibercriminales conocido como Stargazer Goblin ha establecido una red de cuentas falsas en GitHub para ofrecer un servicio de Distribución como Servicio (DaaS) que difunde varios tipos de malware robainformación, logrando así $100,000 en ganancias ilegales durante el último año.
Esta red, que cuenta con más de 3,000 cuentas en la plataforma de alojamiento de código en la nube, se extiende por miles de repositorios que se utilizan para compartir enlaces maliciosos o malware, según Check Point, que ha denominado a esta red como «Red Fantasma de Stargazers.»
Algunas de las familias de malware distribuidas mediante este método incluyen Atlantida Stealer, Rhadamanthys, RisePro, Lumma Stealer y RedLine. Las cuentas falsas también realizan actividades como marcar, bifurcar, seguir y suscribirse a repositorios maliciosos para darles una apariencia de legitimidad.
Se cree que esta red ha estado operativa desde agosto de 2022 en una forma preliminar, aunque un anuncio del DaaS no se detectó en la darknet hasta principios de julio de 2023.
«Los cibercriminales ahora gestionan una red de cuentas ‘fantasma’ que distribuyen malware a través de enlaces maliciosos en sus repositorios y archivos cifrados como lanzamientos», explicó el investigador de seguridad Antonis Terefos en un análisis publicado la semana pasada.
«Esta red no solo distribuye malware, sino que también realiza diversas actividades adicionales que hacen que estas cuentas ‘fantasma’ parezcan usuarios comunes, otorgando una falsa legitimidad a sus acciones y a los repositorios asociados.»
Diversas categorías de cuentas de GitHub se encargan de diferentes aspectos del esquema para hacer que su infraestructura sea más resistente a los intentos de eliminación por parte de GitHub cuando se detectan cargas maliciosas en la plataforma.
Estas incluyen cuentas que proporcionan plantillas de repositorios de phishing, cuentas que ofrecen imágenes para la plantilla de phishing y cuentas que suben malware a los repositorios en forma de archivos protegidos con contraseña que se hacen pasar por software crackeado y trampas de juegos.
Si el tercer grupo de cuentas es detectado y eliminado por GitHub, Stargazer Goblin actualiza el repositorio de phishing de la primera cuenta con un nuevo enlace a un lanzamiento malicioso activo, permitiendo así a los operadores continuar con mínimas interrupciones.
Además de dar me gusta a nuevos lanzamientos de múltiples repositorios y realizar cambios en los archivos README.md para modificar los enlaces de descarga, hay evidencia que sugiere que algunas cuentas de la red han sido comprometidas anteriormente, con las credenciales probablemente obtenidas mediante malware robador.
«En la mayoría de los casos, observamos que las cuentas de Repositorio y Stargazer permanecen intactas tras prohibiciones y eliminaciones de repositorios, mientras que las cuentas de Commit y Release suelen ser eliminadas una vez que se detectan sus repositorios maliciosos», comentó Terefos.
«Es común encontrar Repositorios de Enlace que contienen enlaces a Repositorios de Release prohibidos. Cuando esto ocurre, la cuenta de Commit asociada al Repositorio de Enlace actualiza el enlace malicioso con uno nuevo.»
Una de las campañas descubiertas por Check Point involucra el uso de un enlace malicioso a un repositorio de GitHub que, a su vez, dirige a un script PHP alojado en un sitio de WordPress, el cual luego entrega un archivo de Aplicación HTML (HTA) para ejecutar Atlantida Stealer mediante un script de PowerShell.
Otras familias de malware distribuidas a través del DaaS incluyen Lumma Stealer, RedLine Stealer, Rhadamanthys y RisePro. Check Point también observó que las cuentas de GitHub forman parte de una solución DaaS más amplia que opera cuentas ‘fantasma’ similares en otras plataformas como Discord, Facebook, Instagram, X y YouTube.
«Terefos mencionó: ‘Stargazer Goblin ha desarrollado una operación de distribución de malware extremadamente avanzada que evade la detección, dado que GitHub es considerado un sitio web legítimo. Esto evita la sospecha de actividades maliciosas y reduce al mínimo cualquier daño cuando GitHub interrumpe su red’.
«El uso de múltiples cuentas y perfiles que realizan diversas actividades, como marcar favoritos, alojar repositorios, subir plantillas de phishing y publicar versiones maliciosas, permite a la Red Fantasma de Stargazers minimizar sus pérdidas cuando GitHub toma medidas para interrumpir sus operaciones, ya que generalmente solo una parte de la operación se ve afectada en lugar de todas las cuentas involucradas».
Este avance se produce mientras actores de amenazas desconocidos están atacando repositorios de GitHub, borrando su contenido y pidiendo a las víctimas que contacten a un usuario llamado Gitloker en Telegram como parte de una nueva operación de extorsión que ha estado en marcha desde febrero de 2024.
El ataque de ingeniería social está dirigido a desarrolladores mediante correos electrónicos de phishing enviados desde ‘notifications@github.com’, con el propósito de engañarlos para que hagan clic en enlaces falsos bajo la apariencia de una oferta de trabajo en GitHub. Después de esto, se les solicita autorizar una nueva aplicación OAuth que borra todos los repositorios y exige un pago para restaurar el acceso.
Esto también sigue una advertencia de Truffle Security sobre la posibilidad de acceder a datos sensibles de forks eliminados, repositorios eliminados e incluso repositorios privados en GitHub, instando a las organizaciones a tomar precauciones contra lo que se denomina una vulnerabilidad de Referencia de Objeto de Fork Cruzado (CFOR).
«Una vulnerabilidad CFOR ocurre cuando un fork de un repositorio puede acceder a datos sensibles de otro fork (incluidos datos de forks privados y eliminados). De manera similar a una Referencia Directa Insegura de Objeto, en CFOR los usuarios proporcionan hashes de commits para acceder directamente a datos de commits que de otro modo no serían visibles para ellos», explicó Joe Leon
En otras palabras, un fragmento de código comprometido en un repositorio público podría ser accesible indefinidamente siempre que exista al menos un fork de ese repositorio. Además, también podría usarse para acceder a código comprometido entre el momento en que se crea un fork interno y cuando el repositorio se hace público.
Sin embargo, es importante notar que estas son decisiones de diseño intencionales de GitHub, como se indica en su documentación:
- Los commits en cualquier repositorio dentro de una red de forks pueden ser accedidos desde cualquier repositorio dentro de esa misma red, incluyendo el repositorio principal.
- Cuando conviertes un repositorio privado en público, todos los commits de ese repositorio, incluidos los realizados en los repositorios derivados, serán visibles para todos.
«El usuario promedio percibe la separación entre repositorios privados y públicos como una frontera de seguridad, y cree comprensiblemente que cualquier dato en un repositorio privado no puede ser accedido por usuarios públicos», comentó Leon.
«Desafortunadamente, […] eso no siempre es el caso. Además, el acto de eliminar implica la destrucción de datos. Como hemos visto, eliminar un repositorio o fork no significa que los datos de commits estén realmente eliminados».