本帖最后由 SSEC 于 2017-7-11 08:56 编辑
1 简述
1.1什么是飞客蠕虫
飞客蠕虫(国外常用叫法conficker,kido, downup,downadup)是利用微软MS08-067漏洞发起攻击的蠕虫病毒,常用端口是445、139,中毒症状包括请求解析随机域名(DGA)、不能正常访问安全厂商的网站或服务器、下载木马。 飞客蠕虫主要通过系统进程explorer.exe、services.exe、svchost.exe注入自己的病毒dll,此病毒dll的名字是随机值,一般为方便开机即运行该蠕虫,有其对应的开机启动服务项,通常也是一个随机值。
1.2MS08-067漏洞 如果用户在受影响的系统上收到特制的RPC(远程过程调用)请求,则该漏洞可能允许远程执行代码。攻击者可能未经身份验证即可利用此漏洞运行任意代码 ,此漏洞可能用于进行蠕虫攻击。 受影响的系统包括Windows2000、Windows XP、WindowsServer 2003、Windows Vista、WindowsServer 2008,此外Win7的一个测试版本(Win7Pre Beta)也受到影响(正式版本没有问题)。 详细介绍,可以参看微软安全公告KB958644。通常来讲,为提高安全性,受此漏洞影响的操作系统都需要打上相应的漏洞补丁包。
2 中毒现象
飞客蠕虫的中毒现象比较多,以下分各个小节阐述 2.1 阻塞安全类站点 感染飞客蠕虫的一个最明显现象是,基本上,所有访问安全类站点的行为都被阻塞了,即受感染主机是无法更新漏洞补丁包或者更新杀毒软件病毒库的。 飞客蠕虫内置如下的字典,用于阻塞安全类站点:
实现方式主要是hook以下DNS相关的API调用: - DNS_Query_A
- DNS_Query_UTF8
- DNS_Query_W
- Query_Main
- sendto
复制代码
2.2 受感染的文件路径
飞客蠕虫会把病毒体复制到如下文件路径: - %System%\[Random].dll
- %Program Files%\Internet Explorer\[Random].dll
- %Program Files%\Movie Maker\[Random].dll
- %All Users Application Data%\[Random].dll
- %Temp%\[Random].dll
- %System%\[Random].tmp
- %Temp%\[Random].tmp
复制代码
此外,以下文件也是飞客蠕虫所释放的: - %DriveLetter%\RECYCLER\S-%d-%d-%d-%d%d%d-%d%d%d-%d%d%d-%d\[...].[3random characters]
- %DriveLetter%\autorun.inf
复制代码
2.3 受感染的进程飞客蠕虫的病毒体并不是exe,而是dll,它不是以独立进程运行的,其主要“寄生”在以下3种系统进程中: - svchost.exe
- explorer.exe
- services.exe
复制代码
需要说明的是,不是感染这3种进程的磁盘文件,而是注入病毒体dll到它们的进程模块空间中去。
2.4 受影响的注册表
飞客蠕虫可能会创建或者修改以下的注册表项: - HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters"TcpNumConnections"= dword:0x00FFFFFE
- HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List,[PortNumber]:TCP = "[PortNumber]:TCP:*Enabled:[random]"
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\Advanced\Folder\Hidden\SHOWALLCheckedValue = dword:00000000
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\SvcHost, netsvcs = %Previous data% and %Random%
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\[random]Type= dword:00000001Start = dword:00000003ErrorControl = dword:00000000ImagePath ="\...\%MalwarePath%\[random].tmp"DisplayName = [Random]
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DisplayName = %ServiceName% Type = dword:00000020 Start = dword:00000002ErrorControl = dword:00000000 ImagePath ="%SystemRoot%\system32\svchost.exe -k netsvcs" ObjectName ="LocalSystem" Description = %description%
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\[random]\ParametersServiceDll= %MalwarePath%
复制代码
2.5 网络行为
飞客蠕虫会使用NetServerEnum、NetUserEnum等API进行网络共享(SMB)弱密码破解,破解字典如下(部分): - admin
- admin1
- admin12
- admin123
- adminadmin
- administrator
- anything
- asddsa
- asdfgh
- ……
复制代码
破解成功,则复制病毒体到相应主机路径: - \\[Server Host Name]\ADMIN$\System32\[random filename].[randomextension]
复制代码
再尝试执行如下命令: rundll32.exe [random filename].[random extension],[random]
本地会创建服务端口,以提供病毒体的下载链接:
本地会访问如下形式的URL,以下载更多木马或病毒:
https://%PredictableDomainsIPAddress%/search?q=%d 此外,飞客蠕虫内置了一个DGA算法,会尝试链接DGA类域名。 3 检测与查杀
阐述飞客蠕虫的检测与查杀 3.1 网络行为检测 目前一个比较简单通用的方法(即“判断主机是否中了飞客蠕虫”),是基于飞客蠕虫会阻塞安全类站点的。 在主机访问以下这个链接,根据阻塞结果来判断是否中了飞客蠕虫。
基本原理:安全类站点和非安全类站点各选1批,如果非安全类站点都能正常访问,安全类站点都不能访问,则认为中了飞客蠕虫。
另外,由于飞客蠕虫会hookDNS查询相关的API(DNS_Query_A、DNS_Query_UTF8、DNS_Query_W、Query_Main、sendto),如果我们能检测到这类hook,也可以做为中飞客蠕虫的依据。
此外,飞客蠕虫会在短时间内访问大量DGA类域名,多数是解析失败的,也是其重要网络特征。
3.2 如何查杀 1.关闭网络共享,或者关闭Server、Computer Browser、Workstation这三个服务,如果害怕关闭服务会影响业务功能,可以暂时先断网以替代。 2.使用飞客蠕虫专杀工具进行查杀和清理
卡巴斯基飞客蠕虫专杀工具: 注意:如果运行该工具即退出,可能是飞客蠕虫将其强杀,可以将工具改成一个随机名字即可(例如将kidokiller.exe改名为afwzope.exe)。 3.请到微软官网下载MS08-067漏洞补丁包,并打上该补丁包(注意,这个必须做,如果不做下次还会反复感染飞客蠕虫)。不知道如何在微软官网找到对应补丁包的同志,也可以参考下面这个链接。 |