蠕虫病毒利用永恒之蓝漏洞传播,单位局域网受威胁最大

前言

近日,火绒安全团队通过”火绒威胁情报系统”发现蠕虫病毒”Worm/Sharp”正在全网传播,在政府、企业、学校、医院等单位的局域网具有非常强的传播能力。该病毒通过”永恒之蓝”漏洞、多个电脑常用端口传播,入侵电脑后,会横向攻击局域网内所有电脑,同时还会在用户电脑中留下后门病毒,用以执行更多恶意攻击,如勒索病毒、挖矿病毒。

火绒安全

I. 概览

火绒工程师通过技术分析发现,该蠕虫病毒会通过远程服务器和自身爬虫功能收集局域网内的 IP 列表,然后对其中的多个服务端口发起攻击,包括 RPC 服务(135 端口)、SQLServer 服务(1433 端口)、FTP 服务(21 端口),同时还会通过 “永恒之蓝”漏洞,入侵 445 端口,攻击电脑。

由于该病毒针对企业不便关闭的多个常用端口进行攻击,并且利用了局域网电脑中普遍未修复的”永恒之蓝”漏洞,一旦任何一台电脑被该病毒感染,将意味着局域网内所有电脑都面临被感染的风险,尤其给政企机构用户造成极大威胁。

如果病毒成功入侵或攻击端口,就会从远程服务器下载病毒代码,进而横向传播给局域网内其他电脑。同时,该病毒还会在被感染电脑中留下后门病毒,以准备进行后续的恶意攻击,不排除未来会向用户电脑传播更具威胁性病毒的可能性,例如勒索病毒等。

火绒工程师通过技术溯源发现,从 2017 年 06 月 23 日(甚至更早) 至今,该黑客组织一直使用该系列蠕虫在全网进行大规模的信息收集。且一直保持对病毒的更新。

弹窗截图

火绒”企业版”和”个人版”最新版均可彻底查杀蠕虫病毒” Worm/Sharp “。同时,政府、企业、学校、医院等受此类病毒威胁较大的局域网用户,我们建议申请安装”火绒企业版”,可有效防御局域网内病毒屡杀不绝的难题。目前火绒免费提供三个月试用期,欢迎大家前来体验试用。

“火绒企业版”申请试用地址:https://www.huorong.cn/essmgr/essreg。

II. 详细分析

今年上半年,”火绒终端威胁情报系统”检测到 Worm/Sharp 变种在肆意传播,Worm/Sharp 或将卷土重来。该变种通过与 C&C 服务器进行通讯以及内置的爬虫功能获取目标的 IP 地址及端口,对 RPC 服务(135 端口)、SQLServer 服务(1433 端口)、FTP 服务(21 端口)进行爆破,使用永恒之蓝漏洞对 445 端口进行入侵,如果入侵或爆破成功则执行脚本从 C&C 服务器上下载初始样本,初始样本经过多重释放,最终运行 Worm/Sharp蠕虫。除此之外还会判断目标 IP 是否为代理服务器,以及对从 C&C 服务器获取的路由器 IP 地址列表发起 TCP 连接以判断 7547 端口的连通性,为下一步的攻击做准备。

初始样本执行流程,如下图所示:

初始样本执行流程

初始样本执行流程

原始样本(A22.exe)是经过 PECompact 加壳过的,在运行过程中会释放 lib32Waxe.exe,lib32Waxe.exe 带有混淆器在内存中会解压缩.Net 恶意代码,并通过调用 ComCallPreStub 来执行这段.Net 恶意代码,之后进入 Worm/Sharp 核心代码,Worm/Sharp 有两大核心功能。核心功能,如下图所示:

病毒核心功能

病毒核心功能

初始样本(A22.exe)由 VB 编写并且加了 PECompact 壳,在执行过程中会释放 lib32waxe.exe,并创建服务 WaxeSvc,主流程执行完后会启动自删除进程。初始样本主流程,如下图所示:

初始样本执行流程

初始样本执行流程

lib32Waxe.exe 带有混淆器在执行过程中解压缩 Worm/Sharp蠕虫代码。载入二进制资源代码,如下图所示:

载入资源

载入资源

载入的二进制资源经过 zlib 压缩,zlib 版本为 1.2.3。解压后可以获得.Net 恶意代码。解压缩代码,如下图所示:

载入资源

解压缩代码

在最后使用 CLR API 实现在 C++中运行.Net 恶意代码,调用 Clr.dll 中未公开的函数 ComCallPreStub 运行 Worm/Sharp 蠕虫。 调用 ComCallPreStub 函数相关代码,如下图所示:

解压缩代码

启动蠕虫代码

该蠕虫分为获取被攻击的 IP 列表和入侵攻击两部分功能,两部分功能相互协作,不分先后,且两部分功能中的每一个操作均为一个独立线程。

(一) 获取被攻击的 IP 列表

1. 爬虫功能

该蠕虫内置了爬虫功能,可以根据随机字符串搜索、关键字搜索、与 C&C 服务器通讯和 Weblogs 搜索来扩充自己的 IP 列表,为入侵攻击功能提供数量庞大的主机列表。

1.1 通过搜索引擎搜索随机字符串

该线程会维持一个 list 列表,当列表中的数量小于等于 200 时,调用 Random_Sting_1 函数随机生成字符串,并作为 GetList_FromYahooAndBing 方法的参数,在 Yahoo 和 Bing 搜索引擎中进行搜索。筛选出符合要求的,进行正则过滤,正则代码如下[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\:[0-9]{1,5}。

在 List_Filter 方法中会根据端口号对 list 中的目标主机进行分类,为入侵攻击功能提供攻击目标。

函数逻辑,如下图所示:

搜索随机字符串

搜索随机字符串

1.2 通过搜索引擎搜索关键字扩充 FTP 列表

函数逻辑,如下图所示:

ExpandFTPList()函数逻辑

ExpandFTPList()函数逻辑

在 GetIPList_keyWordString_FromBingAndYahoo 方法中定义了一个数组 array,如下图所示:

用于拼接的字符串数据

用于拼接的字符串数据

拼接了两个字符串

String a = “domain:”+array[Random(array.Length)]+Random(10000).ToString

String b = “site::”+array[Random(array.Length)]+Random(10000).ToString

使用 Bing 搜索字符串 a,添加符合要求的 IP 保存到 list

使用雅虎搜索字符串 b,添加符合要求的 IP 保存到 list

UseIPList_FromBing 回调使用 Bing 搜索”ip:”+list 列表中的地址,筛选 21 端口的 IP 地址,调用 AddFTPList 回调将筛选后的 IP 加入 FTP 爆破的 List 中,用于入侵攻击功能进行攻击。

1.3 通过与 C&C 通讯更新相应的列表

Route_TCP_Connect 函数从 C&C 服务器(hxxp://tz.gxout.com/ip/route_tcp.aspx)获取 DES 加密后的路由 IP 地址列表,DES 解密的 key=” 20110520″,IV={32,17,5,32,33,1,88,72}。解密之后发起 TCP 连接,判断 7547 端口是否存活,如果存活则添加到相应的 List 中。

TCP_Connect 函数与上述类似,只是请求的地址有所不同,通讯地址为 (hxxp://tz.gxout.com/ip/tcp.aspx),主要筛选 135、445、1433 端口的 IP 地址。整体逻辑,如下图所示:

与 C&C 服务器通讯逻辑

与 C&C 服务器通讯逻辑

1.4 通过 weblogs.com 搜集信息扩充 1433 端口 IP 列表

蠕虫会从 http://rpc.weblogs.com/shortChanges.xml 下载 shortChanges.xml,对 xml 文件进行解析。调用 GetWeblogList_AfterFilter 函数过滤 Xml 的内容,调用 GetUrl_FromList 将 WeblogList 中的 URL 提取出来,调用 UrlListFilter 过滤以.xml、.rss、.pdf、.gz、和.doc 结尾的 URL。调用 StringManipulationAndAddList 函数筛选端口为 1433 的 IP 地址,添加到 1433 爆破的 List 中。整体逻辑,如下图所示:

Weblogs 搜集信息逻辑

Weblogs 搜集信息逻辑

2. 执行远程恶意代码

通过访问黑客的 C&C 服务器(ftp:// in.siolio.com),下载 FTP 上的 exe 并执行。该功能可以作为一个后门功能,便于后续攻击的展开。相关代码,如下图所示:

下载可执行文件并执行

下载可执行文件并执行

FTP 账号及密码,如下图所示:

FTP 账号密码

FTP 账号密码

3. 修改注册表关闭 TCP/IP 的连接数限制。

修改注册表,如下图所示:

修改连接数限制

修改连接数限制

(二) 入侵攻击功能

蠕虫会通过与 C&C 服务器(hxxp://api.gxout.com/ip/google.aspx)进行通讯获取加密后的 IP 列表,解密过滤后,加入相应的 List 中。入侵攻击功能分为以下 6 个部分:FTP 爆破、135 端口爆破、445 端口入侵1433 端口爆破、7547 端口回连、代理服务器检测,并且当断网的情况下,会自动遍历内网 IP 对内网的其他服务器进行爆破和漏洞攻击。功能线程,如下图所示:

功能线程

功能线程

1. FTP 爆破

获取被攻击的 IP 列表功能中已经对 FTP 的列表进行了扩充,所以在入侵攻击功能中直接开始爆破,内置的字典(部分),如下图所示:

登录信息字典

登录信息字典

如果爆破成功则向目标 IP 上传测试文件,对上传路径进行 Http 请求,删除上传的文件,比较内容,相同则返回全路径,之后将网站的域名(ip 地址)+ftp 用户名+ftp 密码+上传文件的完整路径进行 URL 编码发送到 C&C 服务器(hxxp://tz.gxout.com/ftp/set.aspx)上。程序流程,如下图所示:

测试和发送流程

测试和发送流程

2. 135 端口爆破

使用的账号为 Administrator,密码字典,如下图所示:

密码字典

密码字典

爆破成功之后,会在目标服务器生成批处理文件并执行最终执行的批处理,如下图所示:

批处理内容

批处理内容

3. 445 端口入侵

该蠕虫除了爆破功能之外还会通过漏洞进行入侵,使用永恒之蓝对服务器进行攻击。 部分 Payload,如下图所示:

永恒之蓝 Payload

永恒之蓝 Payload

4. 1433 端口爆破

账号默认 sa,密码字典(部分),如下图所示:

密码字典

密码字典

爆破成功的行为除了执行批处理命令之外还会执行脚本和数据库操作,部分脚本如下:

命令脚本

命令脚本

此外还会对目标主机的注册表进行操作,禁用 CMD、映像劫持。注册表操作,如下图所示:

注册表操作

注册表操作

5. 7547 端口 IP 列表发送

在获取被攻击的 IP 列表功能中已经对从 C&C 服务器获取的路由器 IP 列表进行了过滤和检测,入侵攻击功能中对该列表进行 DES 加密 URL 编码后发送到 C&C 服务器(hxxp://tz.gxout.com/ip/port_set.aspx)。通讯代码,如下图所示:

HTTP 连接

HTTP 连接

6. 代理服务器检测

当端口不是 135、445、1433、7547 时,会检测目标机器的 IP 地址和端口是否为代理服务器,将其作为代理服务器连接 Yahoo,连接成功则进行 DES 加密发送给 C&C 服务器(hxxp://api.gxout.com/proxy/google.aspx)。逻辑流程,如下图所示:

代理服务器检测

代理服务器检测

III. 同源性分析

对黑客的 C&C 服务器进行溯源,可以发现该 C&C 服务器地址最早可以追溯到 2017 年 6 月 23 日,如下图所示:

VT 上的分析结果

VT 上的分析结果

当时从该网站上面下载的蠕虫的名称为 A11.exe,而我们分析的样本名为 A22.exe,最近一次更新时间为 2018 年 7 月 23 日。如下图所示:

黑客 FTP 上的内容

黑客 FTP 上的内容

由此可知,从 2017 年 06 月 23 日(甚至更早) 至今,该黑客组织一直使用该系列蠕虫在全网进行大规模的信息收集,且一直保持对病毒的更新。

IV. 预警

该蠕虫的目的是全网传播并将搜集到的相关信息发送到 C&C 服务器上,况且 Worm/Sharp 还有一个后门功能,黑客已经使用该系列的蠕虫收集了一年多的时间,在未来很有可能会发动大规模的攻击。

V. 附录

文中涉及样本 SHA256:

image033.png

*本文作者:火绒安全,转载请注明来自 FreeBuf.COM


Summer Blog , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:蠕虫病毒利用永恒之蓝漏洞传播,单位局域网受威胁最大
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址