• lab1-4 PE结构


    目录

    一、实验环境

    二、实验思路

    三、实验步骤

    1、使用网络扫描工具扫描

    2、查看文件是否被加壳

     3、查看文件被编译的时间

    4、查看导入函数

    5、查看程序中可打印的字符

    6、检查并查看资源

    7、简单分析资源


    一、实验环境

            操作系统:windows XP sp2

            软件:PEiD、Strings、VirSCAN.org、PETools、Resourse Hacker

    二、实验思路

    (1)利用网络扫描工具对目标程序进行扫描

    (2)利用本地静态分析工具分析目标程序

    (3)提取资源中的内容进行分析

    三、实验步骤

    1、使用网络扫描工具扫描

            将文件上传到virscan.org进行扫描;

             从结果可以看到27个引擎报毒,说明该程序非常危险。

    2、查看文件是否被加壳

            将待测文件放入PEiD中,可以看到PEiD显示文件未加壳。

     3、查看文件被编译的时间

            将文件拖入PETools,查看"文件头"——"时间/日期标志"。

             可以看到文件的编译时间。但是这是个错误的时间,被修改过!!!

    4、查看导入函数

            这一步的目的:通过导入函数,猜测函数的功能。

            将待测文件拖入PEiD,依次点击"子系统"——"输入表":

             可以看到程序一个导入了三个动态链接库,分别是:kernel32.dll、advapi32.dll、msvcrt.dll。

            在kernel32.dll中,创建了一个文件(CreateFile)并写入(WriteFile),winexec()函数能够运行一个程序,需要特别留意。

             在advapi32.dll中,出现了三个提权的API函数:OpenProcessToken()、LookupPrivilegeValueA()、AdjustTokenPrivileges().

    5、查看程序中可打印的字符

            进行这一步的目的是:如果一个主机感染了该恶意代码,主机会出现哪些网络层面的特征和主机层面的特征。

             最后一条是一个网址,想到程序导入了一个winexec()函数,程序可能开启一个后门在这个网址进行下载并且执行下载的后门程序。

            "\system32\wupdmgad.exe"这一条可以猜测:程序可能将自身改名,并复制到该目录下。

            "URLDownloadToFileA"这是一个用于后台下载的API函数。

             "URLDownloadToFileA"结合"winexec"能够将下载的内容进行执行。

            "GetWindowsDirectoryA"用于获取本地系统的windows目录,一般来说,恶意程序调用该函数将自己复制到windows的目录里面。这样做的目的是让我们以为恶意程序是正常程序。

            总结:

            (1)网络特征:恶意程序会从网址下载后门程序;

            (2)主机特征:恶意程序会将自己改名并复制到"\system32\wupdmgad.exe"。

    6、检查并查看资源

            用resource hacker打开待测文件,可以看到'MZ'标志,可以得到:资源里隐藏的是一个PE文件。

             但是PE文件主要有两种文件,分别是:dll文件和exe文件。首先将隐藏的PE文件导出来:

             将导出的文件用PETools打开,依次点击"文件头"——"特征值";

             可以看到特征值页面中的"dll"没有打勾,说明当前文件不是一个DLL文件,也就是该文件是一个exe文件。

    7、简单分析资源

            将导出的文件放到PEiD中,可以看到:

             该文件由VC6.0编写。

            查看导入表:

             可以看到该PE文件,一共导入了三个动态链接库:kernel32.dll、urlmon.dll、msvcrt.dll。

            在kernel32.dll中,程序调用了GetWindowsDirectoryA这个API函数,用于获取windows的系统目录;使用winexec()用于执行。

             在urlmon.dll中,URLDownloadToFileA函数用于开启后门进行下载,并且结合之前的winexec进行执行。

            总结:

            提取出来的资源文件,主要用于开启后门这一操作。

     

  • 相关阅读:
    Linux安装详解
    L67.linux命令每日一练 -- 第十章 Linux网络管理命令 -- netstat和ss
    Java基于基于Springboot+vue的药品销售商城网站 在线购药 elementui毕业设计
    基于SSM框架的校园疫情防控健康打卡系统
    三十分钟学会Linux的基本操作
    Python JSON
    R语言使用hexSticker包将ggplot2包可视化的结果转换为六角图(六角贴、六角形贴纸、ggplot2 plot to hex sticker)
    win10升级到win11后电脑睡眠后发热严重
    首个中文Stable Diffusion模型开源,玩转中文-图片”的跨模态生成任务
    基于Mybatis-Plus的多租户架构下的数据隔离解决方案
  • 原文地址:https://blog.csdn.net/qq_55202378/article/details/127660392