Exp4 恶意代码分析

一、基础问题

问题1:

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

答:

  1. 利用系统命令查看系统各项状态,并将查看结果保存为日志。使用计划任务为命令设置执行间隔,通过监控系统一段时间的运行状态来监控系统。
  2. 使用具有监控系统功能的可靠软件来实现系统监控。

问题2:

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

答:

  1. 使用systracer工具对确定的恶意软件进行行为分析。
  2. 使用wireshark网络嗅探工具对该软件的网络通信情况进行分析。

二、系统监控

1. 系统命令监控

恶意软件的目的大多都是希望通过非正常手段进入你的计算机系统,然而这个过程避免不了的就是需要进行数据的网络传输,因此,我们只要把握好网络的实时状态就可以有效防止大部分恶意软件的入侵。

Windows下为我们内置了查看网络状态的命令netstat,通过它我们可以随时查看当前计算机所有的网络连接状态,包括当前状态下的联网应用,所有网络服务的源目的IP和端口。具体功能如图:

由上图我们可以判断,我们主要使用的参数为

-a      -b      -n      -o

但是输入一次命令我们只能看见一次结果,这时我们需要让命令可以自动运行,并且将运行结果写到文件中,方便我们统计和查看,这时就需要用到我们的计划任务了。

在设置计划任务之前我们需要将命令写为脚本,如下:

date /t >> C:\Users\Administrator\Desktop\netstat_162329.txt
//获取系统日期 追加至桌面的 netstat_162329.txt文件中
time /t >> C:\Users\Administrator\Desktop\netstat_162329.txt
//获取系统时间 追加至桌面的 netstat_162329.txt文件中
netstat -abon >>C:\Users\Administrator\Desktop\netstat_162329.txt
//获取当前网络状态信息 追加至桌面的 netstat_162329.txt文件中

为了方便查看我们还添加了获取系统日期和时间的命令,方便查看多时间的网络状态。我们需要将以上代码写入一个空白的批处理文件中,结果如下图:

然后为该批处理文件设置计划任务

Win10系统下:控制面板-->系统和安全-->管理工具-->计划任务

进入后界面如下:

点击创建任务进入创建界面:

名称可以随意取一个,然后进入操作选项卡点击新建设置执行操作。

在触发器选项卡中设置执行间隔和时间。

查看监测结果。

2. 使用Windows系统工具集sysmon监控系统状态

首先先下载软件,sysmon官方下载地址

下载解压后再文件夹中进入命令行,准备安装该工具。

根据官方说明,该工具的运行需要一个配置文件的支持,该配置文件中可表明监测内容,我的文件如下:

<Sysmon schemaversion="4.20">
<!-- 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>
<Image condition="end with">QQBrowser.exe</Image>
<SourcePort condition="is">137</SourcePort>
<SourceIp condition="is">127.0.0.1</SourceIp>
</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命令的主要参数有三个,功能如下:

-i : 需要指定配置文件安装(启用)该工具
-c : 需要用指定文件更新当前运行状态下的配置文件继续运行
-u : 不需要参数值,卸载(停止)该工具运行

由于我们下载的工具是最新版,而老师给出的配置文件版本设置较低,所以直接运行会出现版本不匹配的问题,需要在配置文件的第一行将Schemaversion的值修改为相应版本。

安装执行,输入命令sysmon -i config_20162329.txt如图:

查看监控信息

控制面板-->系统和安全-->管理攻击-->查看事件日志

界面如图:

如图转到以下目录可以查看监控信息:

应用程序和服务日志-->Microsoft-->Windows-->sysmon-->Operational

可以点开任意事件查看其详细信息,如图:

三、恶意软件分析

1. virustotal分析恶意软件

实验使用程序为上次实验制作的后门程序,文件名为20162329_backdoor_vile1

将文件上传至virustotal网站,可以看到对该程序的行为分析如下:

2. 用wrieshark分析软件网络行为

首先用程序测试回连,成功:

打开wrieshark软件,选择当前使用的网卡,我使用的是有线所以选择以太网。

重新回连,然后找到wrieshark对应连接结果:

Windows IP为:172.16.3.212
kali IP为:172.16.3.36

只需要在源目的地址中找到相应IP就可以了,如下图:

根据wrieshark结果,我发现光是连接就发送了有480个以上TCP数据包,连续从NO.1310开始到NO.1790结束全都是,之前还有一些不连续的。

我们可以打开一个看看其中的内容:



从图中可以看到,这是一个携带数据的TCP数据包,但从数据上我们还看不出是什么,但是他足有687个字节。

接下来我们获取一下他的摄像头看看会有什么结果

可以看到他们是有一个通信过程的,而且是有数据传递的。

四、实验总结和体会

本次实验中最大的特点就是重在防御,并不再像之前几次实验一样,需要作出一个能控制或查看别人计算机的程序,而是要检测自己的计算机有没有被别人注入恶意程序,也就是老师说的从一个坏人变为了一个害怕被攻击的好人。

通过本次实验,我们学会了使用多种工具来对计算机系统进行状态分析,从而抓出我们系统里可能存在的恶意程序或软件。这些工具不仅有最基础的命令这样的“土工具”,也有像wriesharksysmon这样的系统工具和网络工具,既拓宽了我们的知识面又学到了一项新的技能,真的是受益匪浅。

2018-2019-2 网络对抗技术 20162329 Exp4 恶意代码分析的更多相关文章

  1. 2018-2019-2 网络对抗技术 20165232 Exp4 恶意代码分析

    2018-2019-2 网络对抗技术 20165232 Exp4 恶意代码分析 1.实践目标 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2或Exp3中生成后门 ...

  2. 2018-2019-2 网络对抗技术 20165206 Exp4 恶意代码分析

    - 2018-2019-2 网络对抗技术 20165206 Exp4 恶意代码分析 - 实验任务 1系统运行监控(2分) (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP ...

  3. 2018-2019-2 网络对抗技术 20165317 Exp4 恶意代码分析

    2018-2019-2 网络对抗技术 20165317 Exp4 恶意代码分析 实验要求 1.系统运行监控 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一段时间 ...

  4. 2018-2019-2 网络对抗技术 20165225 Exp4 恶意代码分析

    2018-2019-2 网络对抗技术 20165225 Exp4 恶意代码分析 实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp ...

  5. 2018-2019-2 网络对抗技术 20165336 Exp4 恶意代码分析

    2018-2019-2 网络对抗技术 20165336 Exp4 恶意代码分析 1.实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或E ...

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

    2018-2019-2 20165236 <网络对抗技术>Exp4 恶意代码分析 一.1.实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行; 1.2是分析一个恶意软件, ...

  7. 2018-2019-2 网络对抗技术 20165316 Exp4 恶意代码分析

    2018-2019-2 网络对抗技术 20165316 Exp4 恶意代码分析 一.原理与实践说明 1.实践目标 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2 ...

  8. 2018-2019-2 网络对抗技术 20165228 Exp4 恶意代码分析

    2018-2019-2 网络对抗技术 20165228 Exp4 恶意代码分析 1.如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪 ...

  9. 2018-2019-2 网络对抗技术 20165308 Exp4 恶意代码分析

    2018-2019-2 网络对抗技术 20165308 Exp4 恶意代码分析 实验过程 一.系统运行监控 (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一 ...

随机推荐

  1. python3抓图学习-百度贴吧

    # coding=utf-8 from bs4 import BeautifulSoup import urllib.request import os import time def downlao ...

  2. GDAL create kml

    新增kml 点 public void WriteKmlPiont() { string driverName = "KML"; //MapInfo File OSGeo.GDAL ...

  3. java abs(绝对值) , max(最大值),min(最小值) 方法的应用

    在写程序是,我们常常会计算一个数的绝对值,这时我们可以使用java里的方法来计算 public class Demo1{ public static void main(String [] args) ...

  4. Python自动化中的元素定位(一)

    1.使用selenium中的webdriver模块对浏览器进行操作 1)from selenium import webdriver 加载模块 2)b = webdriver.Friefox() 打开 ...

  5. 补记:完成了NG的SP1的全部内容 开始第二周

    DL本质上就是多层的Logistics Regression with different activation function and nicely designed back propagati ...

  6. spring mybatis mysql 事务不起作用

    之前框架事务应该是好的,不过这次做了些修改,不知如何竟然不好用了,整理了好半天,java框架配置就是吓人,有一点不熟悉的就可能暴露问题,好处是又深入的了解了配置原理. 开始以为是mysql不支持事务的 ...

  7. dml并行

    Enabling Parallel DMLA DML statement can be parallelized only if you have explicitly enabled paralle ...

  8. JavaScript 当月第一天和最后一天

    1. 概述 1.1 说明 在项目过程中,有时候需要默认展示一个月的查询条件,即当月的第一天和最后一天. 2. 代码 2.1 代码示例 直接调用getFirstAndLastDay()即可得到当月的第一 ...

  9. css3兼容360

    在头部添加 <!--启用360浏览器的极速模式(webkit) --> <meta name="renderer" content="webkit&qu ...

  10. C - BLG POJ - 1417 种类并查集加dp(背包)

    思路:刚看这道题感觉什么都不清楚,人物之间的关系一点也看不出来,都不知道怎么写,连并查集都没看出来,但是你可以仔细分析一下,当输入字符串为“yes”的时候,我们设输入的值为x和y,当x为天使是则由题可 ...