• 2018-2019 20165237网络对抗 Exp4 恶意代码分析


    2018-2019 20165237网络对抗 Exp4 恶意代码分析


    实验目标

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

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

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


    Exp 4.1

    一、系统运行监控——计划任务

    • 创建计划任务,使系统每1分钟自动检测到有哪些程序在连接我们的网络。

    • TN:Task Name,本例中是netstat

    • SC: SChedule type,本例中是MINUTE,以分钟来计时

    • MO: MOdifier

    • TR: Task Run,要运行的指令是 netstat

    • -bn,b表示显示可执行文件名,n表示以数字来显示IP和端口

    C:schtasks /create /TN netstat5237 /sc MINUTE /MO 1/TR "cmd /c netstat -bn > c:
    etstatlog.txt"
    

    • 因为C盘无法直接创建文件的原因,我就在桌面先创建了txt文件,随后再复制到C盘中。

    在netstatlog.txt中输入以下内容:

    date /t >> c:
    etstatlog.txt
    time /t >> c:
    etstatlog.txt
    netstat -bn >> c:
    etstatlog.txt
    
    • 任务计划程序->netstat5237->属性->操作(一定要将常规中使用最高权限运行勾上!),接着如下设置:

    • 大约过了很久,打开C盘中的netstat5237.txt,会发现文件中多了成千上万行字:

    • 将netstat5237.txt导入WPS的数据表格中,和Excel的步骤一样,数据->导入数据->选择数据源,接着设置如下:



    • 大功告成,数据导入成功:

    • 首先查看所有联网程序的联网次数,选中我们要分析的列,
      点击上方“插入”->“数据透视图”
      默认选择在一个新工作表中生成

    • 在右侧“选择要添加到报表的字段”中点击对应字段右侧的小箭头->取消选择那些没有意义的字段,然后点击“确定”,并将该字段拖动到下方的“轴字段”和“数值”两个区域中

    • 然后就可以看到我们的统计图进行分析

    • 可以看到,第一多的是TCP,其次是qbclient.exe和wps.exe,qbclient是我所用的游戏加速器(其实我是忘记关了。。。),另外一个是wps软件,我想可能我的电脑目前是安全的吧。

    二、系统运行监控——利用Sysmon

    • 写配置文件20165237monconfig.exe,并老办法放到C盘中
    <Sysmon schemaversion="3.10">
      <!-- Capture all hashes -->
      <HashAlgorithms>*</HashAlgorithms>
      <EventFiltering>
        <!-- Log all drivers except if the signature -->
        <!-- contains Microsoft or Windows -->
        <ProcessCreate onmatch="exclude">     
          <Image condition="end with">chrome.exe</Image> 
        </ProcessCreate>
    
        <FileCreateTime onmatch="exclude" >
          <Image condition="end with">chrome.exe</Image>
        </FileCreateTime>
        
        <NetworkConnect onmatch="exclude">
          <Image condition="end with">chrome.exe</Image>
          <SourcePort condition="is">137</SourcePort>
          <SourceIp condition="is">127.0.0.1</SourceIp>
        </NetworkConnect>
        <NetworkConnect onmatch="include">     
          <DestinationPort condition="is">80</DestinationPort>      
          <DestinationPort condition="is">443</DestinationPort>    
        </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:以管理员身份执行命令sysmon.exe -i C:20165237monconfig.txt

    • 成功启动:

    • 在事件查看器里查看日志;“事件查看器”->应用程序和服务日志/Microsoft/Windows/Sysmon/Operational

    • 这里我选择了自己实验二中生成的后门20165237.exe进行分析,进行回连:

    • 使用getpid指令找到进程号11812

    • 在事件查看器中通过进程号找到这个进程


    Exp 4.2

    一、恶意软件分析-viru totals

    • 在viru totals网站上查看上次实验检查所做的后门程序。结果(包括MD5 SHA-1 Hash的值)如下:

    二、恶意软件分析——Systracer

    • 下载安装Systracer->
      下载完成->运行->agree->选第二个->设置监听端口号->安装完成:

    • 我主要进行2次快照,一次是回连前,一次是回连并执行dir命令:


    • 点击上方“Applications”->左侧“Running Processes”->找到后门进程“20165237.exe”->点击“Opened Ports”查看回连地址、远程地址和端口号:

    • 在快照界面“Snapshots”右下角点击“Compare”,比对一下回连前后计算机发生的变化,这里可以选择only difference:

    三、Wireshark进行抓包分析:

    • 选择对VMnet8网络捕捉。在回连之前,开始捕获;回连完成后结束捕获,并把过滤规则设置为ip.addr == 192.168.153.135:

    不难看出,这里回连时使用的是TCP三次握手,接下来的数据传输也是通过TCP协议来完成。


    实验中遇到的问题及解决方法

    • 实话实说,这次的实验第一步就把我困住了。我的netstat。txt只有时间和日期,却没有网络内容。我尝试了很多办法(管理员权限启动CMD.EXE,换个盘存放20165237.bat,改配置内容),最后还是要感谢陈厚康同学帮我解决这个难题将事件属性的常规中勾上最高权限运行(看看回收站就知道了。。哎)。


    实验感想和问题

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

      答:可以设置用schtasks设置计划任务,让它每天定时检测并输出网络通话的数据,再通过分析使用量和内容来判断是否有恶意代码。

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

      答:通过viru totals扫描内容,再用杀毒软件对其分析。

    • 感想:这次实验难度不大,但是需要注意的细节很多,通过网络抓包来分析电脑中的恶意软件或恶意程序,监控、发现恶意攻击,也复习了抓包软件的使用。(其实在第一步就卡住了很长时间的我,早就已经崩溃了。。。)


  • 相关阅读:
    .net core使用EasyNetQ做EventBus
    .NET Core DI 手动获取注入对象
    设置Jexus开机启动
    centos7开放关闭防火墙端口
    linux防火墙开放端口
    转 Jexus-5.6.3使用详解
    Mysql存储过程
    Reids笔记
    Lucene笔记
    Spring Junit 测试用例
  • 原文地址:https://www.cnblogs.com/Miss-moon/p/10661446.html
Copyright © 2020-2023  润新知