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连接: