http://blog.csdn.net/qq1084283172/article/details/50413426

一、样本信息


样本名称:rt55.exe

样本大小: 159288 字节

文件类型:EXE文件

病毒名称:Win32.Backdoor.Zegost

样本MD5:C176AF21AECB30C2DF3B8B8D8AA27510

样本SHA1:16E951925E9C92BC8EFDF21C2FBAF46B6FFD13BC

二、行为具体分析


1.获取当前运行模块的命令行参数,根据当前命令行参数是否包含字符串"NewUpdatExe"进行判断,决定下面提到的内存解密PE文件是调用导出函数NewUpdatExe还是导出函数xDllMain。

2.解密当前病毒进程内存地址为0x408070处,文件大小为0x17C00的被加密隐藏的PE文件。

3. 加载内存解密的PE格式的Dll文件,进行恶意病毒行为的操作;具体的加载过程后面会具体分析。

4.将解密内存PE文件的每个区节块的数据从文件映射到申请的内存空间中。

5. 对内存解密PE文件的重定位表Base RelocationTable进行重定位的修复。

具体的参考代码:http://blog.sina.com.cn/s/blog_6ac942220100l8c2.html

6. 获取解密内存PE文件的导入表中的INT表中的函数的调用地址填充IAT表。

7. 循环修改解密内存PE文件的各区节块数据段的内存数据属性。

8.运行的病毒进行将PE文件(dll文件)的加载已经基本完成了,因此这个被病毒进行内存加载的PE的动态库文件是有效可以执行的;因此以该内存PE动态库的OEP为函数指针执行恶意的代码。

9. 获取导出函数名称字符串"NewUpdatExe"或"xDllMain",用以获取解密内存PE文件的导出函数"NewUpdatExe"或"xDllMain"的调用地址。

遍历内存解密PE文件的导出表,获取需要的导出函数"NewUpdatExe"或"xDllMain"的调用地址。

10.根据步骤1中的传入的函数的名称"NewUpdatExe"或者"xDllMain",根据上面的步骤获取需要的导出函数"NewUpdatExe"或者"xDllMain"的地址,然后调用内存解密PE动态库文件的导出函数"NewUpdatExe"或者"xDllMain",执行恶意的代码;然后再次以内存解密PE文件的OEP为函数指针,执行内存PE文件的代码,执行恶意行为。

三、 病毒分析总结


总体来说,上面的详细的分析,基本可以使用一句话总结,那就是:宿主样本程序通过LoadPE的方式加载解密的PE动态库dll文件,然后有加载的PE动态库dll文件来执行具体恶意的病毒行为,从而达到逃过杀软的查杀的目的。关于Backdoor.Zegost木马病毒的具体行为也就是内存解密PE动态dll文件的恶意行为后面会详细的分析。

宿主样本程序加载PE动态库文件的步骤

1

在宿主程序内存中解密出加密的PE动态库dll文件

2

将内存解密的PE动态库dll文件的数据进行PE文件镜像的内存映射

3

对内存解密PE文件的重定位表Base RelocationTable进行重定位的修复

4

获取解密内存PE文件的导入表中的INT表中的函数的地址填充IAT表

5

修改解密内存PE文件的各个区节块数据段的内存数据属性

6

内存解密的PE动态库dll文件的加载完成,可以像正常dll一样执行自己的代码



:真的好烦,笔记本屏幕显示发白导致截图不清晰;本来想好好的记录下这个有意思的木马病毒,但是由于截图的效果不好,心情顿时就不好了。

Backdoor.Zegost木马病毒分析(一)的更多相关文章

  1. 感染性的木马病毒分析之样本KWSUpreport.exe

    一.病毒样本简述 初次拿到样本 KWSUpreport_感染.exe.v 文件,通过使用PE工具,并不能辨别出该样本是那种感染类型,使用了一个比较直接的方法,从网上查资料,获取到了该样本的正常EXE文 ...

  2. 一个简单的Android木马病毒的分析

    一.样本信息 文件名称: 一个安卓病毒木马.apk 文件大小:242867 byte 文件类型:application/jar 病毒名称:Android.Trojan.SMSSend.KS 样本MD5 ...

  3. 病毒木马查杀实战第025篇:JS下载者脚本木马的分析与防御

    前言 这次我与大家分享的是我所总结的关于JS下载者脚本木马的分析与防御技术.之所以要选择这样的一个题目,是因为在日常的病毒分析工作中,每天都会遇到这类病毒样本,少则几个,多则几十个(当然了,更多的样本 ...

  4. Android木马病毒com.schemedroid的分析报告

    某安全公司移动病毒分析报告的面试题目,该病毒样本的代码量比较大,最大的分析障碍是该病毒样本的类名称和类方法名称以及类成员变量的名称被混淆为无法辨认的特殊字符,每个被分析的类中所有的字符串都被加密处理了 ...

  5. Atitit。木马病毒原理机密与概论以及防御

    Atitit.木马病毒原理机密与概论以及防御 1. 定时截屏木马1 1.1. QQ聊天与微信聊天木马1 2. 文档木马1 3. 病毒木马的触发方式2 4. 远程木马2 5. 漏洞木马2 6. 病毒木马 ...

  6. [FreeBuff]Trojan.Miner.gbq挖矿病毒分析报告

    Trojan.Miner.gbq挖矿病毒分析报告 https://www.freebuf.com/articles/network/196594.html 竟然还有端口转发... 这哥们.. 江民安全 ...

  7. HackingTeam重磅炸弹: 估值超1000万美金带有军火交易性质的木马病毒以及远控源代码泄露

    [简单介绍] 经常使用网名: 猪头三 出生日期: 1981.XX.XX 个人站点: http://www.x86asm.com QQ交流: 643439947 编程生涯: 2001年~至今[共14年] ...

  8. 病毒分析(三)-利用Process Monitor对熊猫烧香病毒进行行为分析

    前两次随笔我介绍了手动查杀病毒的步骤,然而仅通过手动查杀根本无法仔细了解病毒样本的行为,这次我们结合Process Monitor进行动态的行为分析. Process Monitor Process ...

  9. PE文件加节感染之Win32.Loader.bx.V病毒分析

    一.病毒名称:Win32.Loader.bx.V 二.分析工具:IDA 5.5.OllyDebug.StudPE 三.PE文件加节感染病毒简介 PE病毒感染的方式比较多,也比较复杂也比较难分析,下面就 ...

随机推荐

  1. 剑指 Offer 40. 最小的k个数 + 优先队列 + 堆 + 快速排序

    剑指 Offer 40. 最小的k个数 Offer_40 题目描述 解法一:排序后取前k个数 /** * 题目描述:输入整数数组 arr ,找出其中最小的 k 个数.例如,输入4.5.1.6.2.7. ...

  2. CCF(317号子任务)-35分:Dijikstra算法

    317号子任务 201903-5 为了过前60分,想使用dijikstra优化算法的,但是最后还是只过了35分.这里的思路只需要先将所有的行星据点进行一次dijikstra,分别存储所有点到行星的最短 ...

  3. POJ1458 Common Subsequence

    题目链接:http://poj.org/problem?id=1458 分析:最大公共子序列模板 1 #include<iostream> 2 #include<sstream> ...

  4. a标签不能继承父级的颜色

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. Linux速通02 命令格式

    命令的格式 # 格式:命令 [选项][参数] * 命令:告诉 Linux操作系统执行什么 * 选项:说明命令运行的方式(可以改变命令的功能).以 "-"字符开始 * 参数:说明命令 ...

  6. 如何在 ASP.NET Core 中写出更干净的 Controller

    你可以遵循一些最佳实践来写出更干净的 Controller,一般我们称这种方法写出来的 Controller 为瘦Controller,瘦 Controller 的好处在于拥有更少的代码,更加单一的职 ...

  7. C# 应用 - 多线程 1) 多线程的知识图谱

  8. NIO三大组件之Buffer

    什么是Buffer Buffer(这里并不是特指Buffer类)是一个存储数据的容器,与数组类似(其实底层依旧是用数组的结构来存储数据),但不同的是,Buffer对象提供了一组更有效的方法去进行写入和 ...

  9. python之commands和subprocess入门介绍(可执行shell命令的模块)

    一.commands模块 1.介绍 当我们使用Python进行编码的时候,但是又想运行一些shell命令,去创建文件夹.移动文件等等操作时,我们可以使用一些Python库去执行shell命令. com ...

  10. gsoap多wsdl集成

    gsoap常规用法: 通过wsdl文件创建头文件 //通过wsdl文件创建头文件 wsdl2h [options] -o file.h ... WSDL and XSD files or URLs t ...