【HackTheBox write-up】StartingPoint Oopsie
はじめに
久しぶりにHackTheBoxに触ってLinuxサーバーのルートがとれたので記録
これでやっとStartingPointの2台を攻略
マシンについて
- NAME:Valentine
- OS:Linux
- IP:10.10.10.79
Enumeration
ポートスキャン
ブラウザでアクセス
ポートスキャンの結果、80番ポートが開いている事がわかったので、
実際にブラウザでアクセスしてみると以下のようなページが表示される
BurpSuiteを使用して通信を確認
cdn-cgi/login/script.jsへのGET通信があることがわかる
http://10.10.10.28/cdn-cgi/login/script.jsにアクセスすると、
以下のログインフォームが表示される
ユーザー名に admin と入力し、パスワードは、、、?
僕はここでパスワードの特定にかなりハマって公式のWalkThroughを見ました。
すると、パスワードに MEGACORP_4dm1n!! を"再使用"しろと書いてありました。
このパスワードが初見だったのでどこで使用したのか調べると、どうやら他のStartingPoint の Archetype というマシンの攻略に使用していたっぽいです。
username: admin / password: MEGACORP_4dm1n!! を入力してログインすると以下のページが表示される
上記バーの[Uploads]をクリックすると、
This action require super admin rights. が表示される
ここで、super admin 権限で webshell をアップロードするのではないかと推測を立て、上記バーの[Account]でユーザーを確認するも、ただの admin しかない
[Account]にアクセスした際のURLを見るとどうやら各ユーザーに id が割り振られているっぽい
Pythonでurllibを使用して id 1から100まで検索し、
結果をhtmlファイルに出力するコードを作成しsuper adminの情報を取得しました。
コードはGithub(下記リンク)にあげているので必要であれば使ってください。
使い方は readme.txt に記載してあります。
ちなみに公式WalkThroughでは、
BurpSuiteのSniperを使用した方法で super admin を特定しています。
Foothold
上記より、super admin のAccess IDが取得できたので[Uploads]にアクセス
BurpSuiteのInterceptをonにした状態で[Uploads]にアクセスし、リクエストのクッキー情報を書き換える
Cookie: user=34322 を super admin の id に変更して送信すると、
以下のページが表示される
[Uploads]ページのURLは下記のとおり admin.php により処理されている
http://10.10.10.28/cdn-cgi/login/admin.php?content=uploads
php用の webshell を用意する
上記で用意した php-reverse-shell.php の49行目付近の
CHANGE THIS とコメントのついている ip の値を変更する
[Uploads]ページのBrowseボタンから、webshell(php-reverse-shell.php) を選択し、
Upload ボタンをクリック
Terminal を新しく開き、ncコマンドを実行する
別の Terminal から、下記curl コマンドを実行し webshell を起動させる
ncコマンドを実行していたTerminalへ下記を入力し、bashを起動する
Lateral Movement
bash が起動したのでマシンの内部を調査
下記より user.txt を取得
root.txt は存在は確認できるものの中を見てもフラグは入っていなかった
/var/www/html ディレクトリを調査
ユーザー名とパスワードを取得
su コマンドを実行し、robert で root 権限を取得
Privilege Escalation
id コマンドを実行し、ユーザーの情報を調査
bugtracker というグループに所属していることを確認
find コマンドを実行し、group が bugtracker のファイルを探索
find コマンドにより得られたファイルの調査
file コマンドを実行し、ELF ファイルという情報が得られたため、
ファイルを実行する
Provide Bug ID に文字列を入力すると以下の文字列が表示される
root/reports/<Provide Bug ID> を cat していることが推測できる
相対パスを使用して cat を呼び出していることがわかったので、
PATHにカレントディレクトリを追加、cat コマンドに shell を追加して、
root に権限昇格させる
上記を実行すると、root に権限昇格している
/home/robert/root.txt を確認したがフラグを取れず、/root を確認したところ root.txt があったので cat で中身を確認するも表示されず、vi で中身を確認
これで root.txt 取得できた
感想
意外とサクサク進んだので近いうちに次のマシンに挑戦したいという気持ち