vulnhub之photographer:1靶机练习
步骤
#-1 发现靶机
#-2 使用nmap探测开放的端口
#-3 枚举sambashare
#-4 发现koken CMS
#-5 使用公开漏洞验证并利用koken CMS
#-6 权限提升:php7.2 SUID二进制设置
环境:
VMware15 + Kali(192.168.150.137)
内容
#-1 发现靶机
使用NAT网络模式,使用netdiscover发现靶机IP地址,命令如下:
netdiscover -r 192.168.150.0/24
发现IP地址是192.168.150.138。
#-2 有了靶机地址,现在使用nmap,命令如下:
nmap -sV -p- -v 192.168.150.138
如下图所示,发现了4个开放端口:80,139,445和8000
#-3 枚举
139和445端口是SMB服务端,可以轻松实现samba共享。通常在boot2root中,可以尝试空会话,看看有没有什么信息。现在将使用smbclient来查找无需认证就可以访问的共享。下面的命令是用来查找共享的:(或者使用文件管理器连接查看文件smb://192.168.150.138/sambashare/)
smbclient –N –L \\\\10.0.2.20
smbclient \\\\10.0.2.20\\sambashare
get mailsent.txt
get wordpress.bkp.zip
如下图所示所示,看来可以访问sambashare,需要输入密码时,直接回车即可,发现两个文件,mailsent.txt和wordpress.bkp.zip,并使用get命令下载到本机。
打开mailsent.txt文件,看有什么有用的信息:
还是有些重要信息的。得到了两个用户名Agi和Daisa。Agi说了一些秘密,可能是与密码有关的线索,保存下来为以后使用。
浏览80端口页面,结果没什么可以利用的点。所以浏览另一个端口8000。
在8000页面发现服务器应该运行的是Koken CMS,查看源码发现版本是koken 0.22.24,于是通过Google搜索个公开漏洞:
https://www.exploit-db.com/exploits/48706
#-4 漏洞利用
读了下这个漏洞的描述,是一个文件上传漏洞,不过需要先登录到后台,于是浏览CMS的admin页面,页面需要输入凭证。
使用之前获取的mailsent.tt文件中的信息,daisa@photographer.com和密码babygirl,试一下是否可行。
Yes!登录进去了!
现在上传kali自带的php shell,点击右下角的import content
点击import content后弹出上传文件窗口,显示只能上传图片和视频格式的文件,所以在上传php反向shell之前,需要添加一个.jpg扩展名,以绕过扩展名过滤功能。重命名后,使用burp拦截导入的数据,删除jpg扩展名并转发请求。
修改shell文件,然后上传:
上传后,打开终端nc -lvnp 1234进行监听,然后通过浏览器访问页面,没多久便反弹回shell了。
输入命令获取交互式shell
进入家目录,有user.txt文件,查看其为flag:
#-5 权限提升
现在开始进行提权操作,先查看suid二进制文件权限,到tmp目录下执行命令:
find / -perm –u=s –type f 2>/dev/null
如上图。php7.2是被设置了suid权限,于是利用php7.2来进行提权,输入命令:
/usr/bin/php7.2 -r "pcntl_exec('/bin/bash', ['-p']);"
如下图所示,输入命令后,即提权成功,
进入root目录下,查看flag文件
至此两个flag都已找出。
天接云涛连晓雾,星河欲转千帆舞。
仿佛梦魂归帝所。闻天语,殷勤问我归何处。
我报路长嗟日暮,学诗谩有惊人句。
九万里风鹏正举。风休住,蓬舟吹取三山去!