viernes, 28 de septiembre de 2012

Vulnerabilidades en Joomla (II). Identificando

En el último post dejamos joomlascan ejecutándose después de darle una pequeña ayuda para pudiera identificar la existencia de algún sistema que interceptaba los errores 404.
Poco a poco joomlascan empieza a escupir el resultado de los diversos test que está realizando.
El siguiente paso es tratar de extraer la máxima información de su huella digital (fingerprint).

## Fingerprinting in progress ...

~Generic version family ....... [1.5.x]

~1.5.x en-GB.ini revealed [1.5.12 - 1.5.14]

* Deduced version range is : [1.5.12 - 1.5.14]

## Fingerprinting done.


## 7 Components Found in front page  ##

 com_wrapper com_xmap
 com_phocadownload com_content com_ckforms
 com_weblinks com_user

Nos dice, para empezar que se trata de un joomla! 1.5.12-14 y que ha localizado desde la front-page siete componentes que enumera a continuación.

Bueno, pues ya tenemos bastante idenficado el sistema. Sigamos analizando la salida

Empieza a buscar las vulnerabilidades del sistema. :

Vulnerabilities Discovered
==========================

# 1
Info -> Generic: htaccess.txt has not been renamed.
Versions Affected: Any
Check: /htaccess.txt
Exploit: Generic defenses implemented in .htaccess are not available, so exploiting is more likely to succeed.
Vulnerable? Yes

# 2
Info -> Generic: Unprotected Administrator directory
Versions Affected: Any
Check: /administrator/
Exploit: The default /administrator directory is detected. Attackers can bruteforce administrator accounts. Read: http://yehg.net/lab/pr0js/view.php/MULTIPLE%20TRICKY%20WAYS%20TO%20PROTECT.pdf
Vulnerable? N/A

# 3
Info -> Core: Missing JEXEC Check - Path Disclosure Vulnerability
Versions effected: 1.5.11 <=
Check: /libraries/phpxmlrpc/xmlrpcs.php
Exploit: /libraries/phpxmlrpc/xmlrpcs.php
Vulnerable? No

La información sobre cada vulnerabilidad tienen todas el mismo formato.

  • Info: Descripción de la vulnerabilidad
  • Version afectada:  Valor de la version o Any para todas
  • Check: literal de la URL que detecta esa vulnerabilidad
  • Exploit: Información sobre la posibilidad de explotar la vulnerabilidad
  • Vulnerable: Sí, No, No puede ser determinado [N/A]

Y así tenemos hasta 193 análisis.  Veamos el fin del scan


# 193
Info -> Component: com_KSAdvertiser Remote File & Bypass Upload Vulnerability
Versions Affected: any
Check: /index.php?option=com_ksadvertiser&Itemid=36&task=add&catid=0&lang=en
Exploit: /index.php?option=com_ksadvertiser&Itemid=36&task=add&catid=0&lang=en
Vulnerable? N/A

There are 5 vulnerable points in 193 found entries!

~[*] Time Taken: 8 min and 25 sec
~[*] Send bugs, suggestions, contributions to joomscan@yehg.net

Que nos dice que ha encontrado 5 vulnerabilidades. Son las siguientes:

# 1
Info -> Generic: htaccess.txt has not been renamed.
Versions Affected: Any
Check: /htaccess.txt
Exploit: Generic defenses implemented in .htaccess are not available, so exploiting is more likely to succeed.
Vulnerable? Yes
# 7
Info -> Core: Admin Backend Cross Site Request Forgery Vulnerability
Versions effected: 1.0.13 <=
Check: /administrator/
Exploit: It requires an administrator to be logged in and to be tricked into a specially crafted webpage.
Vulnerable? Yes
# 12
Info -> CorePlugin: TinyMCE TinyBrowser addon multiple vulnerabilities
Versions effected: Joomla! 1.5.12
Check: /plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/
Exploit: While Joomla! team announced only File Upload vulnerability, in fact there are many. See: http://www.milw0rm.com/exploits/9296
Vulnerable? Yes
# 27
Info -> CoreComponent: com_mailto timeout Vulnerability
Versions effected: 1.5.13 <=
Check: /components/com_mailto/
Exploit: [Requires a valid user account] In com_mailto, it was possible to bypass timeout protection against sending automated emails.
Vulnerable? Yes
# 31
Info -> Component: Seminar com_seminar Blind SQL Injection Vulnerability
Versions effected: 2.0.4 <=
Check: /components/com_seminar/
Exploit: /index.php?option=com_seminar&task=View_seminar&id=1+and+1=1::index.php?option=com_seminar&task=View_seminar&id=1+and+1=2
Vulnerable? Yes

A partir de aquí, si somos los administradores del sistema ya sbaemos que medidas tomar y si estamos haciendo un test de penetración debemos investigar los exploits de estas debilidades

Pero como en esta caso somos los administradores veremos que medidas  tomar:

#1: Deberemos renombrar el fichero htacces como .htaccess
#7: Como estamos en una versión superior no es necesario tomar medidas.
#12: Igual que el anterior. Subir de nivel.
#27. Subir de Nivel 
#31. Subir de Nivel.

Para finalizar he aquí algunos de los check que ejecuta joomlascan:

  • /index.php?option=com_content&view=%' +'a'='a&id=25&Itemid=28
  • /index.php?option=com_poll&task=results&id=14&mosmsg=DOS@HERE<<>AAA<><>
Este es realmente espectacular:
  • /index.php?option=com_acajoom&act=mailing&task=view&listid=1&Itemid=1&mailingid=1+UNION+SELECT+1,1,1,1,concat(0x1e,username,0x3a,password,0x1e,0x3a,usertype,0x1e),1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1+FROM+jos_users+where+usertype=0x53757065722041646d696e6973747261746f72+LIMIT+1,1--
  • /administrator/components/com_dadamail/config.dadamail.php?GLOBALS[mosConfig_absolute_path]=
  • /index.php?option=com_jeguestbook&view=../../../../../../../../etc/passwd

Si analizando el access.log de vuestro servidor encontrais peticiones de este tipo, (y seguro que las encontrareis) no os quepa duda estan atacando vuestro sistema.

En próximos post veremos que medidas preventivas tomar para hacer un sistema joomla más robusto y que hacer si por no haber tomado medidas o, a pesar de haberla tomado, nuestro sistema se ha visto comprometido.

Aunque no será en los próximos post, que dedicaremos a otros temas.

No hay comentarios:

Publicar un comentario