2019-2020-2 20175302闫君廷《网络对抗技术》Exp4 恶意代码分析

一、实践目标

  • 监控你自己系统的运行状态,看有没有可疑的程序在运行。
  • 分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。
  • 假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。

二、实践内容

  • 1系统运行监控
    (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。
    (2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。

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

  • 2恶意软件分析(1.5分)

分析该软件在
(1)启动回连
(2)安装到目标机
(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)
该后门软件:
(1)读取、添加、删除了哪些注册表项
(2)读取、添加、删除了哪些文件
(3)连接了哪些外部IP,传输了什么数据(抓包分析)

三、实验步骤

1. 系统运行监控:

使用schtasks设置计划任务

使用schtasks指令监控系统设置计划任务,每隔一分钟查看自己的电脑有哪些程序在联网,连接的外部IP是哪里,运行一段时间后分析该文件。
在C盘中创建一个netstat5302.bat脚本,写入以下内容

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

cmd.exe中输入
schtasks /create /TN netstat5302 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"

创建计划任务netstat5302,命令中TN是TaskName的缩写,sc计时方式,MINUTE以分钟计时,TR即Task Run,netstat要运行的指令,-b输出可执行文件名,-n以数字来显示IP和端口,最后输出重定向,将输出存放在c:\netstatlog.txt文件中。
在任务计划中编辑任务,将程序或脚本设为netstat5302.bat

一定要设置权限,不然运行着也没有用。。。

运行一段时间后将数据导入excel中整理统计,因为我开着任务玩了一会游戏,可以看到LeagueClient.exe等一些游戏客户端相关的应用联网活跃,还有后台疯狂运行的WPS,用过的浏览器QQBrowser.exe,还有一个SearchUI.exe,没想到这个后台疯狂运行的竟然是小娜(cortana),那必然是要跟他说再见了。

使用sysmon工具监控系统。

sysmon是由Windows Sysinternals出品的一款Sysinternals系列中的工具。它以系统服务和设备驱动程序的方法安装在系统上,并保持常驻性。sysmon用来监视和记录系统活动,并记录到windows事件日志,可以提供有关进程创建,网络链接和文件创建时间更改的详细信息。
通过收集使用Windows事件集合或SIEM代理生成的事件,然后分析它们,可以识别恶意或异常活动,并了解入侵者和恶意软件在您的网络上如何操作。
在官网上下载了Sysmon,根据老师教学文档和官网描述,编辑配置文件sysmon5302.xml

内容涉及

  • 进程创建包括cmd.exe的创建和除去chrome.exe
    文件更改时间除去chrome.exe
  • 网络连接除去chrome.exe、137端口、127.0.0.1回环IP,包括80、443端口
  • 远程线程创建记录Windows程序管理器或者文件资源管理器explorer.exe;从动态链接库 (DLL) 中运行的服务的通用主机进程svchost.exe;Windows用于管理用户登录和退出的winlogon.exe;为系统管理员设计的Windows命令行外壳程序powershell.exe


打开CMD,进入Sysmon所在位置,运行Sysmon64.exe -i sysmon5302.xml安装Sysmon
在事件查看器中进入应用程序和服务日志/Microsoft/Windows/Sysmon/Operational查看sysmon64的日志。
然后就可以看到乱七八糟的一篇日志,我意识到我的配置文件有问题。。。

于是我根据日志内容修改了一下配置文件,将QQ浏览器、腾讯安全管家和WPS加入了白名单,把那个chrome.exe去掉,因为我没有谷歌浏览器。。。
然后运行Sysmon64.exe -c sysmon5302.xml修改配置
发现我不想看的日志少了很多,但是还是有,我就很奇怪,卸载了再重新安装也不行,没有找解决办法。
运行后门程序与kali回连,sysmon没有看到相关后门程序的运行(?我好像没有事件1的相关日志)
进行相关操作也没有相关日志,倒是在kali中exit之后有一条Process terminated的信息。

在kali中qkill QQBrowser.exe然后我的QQ浏览器全都被关闭了,可以看到进程结束信息,但是没有跟后门相关的信息。

2. 动态分析

Wireshark抓包分析

运行了后门程序回连之后可以看到建立连接的三次握手,进行操作后也有大量包出现。不知道为啥我这会有out of order,查了一下是网络阻塞?我怀疑是防火墙的作用?

运行了一下screenshot,会有一堆包出现,仍然有out of order的包

Systracer快照查看

SysTracer是一款集成HIPS以及进程行为跟踪功能的安全辅助工具,它可以跟踪并监视进程对整个系统的修改行为,包括文件操作,注册表操作,内存操作和危险行为。SysTracer可以监视全部进程,或者用户指定的某一个进程及其子进程,并提供监视日志以帮助用户对特定进程的行为进行分析。
截了三个快照:

  1. 当前状态
  2. 后门程序回连
  3. 使用screenshot和webcam_snap

快照1、2对比可以看到运行程序5302exp2_backdoor.exe

快照2、3对比。。。就是一堆乱七八糟的东西我也看不懂。。。大概有一个文件使用的变化

后来网上查了一下摄像头开启需要三个dll文件,有一个是ksuser.dll,还有一个avicap32.dll,嗯我没有找,因为我把快照都删了。。。

3. 静态分析

virustotal扫描

可以看到具体细节信息,以及一些支持的dll文件(应该可以对照这个看快照内容分析),行为分析等内容。


四、实验感想

这次实验是对计算机状态进行监听与状态对比,操作上不算困难,难点在众多信息中找到异常信息,需要大量的了解计算机运行所调用的各种文件以及生成的副件,分析这些文件的变化就可以查看出计算机运行的异常,还要多多学习包括工具的更高级的使用方式和计算机运行原理。

五、问题回答

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

答:用这次实验学到的schtasks或sysmon对主机进行监听,整理日志信息。或者分时段进行快照对比。主要监听联网信息、输入设备(比如键盘、话筒、摄像头等)的异常启动。

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

答:通过systracer工具进行相关的分析,查看它对注册表和文件的修改。或者可以?用sysmon监听单个程序的运行?

posted @ 2020-04-17 17:18  Jerrold_Y  阅读(159)  评论(0编辑  收藏  举报