Mango 日本語でウォークスルー Hack The Box Machine:
Hack The BoxのMangoのウォークスルー・ライトアップ(walkthrough/writeup)です。難易度はmediumとなっています。
※本記事はサイバー犯罪を助長するものではありません。ハッキングやクラック等の悪用は厳禁です。
目次
HTB Mango ウォークスルー・ライトアップ Hack The Box
Summary
local shell取得まで
ターゲットポート:TCP 22(ssh),80(http)
脆弱性:ターゲットでは「nosql」が動作していた。「nosql」の脆弱性からクレデンシャル情報を入手できた。
そのクレデンシャル情報を利用し、local-shellを取得した。
local権限を取得したユーザ:「mango」、「admin」
privilege Escalation取得まで
脆弱性:ターゲットでは脆弱性が内在する「jjs」が動作していた。それを利用し、「root」権限を取得した。
root権限を取得したユーザ:root
Information Gathering
ポートスキャン
それでははじめます。まずはターゲット上で動作しているTCPポートをnmapで探します。nmapについてはこちらを参照ください。
nmapの結果、上画像の通り、TCPポート番号22(ssh),80(http),443(https)が開いていることが分かりました。
また、ドメイン名として、「staging-order.mango.htb」を見つけました。
そのため、自分のマシンの「/etc/hosts」に「staging-order.mango.htb」と「mango.htb」を追加しました。
追加後に、まずはhttpサービスから調査していくことにしました。
ターゲットのhttpサービス調査
まずは、firefoxを使用して「mango.htb」にアクセスしました。その結果、以下サイトに接続しました。
何かの検索サイトのようでした。
続いて、「staging-order.mango.htb」にアクセスしました。するとログインページを見つけました。
※httpsでアクセスすると検索サイトに飛んでしまうので、httpでアクセスするのがコツのようでした。

このログインページに対してSQLインジェクションを試しましたが、ヒットしませんでした。
色々試行した結果、「mongo db」(Nosql)の可能性を考えました。
※メタ読みとして、マンゴー→「mongo db」という推測です。
「mongo db」の可能性調査
Nosql injection username and password enumeration scriptを使用し、調査をしていきました。
その結果、以下の通り、ユーザ名を入手できました。取得したユーザ名は「admin」、「mongo」です。
続いて、同じツールを使用して2つのパスワードも入手できました。
Password1:h3mXK8RhU~f{]f5H Password2:t9KcS3>!0B#2

local shellの取得
SSHでのログイン試行
入手したクレデンシャル情報を使用して、SSHでログインを試行しました。
その結果、以下組み合わせでSSHログインが成功しました。入手したshellは「mango」です。
ID:mango Password:h3mXK8RhU~f{]f5H

Privilege Escalation
「admin」ユーザへの移行
「/home」ディレクトリを確認した所、「mango」ユーザとは別に、「admin」ユーザを見つけました。
先程見つけた以下クレデンシャル情報を使用した所、「admin」ユーザへ移行できました。
ID:admin Password:t9KcS3>!0B#2

「root」ユーザへの移行
続いてroot権限に昇格するための脆弱性を調査していきました。
調査にあたり、linpeasを使用しました。
wgetで自分のマシンからターゲットに「linpeas.sh」をダウンロードし、実行しました。
その結果、脆弱性の可能性として「/usr/lib/jvm/java-11-openjdk-amd64/bin/jjs」を見つけました。
「jjs」の脆弱性を突いた攻撃
こちらを参考に、ターゲットの「jjs」の脆弱性を探っていきました。
以下の様に試した所、「root.txt」の読み取りに成功しました。
flagは取れましたが、せっかくなので、「root」権限を取得する所まで検討しました。
ターゲットの「root」ユーザの「ssh-key」を置き換える方法を実施しました。
自分のマシンで「ssh-key」を作成し、鍵をターゲットの「authorized_keys」に配置しました。
ターゲットで実施したコマンドは以下の通りです。
echo 'var FileWriter = Java.type("java.io.FileWriter");
var fw=new FileWriter("/root/.ssh/authorized_keys");
fw.write("ssh-rsa AAAAB....3c6k= kali@kali");
fw.close();' | jjs
自分のマシンでは以下の通り実施しました。
先程作成し鍵を使用して、SSHで「root」ユーザの権限を取得できました。
flagを探す
user.txtは「/home/mango」にありました。
root.txtは「/root」直下にありました。
以上で、Mangoのウォークスルーは終了です。
今まで記事にしたHack The Boxのマシンは以下にまとめています。
Hack The Box Machine: 日本語でWriteup/Walkthrough まとめ – mopenten
Hack The Boxのウォークスルー・ライトアップ(walkthrough/writeup)のまとめです。 いままで記事にしたマシンを一覧にしています。 Hack The Box 日本語でWriteup/Walkth […]