Kali Linux2022.1 でハッキングラボをつくってみる10 ウェブアプリハッキング1 DVWAの導入

# はじめに
[前回](https://qiita.com/kagirohi/items/fe65270ace02ae16f8f2)まで、無線LANへのハッキングをやっていましたが、当方の環境に不具合が頻発しました。（パケットがキャプチャできなくなった）
無線LANへのハッキング検証は飛ばして、Webアプリへのハッキングをやります。
この記事は、「ハッキング・ラボのつくりかた」のp.594-602を参考にして、KaliLinux2022.1で検証しています。
今回からは、DVWAを使って、Webアプリの脆弱性をハッキングします。

:::note alert
注意事項
記事で紹介されている行為を他人や団体、インフラなどの許可を得ずに行った場合、犯罪となる可能性が有ります。
あくまでも、記事の内容は情報セキュリティの学習です。読者様の所有・管理の機器、システムでのみ実行してください。
また、読者さまのシステムにトラブルが起きたとしても、私は責任を負いかねます。
:::
# DVWAの導入
[以前の記事]()で導入したMetasploitable2にもDVWAがある。（ただし、同書によれば、バージョンが古い）KaliLinuxのパッケージの更新状況やApache2の設定によっては、DVWAが正常に動作しないので、こちらを用いても良い。実際、私がやってみたらダメだったので(修正方法ありhttp://s-akademeia.sakura.ne.jp/main/books/lab/faq.html )、簡便のためMetasploitable2の方を使うことにした。
参考となりそうな修正方法があるが、php8だとどうなのか・・・、apacheのモジュールをダウングレードするのは手間やな。
## KaliLinuxに導入
KaliLinuxにDVWAを導入する方法も示す。
1, [DVWAの公式サイト](https://dvwa.co.uk)から、zipファイルをダウンロードする。
同書のp.594では、「Firefoxからダウンロードした場合は、"/tmp/mozilla_root0"ディレクトリにファイルが存在します。」とあるが、KaliLinux2022.1では、普通に"$HOME/Downloads"(ユーザのダウンロードフォルダ)にある。

2,
`unzip`コマンドなどでzipファイルを解凍したあと、解凍されたディレクトリ"DVWA-master"を"/var/www/html/"にコピーして権限の変更を行う。
```
sudo cp -R /home/kali/Downloads/DVWA-master/ /var/www/html/
sudo chmod -R 777 /var/www/html/DVWA-master/
```
cpもchmodも-vオプションを付けて、詳細を表示しても良い。

3,
次に、configファイル名を変更する
```
cd /var/www/html/DVWA-master/config/
sudo mv config.inc.php.dist config.inc.php
```
4,
ApacheとMySQLの起動を確認する
```
systemctl status apache2
systemctl status mysql
```
もし、出力のActiveが"inactive (dead)"だったなら、次のコマンドでデーモンを起動する。
```
sudo systemctl start apache2
sudo systemctl start mysql
```
5,
mysqlにアカウントを登録する.デフォルトだと、-pオプションを付けなくても(パスワード無しでも）、アクセス可能っぽい。（あくまで私個人の環境で）
```
sudo mysql -u root
```
正常にSQLが実行されたことを確認した後、`exit`コマンドで閉じる。
```sql:MariaDB[(none)]
//mysqlデータベースに変更
use mysql;
//データベース接続用アカウントを登録
grant all privileges on *.* to 'hoge'@'localhost' identified by 'hogehoge';
//閉じる
exit
```
MySQLを再起動する。
```
sudo systemctl restart mysql
```

:::note
MariaDBとありますが、MySQLと頭の中で置き換えてください。
MariaDBは、MySQL派生で互換性のあるDBです。
:::

6,
ファイル"/var/www/html/DVWA-master/config/config.inc.php"を書き換える。
```conf:/var/www/html/DVWA-master/config/config.inc.php（変更前）
$_DVWA[ 'db_server' ]   = '127.0.0.1';
$_DVWA[ 'db_database' ] = 'dvwa';
$_DVWA[ 'db_user' ]     = 'dvwa';
$_DVWA[ 'db_password' ] = 'p@ssw0rd';
```
```conf:/var/www/html/DVWA-master/config/config.inc.php（変更後）
$_DVWA[ 'db_server' ]   = '127.0.0.1';
$_DVWA[ 'db_database' ] = 'dvwa';
$_DVWA[ 'db_user' ]     = 'hoge';
$_DVWA[ 'db_password' ] = 'hogehoge';
```

7,
Firefox上で、"http:/\/localhost/DVWA-master/setup.php"にアクセスして、「Create / Reset Database」をクリックする。
![VirtualBox_kali-linux-2022.1-virtualbox-amd64_25_05_2022_21_17_59_dvwa_setup1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/535888/081bba01-4b55-2ebd-1841-f32f93e654ef.png)
*※画像は、Metasploitable2のDVWAです。*

## Metasploitable2のDVWAを使用する
KaliLinux2022.1の状況によっては、KaliLinuxのapacheサーバー上でDVWAが使用できないので、Metasploitable2を利用することも考える。
その際は、KaliLinuxにDVWAを導入するときのステップ1〜６は飛ばすことができる。
唯一の行うことは、Firefox上で、"http:/\/Metasploitable2のローカルIPアドレス/dvwa/setup.php"にアクセスして、「Create / Reset Database」をクリックするだけ。
![VirtualBox_kali-linux-2022.1-virtualbox-amd64_25_05_2022_21_17_59_dvwa_setup1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/535888/eeacbe07-831e-e66f-3c3e-08700d4daf14.png)

# ログインとレベル設定
ログインURL"http:/\/192.168.56.5/dvwa/login.php"にアクセスして、Usernameに"admin",Passwordに"password"と入力してログインする。URLは、私がMetasplotaible2のDVWAを使っているので、環境によって異なります。適宜、読み替えてください。

# おわりに
KaLiLinuxには、うまく導入できなかった。
Metasploitable2にデフォルトで用意されてるものでがんばる。
次から、SQLインジェクション攻撃を予定してます。また、不具合で変更になるかもしれませんが・・・。
参考にしたもの

「ハッキング・ラボのつくりかた」

http://s-akademeia.sakura.ne.jp/main/books/lab/faq.html

https://mariadb.com/kb/ja/mariadb/