恶意代码分析入门--静态分析(chapter1_Lab01-01)

简介: 本文档介绍了在Windows XP SP3环境下,利用PEiD、Strings、PETools等工具对Lab01-01.exe和Lab01-01.dll两个文件进行恶意代码分析的过程。实验包括在线扫描、PE结构分析、检查是否加壳、分析导入函数、字符串搜索等步骤,最终推测出这两个文件的潜在恶意行为及目的。通过这一系列的静态分析手段,能够初步判断出恶意代码的性质与功能,为后续的深入研究提供了基础。

恶意代码分析-工具收集 - 17bdw - 博客园 (cnblogs.com)

实验环境:Lab 1-1

这个实验使用Lab01-01.exe和Lab01-01.dll文件,使用本章描述的工具和技术来获取
关于这些文件的信息。

操作环境
操作场景:
windows xp sp3
实验工具:
PEiD v0.95
Strings(新工具-在cmd窗口运行打印出目标程序的可打印字符)
PETools v1.5
VirsCAN,org
实验文件:
Lab01-01.exe
Lab01-01.dll

问题

1、将文件上传至http://www.VirusTotal.com/进行分析并查看报告。文件匹配到了
已有的反病毒软件特征吗?
2、这些文件是什么时候编译的?
3、这两个文件中是否存在迹象说明它们是否被加壳或混淆了?如果是,这些
迹象在哪里?
4、是否有导入函数显示出了这个恶意代码是做什么的?如果是,是哪些导入函数?
5、是否有任何其他文件或基于主机的迹象,让你可以在受感染系统上查找?
6、是否有基于网络的迹象,可以用来发现受感染机器上的这个恶意代码?
7、你猜这些文件的目的是什么?

实验思路

  1. 利用网络扫描工具对自标程序进行扫描
  2. 利用本地静态分析工具分析自标程序
  3. 又 对上述结果进行分析

实验过程

1

如图所示:检测出报毒

image.png

image.png

2

文件.exe和.dll都是属于PE文件结构

看到下面的PE结构图

20191105010119908.jpg

在PE头的位置,有IMAGE_FILE_HEADER成员,里面有TimeDateStamp的时间戳,表明了程序是什么时间编译的。由于难找工具,我直接使用的是LoadPE软件进行查看:

image.png

可以看到上面Lab01-01.exe的日期时间标志经过解码之后的时间。

然后看到Lab01-01.dll的时间也是差不多的一样。

image.png

3

image.png

image.png

以上可见Lab01-01.exe没有加壳,通过观察区段表也可以知道,非常的完整。

Lab01-01.dll分析同上理

4

我们先用PEID来观察.exe的导入表如下:

image.png

就能基本观察到他用了哪些API,懂点英文就应该能知道,find查找,filew文件,copy复制,Create创建,所以一般病毒都是先把自己复制到系统目录里隐藏起来。这事根据经验之谈。

再看Lab01-01.dll文件的导入表可以猜测功能:

image.png

分析可知,WS2_32.dll是进行一些联网的操作,然后Sleep休眠,CreateProcessA创建进程,CreateMutexA创建一个互斥体。等都是病毒经常使用的API函数。

5,6

首先这个问题我们可以使用到我们的Strings工具,这个工具我也是第一次用

(34条消息) strings工具(Win、Linux均可适用)_墨痕诉清风的博客-CSDN博客

(34条消息) chapter1 静态分析技术-04字符串搜索 strings工具_尉晓昌的博客-CSDN博客

据说可以列出在对象文件或二进制文件中查找可打印的字符串。

先看Lab01-01.exe 可以知道并且推测,由于数字1和字母l 在windows中长得太像了,所以可以推测这个程序将Lab-01-01.dll文件改名成了Kerne123.dll文件,实现伪装隐藏。

image.png

下面在看Lab-01-01.dll 可以发现一个IP地址

image.png

去查询ip.cn发现这是一个内网地址,可见病毒作者处于教学的目的,只随便写了一个内网地址,如果他是一个公网地址,那就很有可能在后台访问这个ip进行一些危险操作。

image.png

7

分析目的:

由于dll文件是不能够直接自己来运行的,所以,必须借助exe的外力在后台运行。所以exe就是专门用来安装和运行这个dll后门程序的。当exec和sleep结合使用的时候,必需特别的注意,因为exec可能通过网络来给后门程序传送命令,让他能通过CreateProcessA函数运行一个程序,而sleep可能是命令后门程序进入休眠模式。

相关文章
|
开发工具 C语言 数据安全/隐私保护
免杀工具 -- FourEye
免杀工具 -- FourEye
852 0
免杀工具 -- FourEye
|
安全 Java Python
sonarqube扫描Python项目代码
sonarqube扫描Python项目代码
sonarqube扫描Python项目代码
|
21天前
|
监控 网络协议 网络安全
恶意代码分析入门--开始动态地分析恶意程序(chapter3L_Lab03-01)
实验3-1:通过动态分析技术分析Lab03-01.exe中的恶意代码,探究其导入函数、字符串列表、感染特征及网络特征。实验环境为Windows XP SP3,使用Process Explorer、Strings、Process Monitor、PEiD、Wireshark等工具。分析过程中发现恶意代码创建了互斥体、修改了注册表以实现自启动,并尝试访问外部恶意链接。
60 3
恶意代码分析入门--开始动态地分析恶意程序(chapter3L_Lab03-01)
|
21天前
|
API Windows
恶意代码分析入门--初次接触加壳的程序(chapter1_Lab01-02)
实验分析了Lab01-02.exe文件,包括上传至VirusTotal检测、使用PEiD识别壳、FreeUPX脱壳、分析导入函数及字符串。结果显示文件被UPX壳包裹,脱壳后发现其可能通过创建服务和网络连接来实现恶意行为。
20 2
恶意代码分析入门--初次接触加壳的程序(chapter1_Lab01-02)
|
21天前
|
Windows
恶意代码分析入门--通过脱壳机能够减轻我们的很多工作(chapter1_Lab01-03)
本实验通过分析Lab01-03.exe文件,探讨其是否被加壳、存在混淆迹象及功能相关的导入函数。实验在Windows XP SP3环境下进行,使用PEiD、Strings和LinxerUnpacker等工具。通过网络扫描和静态分析,初步发现该程序使用了OLE组件对象模型,并包含网络页面字符串。
30 2
恶意代码分析入门--通过脱壳机能够减轻我们的很多工作(chapter1_Lab01-03)
|
21天前
|
API Windows
恶意代码分析入门--PE结构能告诉我们很多信息(chapter1_Lab01-04)
本实验分析了Lab01-04.exe文件,通过VirusTotal检测其是否匹配反病毒特征,检查是否存在加壳或混淆,并使用PEiD、Strings、Resource Hacker等工具进行静态分析,提取资源文件,分析其编译时间、导入函数及潜在恶意行为。实验在Windows XP SP3环境下进行。
38 5
恶意代码分析入门--PE结构能告诉我们很多信息(chapter1_Lab01-04)
|
3月前
|
XML 存储 安全
C#开发的程序如何良好的防止反编译被破解?ConfuserEx .NET混淆工具使用介绍
C#开发的程序如何良好的防止反编译被破解?ConfuserEx .NET混淆工具使用介绍
148 0
|
6月前
|
SQL API Python
`bandit`是一个Python静态代码分析工具,专注于查找常见的安全漏洞,如SQL注入、跨站脚本(XSS)等。
`bandit`是一个Python静态代码分析工具,专注于查找常见的安全漏洞,如SQL注入、跨站脚本(XSS)等。
|
Rust 开发工具 开发者
Ruff代码分析
Ruff代码分析
207 0
|
Go C语言 Windows
【教程】使用 IDA Pro + 010 Editor 反编译和修改 so 文件,让你轻松玩转逆向工程!
当我们在做逆向工作时,总会遇到需要查看某个 so 文件的情况,甚至可能需要对其进行一些微小的修改。这时候,我们就需要来点反编译的魔法了。
8207 0
【教程】使用 IDA Pro + 010 Editor 反编译和修改 so 文件,让你轻松玩转逆向工程!