zoukankan      html  css  js  c++  java
  • 2018-2019-2 20165205《网络对抗技术》Exp4 恶意代码分析

    2018-2019-2 20165205《网络对抗技术》Exp4 恶意代码分析

    实验要求

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

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

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

    基础问题

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

    1. 使用schtasks监视主机,然后统计可以的IP号和可疑的联网程序
    2. 或者使用Sysmon,编写配置文件,记录联网端口的操作
    3. 使用Process Monitor工具,主要监视注册表的变化

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

    1. 使用wireshark进行抓包获取这个进程的通信
    2. 使用PIED查看是否加壳
    3. 在Virus Total中对程序进行扫描
    4. 使用systracer进行分析,对比运行程序或进程前后发生的变化

    实验内容

    1. 系统运行监控(2分)

    1.1使用schtasks监控系统

    • 在本机中使用`schtasks /creat /TN /netstat5205 /sc MINUTE /MO 1 /TR"cmd /c netstat -bn > c: etstatlog.txt"创建计划任务netstat5205

      • TN 指定任务名称
      • sc 指定记录间隔时间,这里规定每隔一分钟记录一次
      • TR 指定运行命令
      • bn b指记录可执行文件名,n指记录端口和IP
      • > 输出到指定文件
    • C盘下创建netstat5205.bat脚本文件,写入以下内容

        date/t >> c:
      etstatlog.txt
        time/t >> c:
      etstatlog.txt
        netstat -bn >> c:
      etstatlog.txt
      
    • 在开始中搜索任务计划程序,找到我们刚刚创建的任务,双击,点击操作,修改,把“程序或脚本”改为netstat5205.bat,然后确定

    • 执行8个小时后进行统计,在excel表中统计所有的exe进程的联网动态


    • 修改统计范围

    • 可以看到

    • 其中360,wps,WeChat,vm,输入法,浏览器是我可以看懂的,其他

      • jucheck.exe是java软件的检测升级进程,
      • SCMiNi64.exe,这个我没有怎么查到,查到的只是说这个硬件的运行程序
      • SGTool.exe 搜狗输入法运行的进程之一
      • svchost.exe 是从动态链接库 (DLL)中运行的服务的通用主机进程名称。这个程序对系统的正常运行是非常重要

    1.2使用sysmon工具监控系统

    • 重点监控进程创建,网络连接和远程线程创建

    • 下载sysinternals

    • 命令行安装sysmon -accepteula -i -n

    • 创建配置文件Sysmon20165205.xml

        <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>
        	      <Image condition="end with">firefox.exe</Image>
        	      <SourcePort condition="is">137</SourcePort>
        	      <SourceIp condition="is">127.0.0.1</SourceIp>
        	      <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">firefox.exe</TargetImage>
        	      <TargetImage condition="end with">svchost.exe</TargetImage>
        	     <TargetImage condition="end with">winlogon.exe</TargetImage>
        	      <SourceImage condition="end with">powershell.exe</SourceImage>
        	    </CreateRemoteThread>
      
        	    <ProcessCreate onmatch="include">
        	     <Image condition="end with">chrome.exe</Image>
        	     <Image condition="end with">iexplorer.exe</Image>
        	     <Image condition="end with">firefox.exe</Image>
        	    </ProcessCreate>
      
        	    <FileCreateTime onmatch="exclude" >
        	      <Image condition="end with">firefox.exe</Image>   
        	    </FileCreateTime>
      
        	    <FileCreateTime onmatch="include" >
        	      <TargetFilename condition="end with">.tmp</TargetFilename>       
        	      <TargetFilename condition="end with">.exe</TargetFilename>  
        	    </FileCreateTime>
      
        	  </EventFiltering>
        	</Sysmon>
      
    • 重点监视80和443端口,和浏览器等联网应用

    • sysmon -c Sysmon20165205.xml完成配置

    • 打开exp3中的后门程序,可以看到捕捉到了后门程序和360的信息,还有未关闭的netatat:

    还有SearchFilterHost:是系统自带的搜索服务:

    dllhost这个程序与svhost有关,貌似也是系统程序之一:

    2. 恶意软件分析(1.5分)

    2.1使用Virus Total分析恶意软件

    • 对实验3中的恶意代码进行检测:
    • 在Details处可以看到基本属性:SHA-1、MD5摘要值、文件类型、文件大小

    2.2使用Process Monitor分析恶意软件

    • 捕捉到各个进程的详细信息

    2.3使用Process Explorer分析恶意软件

    • 运行后门程序,可以看到对后门程序的记录

    2.4使用PEiD分析恶意软件

    • 分别对加壳和未加壳的程序进行检测


    2.5使用systracer分析恶意软件

    • 安装SysTracer软件后,记录各个后门操作,进行对比

      • 未植入后门,记录Snapshot#1
      • 后门回连,记录Snapshot #2
      • 后门记录键盘,记录Snapshot #3
      • 后门查看文件,记录Snapshot #4
    • 比较 Snapshot#1和Snapshot #2

    可以看到新增文件、目录,甚至是密钥(还是口令,这里的Key我不太清楚值什么)

    在C:windowssystem32下新增许多dll文件

    • 比较 Snapshot#2和Snapshot #3

      攻击机读取目标机的键盘记录,这里可以看到新增文件与输入有关

    • 比较 Snapshot#3和Snapshot #4

      攻击机读取目标机的目录,这一点我是没看出来新增了的是什么意思。

    实验体会

    • 在实验中我花了大半天来监视电脑天天都在干什么,通过excle表的分析,最终发现本来自己认为网络通信不多的程序比如wps,其实在不知不觉中进行了许多网络通信。
    • 在分析中因为自己对各种文件的不熟悉,很多文件不知道的做什么的,只能一个一个查,有些百度出来的结果还不一样,搞得我都不知道这些程序是安全的还是伪装安全的了
    • 通过自己动手实践,在后门程序做了很多记录,发现一个后门程序,尤其的攻击方有操作时,后门程序会做很大的手脚,也难怪自己的后门会被360发现了
  • 相关阅读:
    基于风险集成 Risk-Based
    基于消息(事件)集成 Message-Based/Event-Based
    如何保证系统测试的完备性?
    1.1 功能测试(功能)
    问:给你一个网站,你如何测试?
    问:你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决?
    4.如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?
    什么是 JavaConfig?
    Spring Boot 有哪些优点?
    .Redis中的常用命令哪些?
  • 原文地址:https://www.cnblogs.com/mushroomissmart/p/10664437.html
Copyright © 2011-2022 走看看