前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【应急能力提升2】挖矿权限维持攻击模拟

【应急能力提升2】挖矿权限维持攻击模拟

作者头像
aerfa
发布2022-05-11 11:29:55
7920
发布2022-05-11 11:29:55
举报
文章被收录于专栏:我的安全视界观

本文为整个专题的第二篇,攻击模拟的第一篇,主要模拟业务系统使用存在已知漏洞的CMS,导致被攻击,进而植入挖矿脚本的过程。

该部分主要由内部蓝军完成,攻击链路设计是 @exploitworld 负责,攻击模拟和报告编写由 @可达鸭 和 @番茄 负责,感谢为本篇文章提供素材。

01

攻击模拟说明

攻击模拟并非实战渗透,但又贴近于实战。真实的产生了攻击痕迹(日志),但为了让应急人员聚焦这部分日志,减少了其他操作。与真实情况相比,主要有两点区别:

  • 部分攻击步骤看起来没必要或者冗余,比如在获取webshell方法中,就充分利用了环境存在的漏洞,制定了两个思路拿权限,实则是在为应急响应人员提供更加丰富的分析场景;
  • 攻击动作非常明确、手法干净利落,攻击的实施完全按照剧本进行,没有带来额外的、无目的漏洞测试和利用,所以又有点偏离实战。

整个攻击模拟专项,主要分为以下五个步骤:

02

攻击链设计

攻击链取材于实际的业务场景:互联网侧开放了带有漏洞的服务,从而导致被攻击者发现利用,最终沦为矿机。攻击者的攻击手法较为常见,利用已知CMS的漏洞进行攻击,攻击模拟过程中的每一步都尽量完整操作,以便于留下攻击痕迹。

2.1 难度级别

简单

2.2 攻击链路

简单

2.3 攻击描述

通过常见的信息收集方法(端口扫描、目录扫描、cms指纹识别等),获取目标对外开放的服务和使用的CMS;然后利用已知漏洞进行攻击,获取webshell;接着对内网进行信息收集,利用udf进行权限提升;最后植入挖矿脚本,并创建后门账号、反弹端口进行远控。

03

资源准备

1台 windows 2008 服务器

04

靶场搭建

主要的漏洞环境为beescms,存在后台页面登录处的SQLi、登录处可爆破、登录后可任意文件上传等漏洞。详细环境如下:

操作系统版本

Web服务器

Web后端语言

DB版本

CMS版本

Windows2008

Apache端口80

PHP5.6

MySQL5.3(开启secure_file_priv为空)

Beescms V4.0源码地址:http://beescms.com/cxxz.html

05

实施攻击

靶标初始环境需干净、开启各项日志记录。攻击时需要记录每个动作的时间,以便后续与应急响应报告做比对。

5.1 端口扫描

15:48–15:50,端口扫描,发现:发现存在http、mysql等服务;

5.2 网站后台扫描

15:50,进行网站后台扫描,发现:一些可利用的页面;

5.3 网站getshell

5.3.1 SQLi 写入一句话木马

16:24,对后台登录的用户名处,进行SQL注入

根据报错回显,判断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语句有过滤,但是可以通过复写+空格绕过 - - 网上已知

union => uni union onselect => selselectectoutfile => outoutfilefileinto => in into

继续查看当前数据库权限为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:26,使用admin账号登录网站后台

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提权

18:00,上传moon.php

当前webshell功能较为单一,重新上传一个功能丰富的大马

18:29,使用moon.php登录数据库;

18:31,创建文件plugin

18:32,导出udf提权dll成功

18:33,创建sys_eval并执行whoami

5.5 添加后门用户

18:37,创建影子账户adminadmin$

18:42,将账户adminadmin$加入本地管理员组

5.6 端口映射

19:07,上传F111.exe文件到C:\emergency\phpstudy\tools\pear

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使用率开始飙升。

18:53,将挖矿程序添加到自启动中

19:06,注册挖矿程序服务,设置挖矿自启动

06

环境备份

攻击完成之后,不再做其他的操作,立马对环境创建快照,以免过多操作给应急人员带来太多干扰。然后按照约定的方式和时间,把快照同步给各组的应急人员进行分析。

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

本文分享自 我的安全视界观 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.1 难度级别
  • 2.2 攻击链路
  • 2.3 攻击描述
  • 5.1 端口扫描
  • 5.2 网站后台扫描
  • 5.3 网站getshell
    • 5.3.1 SQLi 写入一句话木马
      • 5.3.2 爆破账密登录后台上传文件getshell
      • 5.4 系统权限提升
      • 5.5 添加后门用户
      • 5.6 端口映射
      • 5.7 运行挖矿文件
      相关产品与服务
      区块链
      云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档