sábado, 2 de septiembre de 2017

Los ficheros CFC de ColdFusion: Otro pequeño leak a evitar


Son muchos los trucos que se utilizan para sacar información de los objetivos en un Ethical Hacking. Mensajes de Error, configuraciones inseguras, o exploraciones de los diferentes motores que procesan los Query String en una página web. La suma de todos ellos hace que al final sea más fácil conocer el sistema operativo, la versión del servidor web, los "local paths", etcétera, que podrán unirse a otras técnicas para seguir avanzando en el pentesting.

Todos ellos pasaron a formar parte de Faast, la plataforma de Cloud Persistent Pentesting en ElevenPaths que utilizamos para escanear miles de dominios de nuestros clientes cada día para reducir las ventanas de exposición de las debilidades al mínimo posible. Hoy hemos incluido un leak que se produce con los ficheros CFC de ColdFusion.

Figura 2: Búsqueda de ficheros CFC en la ruta cfcomponets/core/
Se pueden encontrar en otras rutas también con un ext:cfc
Este leak se descubrió mientras se hacia un Hacking con Buscadores. La fuga de información se produce en las aplicaciones de ColdFusion que han dejado estos ficheros de componentes CFC = ColdFusion Component publicados en Internet.
Figura 3: Fichero CFC de ClodFusion

Lo que se obtiene de ello puede llegar a ser de gran utilidad, ya que son los interfaces de invocación de los componentes de una librería, junto con los parámetros que hay que utilizar, el comportamiento del componente y la ubicación local en la que se encuentra el fichero.
Figura 4: Rutas locales de la intranet en el servidor Windows

En algunas ocasiones, se puede acceder a información más detallada, en la que se describen uno a uno los parámetros, lo que ayuda a entender mejor, en un proceso de pentesting, qué es lo que se puede hacer con cada uno de ellos.
Figura 5: Información sobre los parámetros que se usan en cada componente

En estos ejemplos, además, se puede ver cómo algunos de estos sitios forman parte de un hosting, con lo que se podría utilizar esta información para realizar un ataque contra otro dominio alojado en el mismo servidor.
Figura 7: Rutas locales en un servicio de hosting.

No es el primer leak de ColdFussion, y ya se han publicado posts sobre los errores 404 de esta plataforma - tirando de JSP como en el ejemplo de Apple - , o de los Errores 500 de Licenciamiento que se pueden obtener. Además, hay que recordar que ColdFusion usa Java al final de la cadena por debajo, así que si restringes el acceso a los CFC, acuérdate de revisar los errores Java que puedas provocar, ya que el leak puede migrar de un motor a otro.
Figura 8: Error de ColdFusion manejado por el motor Java

Al final, la suma de pequeñas fugas, debilidades de configuración, y fallos de seguridad, es lo que permite que un atacante sea capaz de saltarse todas las barreras de seguridad de un sistema - sea una aplicación, un servicio o una red entera -.