なぜ、ハッカーはBurp Suiteを利用するのですか?(6) Brute Force(ブルートフォース)でログインページを攻撃する操作

Burp Suiteの利用

ブルートフォース攻撃は、ログインページに対してすべての可能なパスワードを試す手法であり、特にパスワードが短くて簡単な場合に効果的です。Burp Suiteを使用して、実際にどのようにブルートフォース攻撃が行われるかを具体的に見たいと思います。

Brute Force(ブルートフォース)とは

Brute Forceとは、「力任せに、根性で」全てのパターンを試して答えを見つける方法です。
長所はシンプルで確実に正しいパスワードを必ず見つけることができます。
ただし、短所としては非常に時間がかかるということです。パスワードが長い場合、試す組み合わせの数が膨大になり、現実的に解読が不可能になります。
例えば、貴方がパスワードを解析する場合。
パスワードは「4桁の数字」ですと、内緒でブラックハッカーから情報を受け取ったとします。
すると貴方は・・・
「0000」、「0001」、「0002」・・・と確認していきますよね。
パスワードが「0099」だった場合、100回目で解析できるわけです。
人間がするにはちょっと大変でしたね。
でも、コンピューターにやってもらえば簡単ですよね。
Burp Suite」なら出来るのです。
 
 

Brute Force(ブルートフォース)のテスト(攻撃)をするためのテスト環境について

「やられサーバー」と「Burp Suite」の環境が無い方は、こちらをご覧ください。
 
・やられサーバーを作成される方は、こちらをご覧ください。
 
・WindowsにBurp Suiteをインストールされる方は、こちらをご覧ください。
 
 

Brute Force(ブルートフォース)でログインページを攻撃する方法

1.Burp SuiteからDVWAを立ち上げます。
※Burp Suiteの初期の立ち上げについて、不明な場合は
「4.Burp Suiteを使ってみましょう」 を御覧ください。
 
Username:"admin"
Password:"password"
でログインします。
 
2.DVWAのサイドメニューの「DVWA Security」で、 セキュリティを"Low"に変更します。
この セキュリティレベルLowは完全に脆弱であり、一切のセキュリティ対策がありません。
 
3.DVWAのサイドメニューの「Brute Force」をクリックして、「Vulnerability: Brute Force」のページに移動します。
 
4.DVWAのUsernameとPasswordを入力してログインする画面になります。
Usernameは"admin"とわかっている前提で、Passwordが不明の場合のブルートフォース攻撃を行います。
 
本来は、莫大な数のパスワードの情報でテストを行うのですが、
今回は、Burp Suiteの操作の流れを確認するために、以下の4つのパスワードのテストデータでテストします。
“0000"
“admin"
“pass"
“password"
 
5.Burp Suiteの画面に戻り、「Proxy」タブから「Intercept」サブタブにある「Intercept is off」ボタンを押下して「Intercept is on」に変更します。
 
6.ブラウザに戻り、Login画面で
Username:"admin"
Password:"abc" ←なんでも良いです。
そして「Login」ボタンを押下します。
 
7.Burp Suiteの画面に戻ると、「Proxy」タブの「Intercept」サブタブに、サーバーに送信する前の「リクエスト情報」が表示されます。
 
8.1行目の真ん中あたりのデータを見て下さい。
“?username=admin&password=abc"
この情報は、画面で入力したデータが設定されています。
 
Burp Suiteの機能で、パスワードの"abc"を先ほど説明したパスワードのテストデータに一つずつ入れ替えてログインができるか確認します。
 
9.それでは、現在表示されている画面上で、マウスで右クリックして「Send to Intruder」をクリックします。
 
10.「Intruder」タブに移動し、「Positions」サブタブを表示します。
 
11.パスワードのテストデータと入れ替える情報を選択します。
1行目の"abc"が入れ替える情報になります。
 
a.マウス左ボタンで、入れ替える情報を選択して反転させます。
 
b.画面右にある「ADD $」ボタンを押下します。
 
c."abc"が"$abc$"と表示が変わります。
 
この"$abc$"の情報が「パスワードのテストデータ」が設定する場所になります。
 
12.次に「Payloads」サブタブに移動します。
 
13.「Payload sets」の項目で
Payload set:1
Payload type:Simple list
であることを確認します。
 
14.「Payload settings[Simple list]」にパスワードのテストデータを設定します。
設定するテストデータは、"0000″、"admin"、"pass"、"password"です。
 
a."0000″のデータを設定します。
「Add」の横のフィールドに"0000″を設定します。
 
b.「Add」ボタンを押下します。
すると、"0000″のデータが「Simple list」に登録されます。
 
c.同様に"admin"、"pass"、"password"のデータも登録します。
 
15.これで、サーバーに送信する「リクエスト情報」に「パスワードのテストデータ」を1つずつ設定してテスト(攻撃)できる状態になりました。
「Intruder」タブの右上にある「Start attack」ボタンをクリックしてテスト(攻撃)を開始します。
攻撃が実行され、Burp SuiteはSimple list内のすべてのパスワードを試行します。
 
16.結果の確認
攻撃が終了すると、新たな画面が表示されます。
 
以下の画面が表示されたら、「OK」ボタンを押下してください。
(訳)Burp Suiteのコミュニティ版には、Burp Intruderのデモ版が含まれています。Burp Suiteの詳細については、https://portswigger.netをご覧ください。完全版を含むProfessionalの詳細については、 rtswigger.netをご覧ください。
 
17.結果の見方
簡単に結果を見ていきます。
 
a.パスワードのテストデータの順に結果が並んでいます。
Request 0 は一番最初にログイン画面で設定したデータの結果です。
 
b.それでは、Request 1 を見ていきましょう。
Payloadは"0000″でテストした結果です。
画面下部を参照すると「Request」タブと「Response」タブがあります。
 
簡単に結果を見るには「Response」タブの「Render」サブタブを参照します。
ここには、ログインした画面の結果が表示されています。
下部に赤文字で「Username and/or password incorrect.(ユーザー名またはパスワードが間違っています。)」と表示されています。
パスワード"0000″は失敗でした。
 
つぎつぎ見ていくと、Request 4のPayloadが"password"の場合は
Welcome to the password protected area admin(パスワードで保護されたエリアへようこそ 管理者)」と表示されてパスワードが"password"であることがわかりました。
 
 

なぜ、ハッカーはBurp Suiteを利用するのですか?(6) Brute Force(ブルートフォース)でログインページを攻撃する操作のまとめ

操作が理解できるとテスト(攻撃)は意外に簡単でしたね。
肝になるのは「パスワードのテストデータ」です。
参考になる情報として「Kali Linux」に格納されている"rockyou.txt"と言うパスワードファイルがあります。
 
ただし、ブルートフォース攻撃に対する一般的な対策としては、次のような方法があります。
1.パスワードを長くし、文字、数字、記号を組み合わせて複雑にする。
2.ログイン試行の回数を制限する(例えば、何度か失敗すると一時的にアカウントをロックする)。
3.二要素認証(2FA)を使用する。
 
サーバーがこのような対策をしていると攻撃は難しいですね。