码迷,mamicode.com
首页 > 其他好文 > 详细

20145326蔡馨熠《网络对抗》——恶意代码分析

时间:2017-03-29 22:42:39      阅读:332      评论:0      收藏:0      [点我收藏+]

标签:deb   可读性   src   计算机   编译器   ip地址   连接数   截屏   browser   

20145326蔡馨熠《网络对抗》——恶意代码分析

1.实验后回答问题

(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所以想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。。

  • 需要监控什么?

    • 系统中各种程序、文件的行为。
    • 还需要注意是否会出现权限更改的行为。
    • 注册表。
    • 是否有可疑进程。
    • 如果有网络连接的情况,需要注意这个过程中的IP地址与端口。
  • 用什么来监控?

    • 最先想到的肯定是使用wireshark抓包了,再进行进一步分析。
    • Sysinternals是一个工具集,其中有许多实用的工具,功能非常丰富强大,比如我们可以用TCPview来查看系统中的TCP连接的进程,还能用sysmon来监视和记录系统活动,并记录到windows的事件日志里。
    • 可以用PE explorer查看PE文件编译的一些基本信息,导入导出表等,还可以看到该文件的编译时间、链接器等基本信息。
    • Dependency Walker是一款专门分析函数依赖的工具软件,我们可以借助它来分析是否有关于注册表的异常行为等。

(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。

  • 先用像“VirScan”这样的扫描工具来扫描一个大概情况,然后再借助相关工具分析可疑的程序。
  • 使用TCPview查看系统中的使用TCP连接的进程,看是否有异常,结合wireshark抓包分析。
  • 使用Dependency Walker来分析是否有关于注册表的异常行为等。
  • 使用systracer进行快照对比。
  • 使用PEiD查看可疑软件是否加壳。
  • 使用PE explorer或PE Browser professional来反汇编可疑的软件,进行分析。也可以使用WinHex来进行字段分析,看是否有可疑行为。

2.实验总结与体会

  • 这段时间真的是学到不少东西,从最开始做一个基本的后门程序,到逐步实现免杀,再到现在的恶意代码分析。真的感觉很爽!很有成就感!老师最开始主要讲的是如何攻击靶机,男孩子当然比较感兴趣,哈哈哈,现在又教我们如何进行恶意代码的分析,我最开始觉得没意思,觉得很无聊,但是仔细一想,还是很有必要掌握这块知识的。你们想想,我们不能保证不受到来自外界的攻击吧,而且在日常生活中,我们都是以“防”为主,不会说是主动去“攻击”别人吧,几乎不会,概率太小了。所以要学会基本的恶意代码分析,保护自己主机的安全。而且,我们换个角度看,你都知道一般的防范措施了,那某一天你如果要攻击别人,是不是更得心应手,成功率更高啊。哈哈哈!!恶意代码的免杀和恶意代码的分析可以说是相辅相成的。

  • 在大多数情况下进行恶意代码分析的时候,我们只有恶意代码的可执行文件本身,而这些文件本身不具有可读性。为了理解这些文件背后的含义,我们需要使用各种工具和分析的技巧。

  • 恶意代码分析有两类基本方法:

    • 静态分析:是一种在没有运行恶意代码时对其进行分析的技术,可以结合相关工具直接的观察。
    • 动态分析:相比较静态分析而言,需要运行恶意代码,通过其产生的动态行为与数据进行分析,从而确定其具体行为,也需要结合相关工具。

3.实践过程记录

恶意代码的静态分析

VirScan

  • 我先用VirScan扫描一下我上次实验用到的后门程序。

技术分享

  • 点一下“文件行为分析”,我们可以详细地察看这个程序是否有敏感行为,根据扫描结果得知,该文件有网络连接的行为,自行删除注册表键值的行为。

技术分享

  • 利用相关软件,协助分析。《计算机病毒》课程的庞岩梅老师之前给我们讲过相关知识,也介绍过一些软件,这里可以活学活用。毕竟学科之间是有联系的啊~

PE explorer

  • 首先是PE explorer这款软件。我们可以用它查看PE文件编译的一些基本信息,导入导出表等,还可以看到该文件的编译时间、链接器等基本信息。在“导入表”中,可以查看该文件调用的dll文件库。

技术分享

技术分享

  • WSOCK32.dll和WS2_32.dll,这两个dll文件,是用来创建套接字的,如果这个程序没有网络连接的功能,那么在其动态链接库中就不可能有这两个dll文件。ADVAPI32.dll是一个高级API应用程序接口服务库的一部分,包含的函数与注册表的操控以及事件日志都有关。另外2个dll文件不做过多介绍,属于一般程序在win下都会调用的dll库。

PEiD

  • PEiD是一款著名的查壳工具,其功能强大,几乎可以侦测出所有的壳。 一般正常的软件是不会加壳的吧,而恶意代码为了伪装自己,其中一种常用方式就是加壳,通过加壳来达到不被杀软察觉的目的。

技术分享

  • 显示的是“什么都没找到 [调试] ”,我晕,什么情况。点“Set Info”看看。后来发现其实不是这样的,正常的编译肯定会显示编译器的,既然没找到,说明不能识别该编译器,一点进去发现,这个恶意代码加了UPX压缩壳!

技术分享

Dependency Walker

  • Dependency Walker是一款专门分析函数依赖的工具软件,可以查看PE模块的导入模块,还可以查看PE模块的导入和导出函数。我们从中可以发现,该可执行文件可以对注册表的确进行了删除操作!! 并且确实有网络连接的功能!!!

技术分享

技术分享

技术分享

PE Browser Professional

  • PE Browser Professional可以对恶意代码进行反汇编。使我们更直观的观察恶意代码,我们可以结合Debug日志、各个寄存器的值、进程信息来深入研究。

技术分享

技术分享

技术分享

技术分享

恶意代码的动态分析

  • 相比较静态分析而言,需要运行恶意代码,通过其产生的动态行为与数据进行分析,从而确定其具体行为,也需要结合相关工具。

SysTracer

  • Sysinternals是一个工具集,其中有许多实用的工具,功能非常丰富强大。
  • 操作步骤:

    • 准备一台kali攻击机,一台Win7靶机,SysTracer2.10分析软件;
    • 打开攻击机进入msfconsle,开始监听;win7下对注册表、文件、应用情况进行快照,保存为Snapshot #1;
    • win7下打开木马程序,回连kali,win7下再次快照,保存为Snapshot #2;
  • 技术分享

    • kali通过msf发送文件给win7靶机,win7下再次快照,保存为Snapshot #3;
  • 技术分享

    • kali中对win7靶机进行屏幕截图(也可以是其他操作),win7下再次快照,保存为Snapshot #4。
  • 技术分享

    • 我们可以通过“compare”操作来比较每次快照文件的区别。

技术分享

  • 我们先对比一下Snapshot #1和Snapshot #2.可以看到注册表里面出现了新的表项,开放了新的端口。

技术分享

  • 再对比一下Snapshot #2和Snapshot #3.可以发现注册表有了增减,开放端口也有了变动,恶意代码的踪迹越来越明显了。

技术分享

  • 最后对比一下Snapshot #3和Snapshot #4.可以发现启动回连时注册表发生变化了,截屏时注册表也发生了一些变化。

技术分享

技术分享

使用WireShark抓包分析

  • 我对回连过程进行了WireShark抓包,可以看到靶机与攻击机三次握手建立连接,含有大量的TCP连接数据包。

技术分享

  • 抓包结果中绝大部分数据包是主机与靶机之间的TCP通信包,还有一些是DNS包和ARP包。

技术分享

技术分享

  • 还可以看到传输截屏数据的数据包,就是这些长度较大的PUSH ACK包。厉害吧~~~!

技术分享

TCPview

  • 使用TCPview可以查看系统中的TCP连接的进程。

技术分享

安装并使用Sysmon

  • 首先有个问题,那就是安装sysmon工具的时候需要管理员权限,所以在安装前,我们需要使用管理员权限来打开cmd.exe,打开方法就是右键cmd程序在菜单中选择管理员权限。安装的时候不能盲目参考老师给的教程,比如版本号应该改为3.10!而不是3.20!!!

  • 快速安装

技术分享

  • 配置xml文件,并使用sysmon -c查看配置;

技术分享

技术分享

  • 然后我们可以在“Applications and Services Logs/Microsoft/Windows/Sysmon/Operational”下找到事件日志,从而进行分析。

技术分享

设置任务计划

  • 首先我们进入计算机-管理-任务计划,创建一个任务计划,命名为netstat5326。触发器我们选择每天每隔5分钟执行一次。

技术分享

技术分享

  • 我在F盘下创建了一个文件夹:5326cxy,在这个文件夹下写一个脚本。也就是说在5326cxy文件夹下创建一个netstat5326.txt。随后将后缀改为“.bat”。

 

技术分享

技术分享

  • 看任务计划中的操作选项栏,启动程序设为我们的netstat5326.bat,参数为>>f:\5326cxy\netstat5326.txt,这样我们的网络记录信息netstat5326.txt就会保存在C盘5326cxy文件夹下。

 

技术分享

技术分享

  • 这个时候就创建完成了,设置管理员权限并运行这个任务。

技术分享

20145326蔡馨熠《网络对抗》——恶意代码分析

标签:deb   可读性   src   计算机   编译器   ip地址   连接数   截屏   browser   

原文地址:http://www.cnblogs.com/cxy1616/p/6641873.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!