1.主机发现arp-scan -l
靶机IP地址:192.168.84.134
kaliIP地址:192.168.84.129
2.端口扫描
nmap -sV -p- 192.168.84.134
3.网页信息探测
whatweb -v 192.168.84.134
发现该网站的CMS使用的是joomla,这个框架很成熟,是php非常常见的CMS框架,看到这儿,第一想法是看一下它的版本号,然后搜索一下是否存在漏洞,而且kali上还存在一个专门针对它的漏洞扫描工具Joomscan。我们抱着试试的心态扫一下,看看有什么发现。joomscan --url http://192.168.84.134
扫描出来joomla的版本和一些目录
http://192.168.84.134/administrator/ 是一个登录页面
使用searchsploit看一下joomla 3.7.0有没有漏洞,有一个可以利用的漏洞
查看42033.txt
使用sqlmap跑一下,存在SQL注入漏洞,可以通过布尔盲注,报错注入和时间盲注进行注入
破解出存在5个数据库,我们选择可能性最大的joomladb,继续爆破数据表
查看#__users表里面的内容
查询username、password字段里面的内容
发现password中的数值并不是明文 而是被加密了 显然这是哈希密码 可以通过kali工具john进行爆破解密
在桌面创建一个文件 将hash密码粘贴进去并保存
使用john爆破 命令如下
密码为snoopy
使用得到的账号密码进行登录后台
反弹shell
在Templates: Customise (Beez3)模块中找到了文件上传点可以用一句话木马进行上传 也可用反弹shell这里采用反弹shell(代码放在最后)点击new file 创建一个名为web.php的文件创建成功后 写入反弹shell代码 并修改其中接收的ip地址(kali地址)以及端口点击save保存 就上传成功了joomla框架下 模块会单独放在一个文件夹里/templates/,而beez3模块就在/templates/beez3/里面,刚才创建的webshell路径为
http://192.168.84.134/templates/beez3/web.php
打开kali监听8888端口
浏览器访问shell地址
成功反弹shell
交互式shell
利用python获取交互式shell
python -c 'import pty;pty.spawn("/bin/bash")'
并不是root权限 所以要进行提权
拿到shell之后获得了一定权限 就要进行信息收集 查看是否有遗漏的信息,linux系统下要尤其注意 /etc/passwd 和/etc/crontab两个文件 前者用来存储用户名 后者用来存储定时任务 有时候都是解题的关键
查看/etc/passwd
暂无可用信息 开始尝试提权
系统漏洞查找
经过尝试发现 这里没法用SUID和git进行提权 于是利用系统漏洞进行提权
cat /etc/issue (查看操作系统版本信息)
确定了版本信息之后 直接上searchsploit
找到4.4.x的漏洞 后面对应Privilege Escalation(提权)查看漏洞路径
复制到桌面
打开文件
列出了漏洞产生的原因以及描述和漏洞利用的方法
最后一行附上了exp的链接
文件很长,其中看到这里,这里告诉我们破解的工具都保存在exploit.rar里了,并且给了下载链接,我们将其下载(在刚刚反弹过来的shell里)
然后解压 unzip 39772.zip
解开了exploit.tar文件可以看到有很多的脚本,接着进行如下操作。
编译成功,接着提权