20145325张梓靖 《网络对抗技术》 恶意代码分析
20145325张梓靖 《网络对抗技术》 恶意代码分析
实验内容
- 分析的恶意代码为:Exp2中Msfvenom直接生成的exe(使用了编译器)
- 使用systracer分析对比(主机加载恶意代码前、安装后、回连后、使用抓屏功能后):注册表项、文件、开放端口、开放句柄等是否有变化
- 使用TCPView查看恶意代码回连前后端口开放情况
- 使用Process Monitor查看实时文件系统、注册表和进程/线程活动
- 使用Process Explorer查看有关进程已打开或加载哪些句柄和 DLL的信息。
- 运用计划任务,设置每5分钟启用netstat命令,观察恶意代码回连前后端口开放、IP连接情况
- 使用wireshark在恶意代码回连前后进行捕包,分析数据
- 使用sysmon工具,设置配置文件监控主机可疑行为
基础问题回答
-
总结一下监控一个系统通常需要监控什么、用什么来监控
监控注册表信息、自启动信息、文件信息、端口开放信息、服务信息、进程信息、开放句柄信息等等;可以使用sysmon、TCPView、Process Monitor、Process Explorer等工具监控。 -
如果在工作中怀疑一台主机上有恶意代码,请设计下你准备如何找到对应进程、恶意代码相关文件
先在命令行使用netstat命令,检查是否有未知的程序进行了网络连接;选择Process Explorer工具,观察里面是否有这个未知程序在运行,并且查看其下使用什么其他程序以及dll等信息,判断它使用的DLL是否为敏感信息,使用的其他程序是否可信任;接着运行Process Monitor,看看该未知程序是否对注册表等有所动作,同时使用wireshark捕包,重点查看与未知程序进行网络连接IP的包,分析包内的信息是否为敏感信息。这样,我们基本上就能判断出该未知程序是否为恶意代码,以及与该程序有关的文件等。
实验总结与体会
在本次实验中,主要是对恶意代码的动态行为进行分析。通过使用Process Explorer工具、netstat命令等,可以很清楚的看到该恶意代码与控制端的网络连接与端口的开放情况;使用Process Monitor、Process Explorer可以比较清楚的知道目前机器上注册表、进程线程等情况,可以知道那个程序使用那些dll;使用wireshark捕获包,可以获知传输出去的包的内容,以内容的敏感性来判断是否是恶意代码的操作;对于使用systracer来分析机器前后变化是一种很方便的方式,轻松的就能知道对于文件、注册表、网络连接、开放端口、开放句柄、运行进程等是否有改变。当以后如果我们怀疑我们的电脑中病毒了,就可以选择以上方式来慢慢查看是什么软件在搞怪、搞怪了什么地方,而不再是只会简单的点击杀毒软件的杀毒按钮。
实践过程记录
使用TCPView查看恶意代码回连前后情况
- 回连后,恶意代码与控制端建立连接,5325端口被开放
使用netstat命令设置计划任务,每5分钟反馈,观察恶意代码回连前后情况
-
设置任务计划里的触发器:
-
设置任务计划里的操作:
-
回连后,发现已于虚拟机建立连接
使用systracer分析恶意代码回连前后情况
-
snapshot_ago:起始状态; snapshot_trans:恶意代码转移到被控机; snapshot_run:运行恶意代码; snapshot #4:控制端对主机进行抓屏
-
对比snapshot_ago与snapshot_trans,在主机上增加了一个文件
-
对比snapshot_trans与snapshot_run,正在运行恶意代码
-
对比snapshot_trans与snapshot_run,开启了与控制端的连接
-
对比snapshot_trans与snapshot_run,运行多条句柄,包括关于注册表、dll等的内容
-
对比snapshot_run与snapshot #4,打开句柄增加了与远程打印服务有关的内容
使用Process Monitor查看恶意代码回连前后情况
-
未观察到明显的有关该恶意代码的进程信息,但出现了很多explore.exe的进程注册信息
-
上网查后发现,explorer.exe是Windows程序管理器或者Windows资源管理器,它用于管理Windows图形壳,包括开始菜单、任务栏、桌面和文件管理,一旦删除会使
Windows图形界面无法使用。一旦发现本机中有过多的explorer.exe在运行并且所占CPU很大,那么很有可能是有病毒伪装成了explorer.exe
使用Process Explorer查看恶意代码回连前后情况
-
回连后,在explore.exe下出现恶意代码程序
-
再仔细查看其具体信息,发现已与一个地址进行了网络连接(这里就是自己的地址了)
-
观察该恶意程序使用的线程,发现ADVAPI32.dll,其与对象的安全性,注册表的操控以及事件日志有关
使用wireshark查看恶意代码回连前后情况
- 没有捕获到任何有关该恶意代码的信息,在本机和虚拟机XP都尝试了使用wireshark捕包,但都没有不到具体IP=控制端IP的包,难道是因为它默认接连地址是本机所以不往外传包?(在Process Explorer中可看出该恶意代码连接上控制端后,恶意代码显示的连接地址为localhost)
使用sysmon工具查看恶意代码回连前后情况
- 没成功安装sysmon工具
- 输入安装sysmon命令时,提示说要重新安装则需要先卸载,于是我以为电脑本身以前已安装好,想先查看查看配置,输入命令后却又提示说sysmon并没有安装