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

基础问题回答

实验目的

监控系统的运行状态,看有没有可疑的程序在运行

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

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

基础问答

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

答:扫描日志

利用wireshark查看数据包,分析数据流

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

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

答:利用wireshark查看数据包,查找可以数据连接

运行CMD --> 输入wmic --> process可以查看到进程的程序。

实验步骤

系统运行监控

C盘下新建netstatlog.bat 和 netstatlog.txt

在 netstatlog.bat 中输入

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

cmd中输入schtasks /create /TN 20165219netstat /sc MINUTE /MO 2 /TR "c: etstatlog.bat"用来创建一个任务

打开任务计划程序

双击这个任务,点击操作并编辑,将“程序或脚本”改为我们创建的netstat.bat批处理文件,并且将添加参数设置为空。

使用最高权限运行

执行此脚本一定时间,就可以在netstat5318.txt文件中查看到本机在该时间段内的联网记录

系统运行监控——利用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>
    <SourceIp condition="is">127.0.0.1</SourceIp>
  </NetworkConnect>

   <NetworkConnect onmatch="include"> 
    <DestinationPort condition="is">5219</DestinationPort>     
    <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相当于黑名单

网络连接过滤掉了浏览器的网络连接、源IP为127.0.0.1的网络连接和目的端口为137的连接服务,且查看目的端口为80(http)和443(https)的网络连接。(137端口的主要作用是在局域网中提供计算机的名字或IP地址查询服务,一般安装了NetBIOS协议后,该端口会自动处于开放状态。127.0.0.1表示本机IP。)

远程线程创建记录了目标为explorer.exe、svchost.exe、winlogon.exe和powershell.exe 的远程线程。

explorer.exe是Windows程序管理器或者文件资源管理器

svchost.exe是一个属于微软Windows操作系统的系统程序,是从动态链接库 (DLL) 中运行的服务的通用主机进程名称。

winlogon.exe是Windows NT 用户登陆程序,用于管理用户登录和退出。

powershell.exe是专为系统管理员设计的新 Windows 命令行外壳程序。该外壳程序包括交互式提示和脚本环境,两者既可以独立使用也可以组合使用。

将此配置文件放在c盘中

启动sysmon

cmd进入sysmon的安装目录sysmon.exe -i c:sysmon5219.txt出现如下界面,点击agree

输入sysmon.exe -c c:sysmon5219.txt来运行此程序。

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

检测到进程的图

反弹连接

恶意软件分析
使用VirusTotal分析恶意软件

将exp3中生成的加壳后门在VirusTotal进行扫描

Systracer

下载完成->运行->agree->选第二个->设置监听端口号5219->安装完成

两次快照

回连

进行比对,点击compare

反弹连接一些增加的文件


Wireshark进行抓包分析

抓包前的设置

ncat连接时的流量包

遇到的问题

安装sysmon时报错

解决:将命令修改为.Sysmon.exe -i C:20165219Sysmoncfig.txt

实验总结与体会

此次试验有很多细节要注意,通过这个实验,重新认识了wireshark这个抓包软件,通过查看数据包,分析数据流达到监控的目的

原文地址:https://www.cnblogs.com/wyb-1998/p/10667897.html