首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >攻防靶场(24):竟要拿下5个权限才算突破边界 SUNSET-MIDNIGHT

攻防靶场(24):竟要拿下5个权限才算突破边界 SUNSET-MIDNIGHT

作者头像
OneMoreThink
发布2024-10-29 18:52:29
发布2024-10-29 18:52:29
2130
举报

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

现在的情况是:

1、/usr/bin/status有suid权限,任何用户执行该程序,都是以root权限执行

2、/usr/bin/status会执行service命令,并且是以root权限执行

3、若service命令的内容是返回或反弹一个shell,那么也是以root权限执行并返回或反弹

那我们就赋予service命令的内容是返回一个shell吧,但我们没有在环境变量中的目录下创建文件的权限

这好办,给环境变量增加一个我们有权限创建文件的目录就行

然后创建service文件,赋予执行权限,写入返回shell的内容

然后执行/usr/bin/status命令,正如前面所言,以root权限返回了一个shell

7. 攻击路径总结

公众号后台回复“20241028”获取.xmind格式的思维导图

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-10-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OneMoreThink 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 侦查
    • 1.1 收集目标网络信息:IP地址
    • 1.2 主动扫描:扫描IP地址段
    • 1.3 主动扫描:字典扫描
    • 1.4 主动扫描:漏洞扫描
  • 3. 初始访问
    • 3.1 有效账户:默认账户
    • 3.2 利用面向公众的应用
    • 3.3 有效账户:默认账户
    • 3.4 有效账户:默认账户
  • 6. 权限提升
    • 6.1 滥用特权控制机制:Setuid和Setgid
  • 7. 攻击路径总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档