• lab1-1 恶意代码分析实战


    目录

    一、实验问题

    二、实验环境

    三、实验步骤

    1、使用VirScan - 多引擎文件在线检测平台扫描实验文件

     2、使用PETools工具查看文件的编译时间

     3、检查文件是否被加壳

     4、查看导入函数

     5、strings查看可执行文件的可打印字符串


    一、实验问题

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

    二、实验环境

            操作系统:Windows XP sp2

            软件版本:

    • PEid:主要检测软件是否加壳;
    • strings:用于搜索可执行文件中的可打印字符;
    • PETools:用来查看目标程序的PE结构;
    • Virscan.org:上传一个文件,调用多种反病毒引擎进行扫描。

    三、实验步骤

    1、使用VirScan - 多引擎文件在线检测平台扫描实验文件

            扫描exe文件:

             扫描dll文件:

            从扫描结果来看,两个文件基本上确认是病毒文件。

     2、使用PETools工具查看文件的编译时间

            在PE头的_IMAGE_FILE_HEADER结构体中,TimeDateStamp这个字段记录了文件的创建时间。

            实际操作:

            (1)将待检测文件(以lab1-1.exe文件为例子)拖入PETools,点击"文件头";

             (2)点击"时间/日期标志"(点后面的三个点点)

            同样的方式,查看dll文件的编译时间。

     3、检查文件是否被加壳

            用到的工具是PEid.

             看PEiDdSCAN的结果,可以看到该程序是用VC++6.0编写的。

            假设程序被加壳,PEiDdSCAN要么显示壳的名称,要么显示"nothing found";

     4、查看导入函数

            主要用的是Dependency walker,不过,PEiD也可以查看导入函数。这里用PEiD查看导入函数。(以lab1-1.exe为例)

            (1)将待测文件拖入PEiD,查看"子系统";

             (2)查看输入表;

             可以看到程序调用了FindNextFileA和FindFirstFileA这两个API函数,它们主要用于查找系统中的一些文件,CopyFile用于复制文件,CreateFile用于创建文件。病毒程序用copyfile函数一般的目的是想把自己复制到一个隐藏的位置。

             以同样的方法查看dll文件的导出表:

             可以看到dll文件导入了WS2_32.dll链接库,WS2_32.dll链接库经常被用来做一些联网的操作。所以,待测程序会用到联网功能。

     5、strings查看可执行文件的可打印字符串

            将strings.exe与待测文件放在一个目录下,使用命令:

    strings 文件名

             可以发现有一个路径:C:\windows\System32\lerne132.dll,在这里可以猜到程序是想把自身或其他文件复制到该目录。

            同样的方法查看第二个文件:

              在第二个文件中出现了一个网址,继续查看这一IP地址,其实可以大概猜到病毒制造者是想让我们访问这一地址。以教学为目的,所以ip地址用保留地址。

            问题说:基于网络的迹象,可以从网址看出来。基于主机的迹象可以从这儿看出来:病毒会将某个程序改名为kene132.dll,并且隐藏到C:\windows\System32\lerne132.dll目录下。

            这些文件的目的:exe程序用于安装运行dll文件,病毒的功能主要由dll文件实现。

  • 相关阅读:
    获取文件md5值
    Excel·VBA分列、字符串拆分
    Redis的分布式锁问题(九)Redis + Lua 脚本实现分布式锁
    华为、苹果竞争未完,平板赛道再成舞台
    母婴产品如何做做品牌营销?母婴品牌如何在知乎上做营销?
    【salesforce平台基础】-想到啥写点啥
    Android设计模式--策略模式
    MongoDB 数组查询($elemMatch)、更新操作(占位符$)详解
    【每日一题】436. 寻找右区间
    xf86-video-intel源码分析2 —— README文件
  • 原文地址:https://blog.csdn.net/qq_55202378/article/details/127592570