20164322韩玉婷 -----EXP4 恶意代码分析

1.实践目标

 1.1是监控你本身系统的运行状态,看有没有可疑的程序在运行。linux

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

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

 


 

2.实践内容

 2.1系统运行监控(2分)chrome

     2.1.1 使用schtasks指令监控系统shell

     2.1.2使用sysmon工具监控系统windows

 

  2.2系统运行监控网络

     2.2.1 恶意软件分析—— Virus Total网站ide

     2.2.2 恶意软件分析—— Process Monitot工具

     2.2.3 恶意软件分析—— Process Expiorer性能

     2.2.4 恶意软件分析—— systracer

     2.2.5 恶意软件分析—— FEiD

 


 

3.实践总结与基本问题

     3.1 实验总结

     3.2 基本问题


 

 2.1.1 使用schtasks指令监控系统

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

  • TN:Task Name,本例中是netstat
  • SC: SChedule type,本例中是MINUTE,以分钟来计时
  • MO: MOdifier
  • TR: Task Run,要运行的指令是 netstat
  • -bn,b表示显示可执行文件名,n表示以数字来显示IP和端口

  使用 schtasks /create /TN netstat4322 /sc MINUTE /MO 1/TR "cmd /c netstat -bn > c:\netstatlog.txt "命令建立计划任务 netstat4322 ,以下图所示:

 

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

  在其中写入如下内容:

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

  打开任务计划程序,能够看到咱们新建立的这个任务:

 

  双击这个任务,点击操做并编辑,将“程序或脚本”改成咱们建立的netstat4322.bat批处理文件,另外,要删除添加参数里面的内容,而后肯定便可。

注意:任务还有其余属性,点击“条件”选项卡,能够更改相关的设置。好比默认操做为“只有在计算机使用交流电源时才启动此任务”,那么使用电池电源时就会中止任务。这点须要格外注意,若是没有修改默认操做,任务不管如何都没法执行可能只是由于拔掉了电源。

 

 

   执行此脚本必定时间,就能够在netstate4322.txt文件中查看到本机在该时间段内的联网记录:

 

当记录的数据足够丰富时,中止任务,将所得数据在excel中进行分析:

 

将每一个应用的联网状况作成树状图,更加清晰直观:

 

首先咱们能够看到TCP是最多的,其次是“wps.exe”和“kxes core.exe”。一个是wps软件云端的一个服务的进程,另外一个kxescore.exe是金山毒霸的密保用户的进程。注册了金山密保以后就会呈现的。

 

 


 

 

2.1.2使用sysmon工具监控系统

  参考:schtask与sysmon应用指导

  安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控本身主机的重点事可疑行为。

  肯定监控对象

      选择的是进程建立ProcessCreate、进程建立时间FileCreatTime、网络链接NetworkConnect、远程线程建立CreateRemoteThread。

  写配置文件

      写与本身想要监控的事件相对应的配置文件。编写好的Sysmon4322.xml.txt内容以下:(配置文件是xml文件,为了简单编辑就直接命令为.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

  • 下载sysmon,解压。

  • 安装sysmon:以管理员身份执行命令

    sysmon.exe -i C:\sysmon4322.sml.txt

 会提示出错,输入命令 sysmon -accepteula -i -n ;

 

在事件查看器里查看日志

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

 

利用Sysmon具体分析日志

    这里我从新生成了一个后门程序hi.exe进行分析;

    咱们能够看到按照配置文件的要求记录的新事件,以及事件ID、任务类别、详细信息等等。 

 

打开kali,运行木马文件,使其回连kali攻击机。查看日志,经过搜索关键字能够找到相关的后门文件:

 

打开这个事件,查看详细信息,能够看到这个后门映像文件的具体位置、源IP和端口、目的IP和端口等。

 

 

 


 

 2.2恶意软件分析

       2.2.1  恶意软件分析—— Virus Total网站

       

       在66个杀软中,有49个报毒,可疑行至关高了。

   

 查看这个恶意代码的基本属性:

 

能够看出它的SHA-一、MD5摘要值、文件类型、文件大小,以及TRiD文件类型识别结果。(注:TRiD经过读取文件头,根据特征码进行文件类型匹配。

 

还有该恶意代码的算法库支持状况:

 

 

  2.2.2 恶意软件分析—— Process Monitor

 

      Process Monitor 是一款由 Sysinternals 公司开发的包含强大的监视和过滤功能的高级 Windows 监视工具,可实时显示文件系统、注册表、进程/线程的活动。

      打开软件,能够看到各个进程的详细记录,下图是个人后门进程:

(经过find来找到本身的后面)

  2.2.3  恶意软件分析——  Process Explorer

 Process Explorer是由Sysinternals开发的Windows系统和应用程序监视工具,目前已并入微软旗下。不只结合了Filemon(文件监视器)和Regmon(注册表监视器)两个工具的功能,还增长了多项重要的加强功能。包括稳定性和性能改进、强大的过滤选项、修正的进程树对话框(增长了进程存活时间图表)、可根据点击位置变换的右击菜单过滤条目、集成带源代码存储的堆栈跟踪对话框、更快的堆栈跟踪、可在 64位 Windows 上加载 32位 日志文件的能力、监视映像(DLL和内核模式驱动程序)加载、系统引导时记录全部操做等。

 

  靶机运行木马,咱们能够看到Process Explorer对其进行的记录:

 

 2.2.4  恶意软件分析—— systracer

  • 基本步骤以下:
    • 安装SysTracer软件
    • 保存快照,命名为Snapshot #
    • 将木马植入靶机,对靶机注册表、文件等进行快照,保存为Snapshot #2
    • 打开kali的msfconsle,靶机运行木马,回连kali,win7下再次快照,保存为Snapshot #3
    • 在kali中对靶机进行屏幕截图,win7下再次快照,保存为Snapshot #4
    • 在kali中对靶机进行提权操做,win7下再次快照,保存为Snapshot #

 

 

  点击右下角“Compare”,比较五个快照的不一样之处。

    比较快照4和快照5,能够看到进程的运行位置、本机地址、靶机地址及端口号

 

  比较快照2和快照3,增长了dll库。

 

比较快照2和快照3,咱们还能够看到新增的后门进程,并且能够详细看到其的目的IP和端口号、源IP和端口号以及链接的协议:

 

除上图所示,还有一些Systracer未受权的地方咱们是无法查看的。以下图:

 

 

 2.2.5  恶意软件分析——  PEiD

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

先看一下没有加壳的后门程序

 如上图所示:Nothing found  

 

使用UPX加壳后,PEiD成功检测出了加壳的相关信息:

 

 


 

 

3.实践总结与基本问题

     3.1 实验总结

本次实验的内容十分丰富,可是我以为有点难,恶意代码的分析让我很头疼,好多东西不认识,只能看懂一些比较简单的信息,本身的英语水平有待提升。。。。实验中我学习到了新的指令和软件,例如SysTracer、ProceMonitor等。这些工具都能很好地辅助咱们对主机进行监控,以发现恶意行为并进行及时处理。发现网络攻防是一门颇有趣的课程。

     3.2 基本问题

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

使用windows自带的schtasks指令设置一个计划任务,每隔必定的时间对主机的联网记录等进行记录。

使用sysmon工具,经过修改配置文件,记录相关的日志文件。

使用Process Explorer工具,监视进程执行状况。

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

使用Wireshark进行抓包分析,监视其与主机进行的通讯过程。

使用systracer工具分析恶意软件。

相关文章
相关标签/搜索