首页 > 技术文章 > 20145229吴姗珊 《网络对抗技术》 恶意代码分析

20145229ss 2017-03-29 21:39 原文

20145229吴姗珊 《网络对抗技术》 恶意代码分析

相关知识

基础问题

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

  • 由wireshark捕包总结可以通过对流量,端口开放进行监控,因为恶意代码很重要的就是它会运用网络资源进行一些数据传输,所以对流量的监控是非常有必要的
  • 通过之前的静态分析总结而来我们可以对注册表是否增删修改,日志信息是否有异常进程入手进行监控
  • 通过PE explore可以看到文件的头信息,节头,数据目录,可以从导入库中分析是否是恶意代码

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

  • 首先可以去http://www.virscan.org上进行扫描,有一个文件行为分析,可以看个大概
  • 用PEID查看是否加壳
  • 用systracer可以进行快照,然后对比哪里发生变化进而进行研究
  • 用wireshark进行流量抓包观察其程序动向

实验体会

这次的实验主要是利用之前生成的后门程序,用各种软件进行静态动态分析,在我看来最有趣的地方就是我知道它是一个后门程序,我用各种工具从注册表,是否加壳等方面入手,了解了它是怎样对我的电脑进行破坏的,虽然对电脑真的肉疼,但是过程还是很有意思的,觉得自己在剖析一个攻击者的手法,比较偏向于实际应用,引导我们一步步去发现谁是恶意代码,恶意代码是如何暴露了自己,过程很有趣。
好的说一点其他的问题,电脑要哭了!!每天都不给开防火墙不给杀软,每天都给它开后门!!太卡了!!所以后面的一些实验都是用手机拍图,希望不要介意,电脑太卡

基础知识

恶意代码

  • 恶意代码(Unwanted Code)是指没有作用却会带来危险的代码,一个最安全的定义是把所有不必要的代码都看作是恶意的,不必要代码比恶意代码具有更宽泛的含义,包括所有可能与某个组织安全策略相冲突的软件。
  • 恶意代码又称恶意软件。这些软件也可称为广告软件(adware)、间谍软件(spyware)、恶意共享软件(malicious shareware)。是指在未明确提示用户或未经用户许可的情况下,在用户计算机或其他终端上安装运行,侵犯用户合法权益的软件。与病毒或蠕虫不同,这些软件很多不是小团体或者个人秘密地编写和散播,反而有很多知名企业和团体涉嫌此类软件。有时也称作流氓软件。

恶意代码分析

  • 静态分析基础技术(计算程序MD5值,检索M5值获取信息/查看可疑代码资源节获取特征)

  • 动态分析基础技术(配置“沙箱”环境/Dll类型文件的启动运行)

  • 本次分析的为msf生成的后门软件,就是实验二里生成的,当时删掉了所以重新生成了一个ss5229.exe

  • 静态分析
    1.特征库比对,将ss5229.exe提交至http://www.virscan.org进行分析,如下图所示

    被20个杀软检测出来了,很明显是恶意软件,接下来查看具体行为分析

  • 分析:
    如图,通过加壳,删除注册表,创建套接字连接,检测自身是否被调试都可以分析得出是一个恶意软件

2.查看PE文件头中包含的代码信息

  • 进入PE后打开ss5229.exe,查看了文件头信息,节头,数据目录,以及引入的库


分析:

  • 前面两个也没看出啥东西来,百度也没什么问题,百度了无数次发现了引入的库有问题

  • 如下图,advapi32.dll跟注册表操作有关,这就很尴尬了,至少有风险

  • wsock32.dll,Windows Sockets应用程序接口,创建连接危险

  • advapi32.dll也牵涉到注册表的操作,日志的修改,所以也是高危引用库

  • 前面两个.dll库没有大问题,msvcrt.dll是微软在windows操作系统中提供的C语言运行库执行文件;kernel32.dll是Windows 9x/Me中非常重要的32位动态链接库文件,属于内核级文件。它控制着系统的内存管理、数据的输入输出操作和中断处理

  • PEiD
    使用PEiD来分析我们的ss5229.exe是否加壳或者用什么编译的

    通过上图我们看到它啥都没有查出来,这很尴尬,通过百度说它啥编译器的问题,那我们从另一个角度入手,反汇编,如下图

  • 动态分析
    1.SysTracer进行分析

  • 首先在kali中进行监听,保存为Snapshot #1,听同学说她快照照了20秒就结束了,反正我现在照了15分钟了还没结束,呵呵呵

    好的,经过了17分钟终于结束

  • 现在点击ss5229.exe进行回连,成功后进行Snapshot #2 ,就不进行截图了,电脑真的太卡了,待会附对比图

  • 现在对靶机进行截图,然后进行快照Snapshot #3

  • 完成了所有的快照,接下来进行对比,1和2对比很明显的有ss5229.exe

  • 对比2,3的注册表以及程序,明显有了删除的痕迹,踪迹非常明显

2.wireshark流量捕包

  • 在kali和靶机之间进行通信时,我们使用wireshark来捕包进行数据分析
    kali ip:192.168.222.128 主机ip:192.168.2.123
  • 如图所示我们捕获到了大量的三次握手的包(由于截图来回太卡了所以用手机拍了,不是特别清晰)
  • 当我这边已经回连成功进行截频的时候,wireshark捕到大量包

3.任务计划(电脑太卡了截图工具崩了!!!所以拍照了!!)

  • 进入计算机/管理/任务计划,然后创建新的任务计划,命名netstat5229,触发器设置为5分钟执行一次

  • c盘下创建文件夹5229,编写脚本为netstat5229.txt,保存后后缀改为bat

  • 将任务计划操作设为我们的netstat5229.bat,参数为 >>c:\5229\netstat5229.txt

  • 运行任务生成5229.txt

  • 然后我们就可以看txt里面的东西了,上面就是说我没有权限然后啥都不给我看,然后看有些同学的博客就说在新建任务那里点最高权限就可以,天哪噜我设置了还是没有权限,所以我打开了百度!!要右键点击管理员权限!!没有权限的朋友让我看到你们的双手,所以怎么说呢,遇到问题还是得自己解决,毕竟每个人电脑不一样遇到的问题不一样所以要独立思考呀

  • 说到解决问题的方面,好多同学用的NAT模式但是有的时候虚拟机崩了然后它就没有ip了!!!提供一个解决的方法,请点击你电脑里服务,查看VMWARE那几个有没有运行,然后你手动运行一般就解决了没有ip的问题,都不用重启!非常方便!

4.sysmon

  • 安装的地方最重要的就是管理员权限的问题,使用右键在菜单里选择管理员权限
  • 然后输入命令,后配置xml,然后跳出来错误,黑人问号,百度了好多,翻遍了同学的博客都没有得到解决

推荐阅读