• 20155308《网络对抗》Exp4 恶意代码分析


    20155308《网络对抗》Exp4 恶意代码分析

    实践说明

    实践目标

    • 是监控你自己系统的运行状态,看有没有可疑的程序在运行。

    • 是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。

    • 假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。

    基础问题回答

    1. 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
    • 使用Windows自带的schtasks指令设置一个计划任务,指定每隔一定时间记录主机的联网记录或者是端口开放、注册表信息等等;
    • 通过sysmon工具,配置好想记录事件的文件,之后在事件查看器里找到相关日志文件便可以查看;
    • 使用Process Explorer工具,监视进程执行情况,查看是否有程序调用了异常的dll库之类的。
    1. 如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
    • 使用Wireshark软件进行抓包分析,查看该程序联网时进行了哪些操作;
    • 使用systracer工具分析某个程序执行前后,计算机注册表、文件、端口的一些变化情况。

    实践过程

    1.使用schtasks指令监控系统

    • 先在C盘目录下建立一个netstatlog.bat文件,用来将记录的联网结果格式化输出到netstatlog.txt文件中,netstatlog.bat内容为:
    date /t >> c:
    etstatlog.txt
    time /t >> c:
    etstatlog.txt
    netstat -bn >> c:
    etstatlog.txt
    

    (可先创建txt文本文件,使用记事本写入后通过修改文件名来修改文件格式)

    • 使用schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "c: etstatlog.bat"命令创建计划任务netstatlog

    • 打开任务计划程序,可以看到我们新创建的这个任务

    • 双击这个任务,点击操作并编辑,将“程序或脚本”改为我们创建的netstatlog.bat批处理文件

    • 运行之后出现这个问题:

    • 原因是我的权限不够高。解决方法是:将“使用最高权限运行”打上勾。

    • 等几分钟后在“netstatlog.txt”文件中有联网记录

    2.使用sysmon工具监控系统

    • sysmon微软Sysinternals套件中的一个工具,可以从码云项目的附件里进行下载,要使sysmon
      工具先要配置文件,我直接用的是老师给的配置文件

    • 创建配置文件Sysmon20155308.xml。

    • 使用Sysmon.exe -i C:Sysmon20155308.xml安装sysmon。

    • 对配置文件进行修改,将自己感兴趣的过滤器事件和过滤器事件的选项写入。
    <Sysmon schemaversion="3.10">
      <!-- Capture all hashes -->
      <HashAlgorithms>*</HashAlgorithms>
      <EventFiltering>
    <!-- Log all drivers except if the signature -->
    <!-- contains Microsoft or Windows -->
    <DriverLoad onmatch="exclude">
      <Signature condition="contains">microsoft</Signature>
      <Signature condition="contains">windows</Signature>
    </DriverLoad>
    
    <NetworkConnect onmatch="exclude">
      <Image condition="end with">chrome.exe</Image>
      <Image condition="end with">iexplorer.exe</Image>
      <SourcePort condition="is">137</SourcePort>
    </NetworkConnect>
    
    <CreateRemoteThread onmatch="include">
      <TargetImage condition="end with">explorer.exe</TargetImage>
      <TargetImage condition="end with">svchost.exe</TargetImage>
      <TargetImage condition="end with">winlogon.exe</TargetImage>
      <SourceImage condition="end with">powershell.exe</SourceImage>
    </CreateRemoteThread>
      </EventFiltering>
    </Sysmon>
    
    • 使用Sysmon.exe -c C:Sysmon20155308.xml,将sysmon按照修改好的配置文件进行更新。

    • 启动之后,便可以到事件查看器里查看相应的日志


    这个是我进行360安装所创建的。

    3.使用systracer工具分析恶意软件

    • 下载安装Systracer。
    • 在打开后门前先快照一下,点击“take snapshot”:

    • Kali打开msfconsole,完成相关设置后开始监听,Windows运行后门后,拍摄快照


    • 进行分析:点击Applications->Running Processes->找到后门进程->点击“Opened Ports”查看回连地址、远程地址和端口号:

    • 在快照界面“Snapshots”右下角点击“Compare”,比对一下回连前后计算机发生的变化

    • 对注册表中hkey_local_machine根键的System子键进行了修改

    • 可以看到它启用了很多dll文件

    4.使用virscan分析恶意软件

    • 在virscan网站上查看上次实验所做的后门软件的文件行为分析:



    5.使用PEiD分析恶意软件

    • 取一个上次实验生成的,没有加壳的木马,其检测结果如下

    • 使用UPX加壳后,PEiD成功检测出了加壳的相关信息

    6.使用Process Monitor分析恶意软件

    • Process Monitor一款系统进程监视软件,总体来说,Process Monitor相当于Filemon+Regmon,其中的Filemon专门用来监视系统 中的任何文件操作过程,而Regmon用来监视注册表的读写操作过程。 有了Process Monitor,使用者就可以对系统中的任何文件和 注册表操作同时进行监视和记录,通过注册表和文件读写的变化, 对于帮助诊断系统故障或是发现恶意软件、病毒或木马来说,非常 有用。 这是一个高级的 Windows 系统和应用程序监视工具,由优秀的 Sysinternals 开发,并且目前已并入微软旗下,可靠性自不用说。

    • 打开软件,可以看出其对各个进程的详细记录:

    实验总结与体会

    通过本次实验,我学会运用一些软件对恶意代码进行监测和分析,虽然这种检测的方法比较简单,而且不一定适用于我们生活中的大部分的后门程序,但是我们可以通过对这些软件的应用,进行学习,打下基础,对以后我们检测后面程序、加强自己电脑的保护有一定的作用。

  • 相关阅读:
    day-11 python自带库实现2层简单神经网络算法
    day-10 sklearn库实现SVM支持向量算法
    day-9 sklearn库和python自带库实现最近邻KNN算法
    day-8 python自带库实现ID3决策树算法
    day-7 sklearn库实现ID3决策树算法
    day-6 机器学习概念及应用
    day-5 python协程与I/O编程深入浅出
    day-4 python多进程编程知识点汇总
    day-3 python多线程编程知识点汇总
    3、TensorFlow基础(一) 设计思想与编程模型
  • 原文地址:https://www.cnblogs.com/JIUSHA/p/8863435.html
Copyright © 2020-2023  润新知