Webアプリハッキング学習、DVWAのセットアップ方法【Kali 2020.1】


事の背景

会社の後輩に「SQLインジェクションのイメージが沸かない」と相談をされましたので、実際にWebアプリケーションへハッキング攻撃できる学習用アプリケーション「DVWA」を構築し、実演しようとなりました。
今回はKali LinuxにDVWAを構築するまでの手順を紹介します。
なお、本手順はIPUAIRON様のハッキング・ラボのつくりかた を参考に進めております。興味のある方は、是非読んでみてください。

0.今回の環境

構築した環境条件は以下となります。

  • VirtualBox v6.1.2(r135662)
  • Kali Linux 2020.1
  • ブラウザ:Firefox
  • Kali内での特殊な設定:私の環境ではsudoコマンド実行時、パスワードを聞かれないよう設定を変更しております。
    • そのため、sudoコマンド実行時の画像等でパスワードを聞いてくるような文言がありません。デフォルト設定ではパスワードを要求されますので、自身の環境との差分にご注意ください。

1. DVWAのインストール

  • KaliでDVWAのサイトへアクセスし、ページ下部の「Download」から"DVWA-master.zip"をダウンロードします。

DVWA-Damn Vulnerable Web Application
URL:http://www.dvwa.co.uk/

  • ダウンロードしたファイルを"/root"配下にコピー(/移動)させます。ただし、/rootは一般権限では操作できないため、一度root権限へ昇格します。
$ sudo su
※パスワードを聞かれます。デフォルトであれば、"kali"
  • root権限となったら、DVWA-master.zipをrootフォルダへコピーします。


↑一般権限では、「Permission denied」となるが、root権限後は問題なくrootフォルダへ配置できる。

  • rootフォルダへ移動し、unzipコマンドで解凍します。
# cd /root
# unzip DVWA-master.zip
  • 解凍したmasterを/var/www/html/配下へ移動します。その後、権限を変更します。
# cp -Rv DVWA-master /var/www/html
# chmod -Rv 777 /var/www/html/DVWA-master
  • DVWA-master/configフォルダ配下にあるconfigファイル名を以下のように修正します。
# cd /var/www/html/DVWA-master/config
# mv config.inc.php.dist config.inc.php

2. サーバーの起動とDVWAへのアクセス

  • ApacheとMySQLを起動します。
# service apache2 start
# service mysql start
  • KaliでFirefoxを起動し、以下のURLを入力しアクセスする。apacheとmysqlが正常に起動していれば、以下のような"setup.php"の画面に自動遷移するはずです。
    • 入力URL:http://localhost/DVWA-master/login.php

3. MySQLへアカウント登録

  • MySQLに接続し、DB接続用のアカウントを登録します。
# mysql -u root -p

  • データベースが選択されていないため、mysqlを明示します。
# use mysql

  • ユーザーを作成します。
> GRANT ALL PRIVILEGES ON *.* TO '[ユーザー名]'@'localhost' IDENTIFIED BY '[パスワード]';
※[ユーザー名]と[パスワード]は任意


今回はkali/kaliで作成。正常に作成されると、「Query OK, ~」と表示されます。

  • "Ctr+c"でSQL編集モードを終了し、その後mysqlをリスタートさせます。
# service mysql restert

4. configファイルの修正

  • 先程のconfigファイルを開き、[ 'db_user' ]と[ 'db_passowrd' ]を先程設定したユーザー名とパスワードに変更します。
    • エディタは何でもいいですが、私はviが苦手なのでnanoエディタで開きました。
# nano /var/www/html/DVWA-master/config/config.inc.php


↑修正前


↑修正後

5. DVWAのデータベース作成とログイン確認

  • 「Database setup」画面(http://localhost/DVWA-master/setup.php )の一番下にある、「Create/Reset Database」ボタンを押下します。ボタンの下に、以下のようなメッセージが出ればデータベースの作成は完了です。

  • ログインページ(http://localhost/DVWA-master/login.php) にアクセスします。正常にできていれば、ユーザー名とパスワードを入力する画面となっているはずです。

  • Usernameに"admin"、Passwordに"password"と入力してログインします。「Welcome to Damn Vulnerable Web Application!」と書かれたページが表示されればDVWAの構築は完了です。

6. 次回以降のログインの場合。

  • うっかり忘れがちですが、本アプリケーションはapacheとmysqlが動いていないと起動できません。

次回以降、続きをする場合はまずapacheとmysqlを起動してからアクセスしてください。

以上となります。