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


实践内容概述

实践目标

  1. 监控你本身系统的运行状态,看有没有可疑的程序在运行。
  2. 是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽可能使用原生指令或sysinternals,systracer套件。
  3. 假定未来工做中你以为本身的主机有问题,就能够用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。

实践内容

  1. 系统运行监控
    1. 使用如计划任务,每隔一分钟记录本身的电脑有哪些程序在联网,链接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出全部连网的程序,连了哪里,大约干了什么(不抓包的状况下只能猜),你以为它这么干合适不。若是想进一步分析的,能够有针对性的抓包
    2. 安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控本身主机的重点事可疑行为。
  2. 恶意软件分析
    1. 分析该软件在(1)启动回连,(2)安装到目标机(3)及其余任意操做时。该后门软件
      • 读取、添加、删除了哪些注册表项
      • 读取、添加、删除了哪些文件
      • 链接了哪些外部IP,传输了什么数据(抓包分析)

实验问题回答

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

  1. 使用schtasks指令设置一个计划任务,每隔必定的时间对主机的联网记录等进行记录,分析记录。
  2. 使用sysmon工具,经过修改配置文件,记录相关的日志文件。
  3. 使用Process Explorer工具,监视进程执行状况。

(2)若是已经肯定是某个程序或进程有问题,你有什么工具能够进一步获得它的哪些信息。git

  1. 静态分析
    1. VirusTotal、VirusScan网页扫描
    2. PEID扫出文件壳
    3. Ollydbg,IDA反汇编
  2. 动态分析
    1. wireshark抓包分析
    2. systracer快照比较

实践过程记录

系统运行监控

使用schtacks指令监控系统运行

  1. 使用指令chrome

    schtasks /create /TN netstat20165211 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"

    建立任务netstat20165211,其中指令解释以下shell

    • TN是TaskName的缩写,咱们建立的计划任务名是netstat5318;
    • sc表示计时方式,咱们以分钟计时填MINUTE,该例中为每一分钟记录一次电脑状态;
    • TR=Task Run,要运行的指令是 netstat
    • bn,b表示显示可执行文件名,n表示以数字来显示IP和端口;
    • >表示输出重定向,将输出存放在C盘的netstatlog.txt文件中

    成功建立编程

附:在此过程当中,我出现了cmd显示无效参数的问题,以下浏览器

后来通过反复排查,才发现是TR以前少加了一个空格安全

查看结果网络

  1. 在C盘建立一个netstat5211.bat的文件,写入如下内容tcp

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

    打开任务计划程序打开netstat20165211 将此程序的程序或脚本改成咱们建立的netstat5211.bat

安全选项中勾选使用最高权限运行


让其自动运行一段时间,收集足够的数据以待分析

  1. 收集足够的数据后,将数据导入EXCEL进行,选择数据-->获取外部数据-->自文本,选择咱们的文件,文本导入向导配置以下

文本导入后,效果以下

  1. 选中B列,能够看到,这一列为所运行的程序,对这一列进行分析。选中后-->插入-->数据透视表-->数据透视图

    将数据透视表字段列表配置以下

  1. 获得分析图,查看

能够看到wps.exe是最高的,可是,我一直都没有运行wps,搜索以后,也发现了wps.exe文件,应该是这个文件一直在后台运行着。随后是chrome.exeVMware相关的服务,还有nimdnsResponder.exenidmsrv.exenimxs.exetagsrv.exe,查了一下,前三个为LabVIEW相关程序。LabVIEWNationalInstruments,Inc.出品的一种图形化的编程语言,用于快速建立灵活的、可升级的测试、测量和控制应用程序。但其链接的都是本地地址,应该不存在木马文件,后门文件的可能性。在图中还能够看到咱们的后门程序。

使用sysmon工具监控系统运行

  1. 编写对应的配置文件,这里编写的文件systom5211内容以下

    <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>

    语句含义

    • exclude至关于白名单,不包括,即不用记录。include至关于黑名单,即要记录的。
    • Image condition,映像条件,根据本身使用的浏览器更改。例如谷歌浏览器是“chrome.exe”,IE浏览器是“iexplore.exe”
    • 进程建立时间相似,也是不建立浏览器建立进程的时间。
    • 网络链接为过滤掉浏览器的网络链接、源IP为127.0.0.1的网络链接和目的端口为137的链接服务,且查看目的端口为80(http)和443(https)的网络链接。
      • 137端口的主要做用是在局域网中提供计算机的名字或 IP地址查询服务,通常安装了NetBIOS协议后,该端口会自动处于开放状态。
      • 127.0.0.1表示本机 IP。
    • 远程线程建立记录了目标为explorer.exesvchost.exewinlogon.exepowershell.exe 的远程线程。
      • explorer.exe是Windows程序管理器或者文件资源管理器
      • svchost.exe是一个属于微软Windows操做系统的系统程序,是从动态连接库 (DLL) 中运行的服务的通用主机进程名称。
      • winlogon.exe是Windows NT 用户登录程序,用于管理用户登陆和退出。
      • powershell.exe是专为系统管理员设计的新 Windows 命令行外壳程序。该外壳程序包括交互式提示和脚本环境,二者既能够独立使用也能够组合使用。
  2. 安装sysmon,下载解压

  3. 进入解压后的目录,在命令行输入sysmon.exe -i C:\sysmon5211.xml

    提示报错后,输入命令sysmon -accepteula -i -n成功安装

  1. 打开事件查看器,应用程序和服务日志/Microsoft/Windows/Sysmon/Operational按此路径查看按照配置文件的要求记录的新事件,以及事件ID、任务类别、详细信息

  2. kali端启动第二次实验生成的后门文件

咱们能够在事件查看器中看到后门文件的事件记录

同时,在查看事件时会找到大量的有关allhost.exe文件的记录

搜查资料后发现,dllhost.exe是微软Windows操做系统的一部分。dllhost.exe用于管理DLL应用,在任务管理器中能够找到,这个程序对是微软Windows系统的正常运行是很是重要的。

冲击波杀手借用了dllhost.exe做为进程名,可是因为Windows不容许同一个目录下有同名文件的存在,所以,冲击波杀手把病毒体“dllhost.exe”放到了C:\Windows\System32\Wins目录里面。

还能够找到咱们上一步自动运行的脚本的进程,在每分钟的整点就会有一串这样的进程


恶意软件分析

使用Virus Total分析恶意软件

一样仍是使用以前实验二,实验三的后门软件,选择一个Akashi_Shellcode_upx.exe,进行分析

查看细节,能够看到他的基本信息(文件类型,文件大小等等)

加壳状况

还能够看到,这个文件会发起与192.168.78.129的链接。

一样的分析网站还有virscan,在实验三中,在这两个网站已经测试了不少的实例

使用PEiD分析恶意软件

PEiD(PE Identifier)是一款著名的查壳工具,其功能强大,几乎能够侦测出全部的壳,其数量已超过470种PE文档的加壳类型和签名。

咱们测试一下未加壳,UPX压缩壳,和加密壳hyperion三种状况

未加壳

UPX压缩壳

加密壳hyperion(加密壳找不到壳呀…………)

使用Process Explorer分析恶意软件

在运行后门程序以后,咱们能够看到在软件页面出现了新的进程20165211_akahsi.exe

打开后能够查看进程的信息

使用Process Monitor分析恶意软件

经过对软件的使用,首先寻找大面积出现的20165211_akashi.exe进程,找到以后,向前推,便可找到Explore.EXE对运行20165211_akashi.exe的操做。

随便可以看到20165211_akashi.exe的进程情况

使用systracer分析恶意软件

  • 在靶机安装SysTracer软件

  • 保存快照,命名为Snapshot #1

  • 将后门软件植入靶机,对靶机注册表、文件等进行快照,保存为Snapshot #2

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

  • 在kali中对靶机进行获取摄像头操做,win7下再次快照,保存为Snapshot #4

分析,经过compare键,进行比较分析。

快照一和快照二

能够看到,增长了个人后门文件20165211_akahsi.exe,同时在这个过程当中增长,删除了exe文件和dll文件

快照二和快照三

能够看到,多了一个Apache HTTP Server 进程,指向的文件是咱们的后门文件,这个进程新建了不少目录,文件,键值

同时相比快照二,也删除更新了不少的文件

快照三和快照四

咱们能够看到最明显的是,在注册表中多了不少对于摄像头的操做

使用wireshark分析恶意软件

主要分析了20165211_akashi.exe,已知ip为192.128.0.106,便可设过滤条件为ip.addr==192.168.0.106,查看结果为

咱们能够看到,有不少靶机和主机之间的tcp链接数据包,其中PSH,ACK包有数据进行传输


实验总结与体会

本次实验作的时候,正值清明假期,回家的时候,把本身的虚拟机文件拷硬盘带回去,结果用别人的电脑作的时候就各类不习惯,实验作了好久,崩溃。

此次实验,重要让咱们知道了恶意软件的进程特色,也给咱们提供了不少分析恶意软件的工具,好比SysTracer,Process Explorer等等,在作实验的过程当中也确实遇到了不少的问题。在不少时候,软件出来结果时,更是如同大海捞针,须要本身足够了解进程的正常状态,软件的正确使用方式才能更高效的作完。

作完实验了,该去删电脑上的后门程序了……

相关文章
相关标签/搜索