2013年5月1日水曜日

skipfish の使い方

skipfish は Google が開発した Web スキャナ。
開発情報やダウンロード等はここからできる。

Back Track には標準でインストールされている。豊富なパターンがありスキャンにはある程度時間がかかる。Web 検査する場合、まずは skipfish で検査する対象をスキャンした後に手動で実施するのが効率的。

ログインが必要ないサイトへのスキャン

BT5R3 だと /pentest/web/skipfish に実行ファイルがある。ログインなしのWebだと下記のように実行する。

./skipfish -W wordlist -o output_dir start_url

それぞれのオプションは次のとおり。

  • -W: 使用する辞書を指定、同じディレクトリに dictionaries というディレクトリがあり、そこにデフォルトの辞書が置かれているので辞書ファイルがなければそれを指定する、minimal.wl でも Web の構造によってはかなりスキャンに時間がかかるので注意が必要、辞書を使わない場合は null を指定する方法もある。
  • -o: スキャン結果を保存するディレクトリを指定、HTML 形式でかなりの数のファイルが作成されるので、新規でディレクトリを作成したほうがよい。
  • start_url: スキャンを開始するURL
自動学習や辞書など使わずに短時間で指定ページのみスキャンしたい場合は -W で null を指定し、 -LY をつけて実行する。
また、デフォルトの状態では最大同時セッション数が40となっている。リモートから実施する場合などは調整をしたほうがネットワーク負荷が減ってよい。

ログインが必要なサイトのスキャン

ログインが必要な場合のオプションの指定方法は skipfish の wiki が詳しい。

Cookieでセッション管理している場合にはブラウザでログインし、Cookie情報を取得する必要がある。
取得したCookie情報は -C オプションで指定する。

./skipfish -N -C [cookie-name]=[value] -X /login -X /logout -o output-dir https://start_url

-N は新しいクッキーを受け付けないようにするオプション。通常は必要ないがクッキーを変更されたくない場合に使用。
-Xは検査除外設定。login や logout ページを検査するとログアウト処理されてしまい、その後の検査ができなくなるためセッション管理しているサイトの検査では必須。

ポップアップのauthの場合は -A オプションでユーザとパスワードを指定する。

User-Agent のチェックもしている場合は、User-Agent をクッキー情報を取得するブラウザと合わせる必要がある。その場合、-b オプションを使用する。ただし、標準で準備されている User-Agent は IE、Firefox、iphone となるため、Cookie 情報を使用する場合はブラウザを合わせる必要がある。

なお、Auth::setAdvancedSecurity オプションなどが有効になっていると正常に検査できないなど、認証関連では思うように動作しない場合がある。

0 件のコメント:

コメントを投稿