一、基本信息
  • 样本名称:1q8JRgwDeGMofs.exe
  • 病毒名称:Worm.Win32.Agent.ayd
  • 文件大小:165384 字节
  • 文件MD5:7EF5D0028997CB7DD3484A7FBDE071C2
  • 文件SHA1:DA70DDC64F517A88F42E1021C79D689A76B9332D
二、分析样本使用的工具
  • IDA5.5
  • OnlyDebug
  • RadASM
  • Notepad++以及EditPlus
三、样本文件信息简介
  • PE文件的感染的方式比较多,很多PE感染的方式是你意向不到,而且还比较巧妙,对于PE感染病毒的分析,有利于对于PE文件格式的熟悉以及病毒感染方式的原理的理解,还是蛮有意思。这样病毒样本的感染PE文件的方式是通过附加数据的方式感染的,和吾爱破解论坛的一篇PE感染病毒的分析很相似,只是那个样本的附加数据的感染方式非常的明显,而这个样本的PE感染机制不是那么的明显,需要仔细的分析才能琢磨出来。
  • 其实,对于一个出色的病毒分析人员,对于病毒样本的通透的分析只是一方面,更重要的是将病毒的运作过程,用图文并茂以及通俗的语言告诉看病毒分析报告的人员。经过多次的报告的撰写,发现作者不是这样一个病毒分析人员,有时候更多的喜欢用汇编代码的形式来表达自己的意思。
四、PE附加数据感染的样本分析

1.      获取当前模块感染1q8JRgwDeGMofs.exe文件的路径,然后将该文件的数据读到内存缓冲区

  • 获取当前模块的感染1q8JRgwDeGMofs.exe文件的路径
  • 读取感染1q8JRgwDeGMofs.exe文件的数据到内存

  • 函数0040AB80的功能:读取感染1q8JRgwDeGMofs.exe文件的数据到内存返回内存缓冲区指针

2.      获取临时文件的目录,拼接字符串构造文件路径:"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\感染1q8JRgwDeGMofs.exe”。

  • 获取系统临时文件的目录"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\

  • 拼接字符串得到:"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\感染1q8JRgwDeGMofs.exe”


3.      对字符串标记"%A1%FBI"进行解密得到一个特征字符串,然后通过该特征字符串定位到感染1q8JRgwDeGMofs.exe文件的附加数据段,获取附加数据,再将该附加数据回写到感染1q8JRgwDeGMofs.exe文件中构建一个新的感染1q8JRgwDeGMofs.exe文件,然后调用函数CreateProcess创建一个感染1q8JRgwDeGMofs.exe进程

  • 解密字符串"%A1%FBI"。
  • 备份原来的感染1q8JRgwDeGMofs.exe文件到系统临时文件目录下
  • 打开创建新的感染1q8JRgwDeGMofs.exe文件

  • 创建进程 "感染1q8JRgwDeGMofs.exe"

4.      PE感染文件的其他的行为:

  • 设置感染样本文件感染1q8JRgwDeGMofs.e的属性
  • 判断文件"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\感染1q8JRgwDeGMofs.exe.lj是否存

  • 存在该文件--删除"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\感染1q8JRgwDeGMofs.exe.lj”文件
  • 将感染病毒样本的文件数据拷贝并创建文件"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\感染1q8JRgwDeGMofs.exe.lj" 。
  • 拼接字符串得到文件路径字符串 ""C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\感染1q8JRgwDeGMofs.exe1".
  • 将感染样本的文件数据拷贝到文件"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\感染1q8JRgwDeGMofs.exe1"中


  • 其实整个PE病毒样本的分析的关键在于它的附加数据段,附上感染样本的附加数据的截图:
五、后记
  • 本来这个样本的汇编分析多达20多页,由于分析记录太多,仅仅将关键的地方记录了下来。虽然从程序逆向反汇编的角度能够很好的去了解一个程序的内部的运行流程,但是多少还是有失误的地方,分析的不足的地方见谅,高手飘过。
  • 对于本文的题目容易产生误解,解释一下:本文的意思是PE文件感染病毒将其病毒的数据放在被感染的目标PE文件的附加数据里,而上一篇博文的意思是PE文件感染病毒将其病毒的数据放在被感染的目标PE文件的最后一个节中,先执行完病毒感染代码以后,再jmp去执行被感染目标文件的原来的代码。

PE文件附加数据感染之Worm.Win32.Agent.ayd病毒分析的更多相关文章

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

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

  2. Worm.Win32.DownLoader.ns病毒主进程新式输入法注入分析(IME Inject)

    1.病毒会在system32目录生成一个以tmp结尾的随机数命名的文件. 2.然后挂钩HOOK本进程空间的imm32.dll导出的ImmLoadLayout函数和ntdll.dll导出的ZwQuery ...

  3. C++PE文件格式解析类(轻松制作自己的PE文件解析器)

    PE是Portable Executable File Format(可移植的运行体)简写,它是眼下Windows平台上的主流可运行文件格式. PE文件里包括的内容非常多,详细我就不在这解释了,有兴趣 ...

  4. 解析PE文件的附加数据

    解析程序自己的附加数据,将附加数据写入文件里. 主要是解析PE文件头.定位到overlay的地方.写入文件. 常应用的场景是在crackme中,crackme自身有一段加密过的附加数据.在crackm ...

  5. 下载额外数据文件失败 以下软件包要求安装后下载附加数据,但其数据无法下载或无法处理 ttf-mscorefonts-installer

    故障显示: 一些软件包的数据文件无法下载 以下软件包要求安装后下载附加数据,但其数据无法下载或无法处理. ttf-mscorefonts-installer 这是一个永久错误,系统中的这些软件包将无法 ...

  6. 深入学习PE文件(转)

    PE文件是Win32的原生文件格式.每一个Win32可执行文件都遵循PE文件格式.对PE文件格式的了解可以加深你对Win32系统的深入理解. 一. 基本结构. 上图便是PE文件的基本结构.(注意:DO ...

  7. 深入剖析PE文件

    不赖猴的笔记,转载请注明出处. 深入剖析PE文件 PE文件是Win32的原生文件格式.每一个Win32可执行文件都遵循PE文件格式.对PE文件格式的了解可以加深你对Win32系统的深入理解. 一.   ...

  8. 浅谈脱壳中的附加数据问题(overlay)

    Author:Lenus -------------------------------------------------- 1.前言 最近,在论坛上看到很多人在弄附加数据overlay的问题,加上 ...

  9. PE文件学习系列三-PE头详解

    合肥程序员群:49313181.    合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入) Q  Q:408365330     E-Mail:egojit@qq.com 最近比较忙 ...

随机推荐

  1. Python3.x 基础练习题100例(61-70)

    练习61: 题目: 打印出杨辉三角形. 程序: if __name__ == '__main__': a = [] for i in range(10): a.append([]) for j in ...

  2. Jacobi与SOR迭代法的实现与性能比较及均匀间距与Chebyshev插值的实现、性能分析及二者生成的插值误差比较

    这篇文章给出(1)Jacobi与SOR迭代法的实现与性能比较及(2)均匀间距与Chebyshev插值的实现.性能分析及二者生成的插值误差比较,给出完整的实现代码,没有进行性能优化,仅供参考. (1)J ...

  3. Zeebe服务学习1-简单部署与实现demo

    1.Zeebe是什么? Camunda公司研发的工作流引擎Zeebe,目标是对微服务的编排.具体详细介绍可以参考官网:https://zeebe.io/what-is-zeebe/ 2.背景 随着微服 ...

  4. Java多态练习题

    需求: 宠物饿了,需要铲屎官给宠物喂食. 不同宠物吃的东西不一样. 不同宠物恢复后体力值不一样. 铲屎官和狗狗玩接飞盘游戏,狗狗健康值减少10,与铲屎官亲密度增加5 铲屎官和 企鹅玩游泳游戏,企鹅健康 ...

  5. springmvc字符 中文乱码问题

    springmvc字符 中文乱码问题 1.字符过滤器 输入中文测试,发现乱码 以前乱码问题通过过滤器解决 , 而SpringMVC给我们提供了一个过滤器 , 可以在web.xml中配置,修改了xml文 ...

  6. Linux速通01 操作系统安装及简介

    操作系统 # a)操作系统的定义:操作系统是一个用来协调.管理和控制计算机硬件和软件资源的系统程序,它位于硬件和应用程序之间. # 操作系统分为 系统调用接口 和 系统内核 # b)操作系统内核的定义 ...

  7. WPF 基础 - DataTemplate 和 ControlTemplate 的关系和应用

    1. 关系 凡是 Template,最后都得作用到 控件 上,这个控件就是 Template 的目标控件(也称模板化控件): DataTemplate 一般是落实在一个 ContentPresente ...

  8. 微软跨平台UI框架MAUI真的要来啦

    .NET 6 preview已经上线,是时候为在BUILD 2020上宣布的新.NET Multi-platform App UI(MAUI)做准备了.对于客户端应用程序开发人员来说,这一年.NET有 ...

  9. python-顺序队列的实现

    class seqqueue(object): 8 def __init__(self,maxsize): 9 self.maxsize = maxsize 10 self.queueelem = [ ...

  10. 使用jQuery实现ajax请求

    <%-- Created by IntelliJ IDEA. User: Administrator Date: 2021/3/13 Time: 14:54 To change this tem ...