zoukankan      html  css  js  c++  java
  • 20155232《网络对抗》Exp4 恶意代码分析

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

    1.实践目标

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

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

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

    使用schtasks指令监控系统运行

    • 每5分钟记录一下有哪些程序在连接网络,输入以下命令,每五分钟就会监测哪些程序在使用网络,并把结果记录在netstatlog.txt文档里,但是不显示记录的时间和日期,这可能不便于我们判断,要是想显示日期和时间,我们可以通过bat批处理文件来实现。
    schtasks /create /TN 20155232netstat /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c:
    etstatlog.txt"
    

    • 在C盘要目录下建一个文件netstatlog.bat

    下面是如何建立一个.bat文件(批处理文件)的过程:

    • 首先创建一个.txt文档并且将内容输入进去:
    date /t >> c:
    etstatlog.txt
    time /t >> c:
    etstatlog.txt
    netstat -bn >> c:
    etstatlog.txt
    

    • 然后将文件另存为并且将名字修改为以.bat为后缀的名称,将保存类型改为所有文件。

    • 最后将此文件移到c盘根目录下:

    • 双击运行,打开控制面板->任务计划程序,找到我们的任务

    • 双击点开,找到操作,点击所有项里的属性选项,击详细信息,修改txt为bat。

    • 点击确定.可以看到记录文件netstatlog.txt中的记录有了日期和时间(每五分钟记录一次)

    出现在上面的我都查了一下是什么东东!

    本机ip:

    使用excel工具将之前创建的文本文件导入数据,设置使用分隔符号 ,并勾选全部分隔符号。

    对进程使用透视图:

    查看外部网络连接:

    做成一个条形图更为清晰:

    使用sysmon工具监控系统运行

    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">WeChat.exe</Image>
      <Image condition="end with">360se.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>
    

    问题

    在cmd中输入安装指令提示错误信息

    解决

    在安装这个软件的过程中需要以管理员身份运行,在win10中点击

    选中以管理员身份运行

    在安装过程中出现,输入安装指令

    Sysmon.exe -i C:Sysmoncfg.txt
    

    对sysmon进行安装:

    出现错误提示

    发现我的配置文件和Sysmon.exe在同一个文件夹中所以不需要加路径。

    注意如果配置文件与sysmon.exe不在同一目录,需要输入配置文件的目录!!

    安装成功~~:

    启动sysmon之后可以在"运行"窗口输入eventvwr命令。打开应用程序和服务日志,根据Microsoft->Windows->Sysmon->Operational路径找到记录文件。

    打开感兴趣的是事件进行分析:

    • 这个是事件3:运行有道云笔记在写博客哈哈哈啊~

    • 事件一是进程创建,在网上搜索了一下是个什么进程

    • 运行360浏览器:

    • 运行vm上的虚拟机:

    • 还找到了启动的自己制作的后门程序:

    • 这个是在cmd中使用命令打开了Windows事件管理器


    使用virscan分析恶意软件

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

    点进去文件信息不知道为什么什么都没有????

    于是打开英文那个版本的试验一波~

    好像也分析不出来什么呀。。。。。~就是文件的一些基本信息。。。

    使用systracer工具分析恶意软件

    安装好systracer后进行快照,分别进行三次快照

    • 未安装后门
    • 植入后门后进行回连
    • 回连之后使用dir命令

    进行了三次系统快照,结果如下:

    对比1.2两种:

    第一种情况下搜所不到我的后门软件:

    将恶意软件植入到目标主机后,可以通过快照发现文件中多了一个20155232.exe文件,

    第三种情况:启动回连时,新建了20145236_backdoor.exe应用,可以看见它启用了许多DLL文件

    再观察可以看到 本地地址是我windows的地址,而远程地址是植入后门的虚拟机的ip地址,端口号是当时设置的5232:

    使用wireshark抓包分析

    我用wireshark捕获了我的某个后门程序回连时的数据。

    这个是我的虚拟机IP和主机IP建立TCP连接抓的包:
    虚拟机ip是192.168.128.133
    主机ip是192.168.128.1

    这里显示了目的端口号是我的学号~:5232

    先进行了TCP的三次握手,之后再进行数据的传输,
    如下图带有PSH,ACK的包传送的便是执行相关操作指令时所传输的数据包:

    通过

    netstat -n
    

    看到5232端口已经打开,并且可以看到主机和虚拟机的ip地址:

    使用PE explorer

    我们使用PEexplorer打开我们的后门程序,界面如下:

    可以看到程序的一些数据:

    我觉得在pe这个软件比较偏向于程序内部的分析,而且更多的是静态的分析,没有动态的分析更为透彻,更为全面。

    实验后问题回答

    (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。

    可以通过查看网络连接、端口使用情况进行分析。

    还有本次实验中学到的隔一个固定时间运行一次控制台的netstat命令。

    通过sysmon监控几乎所有的重要操作,并在事件查看器中找到日志查看

    (2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。

    启动程序,利用systracer及wireshark动态分析程序的执行过程。

    还可以使用process explorer工具,查看该进程的网络连接情况,以及线程、执行等信息。

    实验总结与体会

    这次实验主要是需要学会看懂各个监控,分析工具中数据的代表意义,从而分析和判断恶意程序,实验本身不难,主要就是分析有难度,所以需要继续加强对恶意代码各种类的特点进行学习,从而能够更容易发现系统中所存在的一些异常行为,才能将理论运用在现实中嘛~哈哈

  • 相关阅读:
    c语言排序算法
    冒泡 选择排序
    冒泡排序算法
    Pandas数据预处理
    Mongodb的安装和配置
    Mysql练习题
    5 根据过去的行为能否预测当下
    Sklearn逻辑回归
    4 如何通过各种广告组合获取更多的用户
    Sklearn多元线性回归
  • 原文地址:https://www.cnblogs.com/lsqsjsj/p/8849529.html
Copyright © 2011-2022 走看看