DVWA(4)

Uncategorized
この記事は約5分で読めます。

今回も引き続きDVWAサーバの挙動を、 “Burp suite” ツールを用いて調べます。

右のラズパイ4Bを “ヤラレ” サーバに仕立てて、これを左のラズパイ5から攻撃しています。
raspberry pi

今回はburp suiteのintruder機能を使っています。

burp suiteの “intruder” は過去のhttp requestの一部を自動的・連続的に改変してサーバに送る機能です。

Intruderへの移送

ログインに失敗したリクエストを右クリックして “Send to Intruder” を選択します。

Send to Intruder

“Intruder” に先ほどのリクエストが移動しています。

Intruder

変更したい部位(今回の場合はパスワードの部分)にカーソルを合わせ、左欄の “Add§” をクリックしてリクエスト本文内に “§§” を挿入します。

右半分に “Payloads” 画面が開きます。

payloads

2つの “§” の間の部分が変動部分になります。

この部分を順次変動させて、繰り返しhttpリクエストをサーバに送ります。

変動させるデータは後程payloadに登録します。

上記はDVWAサーバのSecutrity levelが “low” の場合のhttp Requestの例ですが、Secutrity levelを変更すると、Requestの内容も変わり攻撃の難易度も変化します。

Attack typeの設定

左上プルダウンより攻撃タイプを選択します。

attack type

ここでは最も単純な “Sniper” を選択しています。1カ所にパスワードを順に試す時などに使用します。

Attack typePayload主な用途
Sniper1セット1個ずつパラメータを試す
Battering ram1セット同じ値を複数箇所へ同時投入
Pitchfork複数セット複数セットの対応する値を同時投入
Cluster bomb複数セット複数セットの全組み合わせを試す

“Cluster bomb” は、Usernemeの候補セットとPasswordの候補セットを総当たりで試す時などに使用します。(後述)

wordlistの準備

ここでは “rockyou.txt” を使用してみます。

kali ー 08-Credential Access ー Password Profiling & Wordlists ー wordlists で “rockyou.txt” が解凍されます。

“rockyou.txt” は1430万語以上のパスワード候補語集ですが、最初から4番目に今回の当たりパスワードである “password” があります。

1430万語分も調べていると非常に長時間となってしまいますので、時短のため最初の10語のみのパスワード集を “rockyou1.txt” として別に作成してこれを使用します。

wordlistファイルを使わずに、payload configuration欄にコピペによる手入力もできます。

Payloadの設定

Payload typeは “Simple list” のままとします。

右欄 “Payloads” の、 “Payload configulation” 段の “Load…” をクリックします。

Load

ダイアログでワードリストファイルを選びます。(今回の場合は “rockyou1.txt” )

Select rockyou1
select rockyou2

読み込んだワードリストに基づいて、パスワードの候補一覧がpayloadsに装填されます。

payloads

Cluster bombの場合

Attack typeを ‘Cluster bomb’ に選択した場合、左欄のhttpリクエスト本文に2カ所の “§” を設定します。(ユーザネームの部分とパスワードの部分)

右欄Payloads欄の最上部 “payload position” が、 ‘1- user’ / ‘2-pass’ と選択できるようになりますので、それぞれに試行するワードを設定します。

例として、

‘1- user’ には、候補ワードを”admin”, “username”, “test” と手入力(”Paste”からコピペ)

‘2- pass’ には、候補ワードを”abc123″, “password”, “123456” と手入力(”Paste”からコピペ)

この場合、ユーザネーム数×パスワード数の回数分(上記例では3×3の9回)試行されます。

ユーザネームとパスワードの2カ所を順次変更しながら総当たりで試行する場合には、この “cluster bomb” attackを使用します。

Intruder実行

上段中央の “Start attack” をクリックして実行します。

start attack

無料版では制限がある旨が表示されます

burp intruder

実行結果

別ウインドウに結果が表示されます。

result

10回の試行は全てステータスコード “200” なので接続には成功しています。

しかし “Length” (データの長さ)は、4番目(成功回)のみ4880であり、それ以外(失敗回)の4836-7よりも長くなっています。

今回はこれによりログイン成功/失敗の判別がつきます。

成功回

4回目の試行のみ。Responseの92行目に “Welcome to the password protected area admin” とあります。

success

失敗回

4回目以外の試行回。Responseの92行目に “Username and/or password incorrect” とあります。

failure

実行結果の参照

結果表示ウインドウを閉じる際に下記ダイアログが表示されます。

“Discard”  ➡️ 結果データを即破棄

“Keep in memory”  ➡️ 結果を保持(但し無料版ではburp suite本体の終了時にどうせ破棄されます)

save attack

“Keep in memory” を選択するとDashboard画面の左欄に表示されます。

keep in memory1

選択すると右欄に表示されます。

keep in memory2

まとめ

今回は脆弱性を “Low” (最も脆弱)に設定したDVWAサーバに対して、burp suiteのintruder機能を使用してみました。

intruder機能は、サーバへのrequestを自動的に変化させて送信して、サーバーの反応の違いを検証する機能です。

前回お示ししたように、このサーバを使って色々な演習が出来ますが、今回で一旦区切りとします。

コメント

タイトルとURLをコピーしました