Blackice,俗称“黑冰”病毒,主要基于感染移动存储设备而被广泛传播,还有一个顽固点,就是一旦完整策略形成,将快速感染office文件、部分exe文件,各类变种还能轻易扼杀多个杀毒软件核心进程。
但这个病毒的危害并不大,属于恶作剧系列,而且很古老很经典的病毒。但在如今一些企事业单位还顽固清除不了,甚至有些新手借题发挥、炒作安全威胁,甚至申请科研成果。可见有些做点技术的不是技术人员底线确实很低。
下面,简要分析Blickice 病毒的主体原理,文末最后给出手动去除BlickIce病毒的方法。
一、病毒分析:以BlackIce的变种之一Blackice.C病毒分析为例:(文中部分出自博主@浪里个浪..)
【样本信息】
MD5:50f559ef10b0291332d387ac9149878e
【样本概述】
该病毒是具有对抗能力的感染型病毒,属于blackice家族。其通过在HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\shell和
HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\run设置自启来实现持久化,通过注入explorer.exe进程来实现进程保护,通过感染本地磁盘,可移动磁盘和网络资源中的exe,xls,doc文件实现传播,通过从以下地址下载数据到本地运行来实施后续攻击。
http://fmtwld.zj.com/blackice/url.txt
http://fmtwld.vicp.net/blackice/url.txt
【行为概述】
注册表行为:
1,HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\run
键:run 值:%windir%\system32\blackice.exe
2,HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\shell
键:shell 值:Explorer.exe C:\Windows\system32\blackice.exe(该值导致开机时桌面程序启动失败,只显示壁纸,有些Blaceice变种,会开机直接显示“我的文档”,而不出现任务栏菜单和桌面)
文件行为:
1,写入%windir%\system32\blackice.exe文件。
2,写入%windir%\system32\kernel.dll文件。
3,感染主机上本地硬盘中的除去winnt和windows目录下的exe,xls,doc文件。
进程行为:
1,注入explorer.exe进程,用于在blackice.exe进程结束时重启该进程。
2,查找以下27个安全厂商的相关进程,找到后终止。
网络行为:
1,连接http://fmtwld.zj.com/blackice/url.txt和http://fmtwld.vicp.net/blackice/url.txt试图下载数据到本地,保存为%windir%\system32\blackice.ini文件运行。
【源码详细分析】
1,创建互斥体“blackicemutex”,用于进程间互斥,防止多个blackice.exe在运行。若该互斥体已经存在则退出。
2,判断系统版本,如果不是Windows 7,Windows Server 2008,Windows Vista,Windows Server 2003,Windows XP或Windows 2000中的一个则退出。
3,获得主机信息。
主机名:
获得系统盘信息:
获得磁盘序列号:
获得主机MAC地址:
4,提权,设置SeDebugPrivilege权限。(开发重点)
5,将当前文件复制为%windir%\system32\blackice.exe和%windir%\system32\kernel.dll文件。
6,对explorer.exe进程进行注入,用于进程保护。
首先获得explorer.exe进程的PID:
然后打开explorer.exe进程注入shellcode,最后以启动远程线程的方式启动该shellcode。
7,创建六个线程。
线程1:sub_404A71
创建自启:
在HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\run处创建自启
键:run 值:%windir%\system32\blackice.exe
创建办法:
检索与Win.ini文件的指定部分中的键关联的字符串。
如果没有则写入
在HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\shell创建自启
键:shell 值:Explorer.exe C:\Windows\system32\blackice.exe(该值导致开机时只显示壁纸)
创建办法:
检索"C:\Windows\system32\system.ini"键关联的字符串
如果没有则写入"Explorer.exe C:\Windows\system32\blackice.exe"
持续检测%windir%\system32\blackice.exe和%windir%\system32\kernel.dll存在与否,如果不存在则将自身拷贝过去
持续检测注入的远程线程的退出码,判断是否为正常退出,如果不是则重新进行注入。
线程2:sub_403D93
连接http://fmtwld.zj.com/blackice/url.txt
http://fmtwld.vicp.net/blackice/url.txt
获得数据写到本地的%windir%\system32\blackice.ini文件中
下载完成后执行该文件
线程3:sub_4051AC
终止安全厂商的27个相关进程,其中就包括360、卡巴斯基、瑞星等。
查找相关进程并终止:
线程4:sub_403105
设置word和execl的安全级别
感染xls和doc文档的模板文件,使新创建出来的xls和doc文档带毒。
线程五:sub_404999
注册watchusb窗口类并创建该类窗口,监视磁盘变更的消息,如果是可移动磁盘则对其进行感染,并感染其中的目标文件。
判断消息类型和磁盘类型。
线程六:sub_403771
首先获得本地时间,如果时间不是星期二,四,六则退出该线程:
然后以获得时间的毫秒数为种子生成一个随机数,然后以该随机数为参数睡眠
感染本地磁盘中的目标文件,包括exe,doc,xls文件,感染深度为3层目录:
感染网络资源中的目标文件,感染深度为4层目录:
8,等待线程1和线程2结束后退出进程。
9,注入explorer.exe进程的shellcode分析。
等待blackice.exe进程结束,在其结束后查找%windir%\system32\blackice.exe文件,如果存在则直接运行它,如果不存在则将%windir%\system32\kernel.dll文件复制为%windir%\system32\blackice.exe文件并运行。
二、手动清除BlackIce。
通过以上的源码分析,手动清除BlackIce病毒也很简单,但清除的过程不一定那么顺畅,比如正常和安全模式进入系统,在%windir%\system32\目录下无法看到blackice.exe,命令行下使用attrib -h也无法让其现行,使用del /f命令也不能将其删除,但在命令行%windir%\system32\目录下面输入black 然后按Tab键,系统会自动补齐blackice.exe,说明该文件是存在的。作者还是设置了几个障碍,让用户没有权限对病毒文件进行删除。所以建议以下顺序进行清除:
(1)使用PE盘进入删除%windir%\system32\目录下blackice.exe,一般在C:\windows\system32\目录下。同理,还可以把病毒盘挂为从盘,进行删除该病毒文件。主要目的是不要让病毒主进程启动。
(2)第二步修复注册表键值,重点是HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\下的shell键值:
改成
如果不改此处,每次进入系统会直接打开“我的文档”或只显示桌面,任务栏菜单和资源管理器均无法看到,需要新增explorer.exe才能显示正常。
(3)进入系统后,再启动任一杀毒软件,将残余文件进行清理。(这一步可以不做)
根据以上原理,可以变种更多类似功能,作者在病毒隐藏方面还是留有余地,后续有时间,放出更多死手配置。