20155216 Exp4 恶意代码分析

20155216 Exp4 恶意代码分析

实践内容

使用schtasks指令监控系统运行

先在C盘目录下建立一个netstatlog.bat文件和netstatlog.txt文件,将记录的联网结果格式化输出到netstatlog.txt文件中,netstatlog.bat内容为:

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

打开Dos命令行,输入指令 schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "c: etstatlog.bat" 创建一个每隔两分钟记录计算机联网情况的任务:

之后查看一下netstatlog.txt文件:

显示结果为:请求的操作需要提升。

此时重新创建文件,并以使用管理员身份运行命令行,显示结果还是一样。

于是更换windows环境,使用win7 x64位环境:

显示结果为:请求的操作需要提升。

于是又更换环境——windows xp

终于给面子了。

还有一种方法:在win8.1环境下运行,以管理员身份启动命令行,键入命令后

以管理员身份运行一下netstatlog.bat。

可在计划任务中找到此进程,其状态为准备就绪,若要停止,可将进程直接删除。

使用sysmon工具监控系统运行

下载sysmon v7.0

在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 schemaversion="3.10"> 改为正确的版本号: <Sysmon schemaversion="4.00">

再次以管理员身份运行:

输入指令: Sysmon.exe -c test.txt ,进行配置:

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

进入 应用程序和服务日志 > Microsoft > Windows > Sysmon > Operational。

事件日志

双击某一个日志可查看其具体信息,如启动事件查看器。

事件1

也能看到很多进程创建的日志:

事件2

进程改变文件创建时间:

事件3

也能通过查找功能查找到下午查实验使用后门回连的日志记录:

网络连接工作:可以很清楚地看到运行程序的源端口、目的端口、源IP地址、目的IP地址以及使用的协议类型。

以管理员权限键入 Sysmon.exe -u 停止日志的记录,并删除之前的记录。

TCPView

TCPView是用来监测TCP连接的工具,在开启后门的情况下,打开工具就可以看到通过TCP和UDP协议运行的进程的源地址、目的地址以及相应端口和连接状态。

双击某进程可查看到进程的具体路径,也可终止进程。

尝试window后门回连,可以很清楚的看到这个进程。

procmon工具

使用procmon工具也能清晰地查看进程运行状态、路径。

双击一个进程也可直接查看其细节:

Wireshark分析

利用生成的后门回连成功:

可以观察到kali虚拟机多次对被植入后门主机发送建立连接请求,被植入后门主机对部分请求进行回应。

使用systracer工具分析恶意软件

下载systrace,安装时各选项默认

建立三个快照

对比分析

在不回连后门的情况下,回连的情况下和输入dir的情况下,对比快照。使用view观察新增项目(绿色项),能够发现5216.exe的动态:

PEiD工具

这是一个检测是否加壳的软件。

先检测未加壳的文件,提示为nothing found。

检测加壳的文件,提示为加壳软件的版本,而且检测速度很快。

实验后回答问题

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

可使用systrace观察系统此刻进程运行情况较之前的变化,若发现可疑项,再使用TCPView或sysmon对进程进行详细监控。

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

可使用schtasks指令、wiresharkTCPView或sysmon对进程进行详细监控,进一步获取其网络连接信息、相关联进程信息和对其它进程的影响。

实验总结与体会

本次实验使用了较多的进程和网络监控工具。其中大部分的工具功能还是相似的。在怀疑某个进程有问题时,可使用多个工具对其进行监控,观察其网络连接等情况,找到文件的路径,进行加壳等各种检测以确定是否为恶意程序。一般情况系统同时运行的程序较多,可先使用systrace观察进程改变项,再使用其他合适监控进程,对可疑的进程进行筛选,找到有问题的进程。

原文地址:https://www.cnblogs.com/LeeX1997/p/8780403.html