• 实验四 系统监测和恶意代码分析 20155104 赵文昊


    实验四 系统监控与恶意代码分析

    实验原理与要求

    这次试验主要做系统监控,利用netstat监控网络状态,使用sysmon软件生成日志文件,都能达到监控的目的。
    恶意代码分析主要根据systracer和wireshark进行行为跟踪,分析代码的功能和目的,推断出病毒的行为类型和目的。还可以依靠virustotal等网站帮助检测软件行为!

    实验步骤

    netstat实现网络监控

    netstat是一款多平台通用的网络监控指令,在Windows下直接打开命令提示符,敲入netstat命令后就可以实现网络监控,个人感觉有点像抓包的那些软件,我觉得这个实验开一天的抓包也不是不行。。。如果可以的话-_-||
    这个是命令运行后的效果。

    如果感觉哪里不对劲的话,大概是目标看不大明白,这个时候使用netstat -n就可以转化为查看IP地址,是不是一目了然?

    接下来修改一下我们的计划任务,可以自动收集好……长时间的网络连接动态信息。
    首先创建一个文件c: etstatlog.bat,然后在文件内写入以下信息:

    date /t >> c: etstatlog.txt
    time /t >> c: etstatlog.txt
    netstat -bn >> c: etstatlog.txt

    emmmmm.......然后打开管理员模式的命令提示符(亲测Windows Powershell管理员也是可以的,右键点击开始键就可以看到了),输入命令

    cmd /c netstat -bn > c: etstatlog.txt

    这样,电脑的每五分钟计划任务就会被替换为上面文件内容的任务,大概就是将时间日期和netstat命令得到的信息都添加在c: etstatlog.txt文件里面,这样,文件里面的东西就很整齐了。看一下效果:

    这个可以放在Excel文件里面统计数据!
    Windows10 的电脑可以很轻松地放到控制面板->计划任务中去,还可以很自由地设置触发器规则,不用担心停不下来的问题!

    直到现在都是在我的主机下面做的,完全没考虑那么多,所以我只想先把计划任务关掉!不多说了我去开我的虚拟机去了……

    sysmon实现日志监控

    这个软件并不是Windows的自带软件,所以命令行中不管怎么敲都是没有用滴!可以的话从Microsoft官网上下载一个(度娘搜索sysmon就可以看到!),我个人觉得用起来不是很舒服,所以最后还是选择下载了老师提供的3.10版本。
    首先编写一个设置文件,用来设置sysmon监视的内容,语法与XML文件很相似,但是首次接触的人们学习起来还是有一些困难的,不得不编写比较多的次数才能做到不出错。。。做这个实验的大部分时间就是花在这里了。
    就是这样!(烦死了,吐槽一下老师应该不会看见)

    最终文件内容如下:

    <Sysmon schemaversion="3.10">  
     <EventFiltering>  
        <DriverLoad onmatch="exclude">  
          <Signature condition="contains">Microsoft</Signature>  
          <Signature condition="contains">Windows</Signature>  
        </DriverLoad>  
        <NetworkConnect onmatch="include">  
          <DestinationPort>443</DestinationPort>  
          <DestinationPort>80</DestinationPort >  
        </NetworkConnect>  
        <FileCreateTime onmatch="exclude" >  
          <Image condition="end with">MicrosoftEdge.exe</Image>  
        </FileCreateTime>  
        <NetworkConnect onmatch="exclude">  
          <Image condition="end with">MicrosoftEdge.exe</Image>  
          <SourcePort condition="is">137</SourcePort>  
          <SourcePortName condition="is">llmnr</SourcePortName>  
          <DestinationPortName condition="is">llmnr</DestinationPortName>  
        </NetworkConnect>  
      </EventFiltering>  
    </Sysmon>
    

    这就是我花了好大劲设计出来的监视设置,这个语法掌握还需要很长时间,在过程中经常会出现“含有无法辨认的字符”以及某个标签内不能含有文本之类的错误提示,大多是不小心才会犯下的错误。
    通过之后大概是这样的效果(细节,这里要用管理员权限运行,如果不用管理员权限肯定是不行的,但是在检查配置文件错误的时候并不影响):

    然后去事件与日志查看器中去看一下我们抓到的日志!看看有没有什么不是很正常的地方?我的好像是没有吧……

    开启我们在实验三中制作的后门,然后观察我们的日志文件,看看,观察到了一点点猫腻呢!

    每次查看日志,只需要在事件与日志查看器,按照以下路径打开文件夹(Applications and Services Logs/Microsoft/Windows/Sysmon/Operational),找到最后的文件,就可以查看到sysmon监视的日至事件。

    systracer进行恶意代码分析

    这个环节需要用到一个软件叫做SYSTracer,在这里可以用来对比两个时间点的计算机状态发生了什么变化。
    原理上就是先在正常状态下拍摄一个系统快照(跟虚拟机那个快照很像),然后再对比一下病毒开启状态下的系统快照有什么不一样的地方,控制变量法分析恶意代码。如果你的电脑本来就有病毒,辣么你就可以直接研究啦!(开个玩笑-_-||)

    两个快照拍下来啦!第一个是我在正常状态下的快照,然后运行后门程序,在进程还存在的时候再拍一个快照!(为了保证这段实验的效果,推荐关掉一些比较活跃的进程,不然会干扰判断)

    这是对比两个快照的详细信息,其中可以看出来我的后台还在运行着搜狗拼音输入法和Cortana(微软小娜)两个程序,还有我的后门程序加入了进程,还有很多我看不太懂的东西…………希望老师满足在下的好奇心!(老师看这里看这里 ( ^ o ^)/~)

    Wireshark抓包观察恶意代码的网络使用状况

    Wireshark是一款网络分析时常用的网络监听软件,这个软件会把网卡调整到混杂模式,在这个模式下网卡会接收所有它能听到的数据包,软件就会将这些数据包统统监听下来,进行一些简单分析。
    这个实验中我们还是先关掉一些网络活跃的进程,或者好好设置一下抓包规则,这样方便我们观察网络情况。我们还是观察后门程序的网络情况。

    可以很舒服地看到我的受感染机(192.168.43.16)发起反弹连接,连接到控制端(Linux192.168.43.74)ARP协议内容可以看得出来哟!

    这里我觉得大概就是传送命令的地方(直觉,我觉得是这里)因为这里不一样了。

    实验感想

    由于这个计划任务搞得有点晚(之前代码敲错了一直在覆盖原文件而不是追加在文件尾,收集的数据并不多),还没能做到数据统计,会补上这一条。
    由于我们的计算机操作系统非常复杂,在查看两个快照对比的时候,还是有很多阅读困难的,不能很敏锐地观察到恶意代码的存在,如果这不是自己写的代码,或许我们还不能从sysTracer中发现病毒的踪迹,这一点看得出来我们还有很多需要学习的地方。
    这次试验的实用性还是很高的,也增强了我们的保护意识和计算机防御能力,提供了除依赖杀毒软件以外的防御方式。

  • 相关阅读:
    破局人工智能:构建AI,与腾讯云一起探索语音应用场景
    破局人工智能:构建AI,与腾讯云一起探索语音应用场景
    浅谈 Objective-C Associated Objects
    一个封装了的选项卡效果js
    getElementById 用法的一个技巧
    用 Javascript 实现的“Dual listbox”(双向选择器)
    Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
    我为什么坚持写博客?
    内存模型
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
  • 原文地址:https://www.cnblogs.com/Qujinkongyuyin/p/8811281.html
Copyright © 2020-2023  润新知