
部署好环境后,没有提供IP地址,需要自己扫描
在同一个C段,可以扫描ARP协议获取IP地址

扫描端口和服务,发现22/ssh、80/http、3306/mysql

访问http://10.58.81.143 会301跳转到http://sunset-midnight/,但跳转失败,需要添加域名解析


成功访问网站后,从logo可以看出该网站由wordpress搭建

扫描mysql弱口令,获得第一个权限:mysql的root权限

使用mysql的root帐号,登录数据库

快速定位到管理员帐号


将管理员的密码改为123456,获得第二个权限:wordpress的admin权限

使用wordpress的admin帐号,登录wordpress

制作一个反弹shell

利用wordpress的上传插件功能,将反弹shell上传到服务器


先在攻击端监听端口

再触发反弹shell

最后获得第三个权限:服务器的www-data权限

通过信息收集,在服务器中获得第四个权限:mysql的jose权限

通过密码喷洒攻击,使用mysql的jose帐号尝试登录ssh服务,竟然成功,获得第五个权限:服务器的jose权限

搜索服务器中有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

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

本文分享自 OneMoreThink 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!