20155308《网络对抗》Exp4 恶意代码分析

20155308《网络对抗》Exp4 恶意代码分析

实践说明

实践目标

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

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

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

基础问题回答

  1. 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
  • 使用Windows自带的schtasks指令设置一个计划任务,指定每隔一定时间记录主机的联网记录或者是端口开放、注册表信息等等;
  • 通过sysmon工具,配置好想记录事件的文件,之后在事件查看器里找到相关日志文件便可以查看;
  • 使用Process Explorer工具,监视进程执行情况,查看是否有程序调用了异常的dll库之类的。
  1. 如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
  • 使用Wireshark软件进行抓包分析,查看该程序联网时进行了哪些操作;
  • 使用systracer工具分析某个程序执行前后,计算机注册表、文件、端口的一些变化情况。

实践过程

1.使用schtasks指令监控系统

  • 先在C盘目录下建立一个netstatlog.bat文件,用来将记录的联网结果格式化输出到netstatlog.txt文件中,netstatlog.bat内容为:
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt

(可先创建txt文本文件,使用记事本写入后通过修改文件名来修改文件格式)

  • 使用schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "c:\netstatlog.bat"命令创建计划任务netstatlog

  • 打开任务计划程序,可以看到我们新创建的这个任务

  • 双击这个任务,点击操作并编辑,将“程序或脚本”改为我们创建的netstatlog.bat批处理文件

  • 运行之后出现这个问题:

  • 原因是我的权限不够高。解决方法是:将“使用最高权限运行”打上勾。

  • 等几分钟后在“netstatlog.txt”文件中有联网记录

2.使用sysmon工具监控系统

  • sysmon微软Sysinternals套件中的一个工具,可以从码云项目的附件里进行下载,要使sysmon
    工具先要配置文件,我直接用的是老师给的配置文件

  • 创建配置文件Sysmon20155308.xml。

  • 使用Sysmon.exe -i C:\Sysmon20155308.xml安装sysmon。

  • 对配置文件进行修改,将自己感兴趣的过滤器事件和过滤器事件的选项写入。
<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>
  <SourcePort condition="is">137</SourcePort>
</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.exe -c C:\Sysmon20155308.xml,将sysmon按照修改好的配置文件进行更新。

  • 启动之后,便可以到事件查看器里查看相应的日志


这个是我进行360安装所创建的。

3.使用systracer工具分析恶意软件

  • 下载安装Systracer。
  • 在打开后门前先快照一下,点击“take snapshot”:

  • Kali打开msfconsole,完成相关设置后开始监听,Windows运行后门后,拍摄快照


  • 进行分析:点击Applications->Running Processes->找到后门进程->点击“Opened Ports”查看回连地址、远程地址和端口号:

  • 在快照界面“Snapshots”右下角点击“Compare”,比对一下回连前后计算机发生的变化

  • 对注册表中hkey_local_machine根键的System子键进行了修改

  • 可以看到它启用了很多dll文件

4.使用virscan分析恶意软件

  • 在virscan网站上查看上次实验所做的后门软件的文件行为分析:



5.使用PEiD分析恶意软件

  • 取一个上次实验生成的,没有加壳的木马,其检测结果如下

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

6.使用Process Monitor分析恶意软件

  • Process Monitor一款系统进程监视软件,总体来说,Process Monitor相当于Filemon+Regmon,其中的Filemon专门用来监视系统 中的任何文件操作过程,而Regmon用来监视注册表的读写操作过程。 有了Process Monitor,使用者就可以对系统中的任何文件和 注册表操作同时进行监视和记录,通过注册表和文件读写的变化, 对于帮助诊断系统故障或是发现恶意软件、病毒或木马来说,非常 有用。 这是一个高级的 Windows 系统和应用程序监视工具,由优秀的 Sysinternals 开发,并且目前已并入微软旗下,可靠性自不用说。

  • 打开软件,可以看出其对各个进程的详细记录:

实验总结与体会

通过本次实验,我学会运用一些软件对恶意代码进行监测和分析,虽然这种检测的方法比较简单,而且不一定适用于我们生活中的大部分的后门程序,但是我们可以通过对这些软件的应用,进行学习,打下基础,对以后我们检测后面程序、加强自己电脑的保护有一定的作用。

posted @ 2018-04-17 12:48  郝文菲20155308  阅读(162)  评论(0编辑  收藏  举报