type
status
date
slug
summary
tags
category
icon
password

前言:

恶意代码的种类非常多,不仅仅是EXE可执行程序中可以携带恶意代码,office文档和脚本程序也可以携带恶意代码。对于恶意程序的分析,大体上和普通程序的分析方式一致。本文主要介绍各类型恶意代码的分析方法和一些经典的恶意代码分析实践。

一、分析工具:

工欲善其事必先利其器,首先介绍分析恶意代码所使用的工具,在分析病毒时,不管该程序是否真的具有危害都不要在本机中运行以免不必要的麻烦,虚拟环境一般不要使用太高的版本一般XP就够了,也可以多配一台win7的虚拟机,静态分析恶意程序的工具最基本的有IDA(反汇编工具)、EXEinfo(查壳工具)、StudyPE(PE结构编辑工具)、010Editor(二进制文本查看工具)、Hiew(脚本类文件查看工具)、Dnspy(net程序反编译工具)。动态分析工具:Ollydbg、X64dbg。下面的toggle是我在分析过程中会使用到的工具清单,都可以在吾爱破解中下载到。
工具列表
  • 虚拟机环境:
    • WinXP:吾爱破解专用虚拟机
    • Win7:自配
  • 静态分析工具:
    • IDA、EXEinfo、StudyPE、CFF Explorer、010Editor、Total Commander、Hiew、Dnspy
  • 动态分析工具:
    • OD、X64dbg
  • 其他:fakenet

二、恶意程序的分类:

恶意程序可分为多种类型,按照文件类型可分为:
  • PE文件(Windows平台可执行文件,如exe和dll文件)
  • ELF文件(Linux平台下的可执行文件)
  • office文档文件(注意2007版本是个分界点,07版本之前的文档文件本质是二进制文件,之后本质是压缩包)
  • hta文件(HTML应用程序)
  • ps1文件(powershell脚本)
  • js文件(JavaScript脚本)
  • VBS文件(vbs脚本)
  • bat文件(windows批处理文件)
  • chm文件(微软帮助文档)
  • lnk文件(链接文件)
在对恶意程序分析的过程中一般需要将恶意程序按照其行为进行归档。常见的行为有Downloader(下载器)、Virus(病毒)、Dropper(释放器)、Ransom(勒索病毒)、Exploits(漏洞利用程序)、Trojan(木马)、Redirector(重定向)、Phish(钓鱼)。

三、脚本类恶意程序实例:

示例程序

1.powershell脚本:

对应文件:0cddd8c2084adb75689b5855a70cc4a8
powershell脚本的后缀名为.ps1,下面为该文件的具体内容:
  1. 注意Hidden这个参数,表示隐藏窗口执行,在Win10中具体命令为:
    1. -WindowStyle Hidden
  1. DownloadFile命令用于下载文件:
    1. 将文件http://188.120.250.154/7766.exe下载到%Temp%临时文件夹并将其重命名为EUKYZG.pif
      tips:pif文件为DOS环境下的可执行文件在Windows下执行时所需要的文件格式
  1. ShellExecute命令用于执行指定程序:
    1. 这里也就是执行下载下来的程序。
根据上面的信息可以推测出这个脚本用于木马的下载执行。

2.JavaScript脚本程序:

对应文件:44dcace0cfa9c0f6be1965841bc11410
javascript文件的后缀名是:.js,下面为该文件的具体内容:
var定义了三个变量
  1. new ActiveXObject("shell.application")
    1. 用于创建一个shell对象
  1. String.fromCharCode
    1. 用于将后面的Unicode编码转换为字符
      notion image
  1. 最后一个变量是一个网址,但是这个网址特意用^做了分隔
    1. "^是CMD命令中最常见的转义字符,还有成对的括号并不会影响命令的执行。
最后使用ShellExecute方法启动shell脚本。这个脚本程序也是用于木马的下载执行。
拓展
PAC(代理自动配置)文件也是以JavaScript函数实现的,作用是其核心是一个 JavaScript 函数,用来决定网页浏览请求(HTTP、HTTPS,和 FTP)应当直连目标地址,还是被转发给一个网页代理服务器并通过代理连接。其核心函数是:
For Example:
以文件b5b98837ede4701a98f1467ab53160fb为例:
该程序就是将所有谷歌和必应的请求重定向到回环地址

3.VBScript脚本:

对应文件:bc70dba947cd5df9fd750353da3faed7
文件的后缀名是:.vbs,下面为该文件的具体内容:(代码太多粘贴不进来)
notion image
dIm开头为VBS脚本的标致

4.批处理程序:

对应文件:84f1fa3c698915b91257706d1e4e3f0e
文件的后缀名是:.bat,下面为该文件的具体内容:
这段批处理代码经过了混淆和加密,它实际上是执行了以下两个命令:
第一个命令是调用一个标签(:FH_DJJU_GSG_F)来运行计算器程序(calc.exe)。这个标签的作用是把每个参数中的%FH_DJJU_GSG_F去掉,然后把剩下的字母拼接起来。例如:
等价于
第二个命令也是调用同一个标签来运行命令提示符程序(cmd.exe),并传递一个参数(/c del /f /s /q c:\windows\system32*)。这个参数的意思是删除C盘下windows文件夹中system32文件夹里的所有文件,不管是否只读、隐藏或系统文件。这会导致电脑无法正常启动和运行。

四、文档类恶意程序实例:

示例程序

1.HTML应用程序:(hta文件)

对应文件:0ca5700d367fc48a3de7b32a4042aa9e
HTA程序的后缀名为.hta,用记事本打开该程序:
notion image
第一个可疑的地方在第一行:windowstate="minimize" ,这是指以最小化窗口执行该程序。
尝试运行后打开一个网站,并下载一个木马:
notion image
notion image

2.HTML文件:

对应文件:57651da2b0025c3fc4a12ef5c4a82603
后缀名为:.html ,下面为该文件的具体内容:
visibility属性的hidden元素表示以隐藏的方式访问网站http://u7z.ru:8080/index.php

3.PDF文件:

对应文件:57651da2b0025c3fc4a12ef5c4a82603
后缀名为:.pdf,尝试打开这个pdf文件:
notion image
文件里面除了一个超链接没有其他内容,这个pdf的作用只是作为一个跳板去访问链接:
notion image
 
 
软件保护技术分析程序常见加密算法分析