La plataforma Microsoft Azure App Service, tiene un bug tipo zero-day que si se explota puede revelar el código fuente de aplicaciones web escritas en Ruby, Node, Php o Python que se implementen usando Git Local.
Esta vulnerabilidad de tipo día-cero se denomina NotLegit y lleva explotándose desde Septiembre de 2017.
Azure App Service, también conocido como Azure Web Apps, es una plataforma basada en la nube para alojar sitios y aplicaciones web. Git local permite a los desarrolladores iniciar un repositorio de Git dentro del contenedor de Azure App Service, y así implementar el código directamente en el servidor. Después de la implementación, la aplicación es accesible para cualquier persona en Internet bajo el dominio * .azurewebsites.net.
Vulnerabilidad NotLegit
El problema de seguridad surge porque al hacer uso de Local Git, la carpeta Git también se carga y se puede acceder públicamente en sistemas sin parches; está ubicada en el directorio «/ home / site / wwwroot«, al que cualquiera puede acceder. Esta funcionalidad, provoca problemas de seguridad.
Además de la posibilidad de que la fuente contenga secretos como contraseñas y tokens de acceso, el código fuente filtrado se usa a menudo para ataques más sofisticados, como recopilar información sobre la división de I + D, conocer la infraestructura interna y encontrar vulnerabilidades de software. Encontrar vulnerabilidades en el software es mucho más fácil cuando el código fuente está disponible.
Extracto del informe de los investigadores de Seguridad
Tener accesible el código fuente puede provocar múltiples problemas de seguridad tal y como afirman los investigadores. Además de buscar vulnerabilidades, puede replicar la aplicación web y realizar campañas de phishing, robo de información confidencial, etc. La facilidad con la que se puede acceder al código fuente es un agravante más. Básicamente, lo único que tendría que hacer un atacante para copiar el código fuente es buscar el directorio «/.git» y recuperarlo.
En un intento de solventar esta vulnerabilidad, Microsoft añadió un archivo denominado «web.config», al directorio Git dentro de la carpeta de la aplicación web para restringir el acceso público. Esta solución es incompleta ya que sólo el servidor web IIS de Microsoft tiene en cuenta esa configuración. Si la aplicación web esta desarrollada en otros lenguajes como Php, Ruby, Python o Node, utilizarán un servidor web como Nginx, Apache y por tanto, la configuración añadida por Microsoft (web.config) no tiene efecto, dejando así el sistema completamente vulnerable a ataques.
Los investigadores han informado a Microsoft de esta nueva vulnerabilidad y parece que han efectuado actualizaciones en Diciembre para volver a corregir el bug.
Una carpeta Git expuesta es un problema de seguridad común que los usuarios hacen sin siquiera darse cuenta. Los actores malintencionados escanean continuamente Internet en busca de carpetas de Git expuestas de las que puedan recopilar secretos y propiedad intelectual.
Investigadores de Wiz.io
Según Wiz, los usuarios de Azure App Service deben actualizar sus sistemas y realizar una evaluación de seguridad. Podrían estar afectados en las siguientes circunstancias:
- Usuarios que implementaron código a través de FTP o Web Deploy o Bash / SSH, lo que dio como resultado que los archivos se inicializaran en la aplicación web antes de cualquier implementación de git.
- Usuarios que habilitaron LocalGit en la aplicación web.
- Usuarios que posteriormente clonan / empujan la secuencia de Git para publicar actualizaciones.
Aunque Microsoft ya ha aplicado los parches correspondientes, se recomienda realizar una revisión completa y verificar los permisos en los directorios de las aplicaciones web.