PE文件附加数据感染之Worm.Win32.Agent.ayd病毒分析
- 样本名称:1q8JRgwDeGMofs.exe
- 病毒名称:Worm.Win32.Agent.ayd
- 文件大小:165384 字节
- 文件MD5:7EF5D0028997CB7DD3484A7FBDE071C2
- 文件SHA1:DA70DDC64F517A88F42E1021C79D689A76B9332D
- IDA5.5
- OnlyDebug
- RadASM
- Notepad++以及EditPlus
- 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病毒分析的更多相关文章
- PE文件加节感染之Win32.Loader.bx.V病毒分析
一.病毒名称:Win32.Loader.bx.V 二.分析工具:IDA 5.5.OllyDebug.StudPE 三.PE文件加节感染病毒简介 PE病毒感染的方式比较多,也比较复杂也比较难分析,下面就 ...
- Worm.Win32.DownLoader.ns病毒主进程新式输入法注入分析(IME Inject)
1.病毒会在system32目录生成一个以tmp结尾的随机数命名的文件. 2.然后挂钩HOOK本进程空间的imm32.dll导出的ImmLoadLayout函数和ntdll.dll导出的ZwQuery ...
- C++PE文件格式解析类(轻松制作自己的PE文件解析器)
PE是Portable Executable File Format(可移植的运行体)简写,它是眼下Windows平台上的主流可运行文件格式. PE文件里包括的内容非常多,详细我就不在这解释了,有兴趣 ...
- 解析PE文件的附加数据
解析程序自己的附加数据,将附加数据写入文件里. 主要是解析PE文件头.定位到overlay的地方.写入文件. 常应用的场景是在crackme中,crackme自身有一段加密过的附加数据.在crackm ...
- 下载额外数据文件失败 以下软件包要求安装后下载附加数据,但其数据无法下载或无法处理 ttf-mscorefonts-installer
故障显示: 一些软件包的数据文件无法下载 以下软件包要求安装后下载附加数据,但其数据无法下载或无法处理. ttf-mscorefonts-installer 这是一个永久错误,系统中的这些软件包将无法 ...
- 深入学习PE文件(转)
PE文件是Win32的原生文件格式.每一个Win32可执行文件都遵循PE文件格式.对PE文件格式的了解可以加深你对Win32系统的深入理解. 一. 基本结构. 上图便是PE文件的基本结构.(注意:DO ...
- 深入剖析PE文件
不赖猴的笔记,转载请注明出处. 深入剖析PE文件 PE文件是Win32的原生文件格式.每一个Win32可执行文件都遵循PE文件格式.对PE文件格式的了解可以加深你对Win32系统的深入理解. 一. ...
- 浅谈脱壳中的附加数据问题(overlay)
Author:Lenus -------------------------------------------------- 1.前言 最近,在论坛上看到很多人在弄附加数据overlay的问题,加上 ...
- PE文件学习系列三-PE头详解
合肥程序员群:49313181. 合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入) Q Q:408365330 E-Mail:egojit@qq.com 最近比较忙 ...
随机推荐
- 剑指 Offer 39. 数组中出现次数超过一半的数字 + 摩尔投票法
剑指 Offer 39. 数组中出现次数超过一半的数字 Offer_39 题目描述 方法一:使用map存储数字出现的次数 public class Offer_39 { public int majo ...
- POJ-1458(LCS:最长公共子序列模板题)
Common Subsequence POJ-1458 //最长公共子序列问题 #include<iostream> #include<algorithm> #include& ...
- Python3+pygame实现的90坦克大战 代码完整 有演示效果
我是一个典型的80后,年轻时玩过了特别多的游戏,所以这几天用Python3+pygame实现了一个另外小游戏"坦克大战"(其他的游戏,请翻阅我的博客) 本实例代码量有些多,完整的版 ...
- 微服务架构Day16-SpringBoot之监控管理
监控管理使用步骤 通过引入spring-boot-starter-actuator,可以使用SpringBoot提供应用监控和管理的功能.可以通过HTTP,JMX,SSH协议来进行操作,自动得到审计, ...
- 开源项目renren-fast开发环境部署(后端部分)
开源项目renren-fast开发环境部署(后端部分) 说明:renren-fast是一个开源的基于springboot的前后端分离手脚架,当前版本是3.0 开发文档需要付费,官方的开发环境部署介绍相 ...
- Nginx配置静态文件服务从入门到精通
作者:三十三重天 博客:http://www.zhouhuibo.club 通过学习和分享的过程,将自己工作中的问题和技术总结输出,希望菜鸟和老鸟都能通过自己的文章收获新的知识,并付诸实施. 引言 使 ...
- Java8的新特性--Optional
目录 Optional 一.Optional类是什么? 二.Optional类常用的方法 1. 创建Optional实例 1.1 Optional.of(T) 1.2 Optional.empty() ...
- 《逆向工程核心原理》——IAThook
hook逻辑写入dll中,注入dll. #include "pch.h" #include <tchar.h> #include "windows.h&quo ...
- Java之常用API
API概述 什么是API API (Application Programming Interface) :应用程序编程接口 java中的API 指的就是 JDK 中提供的各种功能的 Java类,这些 ...
- LinkedList源码个人解读
LinkedList的基本结构是双向链接的直线结构. 链表的构造函数有两个,其中空构造函数什么都没做,就是一个空实现. /** * Constructs an empty list. */ publi ...