Exp4 恶意代码分析 20155223

Exp4 恶意代码分析 20155223

使用原生命令schtasks监视系统运行

  • 在系统盘目录下建立脚本文件netstatlog.bat,包含以下命令:
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt
  • 在netstatlog.bat同一目录下建立空文本文件netstatlog.txt,用来接收系统运行信息。

  • 进入Windows系统下的计划任务程序,新建立一个任务,刚才的脚本文件为操作,给予该任务 最高权限

  • 运行计划任务。

  • 运行一个小时之后,删除该计划任务,查看netstatlog.txt。

我似乎不应该在计划任务运行时开这么多的网页。

学习使用Sysmon

  • 下载最新版本的Sysmon并安装。
  • 在Sysmon.exe同目录下建立文件test.txt,文件内容包括以下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>
  <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 -i test.txt安装,使用命令行Sysmon.exe -c test.txt配置。

  • 使用win+R,输入 eventvwr 打开事件查看器。

  • 事件1(进程创建):

  • 事件2(事件更改):

  • 事件3(连接记录):

玩玩TCPView

TCPView可以监控当前系统所有进程的状态,后门进程在TCPView之下难以隐藏。

我忘记关Sysmon了!

抓包分析

  • 启动Wireshark。

  • 按照前两次实验在虚拟机Kali启动监听。

  • 搜索攻击机的IP:192.168.129.133以寻找后门开启的数据包.

这一部分我很好奇,明明后门已经连接好了,怎么会还有那么多的“三次握手”过程?
我可以肯定的是,那一段时间我已经是在通过后门查看本机的文件了。那么有没有可能是后门正在使用TCP“三次握手”的特点来传输数据给攻击机?有意思,伪装得挺好。

systracer工具

  • 下载。这工具在网上一百度就可以得到。
  • 启动。
  • 建立三个快照,每个快照都只扫描C盘。
    • 第一个快照只是扫描C盘的正常运转情况。
    • 第二个快照是C盘后门已开启(并没有使用后门)的情况。
    • 第三个快照是C盘后门以开启并被使用的情况。
  • 对比结果:

没看到多少实质性信息。

PEiD工具

PEiD工具可以用来检测是否存在加壳程序。
未加壳的后门:

已加壳的后门:

连加壳用的程序版本都可以看到。

实验后问题

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

首先用systracer进行广泛的监视,当发现可疑进程后,再调用sysmon更详细的监控。

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

原生命令stchtasks、wireshark、TCPView可以监视可疑进程,并可以获取可疑进程的网络连接信息、对其他进程的影响、可疑进程的运行信息。

感想

说是恶意代码分析,实际上并不是对恶意代码本体的分析,而是对其行为的分析。要想真的找到并消灭恶意代码,只靠观察其特征码还不够。只观察特征码容易引起误伤,当然只看代码行为也会引起误伤。都看,误伤率就大大降低。
不过,我还是认为引入人工智障智能来监视可疑进程会更好。

posted @ 2018-04-14 11:40  陆基神盾  阅读(178)  评论(0编辑  收藏  举报