Inyectada Una Puerta Trasera De Webmin En Los Repositorios De SourceForge
La puerta trasera no se debe a un fallo de codificación por parte de los responsables de Webmin, sino que fue inyectada maliciosamente por un anónimo y persistió durante varias versiones a lo largo de más de un año en los repositorios de SourceForge, de donde era descargada por millones de usuarios.
Hace una semana, se filtró al público una vulnerabilidad crítica zero-day en Webmin. Hoy sabemos, gracias a los responsables del mantenimiento del proyecto, que el fallo de seguridad no responde a un error de programación por parte de los desarrolladores, sino que un atacante anónimo consiguió inyectar la puerta trasera en algún punto de la infraestructura. Para colmo, la puerta trasera sobrevivió a varias actualizaciones de Webmin (concretamente, desde la 1.882 hasta la 1.921) permaneciendo oculta durante al menos un año, tiempo durante el que pudo ser descargada por millones de usuarios, dado que Webmin es considerada la aplicación open-source más popular para la gestión de sistemas UNIX a través de interfaz web.
La historia del caso apunta a Özkan Mustafa Akkuş. En su perfil público se le relaciona con una empresa de ciberseguridad Turca y se define a sí mismo como investigador. Sin embargo, contraviniendo las buenas prácticas que regulan el proceso de investigación sobre seguridad informática y publicación de vulnerabilidades, decidió unilateralmente, según la versión de Joe Cooper, desarrollador del proyecto, publicar el hallazgo sin tomar las medidas oportunas para prevenir al fabricante acerca del fallo, lo que en la práctica, supone haber puesto en riesgo a toda la comunidad de usuarios. Adicionalmente, Akkus también publicó un módulo de Metasploit para automatizar la explotación de dicho fallo.
Según el propio Akkus, el fallo de seguridad radica en la página de reseteo de contraseña, que permite a un atacante remoto y no autenticado ejecutar comandos de forma arbitraria, con permisos de administrador, en todos aquellos sistemas afectados por este fallo. La explotación sería posible simplemente añadiendo una «tubería» (|) en el campo «old password» a través de peticiones post. Un carácter que, típicamente, sirve para dirigir la salida de un determinado comando para ser procesado por otro inmediatamente subsiguiente.
En un artículo publicado por Joe cooper, desarrollador del proyecto, se explica que aún continúan investigando cómo y cuándo se introdujo la backdoor, pero ya se ha podido confirmar que el ataque incluyó la suplantación de las descargas de Webmin oficiales, que fueron sustituidas por paquetes troyanizados en los repositorios de SourceForge. Los repositorios oficiales de Webmin en Github, sin embargo, permanecieron intactos y no fueron afectados por este ataque.
Además, Cooper incide en que la característica que aprovecha este fallo de seguridad no se encuentra por defecto habilitada, por lo que el impacto de este fallo se reduce a sólo aquellos sistemas que tuvieran manualmente habilitada la característica en cuestión – a saber, una característica situada en el menú de configuración de la autenticación, que permitía alertar a los usuarios cuya contraseña había expirado y ofrecerles la posibilidad de renovarla-.
Más tarde, un investigador reveló que el fallo afectaba a versiones más antiguas de lo esperado, detectando, adicionalmente, que se había conseguido modificar el código fuente de los paquetes para que la característica antes mencionada se encontrase habilitada por defecto, a diferencia de la configuración que tenía en el código fuente original.
Si efectuamos una búsqueda en Shodan, podemos ver que la aplicación Webmin se encuentra accesible al público en más de 14,790 sistemas de todo el mundo, la mayoría localizados en Estados Unidos, Japón, Reino Unido, Rusia y Alemania.
Afortunadamente, los responsables del proyecto ya han eliminado la puerta trasera. Además, su última actualización también contiene los parches para las vulnerabilidades XSS que fueron descubiertas por otro investigador que sí informó al fabricante siguiendo las buenas prácticas recomendadas, lo que le valió para ser recompensado con una suma de dinero por su labor de bug bounty.
Via: unaaldia.hispasec.com