0%

TryHackMe-Vulnversity

这原本是个很简单的靶机,奈何自己蠢。搞了半天都搞不会。。

上来部署后,扫一下目标机器。

1
nmap -sV [ip]

扫到有3333端口的网站。
浏览后,使用gobuster爆破网站路径,这是一个用于爆破网站路径,虚拟空间,dns子域的一个工具。

gobuster dir -u http://<ip>:3333 -w <word list location>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
  ~ gobuster --help
Usage:
gobuster [command]

Available Commands:
dir Uses directory/file brutceforcing mode
dns Uses DNS subdomain bruteforcing mode
help Help about any command
vhost Uses VHOST bruteforcing mode

Flags:
-h, --help help for gobuster
-z, --noprogress Don't display progress
-o, --output string Output file to write results to (defaults to stdout)
-q, --quiet Don't print the banner and other noise
-t, --threads int Number of concurrent threads (default 10)
-v, --verbose Verbose output (errors)
-w, --wordlist string Path to the wordlist

Use "gobuster [command] --help" for more information about a command.

可以使用Kali Linux默认的字典列表,在这
/usr/share/wordlists/

爆破出网站有个可以上传文件的地址。
利用此地址尝试上传php文件,结果请求被拒绝。

尝试使用BurpSuite去拦截请求,并爆破出能上传的文件后缀。
根据靶场提示,其实就可以知道能上传文件后缀的是phtml.
在执行payload的字典时,最好不要跟随TryHackMe带.后缀而是

1
2
3
4
php
php1
php4
phtml

带.的话,会被浏览器URL解析成了%2.

最后,[下载反弹Shell],并修改IP地址,重命名为phtml后缀的文件,上传。

上传完成后,开始监听nc -lvnp 1234端口,默认1234,如果没有修改的话。

打开http://ip/internal/uploads/php-reverse-shell.php 当你访问该URL后,Payload就会自动执行。此时再看看监听,已经看到上线了。
file

使用find / -perm /4000 2>&1 | grep -v “Permission denied”

1
2
3
4
5
find / : 从根目录开始查找
-perm: 任何拥有设置权限的二进制
/4000: 具有SUID 4000位
2>&1:丢弃报错
grep -v: 过滤权限不足的文件。

最后尝试提权,根据网站给出的提示。/bin/systemctl,应该是要利用这东西提权。

systemctl绕过提权

编写payload
file

将编写好的payload,修改文件名后缀,上传到网站。最后在监听终端里面,将后缀修改为service,并开始监听9999。

当启动该服务的时候,就是在运行payload了。

1
systemctl start root.service

file
拿到root的flag !

完整Vulnversity流程解答