Malware al acecho en enlaces “oficiales” de GitHub y GitLab

¿Puedes ser víctima de malware cuando descargas archivos de los repositorios de Microsoft en GitHub? Resulta que sí. ¡Mantente alerta!

Uno de los consejos de seguridad más antiguos es: “Descarga solo software de fuentes oficiales”. Por lo general, las “fuentes oficiales” son las principales tiendas de aplicaciones de cada plataforma, pero para millones de aplicaciones de código abierto útiles y gratuitas, la fuente más “oficial” es el repositorio del desarrollador en un sitio especializado como GitHub o GitLab. Allí, puedes encontrar el código fuente del proyecto, las correcciones y las incorporaciones al código y, a menudo, una compilación de la aplicación lista para usar. Cualquiera que tenga el más mínimo interés en ordenadores, software y programación conoce estos sitios. Por eso fue un descubrimiento desagradable para muchas personas (incluidas las especialistas en seguridad de TI y los propios desarrolladores) que un archivo al que se puede acceder con un enlace como github{.}com/{User_Name}/{Repo_Name}/files/{file_Id}/{file_name} podría ser publicado por otra persona que no sea el desarrollador y contener cualquier cosa.

Por supuesto, los ciberdelincuentes se aprovecharon de esto inmediatamente.

Desglosemos el problema

GitHub y su pariente cercano GitLab se construyen en torno a la colaboración en proyectos de desarrollo de software. Un desarrollador puede cargar su código y otros pueden ofrecer incorporaciones, correcciones o incluso crear bifurcaciones, que son versiones alternativas de la aplicación o biblioteca. Si un usuario encuentra un error en una aplicación, puede informarlo al desarrollador mediante un informe del problema. Otros usuarios pueden confirmar el problema en los comentarios. También puedes escribir comentarios sobre nuevas versiones de la aplicación. Si es necesario, puedes adjuntar archivos a los comentarios, como capturas de pantalla que muestran el error o documentos que hacen que la aplicación falle. Estos archivos se almacenan en servidores de GitHub mediante enlaces del tipo que describimos anteriormente.

Sin embargo, GitHub tiene una peculiaridad: si un usuario prepara un comentario y carga los archivos adjuntos, pero no hace clic en “Publicar”, la información permanece “atascada” en el borrador y es invisible tanto para el propietario de la aplicación como para otros usuarios de GitHub. Sin embargo, se crea un enlace directo completamente funcional al archivo cargado en el comentario y cualquiera que lo abra recibe el archivo de la CDN de GitHub.

Se genera un enlace de descarga para un archivo malicioso después de que el archivo se añade a un comentario no publicado en GitHub.

Mientras tanto, los propietarios del repositorio donde se publica este archivo en los comentarios no pueden eliminarlo ni bloquearlo. ¡Ni siquiera se enteran! Tampoco hay una configuración para restringir la carga de dichos archivos para el repositorio en su conjunto. La única solución es desactivar los comentarios por completo (en GitHub, puedes hacerlo por hasta seis meses), pero eso privaría a los desarrolladores de recibir comentarios.

El mecanismo de comentarios de GitLab es similar, lo que permite que se publiquen archivos a través de borradores de comentarios. Se puede acceder a los archivos a través de un enlace como gitlab.com/{User_Name}/{Repo_Name}/uploads/{file_Id}/{file_name}.

Sin embargo, el problema en este caso se mitiga un poco por el hecho de que solo los usuarios de GitLab registrados y conectados pueden cargar archivos.

Un regalo para las campañas de phishing

Gracias a la capacidad de publicar archivos arbitrarios en enlaces que comienzan con GitHub/GitLab y que contienen los nombres de desarrolladores respetados y proyectos populares (ya que se puede dejar un comentario no publicado con un archivo en casi cualquier repositorio), los ciberdelincuentes tienen la oportunidad de realizar ataques de phishing muy convincentes. En los repositorios de Microsoft ya se han descubierto campañas maliciosas en las que se dejan “comentarios”, que supuestamente contienen aplicaciones de trucos para juegos.

Un usuario atento podría preguntarse por qué habría trucos de un juego en el repositorio de Microsoft: https://github{.}com/microsoft/vcpkg/files/…../Cheat.Lab.zip. Pero es mucho más probable que las palabras clave “GitHub” y “Microsoft” tranquilicen a la víctima, que no examinará demasiado el enlace. Los delincuentes más inteligentes pueden disfrazar su malware con más cuidado, por ejemplo, presentándolo como una nueva versión de una aplicación distribuida a través de GitHub o GitLab y publicando enlaces a través de “comentarios” en esa aplicación.

Cómo protegerte del contenido malicioso en GitHub y GitLab

Este error de diseño aún no se ha corregido y cualquiera puede cargar archivos arbitrarios libremente en la CDN de GitHub y GitLab, por lo que los usuarios de estas plataformas deben tener mucho cuidado.

  • No descargues archivos de enlaces directos de GitHub/GitLab que encuentres en fuentes externas: otros sitios web, correos electrónicos o chats. En su lugar, abre la página del proyecto (github{.}com/{User_Name}/{Repo_Name} o gitlab{.}com/{User_Name}/{Repo_Name}) y asegúrate de que realmente puedas descargar el archivo desde allí. Los archivos oficiales de los desarrolladores deben estar publicados y aparecer en el repositorio.
  • Asegúrate de estar en la página de desarrollador correcta: en GitHub, GitLab y otros repositorios de código abierto, los ataques de typosquatting son comunes: la creación de proyectos falsos con nombres que difieren del original en una o dos letras (por ejemplo, Chaddev en lugar de Chatdev).
  • Evita descargar aplicaciones que tengan pocas estrellas (me gusta) y que hayan sido creadas recientemente.
  • Usa la protección contra malware y phishing en todos tus ordenadores y teléfonos inteligentes. Kaspersky Premium proporciona una protección integral para jugadores y entusiastas de la informática.

 

Fuente: latam.kaspersky.com