目录
7. 攻击路径总结
靶场下载地址:https://www.vulnhub.com/entry/sunset-midnight,517/
1. 侦查
1.1 收集目标网络信息:IP地址
部署好环境后,没有提供IP地址,需要自己扫描
在同一个C段,可以扫描ARP协议获取IP地址
1.2 主动扫描:扫描IP地址段
扫描端口和服务,发现22/ssh、80/http、3306/mysql
1.3 主动扫描:字典扫描
访问http://10.58.81.143 会301跳转到http://sunset-midnight/,但跳转失败,需要添加域名解析
成功访问网站后,从logo可以看出该网站由wordpress搭建
1.4 主动扫描:漏洞扫描
扫描mysql弱口令,获得第一个权限:mysql的root权限
3. 初始访问
3.1 有效账户:默认账户
使用mysql的root帐号,登录数据库
快速定位到管理员帐号
将管理员的密码改为123456,获得第二个权限:wordpress的admin权限
3.2 利用面向公众的应用
使用wordpress的admin帐号,登录wordpress
制作一个反弹shell
利用wordpress的上传插件功能,将反弹shell上传到服务器
先在攻击端监听端口
再触发反弹shell
最后获得第三个权限:服务器的www-data权限
3.3 有效账户:默认账户
通过信息收集,在服务器中获得第四个权限:mysql的jose权限
3.4 有效账户:默认账户
通过密码喷洒攻击,使用mysql的jose帐号尝试登录ssh服务,竟然成功,获得第五个权限:服务器的jose权限
6. 权限提升
6.1 滥用特权控制机制:Setuid和Setgid
搜索服务器中有suid权限的程序,发现/usr/bin/status的变更时间最新,且不是系统自带命令
执行后获得报错:service命令不存在
确认一下,service命令确实不存在
查看/usr/bin/status程序中的字符串内容,发现是执行查看ssh服务状态的命令:service ssh status
现在的情况是:
3、若service命令的内容是返回或反弹一个shell,那么也是以root权限执行并返回或反弹
那我们就赋予service命令的内容是返回一个shell吧,但我们没有在环境变量中的目录下创建文件的权限
这好办,给环境变量增加一个我们有权限创建文件的目录就行
然后创建service文件,赋予执行权限,写入返回shell的内容
然后执行/usr/bin/status命令,正如前面所言,以root权限返回了一个shell
7. 攻击路径总结
公众号后台回复“20241028”获取.xmind格式的思维导图
原文始发于微信公众号(OneMoreThink):攻防靶场(24):竟要拿下5个权限才算突破边界 SUNSET-MIDNIGHT
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论