DOORS DX

ベストなDXへの入り口が
見つかるメディア

【2024テックチャレンジ】Hack The Boxでハッキングをやってみた

公開日
2024.06.03
更新日
2024.06.03
<エンジニアブログ>Hack The BOXでハッキングをやってみた 2024テックチャレンジ

こんにちは。株式会社ブレインパッド XaaSユニットPDEの内山です。

今回は、サイバーセキュリティのスキル向上に役立つオンラインプラットフォーム「Hack The Boxのご紹介と、実際にハッキング(machineへの侵入とPrivilege escalation)にチャレンジした様子をお伝えします。

テクニカルなハッキングの手法を紹介するものではなく、ハッキングはこんなものですよ、とざっくり紹介するものです。セキュリティの布教も兼ねています。

Hack The Boxをやると、セキュリティに留まらず、ネットワーク、OS、ミドルウエア、コードリーディング、暗号等、幅広い知識をゲーム感覚で身につけることもできます。

Hack The Boxとは

【参考】Hacking Training For The Best

サイバーセキュリティのスキルアップのためのプラットフォームです。コンテンツは色々あるのですが、今回紹介するのは、Machineというものです。
定期的に新しいチャレンジが更新されています。IPアドレスだけが渡され、それを手がかりに侵入するなどし、rootのFlagを取得します。一番先にFlagを獲得した人が最大のポイントを稼ぐことができます。

Hack The Boxは活動も活発で、質もいいと思います。無課金で始められますので、サイバーセキュリティをちょっと学んでみたい人にもおすすめです。有料会員になるとやりやすくなりますが、月14ドルからでそこまで高額ではないと思います。
簡単なものからinsane(ありえねー)と言われる超難問まであるので、色々なレベルの人にフィットします。

評判もいいプラットフォームです。

【参考】Forrester’s Choice for Cyber Excellence: Elevate Your Skills with Hack The Box! | HTB Business


Two Million

今回はMachinesから、Two Millionを選びました。Hack The Boxのユーザが 2 million を達成したことをお祝いする記念チャレンジです。ユーザ評価も4.6と高いです。

Machines _Hack The Box
TwoMiilion ☆4.6 _Hack The Box

早速開始です。Join Machineをクリックすると、攻撃先のマシンが用意されます。

Two Million >Join Machine _Hack The Box

今回の攻撃先のIPが提示されます。これはランダムで変わります。最初に与えられる情報は、IPアドレスのみです。

Target IP Address _Hack The Box

攻撃に使うマシンは自前で用意して繋げても良いし、PwnboxというHack The Box側で用意してくれるマシンも使えます。今回はPwnboxを使ってみます。

Connect to Machines _Hack The Box
Hack The Box

Enumeration & Attack

ハッキングの始まりは、Enumeration(偵察とスキャニングで収集した情報の整理)から。
情報がIPしかないので、まずは開いているポートを探ります。定番のnmapを使います。(ここではnmapの使い方は説明しません。)

nmap 10.10.11.221
nmap _Hack The Box

もう少し詳しく見てみます。

nmap  -sV -sC -v 10.10.11.221
namap _Hack The Box

http://2million.htb/ というサイトを発見。hostsに追加しておきます。

nmap _Hack The Box

サイトにアクセスしてみます。ヒントがないか、探し回ります。

2million.htb _Hack The Box

こんなボタンを発見。クリック。

Join HTB _Hack The Box

codeがあればsign upできそうです。

Sign Up _Hack The Box

ソースに、jsファイルがあったので、中身を見てみます。

js _Hack The Box

inviteapi.min.js が使えるかもしれません。見にくいので、ツールを使って整形。

inviteapi.min.js _Hack The Box

makeInviteCodeファンクションを発見。名前からして、codeを生成できそうです。
Chrome dev toolsで実行してみます。

Chrome dev tools _Hack The Box

encryptedだとヒントが出ているので、rot13.com で解読。

rot13.com
rot13.com

答えが出てきました。指示どおりリクエストを投げると、codeがencodedされてでてきました。

encoded _Hack The Box

decodeします。

decode  _Hack The Box

codeが手に入ったようです。使ってみます。

Sing Up _Hack The Box
Rgistration _Hack The Box

登録してみます。するとログインページに遷移。登録できたようです。

Login  _Hack The Box

ログインできました!このサイトを探っていきます。

2million.htb _Hack The Box

探っていくと、Accessのページでクリックできるものを発見。

2million.htb _Hack The Box

ソースコードを見ていきます。/api/v1 配下にエンドポイントがいくつかありそうです。

2million.htb _Hack The Box

使える物がないか、/api/v1 以下のリストアップを期待して、urlを打ってみます。すると出てきました。
userとadmin権限の2つがありそうです。admin権限で何かできるといい予感がします。

2million.htb _Hack The Box

adminのend pointを試してみます。

authでは、今のユーザがadmin権限ではないとわかります。generateは動きません。

message: false _Hack The Box

admin権限になれると嬉しいので、updateを試してみます。Burp Suiteを使うと、簡単にリクエストを改造して送り、レスポンスを見ることができます。(ここではBurp Suiteの使い方は説明しません。)

送信してみると何か返ってきました。content typeのエラーが出てきます。これは脆弱性をつくことができるかもしれません。adminではないのに、adminのend pointを動かせるのは、そこに脆弱性があるいい前兆です。

Burp Suite _Hack The Box

RequestでContentを適当に追加してみます。10行目に追加しています。

Burp Suite _Hack The Box

するとメッセージが変わりました。emailのParameterがないそうです。追加してみます。

Burp Suite _Hack The Box

13行目以降に追加。再実施。

Burp Suite _Hack The Box

今度はis_adminパラメータがないそうです。これも追加していきます。admin権限をアップデートできそうです。

Burp Suite _Hack The Box

is_adminが0/1なのか、true/falseなのか、全く別のものなのか分からないので、あれこれやってみます。

Burp Suite _Hack The Box

レスポンスが返ってきました。adminでupdateされたかもしれません。確認します。

Burp Suite _Hack The Box

auth endpointがtrueを返したので、adminになっているのを確認できました。権限をアップできました。いい感じです。すると残るendpointのgenerateをうまく使える予感がします。

message:true 2million.htb _Hack The Box

generateのリクエストもBurp Suiteで送ってみます。

Burp Suite _Hack The Box

今回も色々パラメーターがないと言われるので、追加していきます。

Burp Suite _Hack The Box
Burp Suite _Hack The Box

するとエラーなしでResponseが返ってきました。何らかのリクエストをadminとして渡せるということになります。

ここを利用するにはどうしたらいいか。一番よくあるのが、パラメーターに細工をして、予期しないresponseを狙うものです。パラメーターのバリデーションチェックをしないまま処理していて、脆弱性があるかもしれません。

usernameの後ろに、injection脆弱性でよく使われるものを入れてみます。この辺は「vulnerability injection parameter」等でググるとよく使える手が色々出てきます。

Burp Suite _Hack The Box

色々試してみます。

Burp Suite _Hack The Box
“username”:”uchiyama; ls -la #”

お尻に; ls -la #をつけると、うまくいきました。

配下のファイルの一覧が出ました。.envファイルが怪しいので見てみます。

Burp Suite _Hack The Box
Burp Suite _Hack The Box
Burp Suite _Hack The Box

DBのログイン情報が出てきました。

nmapの結果を思い出すと、sshのポートが空いてたので、ログインに使えないか試してみます。パスワード等を使いまわしているケースが多いので。

すると、ログインできました!侵入できました。

ログインしたディレクトリに、user.txtファイルがあります。これが最初のFlagです。(Flagはランダムで変更されます)

Flag _Hack The Box

Hack The BoxのページでUser Flagを入れます。合っていました。

Flag _Hack The Box

Privilege escalation

次はroot Flagです。

あれこれやってみて、ログインした時の「Mail来てますよメッセージ」に注目します。わざわざ出ているということは、見てみる価値はあります。

You have mail  _Hack The Box
admin@2million:~$ less /var/mail/admin
mail _Hack The Box

ホストマシンに脆弱性があると書いてありますね。どのCVEなのか調査します。

マシンのバージョンを調査。ここにつながるCVEをググって調べ、脆弱性をつく方法を探します。

admin@2million:~$ uname -r5.15.70-051570-generic _Hack The Box

GitHub – sxlmnwb/CVE-2023-0386: Vulnerabilities Exploitation On Ubuntu 22.04
これをやってみます。指示の通りやるのみ。

いくつか方法が見つかるのですが、実際やってみるとできないなどあるので、調べつつ試しつつです。

admin@2million:~$ ls /tmp CVE-2023-0386-master.zip _Hack The Box
admin@2million:/temp$ cd CVE-2023-0386-master _Hack The Box
admin@2million:/temp/CVE-2023-0386-master$ ./exp _Hack The Box

すると、rootになれました。

admin@2million:/temp/CVE-2023-0386-master$ ./exp _Hack The Box

root.txtを探します。Flagを発見しました。

root.txt  _Hack The Box
Flag _Hack The Box

root Flagも獲れました!完了です。

正しいroot Flagを入れると、ちょっと華々しい?プレゼンテーションを見ることができます。音も急に鳴るのでびっくりします。

TwoMillion has been Pwned! _Hack The Box

終わりに

実際には、途中で試行錯誤したり、色々やってみた挙げ句に諦めたりしています。たどり着くまでのルートは一つではないので、他のやり方もあります。
調査のためのコマンドやソフトウエアをインストールしているところで躓いたりして、環境構築もかなり時間がかかなる場合があります。やりたいことは一つでも、それに対してたくさんの方法やアプローチを持っていると強いです。
ネットワークやOSについての基礎知識がしっかりしていると、技にバラエティを持ちやすくなります。

nmap, Burp Suiteあたりはサイバーセキュリティでは定番のツールです。ツールを使いこなすのも大事なスキルの一つなので、Hack The Boxを通してツールをあれこれ使ってみるのもいいと思います。実践が一番身につきます。
セキュリティ系のツールは、会社のPC等セキュリティ対策がしてある環境ではインストールできないこともあります。また、不用意にツールを使うとただの不法なハッカーになることもあるので、こういう専用プラットフォームにだけつながっている環境でやるのが安全です。

エンジニアなら、楽しんでやれると思いますので、興味のある方は挑戦してみてください。Hack The Box類似のプラットフォームもありますので、自分に合うものを探してみてください。

ブレインパッドの打ち合わせ風景

ブレインパッドでは新卒採用・中途採用共に一緒に働く仲間を募集しています。
ご興味のある方は、ぜひ採用サイトをご覧ください!


このページをシェアする

株式会社ブレインパッドについて

2004年の創業以来、「データ活用の促進を通じて持続可能な未来をつくる」をミッションに掲げ、データの可能性をまっすぐに信じてきたブレインパッドは、データ活用を核としたDX実践経験により、あらゆる社会課題や業界、企業の課題解決に貢献してきました。 そのため、「DXの核心はデータ活用」にあり、日々蓄積されるデータをうまく活用し、データドリブン経営に舵を切ることであると私達は考えています。

メールマガジン

Mail Magazine