瑞星卡卡安全论坛技术交流区反病毒/反流氓软件论坛 Win32.Agent.gi,Win32.Agent.gy,Win32.Agent.gz感染型病毒的分析

123   1  /  3  页   跳转

[原创] Win32.Agent.gi,Win32.Agent.gy,Win32.Agent.gz感染型病毒的分析

Win32.Agent.gi,Win32.Agent.gy,Win32.Agent.gz感染型病毒的分析

该病毒具有破坏系统,破坏安全软件,感染文件,局域网传播,下载木马,U盘传播等多种功能
主程序分析:
病毒加载sfc_os.dll并查找其5号导出函数,使得系统的文件保护对于其要修改的qmgr.dll失效,然后病毒从资源中读取数据写到qmgr.dll,并启动对应的服务。
然后把自身复制为C:\WINDOWS\system32\dllcache\lsasvc.dll并在临时目录释放TempDel.bat删除自身

qmgr.dll分析:
初始化:
病毒查看自身所在模块是否是360tray.exe如果是则打开名为360SpShadow0的设备,并向该设备发送IRP。
创建一个事件,事件名4F9E860C-9BE9-474b-8FD1-F0EEDB20C77B
遍历进程查找360tray.exe,如果找到则把自身复制为1l1.dll(同目录),以Create_SUSPENDED方式启动一个360tray.exe进程 然后写入一段代码,包括1l1.dll和Loadlibray函数地址,然后恢复线程
push    6C6C64
push    2E316C31
push    esp
mov    eax, kernel32.LoadLibraryA
call    eax
之后删除1l1.dll。

创建多个线程执行不同操作:
线程1:将qmgr.dll对应的BITS服务启动类型设置为自动。
删除如下HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network破坏安全模式
创建一个名为SvcMain的设备
然后在临时文件夹内创建一个名为SvcMain.sy的驱动,创建名为SvcMain服务,并启动服务。
打开设备 调用ZwQuerySystemInformation查询系统信息
加载系统内核文件
每隔1.5s查找如下进程,并向驱动发送IRP结束下列进程。
KVMonXP.kxp
KVSrvXP.exe
avp.exe
avp.exe
avp.exe
RavMonD.exe
RavTask.exe
RsAgent.exe
rsnetsvr.exe
RsTray.exe
ScanFrm.exe
CCenter.exe
kavstart.exe
kissvc.exe
kpfw32.exe
kpfwsvc.exe
kswebshield.exe
kwatch.exe
kmailmon.exe
egui.exe
ekrn.exe
ccSvcHst.exe
ccSvcHst.exe
ccSvcHst.exe
Mcagent.exe
mcmscsvc.exe
McNASvc.exe
Mcods.exe
McProxy.exe
Mcshield.exe
mcsysmon.exe
mcvsshld.exe
MpfSrv.exe
McSACore.exe
msksrver.exe
sched.exe
avguard.exe
avmailc.exe
avwebgrd.exe
avgnt.exe
sched.exe
avguard.exe
avcenter.exe
UfSeAgnt.exe
TMBMSRV.exe
SfCtlCom.exe
TmProxy.exe
360SoftMgrSvc.exe
360tray.exe
qutmserv.exe
bdagent.exe
livesrv.exe
seccenter.exe
vsserv.exe
MPSVC.exe
MPSVC1.exe
MPSVC2.exe
MPMon.exe
ast.exe
360speedld.exe
360SoftMgrSvc.exe
360tray.exe
修复工具.exe
360hotfix.exe
360rpt.exe
360safe.exe
360safebox.exe
并直接向驱动发送IRP建立上述进程的SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options项。

线程2链接www.**2004.com
然后调用IE访问http://www.**2004.com/msn/mm.htm
做感染统计

线程3:下载 http://www.**2004.com/msn/mm.txt
到templocal.txt这是一个下载列表,里面包含木马下载地址和一个挂马网址,读取下载列表下载木马和病毒并运行。
清空hosts文件
线程3:感染文件
遇到如下盘符则跳过
A:\\
B:\\
并跳过感染如下文件夹
WINDOWS
WinNT
Documents and Settings
System Volume Information
RECYCLER
Common Files
ComPlus Applications
InstallShield Installation Information
Internet Explorer
.Messenger
microsoft frontpage
Movie Maker
MSN Gaming Zone
NetMeeting
Outlook Express
Windows Media Player
Windows NT
WindowsUpdate
WinRAR
感染除上述盘符以及文件夹下的exe,rar,htm,html,asp,aspx文件
对于扩展名为.rar的文件
病毒会调用Program下的
并加%s X -ibck \"%s\" \"%s\\\的参数把压缩包中的文件释放到临时目录。然后感染解压出来的的exe,rar,htm,html,asp,aspx等文件,感染完毕会调用rar.exe加参数%s M -ibck -r -o+ -ep1 \"%s\" \"%s\\*\把压缩包放回。
对于扩展名为.exe的文件,病毒会在其尾部增加一个名为".."的节,并把入口点改在最后一个节。被感染的文件会在临时目录下释放一个病毒文件tem81.exe,运行,然后jmp回入口点。被感染病毒瑞星命名为Win32.Agent.gi,Win32.Agent.gy,Win32.Agent.gz(不同变种)

对于htm,html,asp,aspx的文件
病毒会在其尾部加上iframe挂马脚本,挂马网址来自于之前下载的templocal.txt。

线程4:
局域网传播过程
通过IPC弱口令链接局域网中的机器
病毒本身带有一个弱口令的字典
用户名:Administrator,Guest,admin,Root
密码字典:1234
password
6969
harley
123456
golf
pussy
mustang
1111
shadow
1313
fish
5150
7777
qwerty
baseball
2112
letmein
12345678
12345
ccc
admin
5201314
qq520
1
12
123
1234567
123456789
654321
54321
111
000000
abc
pw
11111111
88888888
pass
passwd
database
abcd
abc123
pass
sybase
123qwe
server
computer
520
super
123asd
0
ihavenopass
godblessyou
enable
xp
2002
2003
2600
alpha
110
111111
121212
123123
1234qwer
123abc
007
a
aaa
patrick
pat
administrator
root
sex
god
xxxyou
xxx
abc
test
test123
temp
temp123
win
pc
asdf
pwd
qwer
yxcv
zxcv
home
xxx
owner
login
Login
pw123
love
mypc
mypc123
admin123
mypass
mypass123
901100
如果连接成功,则将C:\WINDOWS\system32\dllcache\lsasvc.dll拷贝到对方机器的C:\bootfont.exe
获取当前系统时间,并把分钟数加2,调用at %s %d:%d C:\bootfont.exe 指令使得病毒在2分钟后发作。

线程5:感染U盘操作
病毒查找可移动存储设备在其根目录下释放autorun.inf
建立一个名为recycle.{645FF040-5081-101B-9F08-00AA002F954E}的文件夹,把lsasvc.dll复制到该目录下的ghost.exe。

清除建议:
删除C:\WINDOWS\system32\dllcache\lsasvc.dll
删除SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options下面所有子键
找一台干净的机器拷贝一个qmgr.dll到C:\WINDOWS\system32\目录下
安装杀毒软件升级到最新,修复被感染的文件,清除已经下载的病毒和木马。
设置一个强壮的用户名密码。
对于中毒期间连接到本机的可移动存储使用杀毒软件全盘杀毒。局域网中的其他机器也做以上的检查和清理工作


引用:
该病毒更新的变种已不是单独替换qmgr.dll,而是理论上对多个svchost.exe -k netsvcs的服务的ServiceDll都可能进行替换。
再加上其感染exe文件,使问题变得棘手,一次将被改的两三个系统dll重新替换回来之后,重启电脑后,往往因为又运行了被感染的exe文件,会发现这时被修改的系统dll又变了。

至于我为什么知道,那是因为我又有一个同学中了,当时由于被改的系统服务是改变的,我一时没想到是这个的变种,因此没有考虑它是感染型的问题,只当它是可变地修改svchost.exe netsvcs服务的ServiceDll的文件型病毒,结果就是替换了一个dll文件,重启又变成了另外一个dll文件。

等到我把样本拿回来分析,才发现原来是这个,白白在那里浪费了好长时间,看来下次杀毒,要把IDA和OD和其他工具都带上,遇到摸不清楚的病毒现场逆向调试之才行了。

为免回复发在后面大家看不到,特修改主楼以记之。

by 轩辕小聪 2009.10.28

用户系统信息:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)
最后编辑轩辕小聪 最后编辑于 2009-10-28 05:10:29
分享到:
gototop
 

回复:Win32.Agent.gi,Win32.Agent.gy感染型病毒的清除与分析

难得又见你发次这样的贴。
百年以后,你的墓碑旁 刻着的名字不是我
gototop
 

回复:Win32.Agent.gi,Win32.Agent.gy感染型病毒的分析

  偶来学习的
gototop
 

回复:Win32.Agent.gi,Win32.Agent.gy感染型病毒的分析

偶是来膜拜的
gototop
 

回复:Win32.Agent.gi,Win32.Agent.gy感染型病毒的分析

“创建一个名为SvcMain的设备
然后在临时文件夹内创建一个名为SvcMain.sy的驱动,创建名为SvcMain服务,并启动服务。”

我没有样本可以验证,不过光从这句话看,我觉得说法应该有问题。因为Ring3程序不能够IoCreateDevice创建设备,只能CreateFileA(NtCreateFile)访问设备获得设备句柄。

因此正确的表述似乎应该是
“(调用CreateFileA)试图打开一个名为SvcMain的设备(得到一个可用句柄)。如果调用失败,说明该设备还未创建(也就说明驱动尚未被加载),这时在临时文件夹内创建一个名为SvcMain.sy的驱动,创建名为SvcMain服务,并启动服务(该驱动加载后会调用IoCreateDevice和IoCreateSymbolicLink创建设备以及符号连接)(然后再重新尝试打开设备)。”
本帖被评分 1 次
最后编辑轩辕小聪 最后编辑于 2009-09-24 18:21:45
病毒样本请发到可疑文件交流区
gototop
 

回复:Win32.Agent.gi,Win32.Agent.gy感染型病毒的分析

昨天我们这里有一师兄的本本中了这个,和parite.a一起中的(parite.a该不会是被它下载进来的吧……),我过去的时候他已重装系统后用最新版瑞星修复了被感染文件了,于是我就与你说的这个的木马下载器主体病毒擦肩而过了,没拿到样本。
最后编辑轩辕小聪 最后编辑于 2009-09-24 18:43:20
病毒样本请发到可疑文件交流区
gototop
 

回复 6F 轩辕小聪 的帖子

膜拜小聪,样本找阳光要呀
gototop
 

回复 5F 轩辕小聪 的帖子

"(调用CreateFileA)试图打开一个名为SvcMain的设备(得到一个可用句柄)。如果调用失败,说明该设备还未创建(也就说明驱动尚未被加载)" 
如果调用成功的话,情况会怎么样?还是根本不会存在调用成功的情况,因为服务SvcMain这个时候没被创建
最后编辑Enao2005 最后编辑于 2009-09-27 07:54:13
PM偶时请附上求助贴的地址...
gototop
 

回复: Win32.Agent.gi,Win32.Agent.gy,Win32.Agent.gz感染型病毒的...



引用:
原帖由 Enao2005 于 2009-9-27 7:53:00 发表
"(调用CreateFileA)试图打开一个名为SvcMain的设备(得到一个可用句柄)。如果调用失败,说明该设备还未创建(也就说明驱动尚未被加载)" 
如果调用成功的话,情况会怎么样?还是根本不会存在调用成功的情况,因为服务SvcMain这个时候没被创建

如果病毒第一次运行,这时还没有创建服务,这样第一次CreateFileA试图访问设备失败,程序就可以确认驱动尚未被加载,从而创建驱动并加载。
如果驱动加载后(尚未卸载,或者驱动服务启动类型是自启动,而且服务项和文件都没有被删除),病毒程序(或其副本,或者其另一个变种又进入了系统后)再次启动,这时第一个CreateFileA访问就会成功,说明驱动已经加载,程序不用再度创建驱动服务。
所以实际上这是为了判断驱动服务是否已加载而做的尝试。
病毒样本请发到可疑文件交流区
gototop
 

回复 9F 轩辕小聪 的帖子

明白了,多谢小聪解答。
PM偶时请附上求助贴的地址...
gototop
 
123   1  /  3  页   跳转
页面顶部
Powered by Discuz!NT