Win32.Induc.A的清理方法

以下是此病毒的一些信息:
Win32.Induc.A
别名:Virus.Win32.Induc.a(金山毒霸)
Virus.Win32.Induc.a(Kaspersky)
W32.Induc(Mcafee)
Virus:Win32.Induc.A(Microsoft)
病毒类型:Virus(病毒)
大小: 约5 KB
影响平台:微软Windows操作系统

Win32/Induc.A 是一个可以在编译时(compile-time )感染Delphi文件的病毒.当随着被感染文件进入电脑系统,“Delphi梦魇”就开始检验系统中是否有Delphi环境.它通过循环检测注册表键值的方法查找dephi的安装目录,如果找到dephi这个冤大头,就将恶意代码前排插入SysConst.pas文件,这个文件编译的时候,会生成 SysConst.dcu,而这个文件会被添加到每个新的dephi工程中.该毒在全球网络中已经传播了多月,目前已知受感染最早的系统,在2008年的年末就已中招.反病毒工程师发现,该毒作者的用意似乎并不在破坏,只是静默地实现感染,不断传播代码的主体.病毒就这样不断传播,直到遍及全球所有基于 Delphi环境的电脑,而对没有安装Delphi相关软件的普通电脑,则是完全无效.这个病毒具有二次感染能力,也就是说原来你编译出来的所有 Delphi程序都可以再次感染你机器上的Delphi库文件,请一定要检查你所写出的工具是否也含毒,否则将陷入一个死循环

感染后的程序:


该病毒针对下列文件进行拷贝(源文件,目的文件)
%delphi rootdir%\Lib\SysConst.dcu,%delphi rootdir%\Lib\SysConst.bak
%delphi rootdir%\source\rtl\sys\SysConst.pas,%delphi rootdir%\Lib\SysConst.pas
修改了下列文件
%delphi rootdir%\Lib\SysConst.pas
该病毒将自身源代码写入文件
该病毒执行下列命令行l
"%delphi rootdir%\Bin\dcc32.exe" "%delphi rootdir%\Lib\SysConst.pas"
最终文件"%delphi rootdir%\Lib\SysConst.dcu"包括了原始代码
删除了下列文件
%delphi rootdir%\Lib\SysConst.pas
文件感染
Win32/Induc.A是一个感染Delphi编译文件的病毒
用Delphi语言编写的编译程序也会携带病毒代码.插入代码的大小为5KB.
其他信息
Delphi版本4、5、6、7 均受影响


目前已经发现受感染的知名程序
1.部分inno setup增强版编译环境的版本
2.某些传奇外挂和软件登录器等
3.iSpeak部分修改版(官方下载没有问题)
4.无忧登陆软件(暂未找到那个是真官方,有个QQ无忧登录的网站正常)
5.部分CS程序等
6.部分单机大型游戏安装目录下的info\setup.exe(魔兽争霸III,天使帝国3等其他网络流行单机游戏,多为盗版游戏官方的没有鉴定)
7.部分迅雷Ayu修改版本


解决方案:
1、使用杀软扫描所有的Delphi编写的可执行文件并清除病毒(或直接删除所有Delphi编写的可执行文件,包括从网上下载的)
2、将文件 %DelphiInstallPath%\Lib\SysConst.dcu删掉,然后执行步骤4 或 步骤5
3、将文件 %DelphiInstallPath%\Lib\SysConst.bak改名为 SysConst.dcu,结束.
4、调用 DCC32.exe 编译出新的 SysConst.dcu ,编译命令如下: %DelphiInstallPath%\bin\DCC32.exe "%DelphiInstallPath%\\Source\Rtl\Sys\SysConst.pas"
5、将新编译的SysConst.dcu(在%DelphiInstallPath%\\Source\Rtl\Sys\目录下)文件复制到 %DelphiInstallPath%\Lib\ 目录
6、也可以在目标EXE(被感染的DELPHI程序)中搜索
2D000000757365732077696E646F77733B207661为感染代码的头,然后在2E70617300000000为感染的尾部,将这一段清零,再搜索E84AFDFFFF->9090909090就可以了,可以完美修复
注:源程序已经加壳或数字签名后,以上某些方法可能会失效

We recently added detection for a file infector to our databases,for something we call Virus.Win32.Induc.a. Since then,we've had a load of questions about it. It doesn't currently have a malicious payload,and it doesn't directly infect .exe files. Instead,it checks if Delphi is installed on the victim machine,looking for versions 4.0,5.0,6.0 and 7.0.
If the malware does find one of these Delphi versions,it copies SysConst.pas to \Lib and writes its code to it. It then makes a backup of SysConst.dcu,calling it SysConst.bak (dcu files are kept in \Lib). It then compiles \Lib\SysConst.pas giving an infected version of SysConst.dcu. The modified .pas file gets deleted.
"uses windows; 
var sc:array[1..24of string=('uses windows; var sc:array[1..24] of string=(','function x(s:string):string;var i:integer;begin for i:=1 to length(s) do if s[i]'
'=#36 then s[i]:=#39;result:=s;end;procedure re(s,d,e:string);var f1,f2:textfile;','h:cardinal;f:STARTUPINFO;p:PROCESS_INFORMATION;b:boolean;t1,t2,t3:FILETIME;begin'
'h:=CreateFile(pchar(d+$bak$),0,0,0,3,0,0);if h<>DWORD(-1) then begin CloseHandle',"
The result – any Delphi program compiled on the computer gets infected. (We've already had a company contacting us to complain about something they thought was a false positive.) Maybe this particular virus isn't that much of a threat: it's not the first time we've seen this propagation method,the code itself is primitive,there's no other payload,and there are far easier ways to infect machines. But in the past we've seen new infection routines get picked up,tweaked,and taken further. We'll be keeping an eye on this one,just in case

最后,如果你使用的某个程序被杀软查出被此病毒感染,建议使用草莽书生提供的Win32/Induc.A修复工具修复。



  金山云安全中心近日在国内率先截获了一个针对计算机程序员、尤其是Delphi使用者的病毒“Delphi梦魇”(Win32.Induc.b.820224 ),简单描述该毒行为,就是:它专门感染Delphi程序员的电脑,一旦成功,程序员今后写出的任何程序,都将带有该毒!
  
  噩梦的成长过程
  当随着被感染文件进入电脑系统,“Delphi梦魇”就开始检验系统中是否有Delphi环境。它通过循环检测注册表键值的方法查找dephi的安装目录,如果找到dephi这个冤大头,就将恶意代码前排插入SysConst.pas文件,这个文件编译的时候,会生成SysConst.dcu,而这个文件会被添加到每个新的dephi工程中。
  于是,程序员们所编写的程序就全部带毒了,一个个隐秘的“病毒兵工厂”就这样诞生,
  更可怕的是,通过对受感染文件的分析,金山毒霸反病毒工程师发现,该毒在全球网络中已经传播了多月,目前已知受感染最早的系统,在2008年的年末就已中招。
  而根据金山毒霸云安全系统的监测,目前已有多家知名软件厂商的产品感染了该毒,所影响的用户数量庞大,甚至难以在短时间内统计得出。
点击在新窗口中浏览此图片
  
  不幸中的万幸
  虽然已有大量的Delphi程序员和软件产品中招,但通过对“Delphi梦魇”(Win32.Induc.b.820224 )代码的分析,金山毒霸反病毒工程师发现,该毒作者的用意似乎并不在破坏,只是静默地实现感染,不断传播代码的主体。病毒就这样不断传播,直到遍及全球所有基于Delphi环境的电脑,而对没有安装Delphi相关软件的普通电脑,则是完全无效。我们尚不清楚作者是在怎样的条件下编写出该毒的,但如果他是醉心于纯技术研究的人,那么该毒的大面积感染一定会是个能让他觉得十分有成就感的过程。
点击在新窗口中浏览此图片
  
  国内无良黑客的兴奋剂
  虽说病毒原作者看上去没啥坏心,但是金山毒霸反病毒工程师很担心,在国内广大唯利是图的黑客(病毒作者)眼中,这无疑是一份大大的馅饼。自三月份刑法新条例出台、政府部门对病毒木马编写以及黑客行为加大打击后,不法黑客的生意越来越难做,突然出现这种有助降低犯罪技术门槛的安全事件,他们绝不会愿意放过。目前,“Delphi梦魇”(Win32.Induc.b.820224 )的源代码已经在网络中完全公布流传,金山毒霸反病毒工程师认为,无法排除国内病毒作者对其进行改造、进化的可能。如果他们对该毒加入下载木马、盗号等恶意行为指令,很难说会DIY出怎样的猛毒。
  
  安全方案
  值得庆幸的是,金山毒霸已经出台了针对“Delphi梦魇”(Win32.Induc.b.820224 )的解决方案,金山毒霸能彻底防御和查杀该病毒!
  用户只需使用金山毒霸2009并升级到最新版本,然后全盘扫描,即可彻底清除该毒和修复被它感染的delphi程序。而更详尽彻底的解决方案,请大家留意金山毒霸随后即将放出的“Delphi梦魇”专杀工具。
  另外,对习惯手动解决问题的Delphi程序员,我们需要提醒一下,这个病毒具有二次感染能力,也就是说原来你编译出来的所有Delphi程序都可以再次感染你机器上的Delphi库文件,如果使用自己编写的查杀工具,请一定要检查你所写出的工具是否也含毒,否则将陷入一个死循环。

  金山毒霸反病毒工程师建议,要彻底清除该病毒,需做到以下几点:
  

  1、使用杀软扫描所有的Delphi编写的可执行文件并清除病毒。(或直接删除所有Delphi编写的可执行文件,包括从网上下载的)
  2、将文件 %DelphiInstallPath%\Lib\SysConst.dcu 删掉,然后执行步骤4 或 步骤5和6。
  3、将文件 %DelphiInstallPath%\Lib\SysConst.bak 改名为 SysConst.dcu,结束。
  4、调用 DCC32.exe 编译出新的 SysConst.dcu ,编译命令如下: %DelphiInstallPath%\bin\DCC32.exe "%DelphiInstallPath%\\Source\Rtl\Sys\SysConst.pas"
  5、将新编译的SysConst.dcu(在%DelphiInstallPath%\\Source\Rtl\Sys\目录下)文件复制到 %DelphiInstallPath%\Lib\ 目录,结束。
  6、使用金山毒霸2009并升级到最新版本全盘扫描清除已经被感染的delphi程序 。


附,Delphi梦魇分析报告(Win32.Induc.b.820224、Win32.Induc.a.820224)

一、文件信息
  文件大小:163840字节
加壳类型:ASPack 2.12
编写语言:Borland Delphi 6.0
病毒类型:感染型

二、病毒描述
该样本为Delphi感染型病毒,通过感染Delphi库文件中的SysConst.dcu文件,使用户在使用被感染的库文件编程后,生成的文件均被感染。

病毒行为
病毒在第N次处理初始化表时(Call StartExe)进行操作,即完成在程序加载正常Delphi文件前执行病毒代码。(数字N根据被感染用户的Delphi版本不同有所不同)。
循环检测注册表键值HKLM\software\Borland\Delphi\ X.0 判断当前机器是否安装Delphi。检测版本(4.0  5.0  6.0  7.0)。如本机未安装则直接跳出病毒代码进行正常的初始化工作,不进行感染。
如安装了Delphi则通过访问注册表得到用户的Delphi安装路径。
根据用户安装路径将源文件夹中的SysConst.pas和库文件夹中的SysConst.dcu备份
即%%\Source\Rtl\Sys\SysConst.pas  与%%\Lib\SysConst.dcu。
将Delphi源码代码写入源文件SysConst.pas中
调用%%Bin\dcc32.exe 将感染后的源码文件SysConst.pas 生成本地库文件放入\Lib替换SysConst.dcu文件。
将正常SysConst.pas备份恢复,删除源码中感染的文件。
更改库文件中被替换后的SysConst.dcu文件时间,使其与其他文件一致。

病毒危害程度

该病毒实际上并不具有危害性,只是其更改了库文件后使编译生成的所有程序均带有不正常代码,而其代码行为即为以上描述,但对其变种可能出现的行为无法预估,该病毒改造难度较低,很容易被恶意利用。
因为其将Delphi库文件修改使其使用Delphi语言编译后的文件均被感染,所以被感染文件大小不一,加壳情况也各异,本分析样本只是从中随机挑选,样本大小与加壳类型都不具有代表性。

posted on 2009-08-31 23:00  巍巍边疆  阅读(1830)  评论(0编辑  收藏  举报