恶意代码分析入门--初次接触加壳的程序(chapter1_Lab01-02)

简介: 实验分析了Lab01-02.exe文件,包括上传至VirusTotal检测、使用PEiD识别壳、FreeUPX脱壳、分析导入函数及字符串。结果显示文件被UPX壳包裹,脱壳后发现其可能通过创建服务和网络连接来实现恶意行为。

Lab 1-2
分析Lab01-02.exe文件。

问题

1、将Lab01-02.exe文件上传至http://www.VirusTotal.com进行分析并查看报告。文件匹配到了已有的反病毒软件特征吗?
2、是否有这个文件被加壳或混淆的任何迹象?如果是这样,这些迹象是什么?如果该文件被加壳,请进行脱壳,如果可能的话。
3、有没有任何导入函数能韵够暗示出这个程序的功能?如果是,是哪些导入函数,它们会告诉你什么?
4、哪些基于主机或基于网络的迹象可以被用来确定被这个恶意代码所感染的机器?

操作环境

操作场景:
windows xp sp3
实验工具:
PEiD vO.95
Strings
Free UPX(新工具--UPX专用脱壳机)
VirSCAN.org
实验文件:
Lab01-02.exe

实验思路

1.利用网络扫描工具对目标程序进行扫描
2.利用本地静态分析工具分析目标程序
3.利用自动化脱壳工具进行脱壳

1

检测报毒,那就不进行,截图展示了,自己去上传检测就可以了。

2

这次查壳PEID要使用深度扫描,如果没学过壳的知识,可以移步我的博客:程序脱壳篇 | 乙太 (gitee.io) 不难发现这是UPX壳。

image.png

image.png

同样我们也能通过区段表进行判断这是UPX壳。下面使用FreeUPX傻瓜式脱壳

image.png

脱壳成功后,可以再放到PEID查看,就可以看到是VC++6.0编译的。如果想保留源文件,则可以在Free UPX的下方backfile选择create1选项。

3

看导入表,第一篇有老方法,不赘述

image.png

可以通过API猜测这个恶意程是以创建服务的方式来使得自己运行,这是需要特别的记住并且额外留意的。还能再WININET.dll看到他调用了InternetOpenUrlA和InternetOpenA两个2联网的函数,所以又可能是去连接一个网站咯。

4

再次使用Stings程序在cmd模式下运行。

注意区别在看脱壳前的字符的时候,可以打印一些API函数,但大部分都是乱序的字符。看脱壳后的程序就会打印更多完整的信息。

image.png

可以看到网址的特征还可以猜测这个伪造服务的名称是Malservice

相关文章
|
canal 分布式计算 关系型数据库
大数据Spark Streaming实时处理Canal同步binlog数据
大数据Spark Streaming实时处理Canal同步binlog数据
406 0
|
监控 网络协议 网络安全
恶意代码分析入门--开始动态地分析恶意程序(chapter3L_Lab03-01)
实验3-1:通过动态分析技术分析Lab03-01.exe中的恶意代码,探究其导入函数、字符串列表、感染特征及网络特征。实验环境为Windows XP SP3,使用Process Explorer、Strings、Process Monitor、PEiD、Wireshark等工具。分析过程中发现恶意代码创建了互斥体、修改了注册表以实现自启动,并尝试访问外部恶意链接。
290 3
恶意代码分析入门--开始动态地分析恶意程序(chapter3L_Lab03-01)
|
3月前
|
机器学习/深度学习 负载均衡 网络架构
Mixture of Experts架构的简要解析
Mixture of Experts(MoE)架构起源于1991年,其核心思想是通过多个专门化的“专家”网络处理输入的不同部分,并由门控网络动态组合输出。这种架构实现了稀疏激活,仅激活部分专家,从而在模型规模与计算成本之间取得平衡。MoE的关键在于门控机制的设计,如线性门控、噪声Top-K门控等,确保模型能根据输入特征自适应选择专家。
503 8
|
安全 Linux API
恶意代码分析入门--静态分析(chapter1_Lab01-01)
本文档介绍了在Windows XP SP3环境下,利用PEiD、Strings、PETools等工具对Lab01-01.exe和Lab01-01.dll两个文件进行恶意代码分析的过程。实验包括在线扫描、PE结构分析、检查是否加壳、分析导入函数、字符串搜索等步骤,最终推测出这两个文件的潜在恶意行为及目的。通过这一系列的静态分析手段,能够初步判断出恶意代码的性质与功能,为后续的深入研究提供了基础。
328 5
恶意代码分析入门--静态分析(chapter1_Lab01-01)
|
存储 Linux Android开发
Volatility3内存取证工具安装及入门在Linux下的安装教程
Volatility 是一个完全开源的工具,用于从内存 (RAM) 样本中提取数字工件。支持Windows,Linux,MaC,Android等多类型操作系统系统的内存取证。针对竞赛这块(CTF、技能大赛等)基本上都是用在Misc方向的取证题上面,很多没有听说过或者不会用这款工具的同学在打比赛的时候就很难受。以前很多赛项都是使用vol2.6都可以完成,但是由于操作系统更新,部分系统2.6已经不支持了,如:Win10 等镜像,而Volatility3是支持这些新版本操作系统的。
3057 0
|
运维 监控 Ubuntu
【运维】如何在Ubuntu中设置一个内存守护进程来确保内存不会溢出
通过设置内存守护进程,可以有效监控和管理系统内存使用情况,防止内存溢出带来的系统崩溃和服务中断。本文介绍了如何在Ubuntu中编写和配置内存守护脚本,并将其设置为systemd服务。通过这种方式,可以在内存使用超过设定阈值时自动采取措施,确保系统稳定运行。
450 4
|
开发框架 Dart 前端开发
Android 跨平台方案对比之Flutter 和 React Native
本文对比了 Flutter 和 React Native 这两个跨平台移动应用开发框架。Flutter 使用 Dart 语言,提供接近原生的性能和丰富的组件库;React Native 则基于 JavaScript,具备庞大的社区支持和灵活性。两者各有优势,选择时需考虑团队技能和项目需求。
1021 8
|
Go
golang语言之go常用命令
这篇文章列出了常用的Go语言命令,如`go run`、`go install`、`go build`、`go help`、`go get`、`go mod`、`go test`、`go tool`、`go vet`、`go fmt`、`go doc`、`go version`和`go env`,以及它们的基本用法和功能。
426 6
|
存储 监控 API
史上最全最完整,最详细,软件保护技术-程序脱壳篇-逆向工程学习记录(二)
本文详细介绍了软件保护技术中的程序脱壳过程,包括IAT(导入地址表)的重建、OD(OllyDbg)跟踪输入表、HOOK-API技术以及FSG、UPX和WinUpacx等常见压缩壳的加脱壳方法。文章通过具体实例和详细步骤,帮助读者理解并掌握逆向工程的基本技巧。[原文链接](https://developer.aliyun.com/article/1618653)
451 0
|
SQL 网络安全 数据库
网络安全实验十 sql注入实验(一)
网络安全实验十 sql注入实验(一)
614 0