Pentesting con Davtest
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:
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 formatousuario: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:
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:
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ásEXECUTABLE(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:
¡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:
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
.phpse marcarán comoEXECUTABLE. 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 consudo systemctl stop apache2.