Exp4 恶意代码分析
一、实验后回答问题
1如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
(1)使用计划任务,指定每隔一定时间记录主机的网络连接情况。
(2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为,在事件查看器里找到相关日志文件便可以查看。
2如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
(1)使用virscan分析可疑程序,分析文件行为。
(2)使用systracer工具,比对前后区别,动态分析注册表修改情况和文件修改情况等,分析原因。
(3)使用Wireshark进行抓包分析,查看该程序传输了哪些数据。
(4)使用TCPView查看可疑连接。
二、实验总结与体会
此次实验还是比较有趣的,通过对恶意代码的分析,百度等等,还是收获了很多,但是由于电脑内存太小,配置太低,使用Systracer时扫描文件太慢,耽误了很长时间,只能借用同学的电脑做。在本次实验中也没有使用更多的工具,能力有限,电脑水平有限。感觉计划任务的监控还是细致的,就是分析可能比较难,还得自己整理。systracer功能也比较强,让我接触了注册表这个信息。本次实验让我印象深刻的地方还是恶意代码的伪装程序...
三、实践过程记录
1系统运行监控
(1)使用计划任务
使用指令
schtasks /create /TN 20154304netstat /sc MINUTE /MO 2 /TR "cmd /c netstat -bn > c:\netstatlog.txt
创建计划任务,每隔两分钟记录自己的电脑有哪些程序在联网。
注意要用管理员身份运行cmd:
使用管理员打开的cmd如下:
创建计划任务:
- 上一条指令中用到解释如下:
- TN:Task Name,本例中是20154304netstat
- SC: SChedule type,本例中是MINUTE,以分钟来计时
- MO: MOdifier
- TR: Task Run,要运行的指令是 netstat -bn,b表示显示可执行文件名,n表示以数字来显示IP和端口
在C盘根目录中创建netstatlog.txt文本文档和netstatlog.bat文档,在bat文档中输入如下内容:
打开windows计划任务图形界面,找到创建的任务:
点击属性->操作->编辑,修改txt后缀为bat:
在常规选项卡中,设置使用最高权限运行:
设置完成后启动计划任务:
尴尬了,我的bat文件被金山拦截了...关闭金山后,直接带走了我的bat文件,所以安装了金山的同学要把它关了重新来一遍上述过程。
重来之后,启动任务,查看netstatlog.txt文件:
等待了一晚上之后,记录了足够多的项目,对出现比较多的可疑进程进行分析(当然谷歌WPS微信除外):
1>Kxescore.exe
会发现该进程在任务管理器中也无结束,即使我已经关闭了金山,看来金山毒霸的责任心太重。
2> veil4304.exe
这是我运行的后门程序,外部地址是虚拟机的地址,端口是我设置的4304。
3>TsService.exe
这个进程就非常有意思了!
起初百度它之后,我以为可能真的是如下所说:
可是我当我发现我运行的后门程序veil4304.exe很多次前面都会出现这个TsService.exe,我明明没有在用QQ浏览器,于是对它第一次怀疑,再次百度:
!29个同名文件中有20个都不安全,发现惊喜!
我再次仔细观看,终于发现...
这不就是一个伪装的病毒程序吗,连接到了我的kali,然后会发现有很多类似它的程序...
svchost.exe
taskhost.exe
这是我看到的csdn博客的内容:Svchost.exe是病毒的两种情况
(2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
监控目标:网络连接network connection、进程创建process creation、文件创建时间file creation time
- 创建配置文件Sysmon4304.xml,添加监控目标的信息,注意将配置文件的版本号修改为自己下载的sysmon.exe版本,我的是4.00:
- 安装sysmon:
sysmon.exe -i Sysmon4304.xml
,注意进入到sysmon.exe的目录。
- 更新配置文件:
sysmon.exe -c Sysmon4304.xml
- 直接在命令行中输入
eventvwr
打开应用程序和服务日志,根据Microsoft->Windows->Sysmon->Operational路径找到记录文件:
查看事件1,进程创建:
又是金山密保...
查看事件2,文件创建时间:
在4/11 21:12:36 创建了SnippingTool.exe,百度了下,是截图工具。
- 运行msfconsole回连主机,再次查看:
哈哈记录到了刚才那个病毒伪装程序Svchost.exe,还有一堆诡异的字体字符,刷新了几下事件查看器,事件3网络连接中,记录到了没有诡异字体的Svchost.exe 可看到它的目的IP:
查询一下这个IP:
去了美国...
2恶意软件分析
(1)静态分析
使用VirSCAN.org网站对veil4304.exe进行分析:
点击文件行为分析:
看到了壳或编译器的信息。
(2)动态分析
1>使用systracer工具分析恶意软件
由于电脑问题,systracer工具的使用在同学的电脑上完成的
抓了三种状态:
snapshot#1系统自然状态
snapshot#2启动后门回连msf
snapshot#3远程在win7上建立新文件夹,修改文档,进行进程迁移
进程迁移:
创建文件:
- 比较snapshot#2与snapshot#1:
回连后门后,注册表发生变化:
- 比较snapshot#3与snapshot#1:
注册表看不了...:
可查看到添加了20154304.txt文件:
并看到进程迁移:
新添加了PID为1304的进程,迁移地址和端口也是kali的。
2>再次启动回连,使用wireshark抓包
过滤kali的IP地址,192.168.126.130,发现没有抓到包:
什么原因呢,再过滤主机的IP地址172.30.1.152看看:
发现可疑IP地址65.55.252.93,感觉在哪见过,查看之前系统计划任务监控的信息:
果然!是之前那个伪装的病毒程序的IP地址,看来veil-evasion生成的后门程序伪装效果不错,都抓不到攻击机的IP地址。
再次过滤病毒的IP地址:
是使用TCP传输控制协议发送SYN_SENT请求连接的数据包。
3>使用TCPView查看可疑连接:
回连veil4304.exe后门后,可发现有后门程序所建立的TCP连接: