一个局域网蠕虫详细分析


发布人:admin分类:网络安全浏览量:37发布时间:2017-12-12

1、背景

近日,腾讯反病毒实验室从一些物理隔离,大区域超大局域网内发现一蠕虫样本,该蠕虫已在该网络中扩散,甚至渗透到该网络核心服务器上。

该蠕虫利用微软MS10-061打印机服务远程代码执行漏洞在局域网络内疯狂传播。该漏洞首次被发现并被应用于著名的Stuxnet蠕虫(俗称“震网”),后广泛被各种蠕虫利用。由于该网络被物理隔离,无法连接网络并修复该漏洞,从而让该蠕虫有可剩之机。

该样本最早出现于2011年,历经多个变种,目前控制该蠕虫的黑客服务器已经失效。失去了黑客的控制该蠕虫并不具备直接侵害用户的能力,但并没有失去像脱缰的野马一样感染传播的能力。一直到现在该蠕虫也一直存在并危害着网络的安全。

2、危害

1)当蠕虫值入机器后,把自己设置成开机自启动,并释放驱动文件,把该驱动设置为服务自启动。该驱动负责突破系统TCP半开连接数限制,以方便蠕虫通过网络传播。
2)感染系统的可移动驱动器(即U盘等),可通过U盘传播自身。
3)通过MS10-061打印机服务远程代码执行漏洞在局域网传播自身。并尝试利用一些弱口令企图猜解并取得主机权限,危及整个网络的安全。
4)为计算机设置了一个后门,不断尝试连接远程黑客服务器,收集用户信息,接收黑客指令,并可获取黑客远程服务器木马并执行,带来严重安全隐患。

3、样本详细分析

(基本流程图)

3.1 反侦察能力(傀儡进程,字串加密,反虚拟机,隐藏进程)

该蠕虫有较强的反侦察和反调试能力。

1)蠕虫运行后会进行一系列的判断,反调试,沙箱,VM虚假机,监控软件等检测。若发现不对劲马上退出。

其所需用到的API是通过解释kernel32.dll导出表获得LoadLibrary和GetProcAdress地址,从而获得其他所需的API地址。

在蠕虫后续的运行过程中,还会效验当前机器的用户名是否包含”sandbox”,”vmware”等敏感字符串,若存在则马上退出。

2)蠕虫在运行过程中,会使用很多字符串,大部份字符串都被其异或加密起来,在使用前解密,使用后马上清空字符串。

对字符串的两组加密解密函数多达40多个。大大增加其静态分析的难度。

3)当蠕虫运行环境检测通过后,会创建一个自身的傀儡进程,并读取自身shellcode资源,把shellcode注入傀儡进程,然后把后续的工作都交给傀儡进程然后退出。

蠕虫在创建的傀儡进程地址0x29a00000处写入0×22000字节的shellcode,然后把线程入口设置在shellcode处。后续的所有操作都在这个傀儡进程里的这段shellcode里内完成。

4)Shellcode运行后会对自身进行解密,解密完成后跳到真正的入口0x29a07e20处执行。接下来一个重要的操作是隐藏进程本身。

蠕虫通过LoadLibrary读取内核ntoskrnl.exe文件,然后得到PsInitialSystemProcess在内核的偏移。PsInitialSystemProcess是内核的一个全局变量,指向系统进程SYSTEM的EPROCESS结构。每一个进程在内核中都有一个对应的EPROCESS结构,EPROCESS+0×88处可以取得系统活动进程链表ActiveProcessLinks,EPROCESS+0×88处可得到进程PID。通过删除自己在该链表上的位置,可以达到隐藏进程的目的,除非使用专业内核检测工具,否则难以看到。

蠕虫通过ZwSystemDebugControl可直接在R3层对内核空间进行读写操作。传入要读或写的内核地址空间和buffer,即可使用。

通过遍历系统活动进程链表和PID找到自己的EPROCESS结构并从该链表中删除。

3.2 传播性(网络传播:加驱动,服务线程,漏洞线程;U盘传播)

为了自身传播,蠕虫运行后会创建4个相关线程,其中3个线程用于网络渗透传播,另一个为U盘感染线程。

三个网络传播相关线程:驱动加载线程,网络服务器线程,网络渗透感染线程。

驱动加载线程判断系统版本,并释放合适的驱动文件到system32\drivers\sysdrv32.sys并为其创建服务以加载驱动。

驱动加载初始化完成后会创建一内核线程,该内核线程通过ZwQuerySystemInformation获得tcpip.sys的基址,再利用特征码搜索定位到变量ActiveOpenProgressThreshold(TCP半开连接数),并把它的值从10增大到0xfc。该变量限制系统的TCP半连接数量。为了防止震荡波等蠕虫病毒的网络传播,加强系统安全,防止系统资源浪费,微软把TCP半连接数上限设置为10,即同一时刻TCP的半连接最多只能有10个。蠕虫增大了该值,使其更能发辉系统网络潜能传播蠕虫。

网络服务器线程在本地搭建一个服务器,为配合接下来的网络渗透感染线程工作。局域网内的机器被感染后会连接攻击者机器,该线程用作发送蠕虫文件到连接来的被感染机器中。

网络渗透感染线程取得机器所在网段,然后开始利用MS10-061后台打印程序服务漏洞对网络内其他主机进行攻击。该漏洞是一个远程执行代码漏洞,通过构造特殊的RPC请求可以完全控制目标机器。对于已打补丁或各种原因漏洞攻击失败的机器,蠕虫试图用一些弱口令字典去取得远程机器权限。

U盘感染线程不断监视系统是否存在U盘等移动设备,发现U盘后往其复制自己的副本命名为win.com,并修改u盘autorun.inf文件使其在插入U盘后能自动运行。

3.3 留下后门,听命于黑客

该蠕虫最后的目的只是为了在机器上留下后门,并听命于黑客的控制。可窃取用户信息,并下载木马运行,为系统安全留下严重隐患。

蠕虫成功运行后会连接的服务器mail.vspcord.com,通过查询该域名下的IP地址归属为葡萄牙。但在分析时无法连接上该服务器,蠕虫的后门功能已丧失。

通过分析,若连接上黑客服务后,会不断等待读取并解释黑客的指令,进行不同的操作,并返回各种信息。甚至会根据指令从远程服务器上下载木马并运行。

* 作者/腾讯电脑管家(企业账号),转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)


被黑站点统计 - 文章版权1、本主题所有言论和图片纯属会员个人意见,与本文章立场无关
2、本站所有主题由该文章作者发表,该文章作者与被黑站点统计享有文章相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和被黑站点统计的同意
4、文章作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、被黑站点统计管理员有权不事先通知发贴者而删除本文

免责声明

本站主要通过网络搜集国内被黑网站信息,统计分析数据,为部署安全型网络提供强有力的依据.本站所有工作人员均不参与黑站,挂马或赢利性行为,所有数据均为网民提供,提交者不一定是黑站人,所有提交采取不记名,先提交先审核的方式,如有任何疑问请及时与我们联系.

admin  的文章


微信公众号

微信公众号


Copyright © 2012-2022被黑网站统计系统All Rights Reserved
页面总访问量:21473488(PV) 页面执行时间:68.547(MS)
  • xml
  • 网站地图