Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
skipfish — lcamtufがGoogle向けに作成したWebアプリケーションセキュリティスキャナー - 非公式ミラー | Kitploit
ツール/GitHubGitHub/spinkham/skipfish
偵察脆弱性スキャナーウェブ脆弱性スキャナー動的分析 (サンドボックス)ウェブアプリケーション悪用情報収集ウェブセキュリティファジングペネトレーションテストクローラー
GitHubspinkham/skipfish
8721666913年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

skipfish

lcamtufがGoogle向けに作成したWebアプリケーションセキュリティスキャナー - 非公式ミラー

リポジトリを見るウェブサイト

=========================================== skipfish - web application security scanner

http://code.google.com/p/skipfish/

  • 作成・メンテナンス:

    Michal Zalewski [email protected] Niels Heinen [email protected] Sebastian Roschke [email protected]

  • Copyright 2009 - 2012 Google Inc, 無断複製禁止。

  • Apache License Version 2.0 の条件に基づいて公開されています。


  1. skipfishとは?

Skipfishは、アクティブなWebアプリケーションセキュリティ偵察ツールです。再帰的なクロールと辞書ベースのプローブを実行することで、対象サイトのインタラクティブなサイトマップを作成します。得られたマップには、多数のアクティブ(ただし、非破壊的であることを期待する)なセキュリティチェックの出力が注釈として付けられます。このツールが生成する最終レポートは、プロフェッショナルなWebアプリケーションセキュリティ評価の基礎として利用されることを意図しています。


  1. なぜこの特定のツールを使うべきなのか?

同様の機能を持つ商用およびオープンソースのツールは数多く存在します(例:Nikto、Nessus)。自分に最適なものを選んでください。とはいえ、skipfishはWebセキュリティスキャナによくある問題に対処しようとしています。具体的な利点は以下の通りです。

  • 高性能:応答性の高いインターネットターゲットに対して毎秒500以上のリクエスト、LAN/MANネットワークでは毎秒2000以上のリクエスト、ローカルインスタンスでは毎秒7000以上のリクエストが観測されており、CPU、ネットワーク、メモリのフットプリントは非常に控えめです。これは以下によるものです。

    • マルチプレックス単一スレッド、完全非同期のネットワークI/Oおよびデータ処理モデルにより、一部のマルチスレッドクライアントに見られるメモリ管理、スケジューリング、IPCの非効率性を排除。

    • Rangeリクエスト、コンテンツ圧縮、Keep-Alive接続などの高度なHTTP/1.1機能、および強制的な応答サイズ制限により、ネットワークレベルのオーバーヘッドを抑制。

    • スマートな応答キャッシュと高度なサーバ動作ヒューリスティックを使用して、不要なトラフィックを最小化。

    • パフォーマンス重視の純粋なC実装(カスタムHTTPスタックを含む)。

  • 使いやすさ:skipfishは高い適応性と信頼性を持っています。スキャナの特徴は以下の通りです。

    • あいまいなパスおよびクエリベースのパラメータ処理スキームのヒューリスティック認識。

    • 特定のパスが完全に異なるセマンティクスに従う、または異なるフィルタリングルールの対象となる、マルチフレームワークサイトの優雅な処理。

    • サイトコンテンツ分析に基づく自動的なワードリスト構築。

    • 任意に複雑なサイトの定期的かつ時間制限付き評価を可能にする確率的スキャン機能。

    • よく設計されたセキュリティチェック:このツールは正確で意味のある結果を提供することを意図しています。

      • 手作りの辞書は優れたカバレッジを提供し、合理的な時間枠での徹底的な$keyword.$extensionテストを可能にします。

      • 脆弱性検出には、シグネチャチェックよりも3段階の差分プローブが優先されます。

      • Ratproxyスタイルのロジックを使用して、微妙なセキュリティ問題(クロスサイトリクエストフォージェリ、クロスサイトスクリプトインクルージョン、混合コンテンツ、MIMEおよび文字セットの不一致、不適切なキャッシュディレクティブなど)を発見します。

      • バンドルされているセキュリティチェックは、厄介なシナリオ(保存型XSS(パス、パラメータ、ヘッダー)、ブラインドSQL/XMLインジェクション、ブラインドシェルインジェクション)を処理するように設計されています。

      • Snortスタイルのコンテンツシグネチャで、サーバエラー、情報漏洩、または危険なWebアプリケーションを強調表示します。

      • レポートの後処理により、繰り返しパターンを識別することで、残っている誤検出やサーバのギミックによるノイズを大幅に低減します。

とはいえ、skipfishは銀の弾丸ではなく、特定の目的には適さない場合があります。例えば、WASC Web Application Security Scanner Evaluation Criteriaで概説されている要件のほとんどを満たしていません(一部は意図的、一部は必要性から)。また、この種の他のほとんどのプロジェクトとは異なり、バナータイプのチェックのための既知の脆弱性の広範なデータベースは付属していません。


  1. 非常に興味深い!具体的にどのようなテストが実装されているのか?

以下に、このツールが提供するセキュリティチェックの大まかなリストを示します。

  • 高リスクの欠陥(システム侵害につながる可能性があるもの):

    • サーバサイドクエリインジェクション(ブラインドベクトル、数値パラメータを含む)。
    • GETまたはPOSTパラメータ内の明示的なSQLのような構文。
    • サーバサイドシェルコマンドインジェクション(ブラインドベクトルを含む)。
    • サーバサイドXML/XPathインジェクション(ブラインドベクトルを含む)。
    • フォーマット文字列の脆弱性。
    • 整数オーバーフローの脆弱性。
    • HTTP PUTを受け付ける場所。
  • 中リスクの欠陥(データ侵害につながる可能性があるもの):

    • ドキュメント本文内の保存型および反射型XSSベクトル(最小限のJS XSSサポート)。
    • HTTPリダイレクトを介した保存型および反射型XSSベクトル。
    • HTTPヘッダ分割を介した保存型および反射型XSSベクトル。
    • ディレクトリトラバーサル/LFI/RFI(制約付きベクトルを含む)。
    • さまざまなファイルPOI(サーバサイドソース、設定ファイルなど)。
    • 攻撃者が提供するスクリプトおよびCSSインクルージョンベクトル(保存型および反射型)。
    • 外部の信頼できないスクリプトおよびCSSインクルージョンベクトル。
    • スクリプトおよびCSSリソースにおける混合コンテンツ問題(オプション)。
    • 非SSLページからまたは非SSLページへ送信されるパスワードフォーム(オプション)。
    • レンダリング可能なコンテンツにおける誤ったまたは欠落したMIMEタイプ。
    • レンダリング可能なコンテンツにおけるジェネリックなMIMEタイプ。
    • レンダリング可能なコンテンツにおける誤ったまたは欠落した文字セット。
    • レンダリング可能なコンテンツにおける矛盾するMIME/文字セット情報。
    • Cookie設定応答における不適切なキャッシュディレクティブ。
  • 低リスクの問題(限定的な影響または低い特異性):

    • ディレクトリリスティングバイパスベクトル。
    • 攻撃者が提供するURLへのリダイレクト(保存型および反射型)。
    • 攻撃者が提供する埋め込みコンテンツ(保存型および反射型)。
    • 外部の信頼できない埋め込みコンテンツ。
    • スクリプト不可能なサブリソースにおける混合コンテンツ(オプション)。
    • HTTPS→HTTPへのHTMLフォーム送信(オプション)。
    • URL内のHTTP資格情報。
    • 期限切れまたはまだ有効でないSSL証明書。
    • XSRF保護のないHTMLフォーム。
    • 自己署名SSL証明書。
    • SSL証明書のホスト名不一致。
    • 機密性の低いコンテンツに対する不適切なキャッシュディレクティブ。
  • 内部警告:

    • リソース取得試行の失敗。
    • クロール制限の超過。
    • 404動作チェックの失敗。
    • IPSフィルタリングの検出。
    • 予期しない応答の変化。
    • 誤分類された可能性のあるクロールノード。
  • 非特異的な情報エントリ:

    • 一般的なSSL証明書情報。
    • 大幅に変化するHTTP Cookie。
    • Server、Via、X-...ヘッダーの変化。
    • 新しい404シグネチャ。
    • アクセスできないリソース。
    • HTTP認証を必要とするリソース。
    • 壊れたリンク。
    • サーバエラー。
    • 他の方法で分類されていないすべての外部リンク(オプション)。
    • すべての外部メールアドレス(オプション)。
    • すべての外部URLリダイレクタ(オプション)。
    • 不明なプロトコルへのリンク。
    • 自動補完できなかったフォームフィールド。
    • パスワード入力フォーム(外部ブルートフォース用)。
    • ファイルアップロードフォーム。
    • その他のHTMLフォーム(他に分類されないもの)。
    • 数値ファイル名(外部ブルートフォース用)。
    • ページ上にレンダリングされるユーザ提供リンク。
    • 重要度の低いコンテンツにおける誤ったまたは欠落したMIMEタイプ。
    • 重要度の低いコンテンツにおけるジェネリックなMIMEタイプ。
    • 重要度の低いコンテンツにおける誤ったまたは欠落した文字セット。
    • 重要度の低いコンテンツにおける矛盾するMIME/文字セット情報。
    • OGNLライクなパラメータ渡し規則。

特定された問題のリストに加えて、skipfishは見つかったドキュメントタイプと問題タイプの概要も提供します。また、ブルートフォースで発見されたノードが区別可能な方法で示されたインタラクティブなサイトマップも提供します。

注意:設計上の決定として、skipfishは非常に非特異的な問題について冗長に警告することはありません。これには以下が含まれますが、これらに限定されません。

  • 非httponlyまたは非secureのCookie、
  • 非HTTPSまたはオートコンプリート有効のフォーム、
  • ページ上で検出されたHTMLコメント、
  • エラーメッセージ内のファイルシステムパスの開示、
  • フレームワークバージョンの開示を含むサーバ、
  • TRACEまたはOPTIONSリクエストをサポートするサーバ、
  • WebDAVなどの特定の技術の単なる存在。

これらの側面のほとんどは、必要に応じてレポート内で簡単に検査できます。たとえば、すべてのHTMLフォームは個別にリストされ、新しいCookieや興味深いHTTPヘッダーも同様です。そして、監査担当者は適切な場合にこれらのデータに基づいて特定の設計上の推奨を行うことを選択できます。とはいえ、これらの出現は特定のセキュリティ上の欠陥として強調表示されるわけではありません。


  1. よし、試してみたい。何を知っておく必要があるか?

まず第一に、悪用しないでください。所有しているサービス、またはテストする許可があるサービスに対してのみskipfishを使用してください。

あらゆる種類のセキュリティテストは破壊的になる可能性があることを覚えておいてください。スキャナは悪意のある攻撃を実行しないように設計されていますが、誤ってサイトの運用を妨害する可能性があります。リスクを受け入れ、それに応じて計画を立てる必要があります。可能であればテストインスタンスに対してスキャナを実行し、問題が発生した場合の結果に対処する準備をしてください。

また、このツールはセキュリティ専門家が使用することを意図しており、実験的な性質を持っています。誤検出を返したり、明らかなセキュリティ問題を見逃したりする可能性があります。完全に動作している場合でも、ポイントアンドクリックのアプリケーションとして設計されているわけではありません。その出力を額面通りに受け取らないでください。

ベンダー提供のデモサイトに対してツールを実行することは、それを評価する良い方法ではありません。これらのサイトは通常、脆弱性を非常に不完全に近似しているためです。私たちはこれらのケースに対応するための努力はしていません。

最後に、スキャナは単に不正な動作をするHTTPサーバを扱うようには設計されていません。また、そこでの安全な(またはまともな)動作を保証するものではありません。


  1. スキャナの実行方法

コンパイルするには、アーカイブを解凍してmakeを試してください。おそらく、最初にlibidnをインストールする必要があります。

次に、doc/dictionaries.txtの説明を読み、適切な辞書ファイルを選択し、正しく設定する必要があります。このステップは、後でスキャン結果の品質に大きな影響を与えるため、省略しないでください。

辞書を選択したら、-Sを使用してその辞書をロードし、-Wを使用して新しく学習したサイト固有のキーワード(将来の評価で役立ちます)のために最初は空のファイルを指定できます。

$ touch new_dict.wl $ ./skipfish -o output_dir -S existing_dictionary.wl -W new_dict.wl
http://www.example.com/some/starting/path.txt

自動学習されたキーワードをどこにも保存したくない場合は、-W-を使用できます。

必要に応じて複数の開始URLを指定できることに注意してください。それらすべてがクロールされます。また、以下の構文を使用してファイルからURLを読み取ることも可能です。

$ ./skipfish [...その他のオプション...] @../path/to/url_list.txt

ツールはスキャンの進行中にいくつかの役立つ統計情報を表示します。また、リターンを押すことで進行中のHTTPリクエストのリストに切り替えることもできます。

上記の例では、skipfishはwww.example.com全体(メインページからリンクされている場合、他のポートのサービスも含む)をスキャンし、output_dir/index.htmlにレポートを書き込みます。その後、お好みのブラウザでこのレポートを表示できます(JavaScriptが有効である必要があります。また、最近の一部のブラウザでのfile:///のセキュリティ強化のため、結果にはHTTP経由でアクセスする必要があるかもしれません)。index.htmlファイルは静的です。実際の結果はJSONファイルの階層として保存され、必要に応じて機械処理や異なるプレゼンテーションフロントエンドに適しています。さらに、発見されたすべてのURLのリストが単一のファイルpivots.txtに保存され、後処理が容易になります。

シンプルな付属スクリプトsfscandiffを使用して、同じターゲットに対して同じフラグで実行された2つのスキャンの差分を計算できます。新しいレポートには、すべての新規または変更されたノードに赤い背景、すべての新規または変更された問題に青い背景が非破壊的に追加されます。

一部のサイトでは認証が必要であり、そのサポートについてはdoc/authentication.txtに記載されています。ほとんどの場合、フォーム認証方法を使用することになります。この方法は、再認証のために壊れたセッションを検出できます。

認証後、サイト上の特定のURLがセッションをログアウトさせる可能性があります。これに対抗するには、2つの方法があります:-Nオプションを使用すると、スキャナがCookieの設定または削除の試みを拒否するようになります。または、-Xパラメータを使用して、一致するURLのフェッチを防ぎます。

$ ./skipfish -X /logout/logout.aspx ...その他のパラメータ...

-Xオプションは、/icons/、/doc/、/manuals/などの標準的なありふれた場所を除外することでスキャンを高速化するのにも役立ちます。一般的に、-Xと-I(サブ文字列に一致するURLのみをスパイダーする)を使用して、スキャンのスコープを好きなように制限できます。特定のプロトコルとポートに制限することも含みます。

$ ./skipfish -I http://example.com:1234/ ...その他のパラメータ...

関連する機能として、-Kを使用すると、ファジングしないパラメータ名を指定できます(アプリケーションがURLにセッションIDを配置する場合にノイズを最小化するのに役立ちます)。

ツールをダウンロード