一、基本信息
  • 样本名称: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. docker搭建redis集群和Sentinel,实现故障转移

    0.引言 公司开发需要用到redis,虽然有运维自动搭建,还是记录下如何搭建redis集群和Sentinel. 采用的是vagrant虚拟机+docker的方式进行搭建. 搭建思路: 首先是借鉴下其他 ...

  2. apicloud打包的ios证书的获取方法

    apicloud云编译的时候,需要测试证书或者正式证书进行编译. 那么这个证书是怎么来的呢?通过什么渠道可以获取呢? 这里我介绍下使用香蕉云编这个在线工具来生成: 1.登录香蕉云编,生成证书的csr文 ...

  3. Tomcat源码学习 - 环境搭建

    一. 源码下载 PS: 多图预警 在开始阅读源码之前,我们需要先构建一个环境,这样才能便于我们对源码进行调试,具体源码我们可以到官网进行下载(这里我以8.5.63版本为例). 二. 项目导入 下载并解 ...

  4. Mysql被黑客攻击了?一定要注意一点,不要关闭mysql服务

    因为mysql没有关闭的情况,可以从缓存里面获取到数据,如果关闭了只能从文件里面去获取数据了,会大大加大恢复难度

  5. BuaacodingT141 microhhh的回城 题解(模拟)

    题目链接 microhhh的回城 解题思路 这题挺有意思的.本来寻思放在\(DS\)第一次练习赛应该不会很难吧,结果愣是卡在数据范围上写不出来. 然后暴力过掉了,但是用了\(1019ms\).感觉可以 ...

  6. Mac下安装lightgb并在jupyter中使用

    1.先安装cmake和gcc brew install cmake brew install gcc 2.下载后确定自己的gcc版本 cd /usr/local/opt/gcc/lib/gcc/ 看到 ...

  7. visualvm工具远程对linux服务器上的JVM虚拟机进行监控与调优

    文/朱季谦 最近在做了一些JVM监控与调优的事情,算是第一次实践,还比较陌生,故而先把这一次经验简单记下笔记,这样,对后面学习调优方面时,不至于又想不起来了.本文档主要总结在window本地环境远程对 ...

  8. Edge 浏览器开发工具新增了 3D 视图,你尝试了吗?

    在使用开发者工具的时候,无意间发现了一个3D面板,如下: 仔细想想,这应该是之前 Firefox 的特性啊,不过后来去掉了,说是太难维护,没想到 Edge 也添加了这个特性. 使用该特性,你可以完成如 ...

  9. 「HTML+CSS」--自定义按钮样式【003】

    前言 Hello!小伙伴! 首先非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 哈哈 自我介绍一下 昵称:海轰 标签:程序猿一只|C++选手|学生 简介:因C语言结识编程,随后转入计算机 ...

  10. DNS 缓存中毒--Kaminsky 攻击复现

    0x00 搭建实验环境 使用3台Ubuntu 16.04虚拟机,可到下面的参考链接下载 攻击的服务是BIND9,由于条件限制,这里使用本地的一台虚拟机当作远程DNS解析器,关闭了DNSSEC服务,其中 ...