Exp4 恶意代码分析

  • 本次实验操使用Windows下的schtasks,sysmon,Process Explorer作为测试工具。

  • 确定是某个程序或进程有问题,

    使用Wireshark进行抓包分析,查看该程序联网时进行了哪些操作;

    使用systracer工具分析某个程序执行前后,计算机注册表、文件、端口的一些变化情况。


实验内容

实验环境 Windows 10 64bit

实验工具schtasks,sysmon,netstat,systracer


使用schtasks指令监控系统运行

先在C盘目录下建立一个NetstatLog.bat文件,用来将记录的联网结果格式化输出到netstatlog.txt文件中。

//netstatlog.bat内容
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt
  • 利用DOS界面命令

    schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "c:\NetstatLog.bat"
    即可生成定时任务,不过运行时需要利用管理员权限。

  • 也可以利用 任务计划程序,创建一个任务,通过新建 操作 调用bat脚本。

    在创建任务时,需要勾选 以最高权限运行

  • 充分发酵后转换为EXCEL,删除重复项,对IP进行升序排列后,即可获得本机上的各种连接。

  • 之后利用WHOIS对这些IP地址进行分析。

结果经过了24小时,我的小新连上了全国各地的IP,有点懵。

配置Microsoft日志工具Sysmon监控系统

netstat 属于比较基本的系统工具,除此之外我们还可以利用一些完善的系统监控软件。

Sysmon 是微软 Sysinternals 套件中的一个工具,可以从微软官网里进行下载。

  • 要使用sysmon工具先要配置文件config,语法为xml格式
  • 标签使用在官网中有Sysmon使用说明

本次实验我们主要学习Sysmon的前三种基本标签用法,即

1.ProcessCreate

2.FileCreateTime

3.NetworkConnect

  • 贴一下自己的简版配置文件作为分析(知识点中)

之后利用DOS命令,即可更新Sysmon配置

Sysmon -c c:\SysmonConfig.txt

监视恶意代码测试

接下来,我们利用上次实验制作的免杀病毒回连,测试各个分析软件的效果

在使用exploit回连后,我使用了三个命令,分别是:dir,ps,screenshot

  • netstat

    作为最基本的工具,netstat在管理员权限下能检测到主机与异常IP的连接,但也仅限于显示连接状态,无法深入分析。

  • Sysmon

    作为微软的系统日志监控软件,功能很强大,但信息量也同时非常繁杂。在茫茫的日志中寻找恶意代码确实不易。

再利用meterpreter回连前后,我打开了Sysmon检测系统状态,但却没找到关于后门shellcode_v2.exe的相关信息。

这时我在日志中发现了一条很奇怪的信息。

明明是kali利用后门实现screenshot,但Explorer.EXE确调用了一条Micorsoft.Windows.Photos的命令。

并且权限为0x2000,基本上是全权,很可疑。

以此为基础又找到了Explorer.EXE调用SystemSetting的命令。

最终找到了一条,TargetImage为vmware.exe。即猜测Kali通过Explorer这个程序实现了连接和以上命令。

  • SysTracer

我分别在回连前,连接成功后,调用dir,ps,screenshot三个命令时,建立了系统快照,以下进行分析。

生成快照后,点击Only differences,即可判断后台修改的信息。

可见连接后相较正常快照,更改了shell的相关注册表。

在执行dir命令后,相较于连接时,增加了windows命令处理器注册表的修改。

同时后门程序对于Explorer的修改,验证了Sysmon检测时的猜想!

比较实现screenshot和ps的快照,可以分析,后台程序修改了VitualDestop注册表,从而能够获得截图。

经过以上分析,对于木马程序连接后执行命令的流程有了一个大致的思路。

主要思路

Tip:

本次实验,主机通过利用系统监控工具,达到获取自身连接信息,监控恶意代码执行的目的。


知识点

Sysmon 配置文件简版

 <Sysmon schemaversion="4.00">
<!-- 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> <ProcessCreate onmatch="exclude" 以下程序镜像加载时不记录>
<Image condition="end with">chrome.exe</Image>
<Image condition="end with">iexplorer.exe</Image>
</ProcessCreate> <!-- incontains chrome or iexplorer 以下文件镜像创建时不记录-->
<FileCreateTime onmatch="exclude" >
<Image condition="end with">chrome.exe</Image>
<Image condition="end with">iexplorer.exe</Image>
</FileCreateTime> <!-- incontains access 0x1400 以下权限被进程执行时不记录-->
<ProcessAccess onmatch="exclude">
<GrantedAccess condition="is">0x1400</GrantedAccess>
</ProcessAccess> <!-- incontains port 137 以下端口连接时不记录-->
<NetworkConnect onmatch="exclude">
<SourcePort condition="is">137</SourcePort>
</NetworkConnect> <!-- contains port 443 or 80 特别关心端口443和80-->
<NetworkConnect onmatch="include">
<DestinationPort condition="is">443</DestinationPort>
<DestinationPort condition="is">80</DestinationPort>
</NetworkConnect> <!-- contains RemoteThread explorer,svchost,winlogon,powershell 特别关心以下远程进程创建-->
<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>

启发

本次实验给我的启发是,我们的主机每天都在进行着成千上万的连接,如果不对其进行了解分析,就完全不知道他在24小时内到底经历了什么 (囧oz……

2017-2018 Exp4 恶意代码分析 20155214曾士轩的更多相关文章

  1. 20145236《网络攻防》Exp4 恶意代码分析

    20145236<网络攻防>Exp4 恶意代码分析 一.基础问题回答 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些 ...

  2. 20155321 《网络攻防》 Exp4 恶意代码分析

    20155321 <网络攻防> Exp4 恶意代码分析 计划任务监控 在C盘根目录下建立一个netstatlog.bat文件(先把后缀设为txt,保存好内容后记得把后缀改为bat),内容如 ...

  3. 20145226夏艺华 网络对抗技术EXP4 恶意代码分析

    20145226夏艺华 网络对抗技术EXP4 恶意代码分析(未完成版) 回答问题 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作 ...

  4. 20145202马超《网络对抗》Exp4 恶意代码分析

    20145202马超<网络对抗>Exp4 恶意代码分析 1.实验后回答问题 (1)总结一下监控一个系统通常需要监控什么.用什么来监控. 虽然这次试验的软件很好用,我承认,但是他拖慢了电脑的 ...

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

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

  6. 2018-2019 20165237网络对抗 Exp4 恶意代码分析

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

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

    2018-2019-2 20165325 网络对抗技术 Exp4 恶意代码分析 实验内容(概要) 一.系统(联网)运行监控 1. 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,逐步排查并且 ...

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

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

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

    Exp4 恶意代码分析 实验内容 一.基础问题 1.如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. •使用w ...

随机推荐

  1. 【转】设置Qt应用程序图标及应用程序名

    一直以来很纠结给qt应用程序添加图标问题,在网上收过一次,但是感觉不够完整,现将自己的实现过程记录下,以便以后查看: 通过网上的例子知道qt助手中有相关说明: Setting the Applicat ...

  2. LeetCode题解之 Search in a Binary Search Tree

    1.题目描述 2.问题分析 利用递归遍历二叉查找树. 3.代码 TreeNode* searchBST(TreeNode* root, int val) { if (root == NULL) ret ...

  3. 使用 PowerShell 将数据磁盘附加到 Windows VM

    本文介绍如何使用 PowerShell 将新磁盘和现有磁盘附加到 Windows 虚拟机. 在开始之前,请查看以下提示: 虚拟机的大小决定了可以附加多少个磁盘. 有关详细信息,请参阅虚拟机大小. 若要 ...

  4. unknown host www.baidu.com 解决方法

    今晚一开机发现无法更新yum了,本机是连着wife的,咋无法更新呢,作为小白,一脸懵逼.于是ping了一下百度,网络不可达.... 于是我查看了一下DNS,发现设置了,于是看了一下物理机的DNS,发现 ...

  5. 记录一次向TiDB数据库导入数据的例子

    导出数据 今天从Mysql的某个库中导出一个表大概有20分钟吧,等了一会终于导出成功了.查看一下文件的大小: [tidb@:vg_adn_CkhsTest ~]$du -h ./creative_ou ...

  6. 乘风破浪:LeetCode真题_029_Divide Two Integers

    乘风破浪:LeetCode真题_029_Divide Two Integers 一.前言     两个整数相除,不能使用乘法除法和取余运算.那么就只能想想移位运算和加减法运算了. 二.Divide T ...

  7. laravel 实现思路以及各组件原理

    laravel 内核是个IOC容器,IOC是把本来自己实例化的对象. 通过在容器里注册,通过容器来进行实例化. laravel队列用的是redis的列表来实现.

  8. HDFS核心设计

    一.HDFS核心设计 数据块(block) 数据块是HDFS上最基本的存储单位 HDFS块默认大小为128M         对块进行抽象会带来的好处 一个小文件的大小可以大于网络中任意一个磁盘的容量 ...

  9. 深入浅出SharePoint——Search疑难排除

    通过Search log http://richardstk.com/2013/12/23/using-the-sharepoint-2013-search-query-tool-with-searc ...

  10. 卷积神经网络入门:LeNet5(手写体数字识别)详解

    第一张图包括8层LeNet5卷积神经网络的结构图,以及其中最复杂的一层S2到C3的结构处理示意图. 第二张图及第三张图是用tensorflow重写LeNet5网络及其注释. 这是原始的LeNet5网络 ...