Última actualización
¿Te fue útil?
Última actualización
¿Te fue útil?
Ahora que sabemos que ColdFusion 8 es un objetivo, el siguiente paso es comprobar si existen exploits conocidos. Searchsploit
es una herramienta de línea de comandos para searching and finding exploits
la base de datos de exploits. Forma parte del proyecto Exploit Database, una organización sin ánimo de lucro que ofrece un repositorio público de exploits y software vulnerable. Searchsploit
busca en la base de datos de exploits y devuelve una lista de exploits y sus detalles relevantes, incluido el nombre del exploit, su descripción y la fecha de publicación.
Como sabemos, la versión de ColdFusion que se está ejecutando es ColdFusion 8
, y hay dos resultados de interés. Los resultados Adobe ColdFusion - Directory Traversal
y Adobe ColdFusion 8 - Remote Command Execution (RCE)
.
Directory/Path Traversal
es un ataque que permite a un atacante acceder a archivos y directorios fuera del directorio previsto en una aplicación web. El ataque explota la falta de validación de entrada en una aplicación web y puede ejecutarse a través de varios inputs
como parámetros de URL
, campos de formulario
, cookies
, y más.
Al manipular los parámetros de entrada, el atacante puede recorrer la estructura de directorios de la aplicación web y access sensitive files
, incluidos configuration files
, user data
, y otros archivos del sistema. El ataque puede ejecutarse manipulando los parámetros de entrada en las etiquetas ColdFusion como CFFile
y CFDIRECTORY
, que se utilizan para operaciones de archivos y directorios como cargar, descargar y enumerar archivos.
Aquí un fragmento de código de ColdFusion:
En este fragmento de código, la etiqueta cfdirectory
de ColdFusion enumera el contenido del directorio uploads
y cfloop
se utiliza para recorrer los resultados de la consulta y mostrar los nombres de los archivos como enlaces en los que se puede hacer clic en HTML.
Sin embargo, el parámetro directory
no se valida correctamente, lo que hace que la aplicación sea vulnerable a un ataque Path Traversal. Un atacante puede aprovechar esta vulnerabilidad manipulando el parámetro directory
para acceder a archivos fuera del directorio uploads
.
En este ejemplo, la ../
secuencia se utiliza para navegar por el árbol de directorios y acceder al archivo /etc/passwd
fuera de la ubicación prevista.
CVE-2010-2861
es el exploit Adobe ColdFusion - Directory Traversal
descubierto por searchsploit
. Es una vulnerabilidad en ColdFusion que permite a los atacantes realizar ataques de cruce de ruta.
CFIDE/administrator/settings/mappings.cfm
logging/settings.cfm
datasources/index.cfm
j2eepackaging/editarchive.cfm
CFIDE/administrator/enter.cfm
Estos archivos ColdFusion son vulnerables a un ataque de recorrido de directorio en Adobe ColdFusion 9.0.1
y earlier versions
. Los atacantes remotos pueden aprovechar esta vulnerabilidad para leer archivos arbitrarios mediante la manipulación de locale parameter
estos archivos ColdFusion específicos.
Con esta vulnerabilidad, los atacantes pueden acceder a archivos fuera del directorio previsto mediante la inclusión ../
de secuencias en el parámetro de archivo. Por ejemplo, considere la siguiente URL:
En este ejemplo, la URL intenta acceder al archivo mappings.cfm
en el directorio /CFIDE/administrator/settings/
de la aplicación web con una configuración en
regional específica. Sin embargo, se puede ejecutar un ataque de path traversal manipulando el parámetro de configuración regional de la URL, lo que permite a un atacante leer archivos arbitrarios ubicados fuera del directorio deseado, como archivos de configuración o archivos del sistema.
En este ejemplo, las secuencias ../
se han utilizado para reemplazar una locale
válida para recorrer la estructura del directorio y acceder al archivo passwd
ubicado en el directorio /etc/
.
Usando searchsploit
, copie el exploit a un directorio de trabajo y luego ejecute el archivo para ver qué argumentos requiere.
Coldfusion - Explotación
El archivo password.properties
de ColdFusion es un archivo de configuración que almacena de forma segura contraseñas cifradas para varios servicios y recursos que utiliza el servidor ColdFusion. Contiene una lista de pares clave-valor, donde la clave representa el nombre del recurso y el valor es la contraseña cifrada. Estas contraseñas cifradas se utilizan para servicios como database connections
, mail servers
, LDAP servers
y otros recursos que requieren autenticación. Al almacenar contraseñas cifradas en este archivo, ColdFusion puede recuperarlas y utilizarlas automáticamente para autenticarse con los servicios respectivos sin necesidad de introducir manualmente las contraseñas cada vez. El archivo suele estar en el directorio [cf_root]/lib
y se puede gestionar a través del Administrador de ColdFusion.
Al proporcionar los parámetros correctos al script de explotación y especificar la ruta del archivo deseado, el script puede activar un exploit en los puntos finales vulnerables mencionados anteriormente. El script mostrará el resultado del intento de explotación:
Coldfusion - Explotación
Como podemos ver, se ha recuperado el contenido del archivo password.properties
, lo que demuestra que este objetivo es vulnerable a CVE-2010-2861
.
La ejecución remota de código no autenticado ( RCE
) es un tipo de vulnerabilidad de seguridad que permite a un atacante ejecutar código arbitrario
en un sistema vulnerable sin autenticación
. Este tipo de vulnerabilidad puede tener consecuencias graves, ya que permite a un atacante tomar el control total del sistema
y potencialmente robará datos confidenciales o provocará daños al sistema.
La diferencia entre un RCE
y un Unauthenticated Remote Code Execution
es si un atacante necesita o no proporcionar credenciales de autenticación válidas para explotar la vulnerabilidad. Una vulnerabilidad RCE permite a un atacante ejecutar código arbitrario en un sistema de destino, independientemente de si tiene o no credenciales válidas. Sin embargo, en muchos casos, las vulnerabilidades RCE requieren que el atacante ya tenga acceso a alguna parte del sistema, ya sea a través de una cuenta de usuario u otros medios.
Por el contrario, una vulnerabilidad RCE no autenticada permite a un atacante ejecutar código arbitrario en un sistema de destino sin credenciales de autenticación válidas. Esto hace que este tipo de vulnerabilidad sea particularmente peligrosa, ya que un atacante puede potencialmente tomar el control de un sistema o ejecutar comandos maliciosos sin ninguna barrera de entrada.
En el contexto de las aplicaciones web ColdFusion, un ataque RCE no autenticado ocurre cuando un atacante puede ejecutar código arbitrario en el servidor sin requerir autenticación. Esto puede suceder cuando una aplicación web permite la ejecución de código arbitrario a través de una característica o función que no requiere autenticación, como una consola de depuración o una funcionalidad de carga de archivos. Considere el siguiente código:
En el código anterior, la variable cmd
se crea concatenando la variable cgi.query_string
con un comando que se va a ejecutar. Luego, este comando se ejecuta utilizando la función cfexecute
, que ejecuta el programa de Windows cmd.exe
con los argumentos especificados. Este código es vulnerable a un ataque RCE no autenticado porque no valida correctamente la variable cmd
antes de ejecutarla ni requiere que el usuario esté autenticado. Un atacante podría simplemente pasar un comando malicioso como variable cgi.query_string
y el servidor lo ejecutaría.
Esta URL incluye un punto y coma (%3B
) al comienzo de la cadena de consulta, lo que puede permitir la ejecución de varios comandos en el servidor. Esto podría agregar funcionalidad legítima con un comando no deseado. El comando echo
incluido imprime un mensaje en la consola y va seguido de un comando de redirección para escribir un archivo en el directorio C:
con un mensaje que indica que el servidor ha sido comprometido.
Un ejemplo de un ataque RCE no autenticado de ColdFusion es la vulnerabilidad CVE-2009-2265
que afectó a las versiones 8.0.1 y anteriores de Adobe ColdFusion. Esta vulnerabilidad permitía a usuarios no autenticados cargar archivos y obtener ejecución remota de código en el host de destino. La vulnerabilidad existe en el paquete FCKeditor y se puede acceder a ella en la siguiente ruta:
CVE-2009-2265
es la vulnerabilidad identificada por nuestra búsqueda anterior en SearchSploit como Adobe ColdFusion 8 - Remote Command Execution (RCE)
. Introdúzcala en un directorio de trabajo.
Una revisión cat
rápida del código indica que el script necesita cierta información. Establezca la información correcta y ejecute el exploit.
El exploit tardará un poco en ejecutarse, pero eventualmente devolverá un shell remoto funcional.
¿Bajo qué usuario se ejecuta ColdFusion?
Tenemos 3 puertos abiertos, y nos centraremos en el 8500.
Al entrar por el navegador observamos 2 directorios propios de Cold Fusion, lo que nos indica su presencia en el sistema:
Vemos que es vulnerable y nos vuelca una contraseña de administrador. Probamos esa contraseña en el directorio CFDE/administrator
pero no conseguimos acceder, por lo que probaremos otra técnica.
Modificamos el script de esta manera:
Y ejecutamos el exploit:
Conseguimos una reverse shell y vemos que somos el usuario arctic/tolis
.