2017-2018-2 20155230《网络对抗技术》实验4:恶意代码分析
实践过程记录
1.使用schtasks指令监控系统
- 在C盘中创建一个
netstat5303.bat
脚本文件,右键编辑,并写入以下内容:
date /t >> c:\netstat5230.txt
time /t >> c:\netstat5230.txt
netstat -bn >> c:\netstat5230.txt
-
使用
schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "c:\netstat5230.bat"
命令创建一个计划任务netstat5230
其中,TN是TaskName的缩写,创建的计划任务名是netstat5230;sc表示计时方式,计时单位是分钟填MINUTE;TR=Task Run,要运行的指令是 netstat -bn,b表示显示可执行文件名,n表示以数字来显示IP和端口。 -
win10搜索 计算机管理 打开任务计划程序,找到我们新创建的这个任务,双击,在常规一栏勾选使用最高权限运行
-
等一会儿就能看见一些东西了!
-
通过20144306学姐的博客选了一下把采集到的数据做一个图表(在这里wps所做的计数项没有微软的那么好,它只能统计该列一共有多少项但是不能统计该列每项有多少,当然也有可能是我学艺不精。。。)
-
先看一下12小时候都有哪些程序进行过网络链接!从下图可以看见开头就是我的后门。。。
-
在表格中找到了它!上面有记录kali的IP和回连端口
-
其中et.exe、kbasesrv.exe不太认识,百度了一下分别是wps表格程序和金山的推广软件。kbasesrv.exe的风评不太好都说是会大量占用cpu的垃圾软件,我说我的电脑为什么总是卡卡的!罪魁祸首之一找到了回头就铲了它!
-
汇总了一下出现的外部ip
-
随意选了几个查了一下。。。还有来自国外的ip地址也是厉害了
2.使用sysmon工具监控系统运行
- 在sysmon官网下载后配置sysmon工具:
<Sysmon schemaversion="7.0">
<!-- 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">ChsIME.exe</Image>
<Image condition="end with">iexplorer.exe</Image>
<Image condition="end with">vmware-authd.exe</Image>
<Image condition="end with">WeChat.exe</Image>
<Image condition="end with">kxescore.exe</Image>
<Image condition="end with">firefox.exe</Image>
<Image condition="end with">wpscloudsvr.exe</Image>
<Image condition="end with">svchost.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>
-
将cmd用管理员身份运行,输入
sysmon -accepteula –i -n
命令一键安装sysmon工具 -
使用
Sysmon.exe -c C:\user\瑾\desktop\peizhi.xml
,将sysmon按照修改好的配置文件进行更新。 -
报了错。。根据提示将xml文件里的版本号改为4.0更新成功(明明我在官网里下的7.0版本啊。。。)
-
在计算机管理中打开事件查看器—>应用程序和服务日志—>microsoft—>windows找到sysmon查看日志
-
打开kali,运行木马文件,使其回连kali攻击机。
-
查看日志,通过搜索关键字可以找到相关的后门文件
-
查看该事件的详细信息:
-
可以看见该后门存放地址和链接端口等信息
3.使用virscan分析恶意软件
-
这是之前自己半手工写的加壳后门
-
点开文件行为分析
-
该后门大概能做什么,几乎一览无遗。
4.使用火绒剑分析恶意软件
-
先在kali中回连后门
-
然后在火绒剑监控的进程中发现了后门
-
这里看出在Explorer.EXE程序之下,是它的子进程。也可以说是exp4.exe伪装在Explorer.EXE之下,伪装在使用父进程的功能
-
双击进程查看一下链接情况,能够看见自己ip和被启用的端口和kali的ip和回连端口
-
这里可以看见通过后门做操作的时间和状态
-
接着我们分析注册表,首先我在kali利用后门使用命令删除了一个文件
-
在火绒剑下观察,发现了我在kali通过后门所做的操作
5.使用wireshark分析后门
-
在kali下做一些基本的windows指令
-
通过wireshark抓包能看出数据的传输,带有PSH,ACK的包传送的便是执行相关操作指令时所传输的数据包
6.使用PEID进行恶意代码分析
-
首先使用未加壳的后门程序进行分析,可以看见未发现加壳
-
使用加过壳的后门程序检测,发现检测出了使用过upx工具加壳!
实验后回答问题
-
(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
- 可以使用类似火绒剑这样的监控进程的安全软件,发现自己的进程栏多出了不认识的进程时可以直接查看它做了些什么,而类似sysmon工具这样的软件,监控的服务太多,太广不利于查找。 - 也可以使用wireshark进行抓包,通过过滤一些传输数据的关键词来看看自己的电脑是不是被动过一些手脚! - 还能使用Windows自带的schtasks指令设置一个计划任务,指定每隔一定时间记录主机的联网记录或者是端口开放、注册表信息等等。
-
(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
- 火绒剑,可以看见它的许多信息,包括他的ip,端口和自己被链接使用的端口;它进行了什么操作,在什么时候运行的等等。 - sysmon工具实时监控,再对方再次操作之后会被监控到留下其ip和端口,然后使用wireshark再对其之后的数据分析做了什么操作,但是这样成效较慢。
实验总结与体会
- 通过这次实验也认识到了各种各样的工具,有比较专业的如火绒剑,针对性强的如PEID,全局监控如sysmon和schstats,也有我们常用但是没想到能用来帮助分析的软件如wireshark。让我们学习到了怎么处理和找出恶意软件
- 这次实验虽然目的是让我们学会分析恶意代码都干了些啥,怎么干,通过什么连接并传输。但是还是比较迷茫,就是怎么才能比较有效的预防恶意代码,目前能用到的工具都是在自己有所察觉的情况下针对性的做一些工作才有可能发现,而我们在平时是没有这么多时间,也没有那么多的cpu资源来实时监控自己的计算机进程的。
- 通过这次实验也是在自己心中敲了一个警钟,能下载正版就要下载正版啊!在什么不知名网站上下了人家的破解版
说不定(一定)就有人家另外附送的后门小礼物,从网上保卫自己的电脑不受侵犯任重道远啊。。。