20155339 Exp4 恶意代码分析
20155339 Exp4 恶意代码分析
实验后回答问题
(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
- 监控网络连接。
- 当某个系统进程出现多个时,重点监控。
- 监控注册表的变化。
- 监控未知的IP的异常频率的连接。
- 监控系统日志的变化。
(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
- 创建计划任务,跟踪该进程的网络连接。
- 使用Systracer拍摄系统的多个快照,并对不同的时刻拍下的快照进行对比,分析改变的注册表的变化。
- wireshark监视该程序的数据包。
- 用Process Explorer获取其命令行,路径,连接的端口号以及本机开放的端口号等信息。
实验总结与体会
通过本次实验,解除了上次实验的忧虑,学习了怎么查看系统的状态以及分析恶意代码的存在。植入后门或许并不难,所以对于系统的状态以及后门的分析就尤为重要了,比起后门攻击,分析略显枯燥,但是分析确极其重要。
实践过程记录
GE_Windows计划任务schtasks
- 开始创建任务,首先建立一个文本文档用于输出结果,复制到C盘。
- 使用
C:\schtasks /create /TN netstat /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c:\netstatlog.txt"
命令,来实现每五分钟每记录一下有哪些程序在连接网络,若需要实现一分钟记录一次,则将MO 5
改为MO 1
即可,对相关参数进行分析:
/TN taskname 指定唯一识别这个计划任务的名称。
/S system 指定要连接到的远程系统。如果省略这个
系统参数,默认是本地系统。
/SC schedule 指定计划频率。有效计划任务: MINUTE、 HOURLY、DAILY、WEEKLY、
MONTHLY, ONCE, ONSTART, ONLOGON, ONIDLE, ONEVENT.
/MO modifier 改进计划类型以允许更好地控制计划重复
周期。有效值列于下面“修改者”部分中。
/TR taskrun 指定在这个计划时间运行的程序的路径和文件名。
- 出现下图所示则新建成功,但是即使这样发现netstatlog.txt并没有变化,打开控制面板,找到任务计划,点击属性,发现需要更改一些设置,首先选择使用常规中的“最高权限运行”,然后将条件里的条件中的如下两个条件去掉。
现在就可以看到每五分钟就会进行一次记录。
我们再加工一下,在C盘要目录下建一个文件c:\netstatlog.bat,内容如下:
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt
可以在图形界面打开计划任务,将其中每5分钟执行的指令从"cmd /c netstat -bn > c:\netstatlog.txt"替换为“c:\netstatlog.bat”。更改完后,我们在netstatlog.txt中会看到如下的输出,多了日期与时间,这样看起来更方便。
放了一天多,我将其导入到excel中去,具体导入方法就是在Excel的数据中选择从文本文档导入,然后选择分隔符号,再将所有分割符号选上,并且在其他后键入“:”,完成。
然后对数据进行了一个透视分析,这里我是按降序进行排列,柱状图则更明显的突出了对外连接最多的程序,对其中的几个进行分析。
这个wpscloudsvr.exe格外多啊,但是看样子是个WPS的什么云服务,搜了一下是WPS热点,这个真的很讨厌,每次都是手动关闭看来关的不够彻底,进入控制面板将其文件位置找出关闭该程序,并且删了它。
接下来是SogouExplorer.exe,这次之后打算改用火狐了,这个随便连接的次数也太多了点,我的流量啊。
vmware-hostd.exe,这个其实是VMware的一个服务端,网上说是可以关闭的,不影响正常使用,我这种小白,还是留着它吧。
devenv.exe这是什么呢,原来是是程序开发平台Microsoft Visual Studio 用户界面程序,开发者在这个界面进行设计开发调试工作,那也是没问题的。
ComputerZTray.exe是鲁大师的硬件核心服务,也是正常软件,SGTool.exe搜狗输入法的加速程序,xmp.exe迅雷看看播放器,DsmSvc,使这个可以加速应用程序的启动速度,如果禁用,会加快系统启动速度。也就是说,你要做个取舍了,是要启动速度,还是要以后软件的加载速度。当然还有我的backdoorc3.exe,这个网上当然是搜不到的,放到virscan上,查杀率当然意料之中的高,当然是个病毒。
对连接次数超过10的IP进行一个批量搜索。
- 大的公司像联通、移动这种应该没问题,对几个我觉得可疑的,无法想象自己为什么会连到这些地方的IP进行了一个搜索,首先对美国的这个进行一次搜索吧,我也没点什么国外的网站啊。首先将其在我的数据中进行一次搜索,看看它是什么程序的IP,搜索发现是vmware,对,那就应该是可信的了。
再对这两个进行个搜索吧。
同样先回到我的数据中进行搜索,原来WPS热点是这几家公司!
- 再看看这是什么吧,是devenv.exe进程,上网搜索过了,是VS的一部分,用于应用程序开发,那就没问题了,看来我的电脑没什么问题。
VirScan
把我的后门软甲放到VirScan上扫描一下,不出所料,22%的查杀率。
可以看到它选择了MD5和sha-1来进行哈希摘要,可能在编码的过程中使用了这两个算法。
尝试获取别的信息,点击任意一个扫描结果看看会有什么别的发现。
- 并没有什么太大的发现,但是发现了大家放到VirScan上扫描的自己生产的后门软件,看来查到的病毒都是一样的。
Sysmon
- Sysmon是微软Sysinternals套件中的一个工具。可以监控几乎所有的重要操作。
- 配置好文件之后开始安装sysmon,先从老师的附件里面下载,文件名为SysinternalsSuite201608,其中包括了Sysmon.exe等,安装命令为
sysmon.exe -i 配置文件名
。 - 首先对老师的配置文件进行学习,编写了自己的配置文件,需要注意的是,exclude相当于白名单,不用记录,而include相当于黑名单。在语法上需要注意一一对应,比如
<SourceIp xxx>
要与</SourceIp>
对应,我在编写的过程中忽略了这一点,直接从上面复制下来就出现了错误。 - 关于我的配置文件,我将搜狗浏览器加入了白名单,与此同时对于80端口的HTTP和443端口的HTTPS,当然还需要包括我的5339端口了,具体如下:
<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">SogouExplorer.exe</Image>
<Image condition="end with">iexplorer.exe</Image>
</NetworkConnect>
<NetworkConnect onmatch="include">
<DestinationPort condition="is">80</DestinationPort>
<DestinationPort condition="is">443</DestinationPort>
<DestinationPort condition="is">5339</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>
但是这里需要注意,我们需要使用管理员身份打开cmd.
接下来就可以成功安装了。
在这里学到一招,如果我们要切换盘符的目录,正确的用法是在cd 和路径中间 增加一个'/d',例如我想切换到F盘就需要输入
cd /d f:
就可以了,直接cd是不可以的。打开控制面板,打开事件查看日志,依次点击应用程序和服务日志->Microsoft->Windows->Sysmon->Operational
大量的数据或许并不有利于我们分析,所以我用筛选器对数据进行了一次筛选。
创建了一个搜狗表情工具。
Excel文件发生了变化。
使用systracer工具分析恶意软件
1.在正常情况即没有后门程序的情况下对Windows进行快照。
2.在将后门程序拷入主机之后进行快照。
3.回连成功后进行一次快照。
快照结果进行对比分析:
1和2进行对比,只观察不同的部分,由下图可以看出注册表发生了变化,首先修改了了很多键值,这些键值包括显示控制系统和软件的处理键下的子键、当前用户的配置数据信息等。
增加了HKEY_LOCAL_MACHINE下的一些子键值。
当然,还有一些软件,比如搜狗啊、SysTracer本身以及微信等引发的键值变化,可以说很详细了。
- 还有剩下的就是没有注册看不了,额,没有办法。
- 2和3进行比较,注册变化更明显,只是依旧看不了。
- 再1和3进行比较看一看,键值发生了很多变化,增加了很多键值,可是没有注册看不了,看来也只能再通过别的方法分析了。
总的来说,植入一个后门程序并且在进行回连的时候会发生很多键值的变化,是可以通过这个方面来进行分析的,只是对于刚入门并且没有注册的我们貌似有些不适用。
用wireshark来进行分析
开始捕获包,同时Kali开始通过msf寻找后门程序来进行回连,主机双击后门程序来进行回连,结束捕获。
开始分析TCP的一些内容。这个119.75.213.61有点可疑,回去看看原来整理的Excel,原来是金山WPS办公软件云服务进程,刚关闭完WPS云服务这又有个金山WPS办公软件云服务,也给他关了。
还有个23.57.229.163是什么搜一下,一搜吓到了我,这个IP竟然是印度的。
很值得怀疑,再看看建立连接有没有成功。
成功建立的三次握手,但是竟然还给我报了一个304错误,那这是什么呢?上网搜索一下,发现是Akamai(一个CDN运营商)网站的IP。
接下来的就是被虚拟机攻击的我的5339端口了。在本机的虚拟机攻击本机这么直接的操作下,wireshark很直观的再现并且剖析了这一过程,刚开始VM广播寻找哪个主机启动了后门,开始回连192.168.224.140。
端口以及回连的IP直接暴露了出来。
- 一直以为是主机的IP和虚拟机的IP进行通讯,发现其实是,主机的以太网适配器的IP地址与Kali进行了回连,这说明以后在真正的实际应用中,本机的各种的IP与别的IP的连接都需要分析,有些东西用不是单单只能通过物理机IP来进行连接传播甚至被控制的。
- 其他没有抓到什么别的包
Process Explorer进行分析
该软件运行很简单,下载安装好了就会进行监控,这个软件还是比较好用,让使用者能了解看不到的在后台执行的处理程序,能显示目前已经载入哪些模块,分别是正在被哪些程序使用着,还可显示这些程序所调用的 DLL进程,以及他们所打开的句柄。Process Explorer最大的特色就是可以中终任何进程,甚至包括系统的关键进程!我觉得这个甚至比任务管理器还好用!竟然现在才知道。
这个软件使用也比较简单,安装完后直接就开始了监视,可以在监视菜单栏的空白处点击右键,选择添加列,然后将使用的用户名、路径命令行等添加到显示的列表中,便于分析。
使用该软件进行分析。
首先刚开始就有一个smss.exe进程进入了我的视线,上网查了一下,一查吓一跳,竟然有很多人说是木马、病毒,多查了几个网站,发现其实这个程序全名Session Manager Subsystem,它是一种部分的微软视窗操作系统。本身这个程序是一个正常的系统进程,但是如果用户发现在系统进程中出现多个smss.exe进程或者CPU使用率变动很大,那么要小心该程序可能就是一个潜伏在电脑深处的一个盗号木马程序,所以再去寻找,发现只有这一个smss.exe,但是还是有些不放心与之前的任务计划抓下的进程的连接来进行比较,在其中并没有找到这一项的连接,所以应该是没有问题。
svchost.exe也可能是病毒,在这个软件里面也有分析如下图,与此同时对于主机内的每个svchost.exe放到virscan进行扫描,检出为0,基本可以认定为系统程序而不是病毒。
这应该就是计划任务schtasks将记录写入netstatlog.txt的程序。
接下来就是我的后门程序了。
可以清楚的看到回连的IP和本机开放的端口,还可以查看其进程ID号。
又有一个奇怪的程序。
上网搜索发现igfxem.exe进程是正常的进程。是intel家的核显驱动类的进程.核显即“核芯显卡”,是指GPU部分它是与CPU建立在同一内核芯片上,两者完全融合的芯片,与igfxhk.exe进程同时存在,看来是安全的,其实这个也是可以禁用的,不过对于核心显卡设置会有一定的影响。
其他进程貌似没有什么问题,这款软件还在一定程度上减少了对未知的系统程序的百度,比如下图所示,很明确的指出了DCOMLAUNCH服务的功能和其是否能被禁用。
看来我的电脑还是比较干净的。
20155339 Exp4 恶意代码分析的更多相关文章
- 2018-2019-2 网络对抗技术 20165232 Exp4 恶意代码分析
2018-2019-2 网络对抗技术 20165232 Exp4 恶意代码分析 1.实践目标 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2或Exp3中生成后门 ...
- 2018-2019 20165237网络对抗 Exp4 恶意代码分析
2018-2019 20165237网络对抗 Exp4 恶意代码分析 实验目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后 ...
- 2018-2019-2 20165325 网络对抗技术 Exp4 恶意代码分析
2018-2019-2 20165325 网络对抗技术 Exp4 恶意代码分析 实验内容(概要) 一.系统(联网)运行监控 1. 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,逐步排查并且 ...
- 2018-2019-2 网络对抗技术 20165206 Exp4 恶意代码分析
- 2018-2019-2 网络对抗技术 20165206 Exp4 恶意代码分析 - 实验任务 1系统运行监控(2分) (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP ...
- 2018-2019-2 20165239《网络对抗技术》Exp4 恶意代码分析
Exp4 恶意代码分析 实验内容 一.基础问题 1.如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. •使用w ...
- 2018-2019 20165235 网络对抗 Exp4 恶意代码分析
2018-2019 20165235 网络对抗 Exp4 恶意代码分析 实验内容 系统运行监控 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一段时间并分析该文件 ...
- 2018-2019-2 网络对抗技术 20162329 Exp4 恶意代码分析
目录 Exp4 恶意代码分析 一.基础问题 问题1: 问题2: 二.系统监控 1. 系统命令监控 2. 使用Windows系统工具集sysmon监控系统状态 三.恶意软件分析 1. virustota ...
- 20155312 张竞予 Exp4 恶意代码分析
Exp4 恶意代码分析 目录 基础问题回答 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. (2)如果 ...
- 2018-2019-2 《网络对抗技术》Exp4 恶意代码分析 Week6 20165311
2018-2019 20165311 网络对抗 Exp4 恶意代码分析 2018-2019 20165311 网络对抗 Exp4 恶意代码分析 实验内容 系统运行监控(2分) 恶意软件分析(1.5分) ...
随机推荐
- Android之使用枚举利弊及替代方案
Android上不应该使用枚举,占内存,应该使用@XXXDef注解来替代 使用 Enum 的缺点 每一个枚举值都是一个对象,在使用它时会增加额外的内存消耗,所以枚举相比与 Integer 和 Stri ...
- 从零自学Java-7.使用数组存储信息
1.创建数组: 2.设置数组的大小: 3.为数组元素赋值: 4.修改数组中的信息: 5.创建多维数组: 6.数组排序. 程序SpaceRemover:显示输入字符串,并将其中所有的空格字符替换为句点字 ...
- java网页数据抓取实例
在很多行业中,要对行业数据进行分类汇总,及时分析行业数据,对于公司未来的发展,有很好的参照和横向对比.所以,在实际工作,我们可能要遇到数据采集这个概念,数据采集的最终目的就是要获得数据,提取有用的数据 ...
- English Phonetic Spelling Alphabet
https://www.englishclub.com/vocabulary/english-phonetic-spelling.htm When speaking on the telephone ...
- fatal: cannot create directoryxxxx': Invalid argument
问题:fatal: cannot create directoryxxxx': Invalid argument 环境:git 拉取远程仓库的代码后 原因:同事是mac,这个文件夹命名规则在苹果上没有 ...
- MySQL报错:error1130
ERROR (HY000): Host 'ip-172-31-x-x.ec2.internal' is not allowed to connect to this MySQL server 分析,从 ...
- vc MFC 通过IDispatch调用默认成员函数
CComPtr<IDispatch> spDisp(IDispatch *); if(!spDisp) return; DISPPARAMS dispParam={0}; //没有参数 V ...
- HTML页面打印分页标签样式
<html> <head> <meta name="vs_targetSchema" content="http://schemas ...
- BZOJ 1028 麻将 枚举
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1028 题目大意: 麻将是中国传统的娱乐工具之一.麻将牌的牌可以分为字牌(共有东.南.西 ...
- 协程运行原理猜测: async/await
1.根据await调用链寻找最终的生产者或服务提供者: 2.请求服务: 3.进行执行环境切换,跳出顶层函数(第一个无await修饰的函数),执行后面的语句: 4.服务完成,将服务数据复制给最底层的aw ...