Win32.Induc.A详细介绍[Delphi梦魇]

2009年8月21日 | 分类: 信息安全 | 标签: , ,

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修改版本
8.部分万象2004版本
9.南京宏图天安的个人所得税代扣代缴系统(可能)

解决方案:
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..24] of 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

本人参考多家网站综合修改而来,包括但不限于:KINGSOFT,NOD32,KASPERSKY

目前还没有任何评论.