本記事の概要
意図的に脆弱性が存在するWebサーバであるDVWAのBrute Forceカテゴリの脆弱性の演習の流れを記載します。
文字数が少ないなど簡単なユーザ名やパスワードを設定していた場合に、Brute Force攻撃でログイン成功されてしまう可能性があります。
Brute Force攻撃の対策としては、以下のような機能を導入することが有効です。
・多要素認証
・パスワード失敗の閾値を超えた場合にアカウントロック
・CAPTCHA
DVWAでは3段階(Low、Medium、High)のレベルに分かれて問題が出題されていますので、それぞれの演習の手順を記載します。
DVWAの概要や導入方法は「DVWA(Damn Vulnerable Web Application)を構築してみた」をご確認ください。
※Brute Force攻撃を自身が管理しているサーバ以外に攻撃した場合は、犯罪になりますので注意してください。
※本記事に記載している内容を行った場合でも私は責任を取れませんので、実施する際は注意してください。
Burp Suiteのインストールと設定
演習問題を解くための準備をします。
ブラウザでアクセスした通信内容の確認及び改ざんのために、ローカルプロキシツールであるBurp Suiteのインストールをして、ブラウザのプロキシ設定をします。
(1) 以下の2つのページに記載されている手順に従って、Burp SuiteとFirefoxをインストールします。
・Burp Suite : Burp SuiteをWindows 10にインストールしてみた
・Firefox : Mozilla Firefoxをインストールしてみた
(2) Burp Suiteを起動します。
(3) 「Temporary projects」にチェックを付けて、「Next」をクリックします。
(4) 「Use Burp defaults」にチェックを付けて、「Start Burp」をクリックします。
(5) [Proxy]-[Options]をクリックして、Interfaceの内容が「127.0.0.1:8080」になっていることを確認します。
(6) Firefoxを起動します。
(7) 右上の「三」をクリックして、「設定」をクリックします。
(8) ネットワーク設定の「接続設定」をクリックします。
(9) 以下の内容を設定して、「OK」をクリックします。
・手動でプロキシーを設定する : チェックを付ける
・HTTP プロキシ : 127.0.0.1 (※)
・ポート : 8080 (※)
・このプロキシをFTPとHTTPSでも使用する : チェックを付ける
※上記の手順(6)で確認したBurp Suiteの待ち受けIPアドレスとポート番号が違う場合は、適宜変更します。
DVWAのレベルの設定変更手順
DVWAで設定できる問題の難易度の3段階(Low、Medium、High)の設定方法のやり方を記載します。
(1) 「DVWA Security」をクリックして、「Security Level is currently 〇〇〇」に記載されている現在のレベルを確認します。その後、レベルを選択して、「Submit」をクリックします。
(2) 「Security Level is currently 〇〇〇」の表記が変わったことを確認します。
DVWAのBrute Force攻撃のやり方
Brute Forceの脆弱性の場合、レベル(Low、Medium、High)によって攻撃手法は変わりません。
(1) Burp Suiteの[Proxy]-[Intercept]をクリックして、「Intercept is on」という表記になっていることを確認します。もし、「intercept is off」になっている場合は、クリックして「intercept is on」に変わったことを確認します。
※この設定を有効化することで、Burp Suiteを経由する通信をプロキシ(Burp Suite)で止めます。
(2) DVWAのBrute Forceの画面にて、UsernameとPasswordを入力します。その後、「Login」をクリックします。
(3) Burp Suiteの[Proxy]-[Intercept]の画面にて、先ほど送信したデータが表示されていることを確認します。
(4) 通信データの箇所で右クリックして、「Send to Intruder」をクリックします。
(5) 「Clear $」をクリックします。
(6) 総当たりで試行する変数を選択して、「Add $」をクリックします。今回はusernameとpasswordのパラメータを選択して、「Add $」をクリックします。
(7) 以下のように表示されていることを確認します。
(8) 「Payloads」をクリックして、以下の内容を設定します。
・Payload set : 1 ← 1つ目の変数であるusernameの値を設定
・Payload type : Simple list
(9) Payload Options欄に、総当たり試行する内容を入力して「Add」をクリックします。その後、設定が追加されたことを確認します。
(10) 以下の内容を設定します。
・Payload set : 2 ← 2つ目の変数であるpasswordの値を設定
・Payload type : Simple list
・Payload Options : 総当たりを試行する内容
(11) [Instruder]-[Start attack]をクリックします。
(12) 以下のポップアップが表示された場合、「OK」をクリックします。
(13) しばらく待って、総当たりの試行結果が表示されます。Length欄にレスポンスのバイト数が表示されているため、バイト数が異なる以下の組み合わせの列をクリックします。
・username : admin
・password : password
(14) 下部にリクエストデータの内容が表示されていることを確認します。
(15) [Response]-[Render]をクリックして、レスポンス画面が表示されていることを確認します。レスポンス画面に「Welcome to the password protected area admin」というメッセージが出力されているためログインが成功していることが分かります。
DVWAに関する記事
DVWAについての関連記事は以下の通りです。
必要に応じて、ご確認ください。
No | タイトル | 記事の概要 |
---|---|---|
1 | DVWA(Damn Vulnerable Web Application) を構築してみた | DVWAのバージョン1.0.7の構築手順を記載します。 |
2 | DVWAのBrute Forceの脆弱性の演習 | DVWAの環境を用いてBrute Force攻撃の 演習の例を記載します。 |
3 | DVWAのCommand Executionの脆弱性の演習 | DVWAの環境を用いてCommand Execution攻撃の 演習の例を記載します。 |
4 | DVWAのCross Site Request Forgery (CSRF)の 脆弱性の演習 | DVWAの環境を用いてCSRF攻撃の 演習の例を記載します。 |
5 | DVWAのFile Inclusionの脆弱性の演習 | DVWAの環境を用いてFile Inclusionの脆弱性を 悪用した攻撃の演習の例を記載します。 |
6 | DVWAのSQL Injectionの脆弱性の演習 | DVWAの環境を用いてSQL Injection攻撃の 演習の例を記載します。 |
7 | DVWAのFile Uploadの脆弱性の演習 | DVWAの環境を用いてFile Uploadの脆弱性を 悪用した攻撃の演習の例を記載します。 |
8 | DVWAのXSS reflectedの脆弱性の演習 | DVWAの環境を用いてXSS reflected攻撃の 演習の例を記載します。 |
9 | DVWAのXSS storedの脆弱性の演習 | DVWAの環境を用いてXSS stored攻撃の 演習の例を記載します。 |