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

    实验内容:

    系统运行监控(2分)
    使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。
    安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
    
    参考:schtask与sysmon应用指导
    
    实际日志的分析还需要发挥下自己的创造力,结合以前学过的知识如linux的文本处理指令等进行。分析的难点在于从大量数据中理出规律、找出问题。这都依赖对结果过滤、统计、分类等进一步处理,这就得大家会什么用什么了。
    恶意软件分析(1.5分)
    分析该软件在(1)启动回连(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。
    该后门软件
    读取、添加、删除了哪些注册表项
    读取、添加、删除了哪些文件
    连接了哪些外部IP,传输了什么数据(抓包分析)
    报告评分(1分)

    基础问题回答:

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

    • 使用Windows自带的schtasks指令设置一个计划任务,指定每隔一定时间记录主机的联网记录或者是端口开放、注册表信息等;
    • 通过sysmon工具,配置好想记录事件的文件,之后在事件查看器里找到相关日志文件查看;
    • 使用任务管理器->进程,监视进程执行情况,查看是否有可疑程序运行。

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

    • Systracer分析注册表差异、文件、运行进程等的不同;
    • virscan集合各种杀软,对指定文件进行分析定性。
    • Threatbook也就是老师上课所说的沙箱的一种,感觉比virscan检测出的信息更多些,而且还是网页版的很方便。

    实验步骤:

    1、使用schtasks指令监控系统

    • 通过schtasks /create /TN 20165328netstat /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c: etstatlog.txt"命令,创建计划任务20165328netstat,如下图所示:

    • 在C盘中创建一个netstatlog.bat脚本文件(可先创建txt文本文件,使用记事本写入后通过修改文件名来修改文件格式):

    • 在其中写入以下内容:
    date /t >> c:
    etstat5328.txt
    time /t >> c:
    etstat5328.txt
    netstat -bn >> c:
    etstat5328.txt
    • 在"开始"中,打开任务计划程序,可以看到创建的任务20165328netstat:

    • 双击打开这个任务,点击"操作",再进行编辑:

    • 将"程序或脚本"内容改为刚才创建好的netstatlog.bat批处理文件。点击"确定":

    • 在执行此批处理文件一段时间后,打开netstatlog.txt进行查看,发现已经记录了一段时间的联网记录:

    • 记录此时已足够进行分析,将这些数据导入Excel中,导入方法见学长博客

    可以看出TCP连接最多,WPS次之,其余的联网次数都差不多

    2、使用sysmon工具

    • 首先创建配置文件20165328Sysmoncfig.txt,文件中包含指令(使用老师给的代码)如下:
    <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 -accepteula -i -n;继续安装:

    在事件查看器里查看日志

    • 图标“计算机”右键,点击打开“管理”。点击左侧“系统工具”->“事件查看器”->应用程序和服务日志/Microsoft/Windows/Sysmon/Operational:

    利用Sysmon具体分析日志

    • 这里选择了实验二中生成的后门djw_upxd.exe进行分析:

    3、恶意软件分析:

    静态分析
    
    文件扫描(VirusTotal、VirusScan工具等)
    文件格式识别(peid、file、FileAnalyzer工具等)
    字符串提取(Strings工具等)
    反汇编(GDB、IDAPro、VC工具等)
    反编译(REC、DCC、JAD工具等)
    逻辑结构分析(Ollydbg、IDAPro工具等)
    加壳脱壳(UPX、VMUnPacker工具等)

    我主要选取以下几种方法和工具来进行分析

    (1) 文件扫描(VirScan工具)

    • 使用在线Virus Total工具对上次实验中生成的djw_upxed.exe文件进行扫描,有(33/72)个软件发现病毒:

    • 将后门程序放到VirusTotal中进行分析,并得到SHA-1、MD5摘要值、文件类型、大小、TRiD文件类型识别结果和算法库支持情况:

    (2)文件格式识别(peid工具):

    • 下载Peid工具,对上次实验中用Veil生成的加壳的后门程序进行查壳:

    • 未加壳:

    • 加壳:

    (3)、使用Process Monitor分析恶意软件

    • 双击打开可执行文件,可以看到各个进程的详细信息,如下图所示:

    (4)、使用Process Explorer分析恶意软件

    (5)、使用systracer分析恶意软件

    • 先在win7虚拟机安装SysTracer软件。

    • 基本步骤如下:

      • 打开未植入后门的win7虚拟机保存快照,命名为Snapshot #1

      • 将木马植入win7,对win7注册表、文件等进行快照,保存为Snapshot #2

      • 打开kali的msfconsle,win7运行木马,回连kali,win7下再次快照,保存为Snapshot #3

      • 在kali中对靶机进行查看文件操作ls,win7下再次快照,保存为Snapshot #4

      • 在kali中对靶机进行屏幕截图操作,win7下再次快照,保存为Snapshot #5

    实验总结与体会:

    • 通过这次的实验,我对电脑中的联网活动有了更多的了解,掌握了能够检测出自己电脑是否被人攻击的一些方法。通过一些软件使用静态与动态检测的方法来追踪、分析,能检测出许多杀毒软件所没能查找出来的问题,总而言之,就是杀毒软件真的不靠谱,枉我以前还这么信任它······

     

  • 相关阅读:
    nginx配置ssl验证
    腾讯云服务器、nginx部署loopback
    mongo删除指定字段,可多个字段同时删除
    前端axios下载excel无法获取header所有字段问题
    本机是wifi,虚拟机无法连接外网问题
    import文件时 ~/ 不识别问题(react)
    监听F5刷新,添加路由前缀
    Django学习笔记(13)model_to_dict 的使用
    Django学习笔记(12)基于前后端分离模式-添加用例接口实现
    Django学习笔记(11)url管理之include
  • 原文地址:https://www.cnblogs.com/dky20165328/p/10666500.html
Copyright © 2011-2022 走看看