vulnhub-prime-1

发布时间 2023-12-15 12:52:20作者: qingshanboy

vulnhub prime-1

端口扫描开的端口:80、22

扫描服务、操作系统、用默认脚本进行漏扫

image-20231209232850500

扫描80端口目录主要看.php、.txt、.html、.zip

sudo gobuster dir -u http://192.168.57.136 -x .php,.txt,.zip,.html

找到了:image.php、index.php、secret.txt以及一些wordpress的东西

image-20231210000340131

看secret.txt,让我们爆破知道的php页面的参数

image-20231210000409038

gobuster fuzz -w /usr/share/wfuzz/wordlist/general/common.txt -u http://192.168.57.136?FUZZ=aaa

但是这样输出不太友好也不好观察对比

使用wfuzz:wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hc 404 http://192.168.57.136/index.php?FUZZ=something

image-20231210000857053

这些参数去浏览器输入发现都是没用的,看到lines、words、chars很多都为7L、12w、136ch

--hl 7、--hw 12、--hh 136参数一个一个加看有没有结果

发现:wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hc 404 -hh 136http://192.168.57.136/index.php?FUZZ=something、wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hc 404 -hw 12http://192.168.57.136/index.php?FUZZ=something

这两条命令都返回的是file这个参数

去尝试一下

image-20231210001732379

发现这个参数是可以的,但是说是在挖错误的文件

所以去fuzz image.php的参数

wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hc 404 http://192.168.57.136/image.php?FUZZ=something

发现上面的思路出不了image.php的参数

去index.php?file=/etc/passwd试一试文件包含,发现没用

这里继续不下去了,往前翻之前得到的信息。

secret.txt里面说Location.txt会给下一步的提示,file后面输入location.txt(英文不好,不然就直接想到这里了,不会去fuzz image.php)

image-20231210002641128

说去其他php页面使用上图参数,那就去image.php试一下secrettier360

发现文件包含点

image-20231210002820300

image-20231210002841274

看了一下

找到一个有文件上传漏洞的点,但是又没思路了

仔细看了一下发现/etc/passwd里面的:find password.txt file in my directory:/home/saket提示

试一下:

image-20231210003431689

结合password.txt文件名这应该是密码,那么用户名是什么呢,看到上面的路径/home/saket,用户应该是saket

因为home目录里面的就是以用户名命名的目录(这是linux常识)

22端口是开的ssh登录一下

结果登不进去(思路错误)

image-20231210004056604

ssh这条路不通,但是这里又有一个密码,那么这是什么密码呢?

想到前面路径扫描扫到一个wordpress,可能是后台密码

后台地址:http://192.168.57.136/wordpress/wp-login.php

尝试saket follow_the_ippsec不行

现在就差用户名了,那就wpscan枚举一下:

wpscan --url http://192.168.57.136/wordpress --enumerate u

image-20231210004816069

victor follow_the_ippsec登录

成功进后台

去主题编辑看有没有可以加php代码的地方,用来反弹shell

找到一个secret.php下面有一个update file,添加反弹shell代码,并点击下方update file

image-20231210161916078

监听2345端口:nc -lvnp 2345

接下来只要找到secret.php的路径,访问就可以了

wpscan扫一下:wpscan --url http://192.168.57.136/wordpress

找到对应主题的路径

image-20231210162519037

访问http://192.168.57.136/wordpress/wp-content/themes/twentynineteen/secret.php

反弹成功

image-20231210162709534

获取一个舒服点的shell:python -c 'import pty;pty.spawn("/bin/bash")'

先收集系统内核这些信息

然后看sudo -l

image-20231210163909682

去https://gtfobins.github.io/找有没有关于这个的sudo提权,发现没有

找suid:find / -perm -u=s -type f 2>/dev/null

image-20231210164038228

还是去GTFOBins找上面结果有没有可以利用的suid权限的命令

看capabilities的一些信息:getcap -r / 2>/dev/null

看定时任务:cat /etc/crontab

image-20231210164556108

似乎这些信息来看都没什么利用的

刚才的sudo -l看到有个/home/saket/enc 可以root权限运行

cd /home/saket

进去发现

image-20231210164857621

密码文本是victor的密码:follow_the_ippsec

切换用户:su victor,输入密码

显示失败

难道不少victor的密码,解密一下user.txt,发现解不了

继续看文件系统

cd ~;ls发现一个opt不少默认有的命令

跟着目录一直向下:发现一个备份文件:cat backup_pass

image-20231210171130524

看到一个enc的密码

有密码也不行,显示没权限cp两个文件:

image-20231210171320281

想到/home/saket/enc是有sudo权限的

那就sudo ./enc,成功备份,目录下多了两个文件

image-20231210171725856

救命,英文提示是真要命,ippsec的md5值是什么的密钥

看到exc.txt

image-20231210172036418

先base64,发现解不了,那么也许ippsec的md5就是用来解密这个的,但是是什么加密方式呢

思路又断了,继续往前看收集到的信息

发现之前查看系统相关信息时的,那尝试一下内核提权。

image-20231210173153078

msf:use exploit/multi/handler

set lhost=192.168.57.136、lport=2345

run,然后访问secret.php(不改secret.php是可以弹到shell的)

search ubuntu 4.10.0-28-generic,只找到一个,还不用挑了

image-20231210174456674

image-20231210174639122

提权成功

image-20231210174758652