- UID
- 28343
- 帖子
- 1351
- 积分
- 1036
- 紫菀
- 0 朵
- 花瓣
- 427 片
- 花蕊
- 332 朵
- 野草莓
- 27 个
- 蒲公英
- 59 朵
- 社区等级
- 30 级
- 在线时间
- 290 小时
- 注册时间
- 2008-4-25
- 蜗居何地
- 西安
- 登录状态
-
当前离线
|
楼主
发表于 2008-5-19 12:11
| 只看该作者
[技巧] 破坏系统services.exe、cdfview.dll和beep.sys文件的最新机器狗变种病毒 3代
本人分析细致全面,非常值得一看。
本文源自http://www.kingzoo.com/bbs/thread-12729-1-1.html
作者coderui
由于本论坛发帖限制,1贴不能发,所以发两帖
破坏系统services.exe、cdfview.dll和beep.sys文件的最新机器狗变种病毒///////////////////////////////////////////////////////////////////////////////////////////////
文章名称:破坏系统"services.exe"、"cdfview.dll"和"beep.sys"文件的最新机器狗变种病毒分析资料
文章类型:病毒分析播报
编写作者:Coderui
编写日期:2008年05月09日
作者博客:http://hi.baidu.com/coderui
///////////////////////////////////////////////////////////////////////////////////////////////
------------------------------------------------------------------------------------
对病毒主安装程序“xx.exe”进行分析(病毒名称为:TrojanDownloader.Agent.agto):
英文名称:TrojanDownloader.Agent.agto
中文名称:“代理木马”变种agto
病毒类型:木马下载器
危险级别:★★
影响平台:Win 9X/ME/NT/2000/XP/2003
加壳名称:UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo [Overlay]
编写语言:Microsoft Visual C++ 6.0
文件大小:23,072 字节
脱壳入口:000022AA
注明信息:(病毒在临时文件夹中所释放的恶意文件“dat*.tmp”中的“*”号为不固定字符。)
作者在程序入口处制造了些异常,干扰计算机病毒分析人员,防止病毒程序被轻易逆向调试分析。
-----------------------------------------------------------
进入程序内部的入口后,会在这里产生一个特意构造的异常:
反汇编代码位置:004010C7 E8 04110000 CALL .004021D0 ; JMP 到 msvcrt._CxxThrowException
全部异常处理执行完毕后,会来到这里继续执行主程序领空的代码:
反汇编代码位置:004010D2 834D FC FF OR DWORD PTR SS:[EBP-4],FFFFFFFF
-----------------------------------------------------------
读取自身文件尾部资源,然后解密出来其它恶意程序下载地址列表:
(ASCII "http://ccc.52gol.com/tk.txt")
提取自身资源,在系统临时文件夹下释放一个恶意DLL组件文件:
"C:\Documents and Settings\coderui\Local Settings\Temp\dat1.tmp" ->(文件大小:15,191 字节,加壳名称:Upack V0.37 -> Dwing *)
然后利用系统API函数“LoadLibraryA”加载恶意DLL组件“dat1.tmp”程序,再使用系统API函数“GetProcAddress”获取该恶意DLL组件程序中导出函数“HttpAddUrl”的调用位置,最后使用“JMP”指令去调用执行。
调用恶意DLL组件“dat1.tmp”程序中的导出函数“HttpAddUrl”:
反汇编代码位置:00401168 E8 E80F0000 CALL .00402155 ; (EAX=10001580 (dat4.HttpAddUrl))
-----------------------------------------------------------
恶意DLL组件“dat1.tmp”程序中导出函数“HttpAddUrl”的功能:
设置调用该DLL的进程为“SeDebugPrivilege”权限:
“SeDebugPrivilege”、“GetCurrentProcess”、“OpenProcessToken”、“LookupPrivilegeValueA”、“AdjustTokenPrivileges”。
遍历寻找系统进程中是否有“drvAnti.exe”《驱动防火墙》进程在运行:
“CreateToolhelp32Snapshot”、“Process32First”、“Process32Next”、“strlen”、“_strnicmp”。
如果“drvAnti.exe”《驱动防火墙》进程存在,则将其进程强行关闭:
“OpenThread”、“TerminateThread”。
提取资源,在系统临时文件夹下释放一个恶意磁盘过滤驱动程序文件:
"C:\Documents and Settings\coderui\Local Settings\Temp\dat2.tmp" ->(文件大小:10,301 字节)
枚举系统内核模块,看是否存在“classpnp.sys”、“stpdrive.sys”、“ntfs.sys”、“fastfat.sys”、“ntoskrnl.exe”、“NTKRNLPA.exe”、“ntkrnlmp.exe”、“ntkrpamp.exe”、“atapi.sys”内核模块,并对其相应的结构进行处理或调用:
“ZwQuerySystemInformation”、“CreateFileA”、“CreateFileMappingA”、“MapViewOfFile”、“GetFileSize”。
读取注册表键值,获取数据:
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\IE4\data"
复制替换系统驱动文件:
先复制"C:\WINDOWS\system32\drivers\beep.sys"到"C:\WINDOWS\system32\dllcache\beep.sys"。
再复制"C:\Documents and Settings\coderui\Local Settings\Temp\dat2.tmp"到"C:\WINDOWS\system32\drivers\beep.sys"。
安装并启动被替换后的系统驱动程序“beep.sys”(恶意磁盘过滤驱动程序):
“OpenSCManagerA”、“OpenServiceA”、“CopyFileA”、“CloseServiceHandle”。
循环继续执行N次提权并遍历进程,然后关闭“drvAnti.exe”进程的操作。
-----------------------------------------------------------
利用磁盘过滤驱动程序去破坏系统文件的函数调用位置:
反汇编代码位置:0040116F E8 F80D0000 CALL .00401F6C
-----------------------------------------------------------
利用设备名为“\\.\PhysicalDrive0”的调用,去破坏系统程序文件“services.exe”,修改其系统程序文件“services.exe”的输入表:
(使其系统程序“services.exe”运行时,调用恶意病毒DLL组件程序“cdfview.dll”运行,而且还保留了系统原程序“services.exe”的功能。文件大小不变。)
"C:\WINDOWS\system32\services.exe"
利用设备名为“\\.\PhysicalDrive0”的调用,去覆盖系统DLL组件文件“cdfview.dll”:
(病毒以覆盖的形式去破坏系统文件“cdfview.dll”,原系统DLL组件程序文件功能同时也别破坏,不再具备原系统DLL组件程序文件的功能。文件大小不变。)
"C:\WINDOWS\system32\cdfview.dll"
-----------------------------------------------------------
把病毒当前运行的路径名保存到注册表项中:
HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\explorer\desktop\sysfile"
“C:\Documents and Settings\coderui\桌面\xx.exe”
调用恶意DLL组件“dat1.tmp”程序中的导出函数“InitHttp”:
反汇编代码位置:00401F1C FFD0 CALL EAX ; (EAX=100015A5 (dat4.InitHttp))
-----------------------------------------------------------
恶意DLL组件“dat1.tmp”程序中导出函数“InitHttp”的功能:
设置调用该DLL的进程为“SeDebugPrivilege”权限:
“SeDebugPrivilege”、“GetCurrentProcess”、“OpenProcessToken”、“LookupPrivilegeValueA”、“AdjustTokenPrivileges”。
遍历寻找系统进程中是否有“drvAnti.exe”《驱动防火墙》进程在运行:
“CreateToolhelp32Snapshot”、“Process32First”、“Process32Next”、“strlen”、“_strnicmp”。
如果“drvAnti.exe”《驱动防火墙》进程存在,则将其进程强行关闭:
“OpenThread”、“TerminateThread”。
遍历当前被感染计算机系统中的进程,向系统“winlogon.exe”进程内存中注入恶意可执行代码,并调用执行:
反汇编代码位置:100015C5 E8 26150000 CALL dat4.10002AF0
--------------------------------------------
被注入恶意可执行代码后的系统“winlogon.exe”进程的功能:
1:直接利用系统API函数“LoadLibraryA”去调用恶意DLL组件程序文件“C:\Documents and Settings\coderui\Local Settings\Temp\dat1.tmp”。
2:在后台连接骇客指定远程服务器站点地址“http://ccc.52gol.com/tk.txt”,下载“恶意程序下载地址列表”中所有的恶意程序并自动调用运行。具有穿墙功能。
3:线程工作完毕,利用系统API函数“ExitThread”来退出工作线程。 |
|