2015306 白皎 《网络攻防》Exp4 恶意代码分析
- netstat 【Mac、Linux、Win】
- sysinteral 【MS】:1 2 3
一、系统监控——Windows计划任务schtasks
1.创建计划任务,使系统每5分钟自动检测到哪些有哪些程序在连接我们的网络。
注:任务将创建于当前登录的用户名文件夹下。
C:schtasks /create /TN netstat /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c:
etstatlog.txt"
TN:Task Name,本例中是netstat
SC: SChedule type,本例中是MINUTE,以分钟来计时
MO: MOdifier
TR: Task Run,要运行的指令是 netstat -bn,b表示显示可执行文件名,n表示以数字来显示IP和端口
2.我们在C盘要目录下建一个文件c: etstatlog.bat,并在其中编辑如下内容:
date /t >> c:
etstatlog.txt
time /t >> c:
etstatlog.txt
netstat -bn >> c:
etstatlog.txt
同时,我们要自己C盘根目录下建立netstatlog.txt,为了更直观的看到检测到的程序的情况,我们打开图形界面中的计划任务,将netstatlog.txt替换为c: etstatlog.bat。具体方法:双击netstatlog任务——操作——编辑——程序或脚本——浏览目录(选择c: etstatlog.bat)——点击确定。然后运行任务~
这样,我们就可以在netstatlog.txt中会看到如下的内容,不仅有进行的IP,相关的协议等等还有具体的时间啦~如下图所示。
3.下面我们开始正式的数据分析!
第一步,我们要将netstatlog.txt的内容导入到Excel中。我使用的是WPS,依次点击:数据(选项卡)——导入数据——直接打开数据文件——选择数据源(找到netstatlog.txt所在文件夹,并选中)——打开。
4.将文本进行分割成excel表。
- 文件转换页面直接“下一步”【这里有一个预览效果,我们可以看到不管选哪一个,下面显示的都是中文,所以这个无所谓哒】
- 这个比较重要!文本导入向导步骤1 ,文件类型一定要选择分隔符号;步骤2,分隔符号选择空格;步骤三,选择常规。
最后点击完成,就可以看到数据导入成功啦~
4.通过学习学姐的博客,以及网络上关于Excel中数据计数的方法,还是数据透视工具比较方便快捷!之前像我一样没有接触过的同学们可以参考教程 如何在excel中做数据透视表
哦~跟着步骤一步一步来,很容易就得到清晰地数据统计哒!如下图所示,记录的连接我得进程及其次数。
- 我们看一下这些程序。首先连接次数非常非常多的SogouExplorer.exe(搜狗浏览器)和YoudaoNote.exe(有道云笔记)哈哈,因为我正在边做实验,边写博客,边查资料哦;
- 接下来,比较多的是QQPCTray.exe,它是qq电脑管理程序软件。该程序是对用户的系统进行安全检测、修复漏洞及木马查杀等功能。(因为我的电脑安装了电脑管家,所以是正常的,他在保护我的电脑)
- 下一个层次的连接大概在几十次左右,分别有SGTool.exe(搜狗输入法),以及kminisite.exe(这个居然是金山毒霸的一个小程序,但我已经完全卸载金山毒霸了呀?那为什么这个小程序还在,可怕,我还是赶紧卸载)
- 最后一点,我真的发现自己电脑里的病毒:wuauserv,是一个病毒进程,表现的方式就是无法显示计算机中隐藏的文件和文件夹。
于是,我把该进程的ip筛选出来,并进行批量查找,结果如下:
最后,因为好奇心,把所有的ip都查了一遍,发现真的是五湖四海哈哈
二、系统监控——Sysmon工具
Sysmon是微软Sysinternals套件中的一个工具,能监控几乎所有的重要操作。
- Sysmon安装配置
1.根据在实验指导中的链接Sysinternals套件,下载Sysinternals Suite,然后解压。
2.接下里,我们来新建并编辑配置文件C:Sysmoncfg.txt。exclude相当于白名单,里面的程序或IP不会被记录,include相当于黑名单,大家可以把自己想监控的写到黑名单中~
3.下面,我们来安装sysmon:
sysmon.exe -i config_file_name.(配置文件所在位置)
注:配置文件修改后,需要用指令更新一下:
sysmon.exe -c config_file_name。
4.一切就绪,我们就可以查看日志啦。依次次打开 :开始——事件查看器——应用程序和服务日志——Microsoft————Windows——Sysmon——Operational,既可以看到如下图所示的信息啦:
- 不同事件ID分析
5.可以看到系统一些具体活动。
事件识别码1 :进程建立
事件识别码2 :进程更改了文件创建时间
事件识别码3 :网络连接
事件识别码4 : Sysmon服务状态已变更
事件识别码5 :进程已终止
事件识别码6 :已载入驱动程式
事件识别码7 :已载入影像
事件识别码8 :创建远程线程
事件识别码9 : RawAccessRead
事件识别码10 :进程访问
事件识别码11 :文件创建
事件识别码12 :注册事件(创建和删除对象)
事件识别码13 :注册事件(值集)
事件识别码14 :注册事件(键和值重命名)
事件识别码15 :文件创建流哈希
事件识别码255 :错误
-
可以看到事件识别码是3,是网络连接“搜狗浏览器”
-
这个事件识别码是1, SynTPEnh.exe是笔记本电脑触摸板相关程序。在使用触摸板时,建立进程。
- 该进程事件识别码是5,终止进程,SearchProtocolHost.exe是MirosoftWindowsVista桌面搜索协议信程序。
- 监控后门连接
6.我试着通过周三实验课的后门程序,用我的kali虚拟机来对我的windows主机进行控制,获取shell,然后通过Sysmon来监控,果然监控到啦。下图是我的回连情况,攻击机kali虚拟机IP:192.168.152.128,使用的端口号是5706。在连接之前,首先要修改配置文件,把后门程序要写到配置文件中,否则是无法监控到的。
下面我们一步步分析:
- 首先打开事件查看器查看日志,我们可以直接搜索cmd.exe。【一般来说,当攻击机的监听进程将获得Win主机的主动连接,并得到远程控制shell之后,搜索事件查看器的cmd.exe第一条就是通过后门程序打开的命令行。但不是也没事哒,我们可以按照下面的截图一步步去查找。】
-
我们查看cmd.exe的详细信息,可以看到父映像是是我的后门程序sctest1.exe,这说明是通过sctest1.exe来打开被攻击机的命令行。
-
我们继续往下看,事件sctest1.exe没有父映像,他的源IP是192.168.152.1 【这是我windows主机的IP】,目的IP192.168.152.128【攻击机kali虚拟机的IP】,目的端口号是5706【即5306+400】。这详细而又充分的体现了我们通过后门程序控制windows的过程!!
- 接下来,我们看看,父映像是cmd.exe的映像是什么?从下图我们可以看到是conhost.exe。
- conhost.exe的全称是Console Host Process, 即命令行程序的宿主进程。简单点说,就是当我们打开命令行cmd.exe的窗口后,就会在Windows任务管理器中发现有一个Conhost.exe进程的存在。详细介绍可以查看文档 Conhost.exe是什么进程?
在这里我们有一个新发现,电脑是64位的,但我们用后门打开的win主机的命令行是32位的。并且,我们发现cmd在两个不同的文件夹。查资料后发现:
WindowsSysWOW64 文件夹下存放32位的库和应用程序 。
WindowsSystem32 文件夹下存放64位的库和应用程序
可参考文档 Windows下的SysWow64和System32。
三、恶意软件分析
- 使用virscan分析恶意软件
1.在virscan网站上查看上次实验检查所做的后门程序。
- 使用Systracer分析恶意软件
1.老师给的是英文版,因为英语不好看不懂哈哈,晚上也没有使用教程,所以我就自己找了个中文版下载啦!下载地址:SysTracer pro绿色汉化版
2.下载后,打开界面,如下图:
3.点击创建快照,若如下图没有全选,可以选择——仅扫描指定项,然后将下面的全选,之后就可以点击开始啦,接着耐心等待,扫描结束之后会弹出一个框,点击OK,快照就会自己保存下来~
4.我做的分析是回连的不同阶段中,注册表的变化。
Snapshot #1:未做任何处理,最原始的windows8的快照
Snapshot #2:将Kali生成相应的后门拷贝到windows主机后的快照
Snapshot #3:开启msf监听后的快照
Snapshot #4:kali端监听到windows的命令行的快照
- 快照1/2的比较,将攻击机中的后门程序拷贝到windows主机时,注册表的变化如下:出现新建的5306rkc4.rkr。
以及文件的变化:
- 快照2/3的比较,注册表也有很多新增或者修改的地方:
- 快照3/5的比较:
- 使用Threatbook分析恶意软件
Threatbook是中国威胁情报领军品牌,其中有恶意软件分析平台,通过对样本的静态特征、进程详情、网络行为等动态分析和主流反病毒引擎的静态扫描,将样本的恶意行为呈现出来。下图是分析报告:
行为签名:
静态信息:
网络信息:
课后问题
(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
可以通过系统监控的手段,比如说:Windows计划任务schtasks以及Sysmon工具的使用,通过对外部ip连接的监控统计分析来得到一些恶意程序连接的地址等,或者得到恶意软件调用的后门软件进行分析;也可以通过抓包来分析可疑连接。
(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
网上感觉有很多可疑检测恶意软件,进程的工具,比如Systracer可以分析注册表差异和文件的不同;以及virscan、Threatbook等软件分析工具来得到各种杀软报毒的疑似病毒,以及得到一些可疑签名、静态信息等等。
遇到的小问题
1.问题:在查看netstatlog.txt,看连接情况,发现提示错误:请求的操作需要提升。
解决:可以明白是运行任务的权限不够,百度之后,发现以最高权限运行计划任务就可以啦。操作见教程
计划任务中请求的操作需要提升如何解决?。
问题2:在安装Sysmon时,出现下图错误,显示我配置文件中的版本时3.10,但是实际下载的版本是4.00,不匹配导致安装失败。
解决:修改配置文件中的