新闻动态

News information

警惕挖矿木马入侵丨Rocke Group团伙挖矿变种AliyunMiner分析

<<返回

2022年05月24日 10:00

01.

背景介绍


客户现场的设备中发生了一起木马中毒事件,有窃取个人资料、破坏系统、建立网络连接等行为。经过分析,该木马的一系列行为特征与Rocke组织的AliyunMiner病毒极为相似,故可将其归为AliyunMiner病毒。


图片1.png


Rocke组织又称Iron组织,又名SystemTen、Kerberods/Khugepageds,最先由思科于2018年8月报道,以在Linux机器上运行加密劫持恶意软件而闻名,并通过修改其工具,改进攻击技术来进行持续攻击。该组织最新使用的恶意软件还能通过代码来卸载Linux服务器上安装的云安全保护和监控软件。


攻击者使用Go语言编写的恶意软件来设置和监视受感染机器并进行挖矿。自2019年3月 Anomali威胁研究团队首次报告以来,“LSD”恶意软件已经进行了一些更新。9月份新版LSD重构后的源代码布局如下(不过目前已经无法访问)

Packagegithub.com/hippies/LSD/LSDB: /root/go/src/github.com/hippies/LSD/LSDB

File:<autogenerated>

    init Lines: 1 to 1 (0)

File: a.go

    _kBytes Lines: 15 to 29 (14)

    KWR Lines: 29 to 49 (20)

File: b.go

    _libBytes Lines: 14 to 21 (7)

    LibWrite Lines: 21 to 25 (4)

File: c.go

    _netdnsinitBytes Lines: 12 to 19 (7)

    _netdnsserviceBytes Lines: 19 to 26 (7)

    NetdnsWrite Lines: 26 to 39 (13)

Packagegithub.com/hippies/LSD/LSDA: /root/go/src/github.com/hippies/LSD/LSDA

File:<autogenerated>

    init Lines: 1 to 1 (0)

File: a.go

    run Lines: 11 to 65 (54)

    runtwo Lines: 65 to 77 (12)

    Aago Lines: 77 to 87 (10)

    Aagofunc1 Lines: 82 to 85 (3)

File: b.go

    generateTask Lines: 17 to 29 (12)

    cmd Lines: 29 to 59 (30)

    cmdfunc1 Lines: 37 to 76 (39)

    cmdtwo Lines: 59 to 71 (12)

    bgo Lines: 71 to 91 (20)

    bgofunc1 Lines: 76 to 79 (3)

    Bbgo Lines: 91 to 96 (5)

File: c.go

    crun Lines: 13 to 51 (38)

    crunfunc1 Lines: 18 to 68 (50)

    cruntwo Lines: 51 to 63 (12)

    Ccgo Lines: 63 to 73 (10)

    Ccgofunc1 Lines: 68 to 71 (3)

File: d.go

    exp Lines: 13 to 46 (33)

    expfunc1 Lines: 18 to 69 (51)

    drun Lines: 46 to 52 (6)

    druntwo Lines: 52 to 64 (12)

    Ddgo Lines: 64 to 82 (18)

    Ddgofunc1 Lines: 69 to 72 (3)

Packagegithub.com/hippies/LSD/LSDC: /root/go/src/github.com/hippies/LSD/LSDC

File:<autogenerated>

    init Lines: 1 to 69 (68)

File: a.go

    Read Lines: 25 to 45 (20)

    StartHttpServer Lines: 45 to 91 (46)

    StartHttpServerfunc1 Lines: 47 to 203 (156)

    glob.func1 Lines: 71 to 75 (4)

    glob.func2 Lines: 75 to 80 (5)

    glob.func3 Lines: 80 to 97 (17)

    GetCurrentPath Lines: 91 to 128 (37)

    glob.func4 Lines: 97 to 101 (4)

    Getcmdnums Lines: 128 to 157 (29)

    file2Pid Lines: 157 to 181 (24)

    Getmd5nums Lines: 181 to 200 (19)

    Downloadfile Lines: 200 to 235 (35)

    Downloadfilefunc1 Lines: 203 to 398 (195)

    Update Lines: 235 to 293 (58)

    Dnstofile Lines: 293 to 308 (15)

    CopyFile Lines: 308 to 325 (17)

    Mkdir Lines: 325 to 329 (4)

    Writefile Lines: 329 to 338 (9)

    Writefiletwo Lines: 338 to 366 (28)

    Chmod Lines: 366 to 372 (6)

    Delfile Lines: 372 to 381 (9)

    Changetime Lines: 381 to 389 (8)

    Cmdexec Lines: 389 to 395 (6)

    Dnsget Lines: 395 to 431 (36)

    Dnsgetfunc1 Lines: 398 to 491 (93)

    Checkupdate Lines: 431 to 451 (20)

    Getcronurl Lines: 451 to 467 (16)

    Updatekill Lines: 467 to 488 (21)

    getip Lines: 488 to 520 (32)

    getipfunc1 Lines: 491 to 496 (5)

    getipb Lines: 520 to 535 (15)

    Getiplist Lines: 535 to 563 (28)

    Cron Lines: 563 to 578 (15)

    Bashrc Lines: 578 to 585 (7)

File: b.go

   procPidStatSplit Lines: 12 to 61 (49)

    readSmallFile Lines: 61 to 74 (13)

    readFileLines Lines: 74 to 84 (10)

    readUInt Lines: 84 to 92 (8)

    getProcessCpu Lines: 92 to 102 (10)

    GetProcessCPUPercent Lines: 102 to 111 (9)

    Killcpu Lines: 111 to 118 (7)

File: c.go

    NewAesCipher128 Lines: 16 to 52 (36)

    (*AesCipher128)BlockSize Lines: 52 to 67(15)

    (*AesCipher128)Decrypt Lines: 67 to 71 (4)

Package main:/root/go/src/github.com/hippies/LSD

File:<autogenerated>

    init Lines: 1 to 1 (0)

File: main.go

    attack Lines: 16 to 27 (11)

    lsd Lines: 27 to 79 (52)

    main Lines: 79 to 95 (16)

主要更改在于C2功能,不再使用 “systemten[.]org”域

而是迁移到了“iap5u1rbety6vifaxsi9vovnc9jjay2l[.]com”


图片2.png


02.

病毒入侵的影响

病毒使用Go语言编写,包含经过修改的UPX壳,使某些恶意软件检测产品更难检测到恶意代码。病毒中还有许多以压缩形式存储在内部的模块,在执行过程中会解密提取并执行。其YARA规则为:


import "elf"  rule Modified_UPX_ELF : Misc {   meta:    author = "@_lubiedo"    date   ="31-08-2021"     description ="Detect possibly modified UPX magic on ELF binaries"   strings:    $upx_magick = "UPX!"    /* entries */     $entry00 = {50  52 E8  ??  ?? ??  ??  55  53  51  52} // ELF64_AMD     $entry01 = { 50 E8}                                      //ELF_i386     $entry02 = { 04 11 ?? ??}                                //ELF32_MIPSEB, ELF32_MIPSEL     $entry03 ={ 18 D0 4D E2 B? }                             // ELF_ARMEL   condition:     filesize < 10MB and uint32be(0) ==0x7f454c46 and     for any of ($entry*) :( $ at elf.entry_point ) and // search for stub opcodes at entrypoint     ( // search for UPX exec format types       (not $upx_magick at 0xec anduint16be(filesize - 0x20) == 0x0d16) or // UPX_F_LINUX_ELF64_AMD       (not $upx_magick at 0x98 and(uint16be(filesize - 0x20) == 0x0d17 or uint16be(filesize - 0x20) == 0x0d0c))or // UPX_F_LINUX_ELF_i386, UPX_F_LINUX_ELF32_ARMEL       (not $upx_magick at 0x78 and(uint16be(filesize - 0x20) == 0x0d89 or uint16be(filesize - 0x20) == 0x0d1e))// UPX_F_LINUX_ELF32_MIPSEB, UPX_F_LINUX_ELF32_MIPSEL     ) }


该病毒使用保存的SSH密钥和弱密码感染网络中的其他机器。还利用一些平台和服务中的漏洞,比如jenkins(CVE-2018-1000861、CVE-2019-1003000)、redis和 ActiveMQ(CVE-2016-3088),一旦受害者被感染,就会借此进行传播。


病毒使用了4个LSD包:

1. github.com/hippies/LSD/LSDA,病毒相关配置初始化


图片3.png


2. github.com/hippies/LSD/LSDB,文件释放


图片4.png


3. github.com/hippies/LSD/LSDC,Linux权限维持,执行一些命令


图片5.png


4. github.com/hippies/LSD/LSDD,攻击与传播包,包含ssh爆破实现自身的传播,利用redis未授权访问和弱口令爆破,利用jenkins远程代码执行漏洞,利用ActiveMQ 任意文件写入漏洞等实现感染。


图片6.png


样本9.971505116492501.png运行后会在目录/usr/local/sbin下释放文件 9.9715051164925。此外,在/usr/local/bin,/usr/bin,/usr/libexec,/tmp等目录下也会创建文件,并修改这些文件的时间戳,使它们看起来更旧。


图片7.png


经对比发现这两份文件是一样的


图片8.png


开启恶意的定时任务 /var/spool/cron/root


图片9.png


/var/spool/cron/crontabs/root


图片10.png


/etc/cron.d/root


图片11.png


在 /etc/bashrc 中写入恶意命令


图片12.png


运行该恶意样本后,每次使用 xshell 连接虚拟机,都会有以下报错提示,显示的链接为:http://aliyun.one/pygo,因此网上对该病毒的命名为 AliyunMiner。


图片13.png


存在恶意启动项 sshservice,释放 bash 模板文件到 /etc/init.d/sshservice,bash 文件被 gzip 格式压缩打包在病毒文件中。


图片14.png


病毒的活动是使用DNS over HTTPs(DoH) 来获取C2服务器的地址,该地址使用发送回加密DNS记录的硬编码域。通过抓包获取到受感染的机器尝试访问的域名cron.iap5u1rbety6vifaxsi9vovnc9jjay2l.com和icanhazip.com。


图片15.png


03.

防范措施

针对该病毒防范的建议:

1、对SSH、Jenkins和Redis服务使用强密码,此外强烈建议使用TLS身份验证;

2、为网络中的每台机器使用不同的密码和验证密钥;

3、确保机器上的Jenkins和ActiveMQ服务更新到最新;

4、限制对服务和机器的访问,并且只为每个用户提供所需的权限;

5、将网络流量过滤到不受信任或已知的恶意域;

6、通过网络流量异常检测工具来检测偏离正常流量的可疑通信。

 

必要的安全防护设备:

1、网络出口位置部署六方云防火墙,并及时更新特征库;

2、终端部署六方云安全卫士,及时扫描和查杀病毒;

3、部署六方云神探产品,及时发现未知威胁。