0
0

DVWAにBurp suite を使ってブルートフォース攻撃をしてみた

Posted at

駆け出しセキュリティエンジニアとして、すごい初歩的なところから取り組んだことをメモしていきます!
今日はBrute forceです!

概要

IDとパスワードの総当たり攻撃(Brute force、ブルートフォース)をすることで、アカウントを持っていないWebサイトにログインを試みます。
対象のWebサイトはあらかじめ脆弱性をもった状態で作成されているDVWAを使い、Burp suiteを使って攻撃していきます。

利用ツール

  • ホストOS:Windows11
  • ハイパーバイザー:Virtual box 7.0.18
  • ゲストOS:Kali Linux 2024.2
    • ペネトレーションテストなどのサイバーセキュリティに関するツールが事前にインストールされているLinux
  • Damn Vulnerable Web Application(DVWA)
    • 意図的に脆弱性が含まれているWebサイトで、どのようにWebサイトが攻撃されるかを学ぶことができる
    • 脆弱性の強弱を変更することも可能(今回は一番簡単なモードを選択)
  • Burp suite v2024.5.5
    • 今回はプロキシとして利用して、Webサイトにアクセスする際にやりとりするデータの中身を確認します。
    • プロキシとは、クライアント(=Webブラウザ≒パソコン)がWebサーバに情報(=Webページ)を取りに行く際に代理で取りにいってくれるサーバーです。クライアントがどんな情報を送っているのか(取りに行っているのか)を把握しています。

準備

  1. Kali LinuxのローカルでDVWAを立ち上げ
  2. http://localhost/DVWA/を開いて、ログインする
  3. DVWA Securityタブを選択し、SecurityレベルをLowにする
  4. Brute forceタブを選択
    image.png

攻撃

試しにUsernameとPasswordを入力して挙動を確認してから、Burp suite を用いてBrute force攻撃をしかけてログイン情報を奪取していきます!

試し打ち

まずはUsernameとPasswordにaを入れてログインしようとしてみます。
そうすると、下図のエラーメッセージが表示され、ログインに失敗したことがわかります(当たり前といえば当たり前です…)
image.png

また、URLは以下に変化しています

http://localhost/DVWA/vulnerabilities/brute/?username=a&password=a&Login=Login#

つまり、username=a&password=a のところをうまく変化させるだけで、ログインの試行が可能なことがわかります。

利用するUsernameリストとPasswordリスト

事前にこれら2つのリストを作成しておきます。
以下のユーザーリストとパスワードリストを利用しようと思います
(Username=admin, Password=passwordでログインできてしまうので、このぐらいで大丈夫です…)

Usernameリスト

root
sys
msfadmin
admin
user
service
postgres
tomcat

Passwordリスト

user
password
12345678
msfadmin
root
guest
batman
asdfasdf
tomcat

Burp suiteで攻撃

ここからBurp suite を使って、IDとパスワードを奪取していきたいと思います。

起動

左上のKali Linuxのアイコンを選択し、Burpと入力
image.png

以下の2つの設定はそれぞれ画像のように設定
image.png

image.png

こんな感じの画面になれば起動完了。よく一番右のタブのLearnの画面になっていることが多いです。
image.png

プロキシの設定

  1. Proxy タブを選択
  2. Proxy Setting を選択
  3. Tools → Proxy になっていることを確認
  4. Proxy ListenersでEditを選択し、Interfaceが127.0.0.1:8080に変更

今回はlocalhostで起動しているDVWAのWebサイトのプロキシになるように設定するので、IPアドレスは127.0.0.1で固定ですが、Portは自由に設定可能です。

image.png

動作確認

Open browserを選択して、Webブラウザが起動させます。
image.png

起動したブラウザでhttp://localhost/DVWA/index.phpを検索すると、ログイン画面がでてくるので、ログインします。

image.png

  1. (右)Burp suiteの画面でIntercept is off をクリックしてIntercept is on にする
  2. (左)DVDAのBrute Forceタブを選択
  3. (左)Usernameにtest_user、Passwordにtest_passを入れてLoginをクリック

image.png

そうするとHTTPリクエストがBurp suiteの方に表示されます。
ブラウザの方はBurp suite(プロキシ)の方で、通信が止まっているので、画面の変化はないです。
image.png

攻撃を実施

先ほどのリクエストのどこかで右クリックして、Send to Intruderを選択
image.png

Intruderタブに移って、Positionsを選択して、以下二つの設定をする

  1. Attack typeをCluster bombに設定。この設定では複数のパラメータのリストのすべての掛け合わせをテストすることができる
  2. 変数になるtest_user, test_passを選択して、右側のAdd$を選択することで、$test_user$, $test_pass$となり、変数として扱うことができる(画像はtest_passを選択している状態です。この後Add$を押します)

image.png

Payloadsに移り、Payload set1に設定する。これは先ほど選んだ変数のリストになり、先に現れるUsernameの変数が1と対応しています。
Payload settings[Simple list]に事前に決めていたユーザーリストを入力し、Payload setを2に変更して、パスワードリストも入力します。

image.png

image.png

SettingsでStore requeestsとStore responsesにチェックが入っていることを確認できたら、Start attackをクリックする。
image.png

「無料版だと制限があります」という内容の注意がでるので、OKを選択
image.png

そうするとログインの試行結果が得られます。下図の赤枠のUsernameとPasswordの組では得られた応答の長さを表すLengthが異なっており、このIDとパスワードの組がログインに成功したと思われます。
image.png

確認するためには、ProxyタブのIntercept is on をクリックし、Intercept is offにしてから、DVWAのWeb画面でログインをしてみるとわかります。

image.png

最後に

今回はBurp suite を使って、Brute forceをしてみました。
Hydraでも同じようなことができるのですが、Cookieの設定や構文を理解することが難しいといったことから少しハードルはあります…
その点、GUIで扱えるBurp suite は使い勝手がよいと思います。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0