20174304王天政《网络对抗技术》Exp4 恶意代码分析

一、实验要求

1.1实践目标

1.是监控你自己系统的运行状态,看有没有可疑的程序在运行。

2.是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。

3.假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。

1.2实践内容

1.2.1系统运行监控

(1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。

(2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。

实际日志的分析还需要发挥下自己的创造力,结合以前学过的知识如linux的文本处理指令等进行。分析的难点在于从大量数据中理出规律、找出问题。这都依赖对结果过滤、统计、分类等进一步处理,这就得大家会什么用什么了。

 1.2.2恶意软件分析

分析该软件在(1)启动回连,(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件

  • 读取、添加、删除了哪些注册表项
  • 读取、添加、删除了哪些文件
  • 连接了哪些外部IP,传输了什么数据(抓包分析)

二、实验过程

2.1 系统运行监控

2.1.1计划任务

创建4304netstat.txt文本文件,

文件中内容如下:

date /t >> c:4304netstat.txt
time /t >> c:4304netstat.txt
netstat -bn >> c:4304netstat.txt

然后将文件另存,把后缀名修改为bat,变为4304netstat.bat 文件:

   

【控制面板】->【系统与安全】->【管理工具】->【任务计划程序】

【创建任务】->【使用最高权限】

新建触发器

新建操作,选择刚刚新建的.bat文件

新建完后可以看到任务

 

运行任务之后,开始记录后台的数据,其中保持电脑的正常使用,大约一个小时之后,打开4304netstat.txt文件,查看里面的内容

使用excel的数据处理功能,导入文档的数据,生成数据透视图。具体操作参见https://www.cnblogs.com/zjy1997/p/8824717.html#4.1

2345RTProtect是驱动保护程序。backgroundTaskHost网上搜了好像是照片应用进程,不太清楚干啥的。cloudmusic应该是网易云音乐。DingTalk大家,,,都懂得,,,钉钉。OfficeClickToRun网上看到说是一种用于高速Internet连接的流式技术。Pic_2345Svc貌似是2345的看图王???emmm装系统的时候2345不知怎么搞进来了,似乎是没在官网下Win10系统的原因吧,流氓软件。。。qmbrowser应该是qq浏览器吧,不记得下载过。然后QQMusic是qq音乐,和网易云音乐互补的。QQProtectUpd应该是QQ安全防护进程。SearchUI是小娜的搜索进程,不太清楚干嘛的。SGTool 是搜狗输入法的加速启动程序。smartscreen貌似是什么筛选器。SogouExplorer我最常用的搜狗浏览器。svchost是微软Windows操作系统中的系统文件。TXEDU腾讯课堂。。。WeChat微信。winhost是一个篡改器程序,会篡改Internet Explorer首页,并在桌面创建链接指向其合作伙伴。最后wps的两个东西。是时候卸载一些东西了。。。

2.1.2sysmon工具监控系统

官网下载SysinternalsSuite.zip并解压,选择Sysmon64.exe

创建sysmon20174304.xml,以文本文档方式打开输入代码保存并退出

以管理员身份运行cmd,在Sysmon64.exe目录下执行Sysmon64.exe -i sysmon20174304.xml,在弹出的对话框中勾选【agree】,安装完成。

【事件查看器(本地)】-【应用程序和服务日志】-【Microsoft】-【Windows】-【Sysmon】-【Operational】查看根据配置信息sysmon20174304.xml记录的进程信息进程号 路径等系统信息

  

  

2.2 对于恶意软件的分析

2.2.1反编译、反汇编(PE Explorer工具)

   文件头信息:

调用的DDL文件,而且指出了DDL文件调用的函数。

msvcrt.dll是微软在windows操作系统中提供的C语言运行库执行文件;kernel32.dll是非常重要的32位动态链接库文件,属于内核级文件;wsock32.dll是Windows Sockets应用程序接口,用于支持很多Internet和网络应用程序;ws2_32.dll是Windows Sockets应用程序接口, 用于支持Internet和网络应用程序。

2.2.2文件格式识别(peid工具)

先看一下没有加壳的后门程序:

 再看一下加过压缩壳的后门程序:

 再看一下加过加密壳的后门程序:

 通过上面的对比可以看出,使用壳加密后这个软件就不能查到了。

2.2.3 文件扫描(VirusTotal)

https://www.virustotal.com/gui/home

操作都是上个实验的

 2.2.4 SysTracer

下载SysTracer并安装,选择中间的选项

 端口设置为4304

这里选择四个快照进行:

  • 在打开后门前先快照一下,选择->take snapshot,完成后显示Snapshop #1
    •   
  • Kali开始监听,Windows运行后门后,回连成功后拍摄快照,完成后显示Snapshop #2
    •   

  • 在kali中使用MSF截屏操作screenshot,完成后显示Snapshop #3
    •  

  • 结束连接后exit退出,快照,显示Snapshop #4
    •  

右下角对比1和2【Applications】->【Running Processes】

2中多出下图内容

Opened Handles 可视的后门程序的入侵

 Opened Ports 查看回连地址及端口号

 点击Rigistry 通过对比也很容易发现注册表的变化(不指是颜色不一样。。。里面会出现old和new的区别)

  •  HKEY_CLASSES_ROOT:这个项包含所有的文件类型,文件关系,图标文件名,com对象等信息。
  • HKEY_CURRENT_CONFIG :此项主要记录PNP设备及硬件的设置值。
  • HKEY_CURRENT_USER:这个项保存了目前登陆的用户文件,以及个性化的设置,如桌面外观,软件设置,开始菜单等。会随着登陆的用户不同而有所改变。
  • HKEY_LOCAL_MACHINE:这个项保存了绝大部分的系统信息,包括硬件配置,网络设置,以及你所安装的软件等,是注册表里最重要也最庞大的项,当你用设备管理器更改了硬件的设置时,这个项里的文件也会跟着变动。
  •  HKEY_USERS:所有WINDOWS用户的文件都会记录在这个项里面,每个用户会有自己的项以保存个人设置。

随意查看一项有变化的,view一下可以发现注册表的许多变化

 对比一下三四发现后门程序断开连接,操作与对比1和2时相同

 

 

 2.2.4 抓包分析(WireShark工具)

开始捕获,然后回连,然后停止捕获,查看捕获数据包

 通过分析可以看出后门程序使用的通信方式为TCP传输。在被植入后门的Windows主机入侵时,主机与虚拟机首先进行了完整的三次握手,并且可以明显看出是从4304端口传输的数据。

连接成功时,在kali虚拟机上进行dir指令。wireshark抓包为

 从数据包中可以看到源IP、目的IP、源端口、目的端口以及传输的数据,双方传递了大量的tcp数据包,该数据包的内容为dir相关的信息。

三、实验心得

3.1实验后回答问题

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

  • Sysmon,编写监控的端口、注册表信息、网络连接等信息,在事件查看器中的日志查看有无异常事件
  • Process Explorer,查看系统中是否存在可疑进程,监控查看进程执行情况,文件系统、注册表活动
  • Systracer拍摄几个时间点的快照,对比不同时间的快照,查看是否有可疑的增删注册表、启动项的行为
  • wireshark查看自己计算机的端口开放情况,监视其与主机进行的通信过程,查看是否有多余端口进行可疑的数据传输。

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

    • Virstotal分析软件
    • PEiD查看程序加壳
    • wireshark查看运行时传输信息的方式以及内容、端口以及目的地址,监视其与主机进行的通信过程
    • Systracer工具拍摄快照,通过对比状态查看其对注册表和文件的修改

 3.2实验总结与体会

本次实验难度不是很大,相较于前几次要好一些,结合了之前回连的内容,只需要按部就班一步一步耐心地做就好,但问题在于对于一些东西并不能看懂,比如注册表信息、进程文件等一些东西。恶意软件分析中的静态的部分比较好操作,但是动态比较麻烦,systracer需要通过两个状态的对比,这就比较麻烦了,虽然这么操作确实有效果,但对方从我开始拍照之前就开始监听,我岂不是没法通过拍照发现,也可能是我理解的比较浅显吧。不过本次实验的实用性确实较强,可以有效的帮助我们发现一些恶意软件(只要我们能理解那些各种各样的语句。。。)

原文地址:https://www.cnblogs.com/wtz0409/p/12704519.html