0x01 前言
环境提供:知攻善防实验室
https://mp.weixin.qq.com/s/5ibP6E8R-GPtOEJeFK8qZA
环境背景:应急响应工程师小王收到安全设备警告,服务器设备被植入木马病毒,需进行上机排查
注:此处环境原作者未做攻击者具体步骤,原WP直接上帝视角给出的答案,对于初学者可能不太理解,以下我将按照我的思路去写,如果思路不对,烦请原作者改正
文末抽取邀请码、转发点赞等邀请好友增加中奖率,基本人人可得
关于邀请码只有三种方式可得:
1. 公众号进行抽奖活动获取(不定时)
2. 官方微信、Q群内不定时发放(拼手速)
3. 投稿应急响应相关镜像及WP(解题思路)
可申请定制邀请码并送金币
相关规则查看如下文章:
适用于安全运维、网络运维、安全服务及在校学生练习、赛前练习(环境嵌入了各地、各官方比赛的大部分应急响应镜像)、包括日常应急处置环境、个人灵活制作环境
* 文章仅用于参考学习、禁止恶意利用传播非法行为
0x02 题目详情
此环境围绕西湖论剑PHPEMS复现,环境作者投稿没有说明,这是后面找到相关文章并进行的最新总结(非上帝视角)
https://mp.weixin.qq.com/s/P7akQHPp4saCl16E0Kw4tA
1. 分析黑客的 IP 为多少,将黑客 IP 作为 FLAG 提交;
答: 192.168.20.1
首先使用netstat查看本地端口开放情况,ps -ef看到是安装宝塔的
端口8821为被攻击网站端口、端口12485为宝塔端口,输入BT后修改密码然后输入14查看面板信息
查看宝塔WEB日志、可以看到日志192.168.20.1一直在进行疑似扫描操作
实际上查看操作日志,这个IP是网关地址哈(因为是环境作者模拟复现的)
2. 分析黑客修改的管理员密码(明文)为多少
答:Network@2020
在宝塔面板中点击 数据库-phpmyadmin访问,接着登录后查看库名"kaoshi"
因为题目为用户名被修改,所以查看x2_user表(可视化中没有这张表),所以需要select * from x2_user去查询(此处是西湖论剑0day,反序列化漏洞)
将查询到的admin(管理员)的密码进行MD5解密后,看到被修改的密码为Network@2020
3. 分析黑客第一次Webshell的连接URL为多少,将黑客第一次Webshell的连接URL作为 FLAG 提交
答:index.php?user-app-register
访问端口8821就是这个业务网站的地址,这里在之前拿到了管理员密码,直接登录后台,写入的webshell会进行序列化存储到数据库,在获取模板模式的数据的过程中,blockcontent会被反序列化并将内容赋值给 app/content/cls/api.cls.php中的$tp 最后在进入eval执行了代码
存入数据库后,调用位置为注册模板ID为1的地方,即为index.php?user-app-register,而namespace t是命名空间的声明,防止不同库之间冲突
data/compile/content/tpls/master/_cpl_blocks_xxx.php
这里是后端程序,负责接收前端来的执行操作
然后在
data/html/content/tpls/master/blocks_xxx.html
是前端页面,向用户展现的页面
前端执行向后端发送请求后,后端接收请求并序列化存储数据到数据库
然后相关标签根据ID调用,达到RCE目的
4. 分析黑客Webshell连接密码多少,将黑客Webshell连接密码
答:Network@2020
这个比较清晰了,攻击者将webshell写入到此处,此功能路由到注册标签,然后在连接的时候执行index.php?user-app-register POST Network2020
5. 审计流量包,找到第一个flag文件中内容
答: flag1{Network@_2020_Hack}
这里环境作者把流量包放到了root目录下:数据包1.pcapng
这里使用宝塔直接在根目录下的root目录下载就行,既然给出的题目是上传的文件,直接缩小了范围了,http协议,然后先过滤掉404等状态码或者匹配200状态码
搜索流量包并过滤指定状态码 http.response.code == 200 依次遍历流量后看到flag文件
1. 公众号进行抽奖活动获取(不定时)
2. 官方微信、Q群内不定时发放(拼手速)
3. 投稿应急响应相关镜像及WP(解题思路)
可申请定制邀请码并送金币
0
因为后台传的webshell是路由到注册页面的,所以路径register的特征是蚁剑,接着往下审计流量,看到version2.php流量,请求体内容为加密
首先依次判断一下上下请求,第一二请求一般都是GET,因为冰蝎流量会有一个密钥协商过程,当然冰蝎3以后这个过程没了,但是一些特征还是存在
1. 公众号进行抽奖活动获取(不定时)
2. 官方微信、Q群内不定时发放(拼手速)
3. 投稿应急响应相关镜像及WP(解题思路)
可申请定制邀请码并送金币
1
这里上传冰蝎webshell是这个CMS有一个非预期反序列化文件上传漏洞,这里只是验证漏洞的过程
1. 公众号进行抽奖活动获取(不定时)
2. 官方微信、Q群内不定时发放(拼手速)
3. 投稿应急响应相关镜像及WP(解题思路)
可申请定制邀请码并送金币
2
这个题其实比较生硬的,它不是shell无法使用工具查找,假如没有特征的情况下,只能挨个去翻代码,而且没说这个flag2是在系统内还是在php文件内,没有上帝视角比较难做
在原WP中flag2在 /www/wwwroot/127.0.0.1/.api/alinotify.php 文件
当然了使用grep -rn是可以遍历到的
1. 公众号进行抽奖活动获取(不定时)
2. 官方微信、Q群内不定时发放(拼手速)
3. 投稿应急响应相关镜像及WP(解题思路)
可申请定制邀请码并送金币
3
这个题目正常来说,在真实环境可能会遇到,本来我的思路是,他可能会在用户密码文件内,或者是ssh私钥文件或者是crontab文件,结果都没有,我看了眼WP,是在env的环境变量里面
其实这一块也没什么毛病,在实战中,攻击者可能会修改环境变量达到劫持命令来进行命令执行
1. 公众号进行抽奖活动获取(不定时)
2. 官方微信、Q群内不定时发放(拼手速)
3. 投稿应急响应相关镜像及WP(解题思路)
可申请定制邀请码并送金币
4
0x03 总结
我这里根据以上过程大概模拟了一下攻击者思路,毕竟学习为了运用实战,不理解的情况下干学没有意义,当然了思路可能和原作者的思路不同,仅为我自己理解,在现实应急的时候,环境千奇百怪,当前练习的环境仅为模拟,当你在实战的时候可以联动起来,然后猜测攻击者的思路,刷完以后不去思考和学习干刷题为了成绩一样,是没有意义的!
1. 公众号进行抽奖活动获取(不定时)
2. 官方微信、Q群内不定时发放(拼手速)
3. 投稿应急响应相关镜像及WP(解题思路)
可申请定制邀请码并送金币
5
接下来是玄机邀请码/注册码抽奖环节、点击小程序直达,转发文章点赞来增加中奖率咯!
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...