Pentesting con Davtest

 

https://www.onlinetis.com

Pentesting con Davtest

Davtest es una herramienta excelente y muy directa incluida en Kali Linux que se utiliza para escanear y hacer pruebas de penetración (pentesting) en servidores que usan el protocolo WebDAV (Web Distributed Authoring and Versioning).

Su objetivo principal es conectarse a un directorio WebDAV, intentar subir de forma automática una gran variedad de archivos con diferentes extensiones (como .php, .txt, .html, .asp) y verificar cuáles de ellos se pueden ejecutar o leer. Esto ayuda a los auditores a descubrir si un atacante podría subir un archivo malicioso (como una web shell) y tomar el control del servidor.

Sintaxis Básica y Uso

La sintaxis fundamental de davtest es muy sencilla. Solo necesitas abrir tu terminal en Kali Linux y usar el siguiente comando:

Bash
davtest -url http://[IP_o_Dominio]/[directorio_webdav]

Parámetros más comunes:

  • -url: Especifica la dirección del servidor WebDAV que quieres testear.

  • -auth: Si el directorio requiere autenticación, puedes pasarle las credenciales en formato usuario:contraseña.

  • -cleanup: Le dice a la herramienta que borre todos los archivos de prueba que logró subir una vez que termine el escaneo (muy recomendado para no dejar basura en el servidor).

Ejemplo Práctico de Escaneo

Si estás auditando un servidor local en la dirección 192.168.1.50 que tiene una carpeta WebDAV protegida con contraseña, usarías algo como esto:

Bash
davtest -url http://192.168.1.50/webdav/ -auth admin:password123 -cleanup

¿Qué verás en la pantalla?

El programa empezará a enviar peticiones para crear un directorio de prueba y luego intentará subir extensiones una por una. La salida te mostrará algo parecido a esto:

Plaintext
Testing connection with WebDAV on http://192.168.1.50/webdav/
SUCCEED: Authentication successful.

Sending test files:
txt: ... SUCCEED
php: ... SUCCEED
asp: ... FAIL
html: ... SUCCEED

Executable extensions:
PHP files are EXECUTABLE

⚠️ Análisis del resultado: Si la herramienta te indica que una extensión como PHP o ASP es SUCCEED (subida con éxito) y además EXECUTABLE (se puede ejecutar), significa que el servidor está mal configurado y es vulnerable a una ejecución remota de código (RCE).


Montar tu propio entorno de pruebas es la mejor manera (y la más segura) de aprender a usar herramientas como davtest sin correr el riesgo de meterte en problemas legales o romper un servidor real.

Para hacerlo de forma segura, te recomiendo montar este servidor dentro de tu propia máquina de Kali Linux (o en una máquina virtual en la misma red local) y asegurarte de que solo sea accesible de manera interna.

Aquí tienes el paso a paso para configurar un servidor Apache con WebDAV en un sistema basado en Debian/Kali Linux.

Configuración del Servidor WebDAV

Para que el orden de los comandos sea exacto y no haya fallos de permisos, sigue estos pasos en tu terminal:

1.Instalar Apache:1-2 min.

Primero, asegúrate de tener el servidor web Apache instalado y actualizado.

Bash
sudo apt update && sudo apt install apache2 -y
2.Habilitar los módulos de WebDAV:Menos de 1 min.

Apache ya viene con el soporte para WebDAV, pero está desactivado por defecto. Actívalo con estos comandos:

Bash
sudo a2enmod dav
sudo a2enmod dav_fs
3.Crear la carpeta compartida:Menos de 1 min.

Crea el directorio físico donde se guardarán los archivos de WebDAV y asígnale los permisos correctos al usuario de Apache (www-data).

Bash
sudo mkdir -p /var/www/webdav
sudo chown -R www-data:www-data /var/www/webdav
4.Crear el archivo de contraseñas (Autenticación):Menos de 1 min.

Para simular un entorno real y practicar el parámetro -auth de davtest, crea un usuario llamado externo protegido por contraseña:

Bash
sudo htpasswd -c /etc/apache2/webdav.password externo

(Te pedirá que introduzcas y confirmes una contraseña en la terminal).

5.Configurar el sitio en Apache:2-3 min.

Abre el archivo de configuración por defecto de Apache para añadir las reglas de WebDAV:

Bash
sudo nano /etc/apache2/sites-available/000-default.conf

Baja hasta el final del archivo (justo antes de la etiqueta de cierre </VirtualHost>) y pega el siguiente bloque:

Apache
Alias /webdav /var/www/webdav


    DAV On
    AuthType Basic
    AuthName "Acceso WebDAV"
    AuthUserFile /etc/apache2/webdav.password
    Require valid-user

Guarda los cambios (Ctrl+O, Enter) y sal del editor (Ctrl+X).

6.Reiniciar el servicio:Menos de 1 min.

Para que Apache aplique todos los módulos nuevos y la configuración que acabas de escribir, reinicia el servicio:

Bash
sudo systemctl restart apache2

¡Hora de probarlo!

Con el servidor corriendo, ya puedes lanzar davtest contra tu propia máquina. Si lo estás haciendo todo en la misma máquina de Kali, tu IP local será 122.0.0.1 (localhost).

Prueba a ejecutar el comando sustituyendo la contraseña que creaste en el Paso 4:

Bash
davtest -url http://127.0.0.1/webdav/ -auth externo:tu_contraseña_aquí -cleanup

¿Qué buscar en los resultados?

Como acabamos de crear una carpeta con permisos totales para el usuario de Apache, verás que davtest logrará subir casi cualquier archivo (SUCCEED).

💡 Nota de seguridad: Por defecto, si el módulo de PHP está activo en tu Apache, verás que los archivos .php se marcarán como EXECUTABLE. En un entorno de producción real, esto sería una vulnerabilidad crítica, ya que un atacante podría subir una shell para ejecutar comandos en tu máquina. Cuando termines de practicar, puedes apagar el servidor con sudo systemctl stop apache2.

https://www.onlinetis.com

Entradas populares de este blog

Hacking y ciberseguridad en kali linux con Fping

Hacking y ciberseguridad en kali linux con atk6-thcping6

Como utilizar Fierce en kali linux