exe-自动安装

简介

许多病毒会以安装包的形式进行传播,一方面病毒作者可以修改合法软件的安装包实现捆绑安装,另一方面病毒可以将病毒本体隐藏在包内,避免被直接查杀。能够制作安装包的软件很多,本文将介绍几款主流软件及其制作的恶意软件的分析技巧。

1、MSI

许多软件的安装包都是.msi格式的,msi文件的能够像exe文件一样双击运行,但是查看msi文件的文件头却会发现,msi文件并不属于PE文件。
在这里插入图片描述
msi文件是Windows Installer的数据包,它采用了OLE(复合文件)结构,是一种压缩文件,里面包含安装(和卸载)程序所需的指令和数据。
双击MSI文件的时候,真正运行起来的是Msiexec.exe 程序。Msiexec.exe 程序是 Windows Installer 的一个组件,当双击MSI文件的时候,Msiexec.exe将读取msi文件并进行进一步处理,然后 Windows Installer 执行所有与安装有关的任务:包括将文件复制到硬盘、修改注册表、创建桌面快捷方式,必要时显示提示对话框以便用户输入安装需要的信息等。
msi文件分析的关键是病毒本体的提取。有很多软件可以制作msi文件,这些软件制作出的msi文件在“数据包”组合中存在一些差别,导致了我们需要采取不同的方式提取病毒本体。

msiexec或lessmsi提取

首先说一种标准的msi文件,使用7z工具打开msi我呢见,就能看到类似PE节结构的数据:
在这里插入图片描述
但是7z解析出来的数据里并不包含病毒主体,msi中还有很多数据没有被解析出来,我们需要借助专用的解析工具——lessmsi。
lessmsi的使用非常简单,你只需要把msi文件拖进lessmsi就可以了:
在这里插入图片描述
如果你懒得下载lessmsi,你也可以使用msiexec,运行如下命令提取文件:
msiexec /a “xxx.msi” /qb TARGETDIR=“xxx_dir”
在这里插入图片描述
提取出的文件:
在这里插入图片描述
还有一种msi文件,可以称之为变形msi文件,使用7z工具打开msi文件,这次我们看到的结构是完全不同的数据:

在这里插入图片描述
其中命名Binary._*的这个数据是一个PE文件,也就是病毒主体了。

2、NISI

NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序。它提供了安装、卸载、系统设置、文件解压缩等功能。
NSIS 是通过它的脚本语言来描述安装程序的行为和逻辑的。因此,NSIS安装包的分析过程中,首先要分析的就是NSIS脚本。
这次我们使用的示例样本是银钩团伙的样本(MD5:6b4384b706d7fa925bdceeb5b21c855c)。
分析NSIS安装包文件需要使用定制的7z(下载地址:https://github.com/myfreeer/7z-build-nsis )进行解压:
在这里插入图片描述
其中的[NSIS].nsi文件就是NSIS脚本文件,PE病毒就被存放在TEMP和PLUGINSDIR文件夹内。
NSIS脚本的语法还是比较简单的,分析过程中需要重点关注的是区段(Section)和一些回调函数:
在这里插入图片描述
NSIS中的区段,就是安装过程中的脚本。而回调函数则是在某些动作触发时会自动执行的函数过程,我们需要重点关注的是如下回调函数:
在这里插入图片描述
在本样本中,就是在.onInit回调函数值执行了PE程序:
在这里插入图片描述

3、winrar

sfx自解压

winrar有一个强大的功能——制作自解压程序。
你可以通过如下操作创建自解压程序:
在这里插入图片描述
通过高级设置,你可以伪造程序的图标,选择隐藏执行,选择解压执行的路径,设置在解压过程中执行的cmd命令,每一个功能都受到病毒作者的称赞:
在这里插入图片描述
一些病毒还设置了解压密码,通过社会工程学的方式进行攻击,增加安全研究员的分析难度。
在没有设置解压密码的情况下,此类sfx自解压程序的分析很简单,你只需要用winrar打开就能看到病毒本体以及程序在解压过程中会执行的命令:
在这里插入图片描述

CVE-2018-20250

提到了winrar,就不得不说前段时间很火的winrar漏洞CVE-2018-20250。本段分析的内容来自于https://www.freebuf.com/articles/system/198858.html。
在这里插入图片描述
当受害者通过WinRAR直接解压该文件便会触发该漏洞,从而释放内置的恶意程序(startups.exe)到用户windows系统的启动目录内,从而使得下次重启系统的时候该恶意程序能自动启动运行。

4、Inno Setup

Inno Setup 是一个免费的安装制作软件,小巧、简便、精美是其最大特点,支持pascal脚本。
通过分析程序的字符串特征,很容易判断出程序是不是Inno Setup制作的安装包程序:
在这里插入图片描述
可以使用InnoExtractor工具 (下载:http://www.havysoft.cl/download/IE_Install.zip)
提取Inno安装包程序中的病毒主体:
在这里插入图片描述

5、Autolt

AutoIt是一种脚本语言,能够完成任何基于 Windows 或 DOS 的简单任务。它最初被设计用来自动完成安装那些其它方法不能自动安装的软件。目前主流的版本为v3版本,又叫antoit3,简称AU3。
AU3功能十分强大,不仅可以模拟鼠标、键盘各种事件,提供了对大多数win32 API的封装,还可以调用offic的VBA、宏等命令。AutoIt功能越强大,病毒作者越喜爱,其用途早已脱离了自动安装,已经变成了一门功能完备的脚本了。
AutoIt类型的病毒有两种攻击方式,一种是直接使用脚本进行攻击,另一种是使用安装包——独立可执行文件进行攻击。攻击脚本可以是AU3源码脚本,后缀一般是au3,也可以是编译后的脚本,后缀一般是a3x。
在这里插入图片描述

脚本

使用脚本攻击,恶意攻击负载至少需要两个文件:一个是脚本,另一个是合法的AutoIt解释器。
在这里插入图片描述
在图中, WinddowsUpdater.exe就是合法的AutoIt解释器,只是由病毒作者重命名以隐藏可执行文件的真实身份。WinddowsUpdater.zip,它实际上不是压缩存档,而是已编译的AutoIt脚本。脚本的文件扩展名无关紧要,可以设置为任何内容。该特定脚本的内容如图所示,是a3x脚本。在这里插入图片描述

独立可执行文件

使用独立可执行文件,恶意攻击负载将显示为单个.exe文件,它实际上是将a3x脚本作为资源嵌入autoit解释器中。老版本的autoit将a3x以附加数据的形式直接放在PE数据后面,而新版本的autoit将a3x放在资源段中。
可以使用PeStudio分析exe文件,将很清晰的看到a3x数据。如下两图所示,不同版本a3x嵌入的位置不同:
在这里插入图片描述

反编译

AutoIt的反编译,主要有AutoDec和Exe2Aut这两款工具,两款工具各有千秋。
AutoDec能够既能对exe进行反编译,又能单独对a3x文件进行反编译。其反编译后会生成au3文件,方便查阅。但是其不能反编译AutoIt3.3.10.0及之后版本的程序。
在这里插入图片描述
反编译结果:
在这里插入图片描述
Exe2Aut仅能反编译exe文件,不能反编译a3x文件,但是它支持最新版本AutoIt3程序的反编译。
在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值