はじめに
前回まで、無線LANへのハッキングをやっていましたが、当方の環境に不具合が頻発しました。(パケットがキャプチャできなくなった)
無線LANへのハッキング検証は飛ばして、Webアプリへのハッキングをやります。
この記事は、「ハッキング・ラボのつくりかた」のp.594-602を参考にして、KaliLinux2022.1で検証しています。
今回からは、DVWAを使って、Webアプリの脆弱性をハッキングします。
注意事項
記事で紹介されている行為を他人や団体、インフラなどの許可を得ずに行った場合、犯罪となる可能性が有ります。
あくまでも、記事の内容は情報セキュリティの学習です。読者様の所有・管理の機器、システムでのみ実行してください。
また、読者さまのシステムにトラブルが起きたとしても、私は責任を負いかねます。
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の公式サイトから、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
コマンドで閉じる。
//mysqlデータベースに変更
use mysql;
//データベース接続用アカウントを登録
grant all privileges on *.* to 'hoge'@'localhost' identified by 'hogehoge';
//閉じる
exit
MySQLを再起動する。
sudo systemctl restart mysql
MariaDBとありますが、MySQLと頭の中で置き換えてください。
MariaDBは、MySQL派生で互換性のあるDBです。
6,
ファイル"/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';
$_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」をクリックする。
※画像は、Metasploitable2のDVWAです。
Metasploitable2のDVWAを使用する
KaliLinux2022.1の状況によっては、KaliLinuxのapacheサーバー上でDVWAが使用できないので、Metasploitable2を利用することも考える。
その際は、KaliLinuxにDVWAを導入するときのステップ1〜6は飛ばすことができる。
唯一の行うことは、Firefox上で、"http://Metasploitable2のローカルIPアドレス/dvwa/setup.php"にアクセスして、「Create / Reset Database」をクリックするだけ。
ログインとレベル設定
ログインURL"http://192.168.56.5/dvwa/login.php"にアクセスして、Usernameに"admin",Passwordに"password"と入力してログインする。URLは、私がMetasplotaible2のDVWAを使っているので、環境によって異なります。適宜、読み替えてください。
おわりに
KaLiLinuxには、うまく導入できなかった。
Metasploitable2にデフォルトで用意されてるものでがんばる。
次から、SQLインジェクション攻撃を予定してます。また、不具合で変更になるかもしれませんが・・・。
参考にしたもの
「ハッキング・ラボのつくりかた」