恶意代码分析

上次实验做的是后门原理与实践,里面已经大概讲了杀软的原理。同时也发现杀软很多时候不能识别病毒库中没有的病毒,这时候就需要自己对恶意程序进行分析了。基本的思路就是通过添加对系统的监控,查看监控的日志来分析哪些程序有可能是恶意程序,然后再对这些程序进行分析。

通常恶意代码会建立不必要的网络连接,或者是对系统关键目录进行修改。通过这些特征我们可以初步确定哪些程序有恶意代码的嫌疑,再将其提交到virustotal等网站上进行进一步的分析。

下面就利用几个简单的方法来实现对系统的监控。

通过批处理添加计划任务实施监控

cmd有很多指令可以直接获取电脑的网络状态,而且较为详细,我们可以通过netstat -bn来获取计算机的具体网络连接情况,包括了协议、本地地址、外部地址、状态和对应的进程,足够我们监控需求。可以将这句命令写入批处理文件然后设置其为任务计划自动运行来实现对网络端口的监测。

date /t>> netlog.txt  #写入日期
time /t >> netlog.txt  #写入时间
netstat -bn >> netlog.txt  #写入网络连接情况

将上面几行代码在记事本中保存下来,然后把后缀.txt改为.bat就可以运行了,之后可以在控制面板的计划任务里面添加新的计划任务,触发器设置为5分钟一次,操作改为运行我们的.bat文件就可以了。

下面是记录下的部分数据:

利用sysmon工具监控

首先去sysinternal官网下载一个Sysmon安装,安装需要一个配置文件,说明监控的内容及其他参数,这个文件我直接用了老师给的配置文件,里面的配置信息有以下内容:

1.对除了具有windows和microsoft的签名认证的程序以外的所有程序的驱动操作实施监控

2.对出了浏览器和127.0.0.1:137为原地址之外的所有网络连接进行监控

3.对explorer.exe、svchost.exe、winlogon.exe、powershell.exe等敏感程序实施线程创建监控,目的是监控后门的迁移

在"运行"窗口输入eventvwr命令(我是直接输的,这个命令在哪个目录输都可以的),打开应用程序和服务日志,根据Microsoft->Windows->Sysmon->Operational路径找到记录文件。

双击列出的事件就可以查看详细信息,如上图中可以看出我的搜狗输入法请求了网络连接。

然后我打开用kali虚拟机连上自己电脑后再进行一次migrate 到explorer下,完成操作后刷新sysmon日志可以找到下面两个监控,一个网络连接,一个线程创建。

恶意软件分析

1.特征库对比

将上面sysmon监控到的可疑文件上传到virustotal上扫描看看是否有安全威胁。

 

 一扫就看出问题了,16个杀软都能杀出来,所以这多半是一个木马程序。

2.systracer

利用systracer先给电脑照个快照,我选了部分文件添加快照。然后打开虚拟机用msfconsole连上主机,操控远程主机打开之前快照范围内的一张图片,然后再做一次快照,之后对两个快照进行比较,会发现有很多改变,在里面可以找到刚刚的操作造成的改变。从下图可以看出backdoor.png被打开之后HKEY_CLASSES_ROOT下的一个注册表就发生了改变。

 实验体会

这次实验要求比较简单,其实我觉得对恶意代码的分析是比较复杂的,但是这次实验只是要求做了一个基本系统监控,像是基于行为的方法来对恶意程序进行一轮最初的筛选。其实恶意代码分析我觉得可以做的很深,静态分析,动态分析都很复杂,需要很好的汇编基础才行,加上自己对入侵比较有兴趣,没再做更深入的研究。

posted @ 2018-04-12 20:49  郭溢才  阅读(3500)  评论(1编辑  收藏  举报