• 20192428魏来 《网络与系统系统攻防技术》实验四 恶意代码分析


    《网络与系统攻防技术》实验四 恶意代码分析

    实践目标

    1. 恶意代码文件类型标识、脱壳与字符串提取。对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下:
      1. 使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;
      2. 使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理;
      3. 使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?
    2. 使用IDA Pro静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息。
    3. 分析一个自制恶意代码样本rada,并撰写报告,回答以下问题:
      1. 提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;
      2. 找出并解释这个二进制文件的目的;
      3. 识别并说明这个二进制文件所具有的不同特性;
      4. 识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术;
      5. 对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;
      6. 给出过去已有的具有相似功能的其他工具;
      7. 可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
    4. 取证分析实践 Windows 2000系统被攻破并加入僵尸网络
      问题: 数据源是Snort收集的蜜罐主机5天的网络数据源,并去除了一些不相关的流量,同时IP地址和其他敏感信息被混淆。回答下列问题:
      1. IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?
      2. 僵尸网络是什么?僵尸网络通常用于什么?
      3. 蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
      4. 在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?
      5. 哪些IP地址被用于攻击蜜罐主机?
      6. 攻击者尝试攻击了那些安全漏洞?
      7. 那些攻击成功了?是如何成功的?

    实验准备

    本次实验需要使用以下几种工具:IDA Pro、Peid、超级巡警脱壳器(VMUnpacker)V1.3、Process Explorer等。
    实验环境为Windows 10、辅助环境为Kali

    实验过程

    实践一:恶意代码文件类型标识、脱壳与字符串提取

    该部分实践为对文件Rada进行分析,首先使用Linux环境下的file指令对文件进行分析;
    image
    分析可得,文件类型为:PE32 executable (GUI) Intel 80386, for MS Windows
    尝试分析文件字符串,使用 strings 文件名来分析文件,得到如下结果:
    image
    证明该文件有壳,需要使用脱壳文件,但首先需要分析壳的特征码,得到壳信息,这里使用peid对壳进行分析:
    image
    通过peid分析得到壳信息,接下来使用脱壳程序进行脱壳:
    image
    image
    接下来对我们脱壳后的程序进行验证,使用strings 文件名查看文件字符串,结果如下图:
    image
    表面我们脱壳成功!
    使用PE(Process Explorer)打开我们的脱壳的程序,这里需要使用管理员权限打开,然后在PE中找到我们的脱壳程序的进程,双击打开详情,选择Strings找到字符串列,在里面可以找到程序的一些信息,这里我们找到了程序的作者信息:
    image
    实践一完成!

    实践二:使用IDA Pro静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息。

    首先分析crackme1,我们使用IDA Pro打开该exe文件,可以看到程序的汇编语言:
    image
    这里可以点击视图-->图表-->函数调用打开查看函数调用的关系,不过因为程序会调用许多内置函数,这个图对我们分析程序代码帮助不大,下面是我们crackme1.exe文件的函数调用表:
    image
    点开IDA Pro中的functions一栏,选择我们的main函数,也可以直接进行反编译:
    image
    反编译后的代码一目了然,可以清楚的看到程序中的逻辑内容部分。最终我们得到该程序的key值为:"I know the secret",将其加在程序名后作为参数启动,即可输出成功信息:
    image

  • 相关阅读:
    luoguP4336 [SHOI2016]黑暗前的幻想乡 容斥原理 + 矩阵树定理
    luoguP4208 [JSOI2008]最小生成树计数 矩阵树定理
    luoguP2303 [SDOI2012]Longge的问题 化式子
    poj1704 Georgia and Bob 博弈论
    poj3537 Crosses and Crosses 博弈论
    luoguP4783 [模板]矩阵求逆 线性代数
    luoguP5108 仰望半月的夜空 [官方?]题解 后缀数组 / 后缀树 / 后缀自动机 + 线段树 / st表 + 二分
    [Luogu5319][BJOI2019]奥术神杖(分数规划+AC自动机)
    Forethought Future Cup
    Codeforces Round 554 (Div.2)
  • 原文地址:https://www.cnblogs.com/KamanFuture/p/16156481.html
Copyright © 2020-2023  润新知