网络对抗 Exp4 恶意代码分析 20154311 王卓然
Exp4 恶意代码分析
一、实践目标
1.监控自己系统的运行状态,看有没有可疑的程序在运行。
2.分析一个恶意软件,分析Exp2或Exp3中生成后门软件。
二、实践步骤
1.系统运行监控
使用 netstat 定时监控
首先创建一个txt文件,用来将记录的联网结果按格式输出到netstatlog.txt
文件中,内容为:
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt
更改后缀名为bat(批处理文件),右键开始菜单打开命令提示符(管理员模式,不然权限不够)输入指令 schtasks /create /TN 20154311(任务名) /sc MINUTE /MO 2 /TR "c:\20154311.bat(上面创建的文件) 创建间隔2分钟的计划任务。
(或者在控制面板版—计划任务中创建一个触发器为”按预定计划“,重复间隔自己设定,操作中程序选中上面创建的文件的定时任务)。
过一段时间等收集到足够多的数据后,创建一个excel在数据选项卡中选择导入数据,选中保存的netstatlog.txt文件,设置使用 分隔符号 ,并勾选全部分隔符号。
单击数据透视表,选中进程那一列,创建到新的工作表中,把字段拉到行和值中,选为计数,就得到各进程的活动数了(注意把不需要统计的行勾掉)。
我们可以转化为柱状图,更为直观简洁
没有可以进程,我的电脑还是挺安全的(et.exe是wps表格进程)。
再看看外部网络连接
相比进程多了好多,应该是浏览器浏览不同地址造成的。
使用 sysmon 工具监控
首先配置sysmon,创建一个txt文件,输入配置信息,可根据个人需求增添删改。
管理员模式运行cmd,用cd指令转到sysmon目录,输入指令 sysmon.exe -i 20154311.txt(如果配置文件与sysmon.exe不在同一目录,需要输入配置文件的目录),跳出安装窗口后同意完成安装。
启动sysmon之后可以在 右键我的电脑——管理——事件查看器——应用程序和服务日志——Microsoft——Windows——Sysmon——Operational 查看日志文件。
找到了我自己启动自己制作的后门文件
然而从他给我提供的信息我感觉并看不出来有啥不一样的,并不知道如何判定为后门文件,就有一点它的PARENTIMAGE(源镜像?)那一栏写的是explorer.exe(程序管理和文件资源管理程序,没了他就没桌面了)和sysmon本身一样,百度了一下explorer是很多病毒喜欢伪装或感染的对象,可能我的后门程序主要就是通过explorer来达到控制的目的的吧。
添加端口号、进程创建、文件创建时间的监察,使用指令 sysmon.exe -c 20154311.txt 更新配置
除了自己的后门文件外,并没有其他的可疑进程,safe?!。
2.恶意代码分析
使用virscan分析恶意软件
在virscan网站上对上次实验中C语言调用shellcode直接编译的后门文件做行为分析
可以看到攻击方主机的部分IP及端口号,且说明了有删除注册表键和键值、检测自身是否被调试以及创建事件对象的行为。(还是可以的)。
使用SysTracer分析恶意软件
使用systracer工具建立4个快照,分别为:
snapshot#1 后门程序启动前,系统正常状态
snapshot#2 启动后门回连Linux
snapshot#3 Linux控制windows在其D盘目录下创建一个文件
snapshot#4 关掉后门,断开连接后,主机状态
先对比下1,2两种情况
把Only differences勾上,这样会只显示前后两种状态更改的内容,更方便我们查看。
可以看到打开后门后修改了以上三项注册表的内容,在应用(Application)——打开端口(Opened Ports)中能看到后门程序回连的IP和端口号。
接着对比下2,3两种情况
在原来的基础上原来的三个注册表都有修改,还多修改了一项HKEY_CLASSES_ROOT
增加了一个文件,就是我们操作创建的。
文件内容也和我们编写的一样(不过我的回车被吃了...)。
接着对比下3、4两种情况
注册表还有改动,难道是为了掩饰又改回去了?(变动太多,也看不太懂)其他的倒是没什么差别。
使用PEiD分析恶意软件
使用PEiD
软件可以查看恶意软件的壳的相关信息,以及其所使用的编译器版本,我用上次实验upx加壳生成的后门文件为样本检测。
加壳信息一目了然,好废啊~~加壳~~。
使用Process Monitor分析恶意软件
启动后会抓到非常多的进程数据,可以点出工具——进程树便利查看,多了堆栈信息,然而好像其他的具体内容不多。
不过能看出我的后门程序运行起来后确实与explorer.exe有很大的关系
在进程树中找到后门进程右键转到事件,可以在主窗口中找到程序,能直接看到回连的IP地址和端口号然而这次IP地址没显示,显示为bogon,百度了下说是不该出现在路由表中的地址,出现了则说明被攻击了或被蹭~网~了,有趣,总之有出现的话就小心点。
在进程信息中的模块里找到 advapi32.dll 百度说是包含函数与对象的安全性、注册表的操控以及与事件日志有关,还是很重要的一个dll文件,一个无关程序莫名与其挂钩,就很值得引起我们怀疑。
使用Process Explorer分析恶意软件
打开process explorer后,接着运行后门程序回连,发现我的后门程序以紫色高亮身份显示(莫不是被查出来了?!)
双击点开进程,在TCP/IP选项卡中可以看到回连的Linux的IP地址和端口。
使用TCPView工具分析恶意软件
后门运行时直接打开 tcpview 工具,可以直接找到后门进程
可以直接看到后门程序连接的IP地址及端口号。
三、实验后问题回答
(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
答:①可以通过设置定时计划任务,使用 netstat 指令将主机中的网络连接活动迹象都记录下来,逐一筛选
②可以使用sysmon工具,有选择的编写配置文件,将主机中各个进程的活动记录下来,能更加省时省力。
(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
答:①可以使用systracer工具,对比进程运行前后,系统中的变化情况,从而得知它的行为活动信息。
②可以使用process explorer工具,查看该进程的网络连接情况,以及线程、执行等信息。
四、实验心得与体会
这次实验主要是需要学会看懂各个监控,分析工具中数据的代表意义,才能有效的分析和判断出是否为恶意程序,工具的使用本身倒不难,然而这些数据却也偏偏就是最大的难题,需要我们多查多理解,当然同时也对我们大有裨益。