๐ฃColdfusion - Ataques
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.
Searchsploit
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)
.
Path Traversal
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
.
RCE no autenticado
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.
Descarga del exploit
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.
Modificaciรณn del exploit
El exploit tardarรก un poco en ejecutarse, pero eventualmente devolverรก un shell remoto funcional.
Explotaciรณn
Reverse Shell
Caso prรกctico
ยฟBajo quรฉ usuario se ejecuta ColdFusion?
Escaneo de puertos
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:
Path traversal
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.
RCE no autorizado
Modificamos el script de esta manera:
Y ejecutamos el exploit:
Conseguimos una reverse shell y vemos que somos el usuario arctic/tolis
.
รltima actualizaciรณn
ยฟTe fue รบtil?