银河国际(中国)

    安全研究

    News information

    门罗币挖矿木马.rsyslogds分析

    <<返回

    2021年12月20日 10:46

    1. .rsyslogds挖矿木马介绍

    攻击者可能会顺利获得钓鱼、漏洞利用、社工等方式将一个名为.rsyslogds.sh的文件投递到目标Linux主机上,.rsyslogds.sh运行后会主动下载挖矿木马.rsyslogds,并启启动,该挖矿木马运行后会占用大量CPU资源。母体文件合挖矿文件从文件名看起来很像系统日志文件名,具有一定的迷惑性。

    图片1.png 

    2. .rsyslogds文件分析

    IDA 打开该恶意文件 rsyslogds,发现被 upx 加壳了,upx 版本为3.96,需要脱壳分析。

    图片2.png 

    将木马文件放入 CentOS7 虚拟机,为了安全起见断开网络连接,因为使用IDA 进行远程调试,所以也要将IDA中的 linux_server64 放入虚拟机,两者放在同一目录下。

    图片3.png 

    运行 linux_server64 前需要先关闭防火墙:systemctl stop firewalld.service

    在本地主机打开IDA,选择 Debugger -> Run -> Remote Linux debugger 打开窗口,配置调试环境。

    图片4.png 

    现在开始手动脱 upx :

        (1). ESP 定律查看通用寄存器 ESP,数据窗口中跟踪,F8 单步步过。

        (2). F8 跑飞时,重新启动,使用 F7 步入,遇到循环时 F4 直接跳过。

    最后经过一个大跳转到达 OEP

    图片5.png 

    在此进行内存 dump,先查看区段信息,确定起始和终止的地址

    图片6.png 

    然后选择脚本命令编写脚本代码

    图片7.png 

    运行结束后在 D 盘下得到 dump2.dex 16进制文件,IDA打开查看,如下图,需要进行区段的修复

    图片8.png 图片9.png 

    网上找了一个脱壳工具用于脱 upx3.96 的壳,脱壳后IDA 打开,如下图

    图片10.png

    图片11.png

    先使用IDA 静态查看分析,Shift F12 查看字符串,看看有什么有价值的信息。

    查找 http,搜寻相关的链接:http://xmrig.com/

    图片12.png 

    打开该挖矿相关的网页,工具文档下载与配置,代理的设置、算法的定义等内容。

    图片13.png

    图片14.png 

    图片15.png 

    而以下的字符串信息就是矿机 XMRig 的使用命令行选项,xmrig 是一款高性能、开源、跨平台的矿机,现在市面上最流行,通用性最好,在使用时会大量占用 cpu 资源,是门罗币挖矿最常用的软件,当前使用的版本为6.15.3

    图片16.png 

    既然是 xmrig 挖矿,就会使用矿池,钱包地址等,搜索相关字符串,看到一些关键的信息,矿池指定的域名和端口:pool.minexmr.com:5555/3333/443

    挖到的门罗币保存的钱包地址:48BBjhM6wjtVPPteiAAyy4FfQogMVvJdSWqbT3T8L9cGb9NhUPRtMHkYVmzLgpYEiuh9B6J1yrXhPdjtnmf7rfQyA73rWaF

    矿工名为 "x"

    图片17.png 

    矿池官网

    图片18.png 

    输入钱包地址,可以看到许多信息,有所挖的门罗币总值,总挖矿时间,最近挖到的币数量、时间,哈希值,现在活跃的矿机等等

    图片19.png 

    可以看到矿工 x 已下线

    图片20.png 

    图片21.png 

    矿池与挖矿主机之间的挖矿通信协议一般采用 Stratum 协议,Stratum 协议是基于 JSON-RPC2.0 封装的 TCP 通讯协议,在矿机与矿池的交互过程中支持矿机登记、任务下发、账号登录、结果提交和挖矿任务难度调整这5种行为,包括 "mining.subscribe"、"mining.notify"、"mining.authorize"、"mining.set_difficulty"等方法

    虽然现在矿池与矿机间的通信都使用 Stratum 协议,但不同币种及使用不同的工具、流程和流量中的协议字段会有所不同

    图片22.png 

    门罗币作为主流币种,采用 RandomX 或 CryptoNight 算法,基于挖矿代理程序 xmr-stak 或 xmrig 等连接矿池,与使用 Stratum 协议的通用挖矿木马相比,还具有其他特点,如采用 jsonrpc 数据样例的格式进行通信,有些矿机的通信数据中包含代理程序特征和代理程序所使用的的算法名

    图片23.png 

    图片24.png 

     木马攻击服务器后释放的恶意文件,顺利获得域名 205.185.113.59:1234 下载木马文件

    图片25.png 

    图片26.png 

    图片27.png 

    查一下这个 IP,是美国的,不过现在还未报告过被用来做坏事,可以点击 "File Report" 来提交一下:

    图片28.png 

    图片29.png 

    此外该木马还会顺利获得添加或修改 crontab 来设置了定时任务,使木马定时重复启动,如果不清除所有的定时任务,即使杀死程序进程,下一次还会重新启动程序挖矿

    图片30.png 

    3. 挖矿木马的防护

    在多年的演进中,越来越多的挖矿木马利用多种方式入侵系统,试图感染更多的机器,提高挖矿的效率和收益,主要的入侵方式有漏洞利用、弱口令、伪装正规软件,主要顺利获得三种方式控制机器挖矿,可执行文件、基于浏览器的挖矿木马和无文件挖矿木马

    对于感染挖矿木马机器的清除步骤:

        (1). 从内网服务器、DNS防火墙等设备获取恶意域名信息,查询威胁情报来确定木马类型

        (2). 查看系统CPU、内存、网络的占用情况,获取异常进程信息

        (3). 根据进程名称或字符串信息获取进程号或命令行信息

        (4). 由进程号查看进程运行的线程,结束挖矿进程及其守护进程

        (5). 顺利获得挖矿进程的相关信息定位到文件的具体位置,删除恶意文件

        (6). 查看启动项,若发现非法开机自启服务,停止并删除对应数据

        (7). 查看定时任务,多数挖矿木马会在受感染的机器中写入定时任务完成程序的驻留,需要删除定时任务

        (8). 溯源挖矿木马的入侵途径,查找系统漏洞,打上对应补丁,完成任务修复,防止再次入侵

    针对挖矿木马的防护要做到如下几点:

        (1). 规范上网行为,不下载安装未知的软件

        (2). 不点开来历不明的文档、图片、音频视频等

        (3). 及时安装系统补丁,修复漏洞

        (4). 加强密码复杂度,定期更改密码

        (5). 进行严格的隔离,有关系统、服务尽量不开放到互联网上,内网中的系统也要顺利获得防火墙、VLAN或网匣等进行隔离

    必要的安全防护设备:

    (1). 网络出口位置部署银河国际(中国)防火墙,并及时更新特征库

    (2). 终端部署银河国际(中国)Linux版卫士,并及时更新特征库

    (3). 部署银河国际(中国)神探产品,及时发现未知威胁