首页
社区
课程
招聘
[分享]绕过360还原保护穿透冰点的样本
发表于: 2009-5-29 20:10 45128

[分享]绕过360还原保护穿透冰点的样本

2009-5-29 20:10
45128

今天搞一个被感染的系统文件,试着在真机运行了下,任务管理器里多了一些随机名字的进程名,explorer.exe被感染,其他系统相关文件没有检测估计不止感染这一个。在每个盘符下都有autorun.inf和一个 1.exe 测试的系统为xp sp2 和xp sp3 ,其中xp sp3打全了官方公布的所有补丁。系统除了冰点 6.3.220.1875360还原保护2.3.03再没有其他防护软件

希望有朋友能帮忙分析下这个病毒的原理

感谢fixfix在本贴12楼分离出病毒样本
感谢轩辕小聪在本贴25楼的分析,为我等小菜铺平了道路
感谢木桩在本贴35楼对func.dll的分析,很详细呀
感谢zhzhtst提供了样本的idb文件帮助辅助分析
zhzhtst效率太高了,佩服呀
pcidump.sys和其它几个驱动的idb文件
http://bbs.pediy.com/showthread.php?t=90248
感谢所有对本贴关注的朋友!

发这个帖子的初衷的想做一个anti的,从ring3下最简单的考虑,应该是创建一个互斥对象,病毒以为自己已经在运行了
小弟不才,还请各位大哥更深一层的指教


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 7
支持
分享
最新回复 (60)
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
看不出,哪穿!
2009-5-29 20:34
0
雪    币: 220
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
请说出你的环境好么,在C盘下生成autorun.inf和1.exe重启后这2个文件不被还原
2009-5-29 20:37
0
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我在IDA看的

在看那两个DLL

不运行
2009-5-29 20:40
0
雪    币: 220
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
上传的这个样本是被感染的系统文件explorer.exe,不排除它是下载器的可能,我在联网状态下运行,再次重启后就穿透还原了
2009-5-29 20:48
0
雪    币: 106
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
下载下来 研究研究
2009-5-29 20:50
0
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
晕了

被感染的有什么价值啊

又不是原始的
2009-5-29 20:53
0
雪    币: 220
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
问题是我分不出来哪个才是真正的病毒本体.
我运行了附件,确实是把还原给穿透了
2009-5-29 21:05
0
雪    币: 340
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
奥,原来是老朋友了。这个确实穿,并且几乎是通杀,网维6500也穿。作者比较有意思
GetWindowsDirectory(&SysDir,MAX_PATH);
strcat(SysDir,"aboy.dll");
居然能写出这样的话来,搞笑。
2009-5-29 21:11
0
雪    币: 462
活跃值: (53)
能力值: ( LV9,RANK:460 )
在线值:
发帖
回帖
粉丝
10
pcidump可以穿透还原,EsuDisk,很长时间了。给出一个函数列表,想仔细分析的可以看看:

ATA_IDENTIFY_DEVICE
ATA_READ_SECTOR
ATA_WRITE_SECTOR
CanIdentifyDevice
CompareProcess
DbgPrint
DeviceIoControlRequest
DisableWriteProtect
DispatchCreateClose
DispatchDeviceControl
DoWrite
DriverEntry
FastFatDispatchCreateHook
FindPspTerminateProcess
GetClusterSizeAndBegin
GetDeviceObject
GetDeviceObjectByName
GetFileInfo
GetFileRetrievalPointers
GetFileSize
GetImageFileNameFieldOffset
GetObjectHeaderNameInfo
GetPartitionInfo
GetProcessImageName
GetPspTerminateProcess
GetRealDeviceObject
GetSectorInfo
HookFatFileSystem
HookFileSystem
HookNtfsFileSystem
HookZwQuerySystemInformation
IoCompletion
KeGetCurrentThread
MyMmGetSystemRoutineAddress
NtfsDispatchCreateHook
OpenFile
OpenFileSynchronize
PsGetCurrentProcessId
PsLookupProcessByProcessId
ReplaceFile
Reset
VerifyBootSector
VerifyNTFS
WriteSector
ZwQuerySystemInformationHook
__SEH_epilog
__SEH_prolog
_alldiv
_except_handler3
mysprintf
sprintf
2009-5-29 21:14
0
雪    币: 220
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
穿透还原的不稀奇,稀奇的是有了360的还原保护罩着,还能穿。。。。
360的还原保护 的防护已经想到很周全了。。
2009-5-29 21:16
0
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
脱壳的exe样本+分离两个DLL+分离的驱动

这个不会就是传说中多少代的机器狗吧
上传的附件:
2009-5-29 21:18
0
雪    币: 220
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
fix兄弟手脚真快,就差写个程序来对抗它了
现在想做一个anti,以后就不用再受它的苦了...
2009-5-29 21:19
0
雪    币: 221
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
驱动无所作为:
1. IOCTL 0x22E14B: 替换指定的SSDT
    IOCTL 0x22E153: 根据PID调用ZwTerminateJobObject结束指定进程
2. 禁止3个notify,找到0xBF,将其后的0x20字节强行填0.无聊死.
    PsRemoveLoadImageNotifyRoutine
    PsSetCreateProcessNotifyRoutine
    PsRemoveCreateThreadNotifyRoutine

没了.和机器狗无关
2009-5-29 21:49
0
雪    币: 220
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
我在OD里看那个傀儡exe,只是释放了2个dll,没有发现你说的这个....



这样就穿了???
2009-5-29 21:51
0
雪    币: 581
活跃值: (149)
能力值: ( LV12,RANK:600 )
在线值:
发帖
回帖
粉丝
16
嗯...还钩了一个ssdt函数....FSD的CREATE,,,,,
我估计感染还有其他文件....重起后运行了N多进程又退出....加载驱动后自己又卸了...
2009-5-29 22:08
0
雪    币: 296
活跃值: (89)
能力值: ( LV15,RANK:340 )
在线值:
发帖
回帖
粉丝
17
扫了一眼,func.dll里扫描杀毒软件的进程
rundll32 func.dll, droqp
droqp里发现了个 \\system32\\drivers\\acpiec.sys -> CreateFile
(acpiec.sys在func.dll的资源SYS中)

难道这是killav的样本?拆开看看

果然是KillAV,还有个驱动:pcidump.sys。
关于修改的东西,看这个分析报告
2009-5-29 22:12
0
雪    币: 220
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
小弟只求一个anti,N多台机被它害苦了。。。
2009-5-29 22:14
0
雪    币: 221
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
真穿了,最新的机器狗了. 看到了 WRITE_PORT_UCHAR
作者很强大.驱动里面带下载...

附上样本,期待牛人逆向之.
上传的附件:
2009-5-29 22:15
0
雪    币: 220
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
?????
兄弟你也有样本???
2009-5-29 22:17
0
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
两个样本有什么不一样?
2009-5-29 22:37
0
雪    币: 221
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
2009-5-29 22:39
0
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
下次有什么好东西也发到看雪来啊

那里没有账号
2009-5-29 22:41
0
雪    币: 220
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
兄弟,能不能另外发一个贴?
免得引起混乱
2009-5-29 22:48
0
雪    币: 722
活跃值: (123)
能力值: ( LV12,RANK:300 )
在线值:
发帖
回帖
粉丝
25
explorer.exe释放并加载了phpi.dll,释放了func.dll,使用rundll32.exe加载func.dll并调用其中的droqp函数。其他还有改系统时间等杂七杂八的动作。

func.dll的droqp函数释放并加载驱动acpiec.sys,驱动的主要目的:
1.还原SSDT
2.接收func..dll传入的某些安全软件进程的PID,并结束进程,使用的方法:
ZwOpenProcess->ZwCreateJobObject->ZwAssignProcessToJobObject->ZwTerminateJobObject
3.对以下函数
PsRemoveLoadImageNotifyRoutine、PsSetCreateProcessNotifyRoutine、PsRemoveCreateThreadNotifyRoutine
的代码进行特征搜索,搜索得到内核中回调函数表
PspLoadImageNotifyRoutine
PspCreateProcessNotifyRoutine
PspCreateThreadNotifyRoutine
的地址,将这三张表中的内容(每张表8个PVOID)全部置0,从而废掉安全软件使用以上方法进行进线程和模块加载监视的功能。

phpi.dll被explorer.exe本身加载,调用其Scan函数,部分功能:
1.判断自身进程是否是C:\WINDOWS\explorer.exe:
是则说明已经感染了,将system32\drivers\gm.dls复制到WINDOWS\temp\explorer.exe并运行,使得桌面正常出现
不是则说明未感染,释放并加载pcidump.sys穿还原,复制原WINDOWS\explorer.exe到system32\drivers\gm.dls,并将自身内容写入WINDOWS\explorer.exe头部达到修改该文件。创建一个线程捕捉系统文件保护的弹出对话框并关闭之。
从这里可以看出,原来的WINDOWS\explorer.exe在被感染系统中被保存为system32\drivers\gm.dls
2.将自身资源中的文本释放,替换hosts文件
3.创建几个线程,作用分别是:
写入盘符根目录的autorun.inf和1.exe
向远程服务器地址放送被感染电脑的信息作为感染统计
修改系统中的.htm及html文件加入恶意代码(这里没有仔细看加入代码的内容)
感染系统中的.exe文件(跳过qq.exe和360safe.exe),感染手法似乎是加入名为.hhqg的新区段写入病毒代码,代码为下载http://hjhj.us/abcd.exe到临时文件夹并调用WinExec运行之。

除了脱壳用OD之外,以上内容全是IDA静态分析,看得比较粗略,有错漏的请大家补充指正。
2009-5-29 22:56
0
游客
登录 | 注册 方可回帖
返回
//