2018-2019-2 网络对抗技术 20165212 Exp4 恶意代码分析
2018-2019-2 网络对抗技术 20165212 Exp4 恶意代码分析
原理与实践说明
1.实践目标
- 监控你自己系统的运行状态,看有没有可疑的程序在运行。
- 分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。
- 假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。
2.实践内容概述
- 系统运行监控
- 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述分析结果。
- 安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
- 分析该软件在(1)启动回连,(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件
- 读取、添加、删除了哪些注册表项
- 读取、添加、删除了哪些文件
- 连接了哪些外部IP,传输了什么数据
实践过程记录
1.使用schtasks指令监控系统(使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述分析结果)
- 使用schtasks /create /TN netstat5212 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"命令创建计划任务netstat5212
- TN是TaskName的缩写,我们创建的计划任务名是netstat5212;
- sc表示计时方式,我们以分钟计时填MINUTE;
- TR=Task Run,要运行的指令是 netstat
- bn,b表示显示可执行文件名,n表示以数字来显示IP和端口;
表示输出重定向,将输出存放在c:\netstatlog.txt文件中
在桌面建立一个netstatlog.txt文件,内容为: date /t >> c:\netstatlog.txt time /t >> c:\netstatlog.txt netstat -bn >> c:\netstatlog.txt
- 这些指令是用来将记录的联网结果格式化输出到netstatlog.txt文件中
- 将后缀名改为.bat后,用管理员身份将该文件放入C盘
- 打开计算机管理的“任务计划程序库”,可以查看到5212netstat任务就绪,打开其属性,修改其指令为c:\netstatlog.bat


- 还可以自行更改该任务的其他属性,如在"条件"选项卡中可以看到,电源选项中默认操作为“只有在计算机使用交流电源时才启动此任务”,把这个取消掉
执行此脚本一定时间,就可以在netstat5212.txt文件中查看到本机在该时间段内的联网记录:

- 当记录的数据足够丰富时,停止任务,将所得数据在excel中进行分析,此过程要一直保持开机联网状态才能持续监控 等待一段时间(6小时),将存储的数据通过excel表进行整理, 统计图如下:

- 由统计数据可知,联网排名第1的是“vmware-hosted.exe”,这一管理服务是esx主机和vmkernel之间的主要通信通道。其次还有ware.exe、QQ.exe等常见的程序,并没有发现什么异样这
2.使用sysmon工具监控系统(安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。)
sysmon是微软Sysinternals套件中的一个工具,直接从(马云链接)上下载。使用sysmon工具前首先要配置文件。参考使用轻量级工具Sysmon监视你的系统该文章,手动创建配置文件sysmon20165212.xml。
代码如下
<Sysmon schemaversion="3.10">
<!-- Capture all hashes -->
<HashAlgorithms>*</HashAlgorithms>
<EventFiltering>
<!-- Log all drivers except if the signature -->
<!-- contains Microsoft or Windows -->
<ProcessCreate onmatch="exclude">
<Image condition="end with">360se.exe</Image>
</ProcessCreate> <FileCreateTime onmatch="exclude" >
<Image condition="end with">360se.exe</Image>
</FileCreateTime> <NetworkConnect onmatch="exclude">
<Image condition="end with">360se.exe</Image>
<SourcePort condition="is"></SourcePort>
<SourceIp condition="is">127.0.0.1</SourceIp>
</NetworkConnect>
<NetworkConnect onmatch="include">
<DestinationPort condition="is"></DestinationPort>
<DestinationPort condition="is"></DestinationPort>
</NetworkConnect> <CreateRemoteThread onmatch="include">
<TargetImage condition="end with">explorer.exe</TargetImage>
<TargetImage condition="end with">svchost.exe</TargetImage>
<TargetImage condition="end with">winlogon.exe</TargetImage>
<SourceImage condition="end with">powershell.exe</SourceImage>
</CreateRemoteThread>
</EventFiltering>
</Sysmon>
- 安装sysmon:执行命令sysmon.exe -i C:\sysmon2016212.xml,成功安装结果如下:

查看“事件查看器”,选择日志的位置,应用程序和服务日志/Microsoft/Windows/Sysmon/Operational,在这里,我们可以看到按照配置文件的要求记录的新事件,以及事件ID、任务类别、详细信息等。
分析日志,我分析的是自己生成的后门文件进行分析。 启动回连到kali
- 找到运行后门文件相对应的日志,打开这个事件,可以看到其属于“NetworkContect”。查看详细信息,可以看到这个后门映像文件的具体位置、源IP和端口、目的IP和端口等

- 在kali中会用webcam_snap命令调用主机的摄像头抓拍,日志中看到一个带有Photo关键词的日志记录

- kali中运行dir命令后,主机日志中可以看到一个带有searchfile关键词的日志记录
- SearchFilterHost.exe是桌面搜索引擎的索引程序,其主要作用是建立快速索引文件,让用户能够更好的搜索出电脑中的任意资料。它会在计算机空闲时自动扫描索引位置的文件名、属性信息和给定类别的文件内容,这些索引位置默认包括桌面、收藏夹、开始菜单、系统目录。

- kali中输入ps后,主机中的日志记录

- kali中输入shell,主机中的日志记录

恶意软件分析
使用VirusTotal分析恶意软件
把生成的恶意代码放在VirusTotal进行分析(也可以使用VirusScan工具),基本情况如下:
查看这个恶意代码的基本属性:

可以看出它的SHA-1、MD5摘要值、文件类型、文件大小,以及TRiD文件类型识别结果。(注:TRiD通过读取文件头,根据特征码进行文件类型匹配。)最神奇的是它可以查出来文件的编码方式,可以看出我是用VC++进行编译的!
还可以看到加壳连接情况:upx壳和http连接

- 以及该恶意代码的算法库支持等一系列信息
使用systracer分析恶意软件
这个我放在win7虚拟机里进行。文减少,易于进行比较
点击右侧的take snapshot,存储快照
- 快照1:移植后门程序,保存为Snapshot #1
- 快照2:运行后门程序并在kali中实现回连,保存为Snapshot #2
- 快照3:在kali中使用dir指令,保存为Snapshot #3
- 快照4:在kali中使用record_mic指令,保存为Snapshot #4
快照1和2的对比,可以明显看到增加了后门程序

- 快照2和3的对比,注册表和文件增删改方面


- 快照2和4对比,能够看到在媒体播放器方面有所改动

返回目录
使用wireshark抓包分析恶意软件
- 回连完成后结束捕获,并过滤ip,只看和虚拟机IP有关的数据包,所以把没用的包过滤掉 - 首先是tcp建立的三次握手

- 有大量的TCP包,这其中有回连相关的包,之后我有用dir指令查看了靶机的当前目录,传输了很多数据过来:

基础问题回答
- 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
- 使用windows自带的schtasks指令设置一个计划任务,发现网络连接异常
- 使用Sysmon,编写配置文件,记录有关的系统日志
- 使用Process Explorer工具,监视进程执行情况。
- 使用Process Monitor工具,监视文件系统、注册表、进程/线程的活动。
- 如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
- 使用systracer工具分析恶意软件,查看其对注册表和文件的修改。
- 使用Wireshark进行抓包分析,监视其与主机进行的通信过程。
- 使用Process Explorer工具或Process Monitor工具,监视文件系统、注册表、进程/线程的活动。
实验中遇到的问题及解决方法
- 安装sysmon时,自己写的xml配置文件和下载的安装包版本要对应
- xml配置文件中的过滤项里一般我们填的127.0.0.1的过滤掉,因此有时候如果虚拟机ifconfig显示的ip时候127.0.0.1那么日志里是肯定看不到相关日志的,所以要注意虚拟机的ip不要被过滤掉。
- 开启360情况下所有日志中的目的地址都会是360设定的地址,应该是360会将主机和kali之间通信的数据进行加密或者“安全处理”,所以为了直观的观察结果,可以吧360关掉
实验总结与体会
本次实验相比于之前2次少了很多具体的操作,但是要求我们更充分的去了解恶意代码的特征、工作原理,通过观测我们上几次自己制作的特征明显的后门程序,我能直观地看到日志行为特征,连蒙带猜,仅通过sysmon的日志就可以判断自己的电脑有没有可以迹象 本次实验在动态分析的时候,锻炼了我们的信息处理能力,明显看到有很多不同,但是分析是又不知道该从何下手,不太清楚每一项具体代表什么含义,只能通过查阅资料,连蒙带猜的进行分析。 通过自己动手实践,实现了从攻击者身份到检测、分析者身份的转变,更全面的理解了前两次实验中生成的后门程序到底在做什么,对恶意代码有了更深入的理解。所以,我们在发现自己电脑有了不正常的流量消耗之后,而杀软没有任何报毒,就可以通过观察日志去判断自己的电脑有没有被植入后门,这一点,能力范畴超越了360等杀软,是我们实验过程中弥足珍贵的收获!
2018-2019-2 网络对抗技术 20165212 Exp4 恶意代码分析的更多相关文章
- 2018-2019-2 网络对抗技术 20165232 Exp4 恶意代码分析
2018-2019-2 网络对抗技术 20165232 Exp4 恶意代码分析 1.实践目标 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2或Exp3中生成后门 ...
- 2018-2019-2 网络对抗技术 20165206 Exp4 恶意代码分析
- 2018-2019-2 网络对抗技术 20165206 Exp4 恶意代码分析 - 实验任务 1系统运行监控(2分) (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP ...
- 2018-2019-2 网络对抗技术 20165317 Exp4 恶意代码分析
2018-2019-2 网络对抗技术 20165317 Exp4 恶意代码分析 实验要求 1.系统运行监控 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一段时间 ...
- 2018-2019-2 网络对抗技术 20165225 Exp4 恶意代码分析
2018-2019-2 网络对抗技术 20165225 Exp4 恶意代码分析 实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp ...
- 2018-2019-2 网络对抗技术 20165336 Exp4 恶意代码分析
2018-2019-2 网络对抗技术 20165336 Exp4 恶意代码分析 1.实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或E ...
- 2018-2019-2 20165236 《网络对抗技术》Exp4 恶意代码分析
2018-2019-2 20165236 <网络对抗技术>Exp4 恶意代码分析 一.1.实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行; 1.2是分析一个恶意软件, ...
- 2018-2019-2 网络对抗技术 20165316 Exp4 恶意代码分析
2018-2019-2 网络对抗技术 20165316 Exp4 恶意代码分析 一.原理与实践说明 1.实践目标 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2 ...
- 2018-2019-2 网络对抗技术 20165228 Exp4 恶意代码分析
2018-2019-2 网络对抗技术 20165228 Exp4 恶意代码分析 1.如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪 ...
- 2018-2019-2 网络对抗技术 20165308 Exp4 恶意代码分析
2018-2019-2 网络对抗技术 20165308 Exp4 恶意代码分析 实验过程 一.系统运行监控 (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一 ...
随机推荐
- English trip -- VC(情景课)1 E Writing
Talk with a partner ['pɑːtnə] (伙伴) 与同伴说一说 Comple the words 写全单词 first second third last name area c ...
- AC自动机练习
多模板串匹配一般有两种方法 暴力kmp, 适用于模板串少的情形 直接trie上暴力, 适用于模板串比较短的情形, 并且可以动态插入合并 建立AC自动机, 复杂度是严格线性的, 但不能动态插入 cons ...
- Change-free CodeForces - 767E (贪心)
题目链接 大意:Arseny有m个1元硬币, 无限多100元钞票, 他要按顺序买n个东西, 第i天如果找零x个硬币, 他的不满值会加 w[i]*x, 求最少不满值. 若找零, 则硬币增加 100-ci ...
- uinex 常用命令
删除文件夹实例:rm -rf /var/log/httpd/access将会删除/var/log/httpd/access目录以及其下所有文件.文件夹 删除文件使用实例:rm -f /var/log/ ...
- 开启turbine收集hystrix指标功能
使用turbine收集hystrix指标 1.pom中引入对turbin的依赖,并增加dashboard图形界面的展示 <dependencies> <dependency> ...
- OC 文件基本操作
// // main.m // oc_13 // // Created by ma c on 15/12/17. // Copyright (c) 2015年 博文科技. All rights res ...
- 071——VUE中vuex之使用getters计算每一件购物车中商品的总价
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- jsoupa-解析遍历一个HTML
解析个遍历一个HTML文档 String html ="<html><head><title>First parse</title></ ...
- linux abstract model of virtual memory
- learning docker steps(2) ----- docker contailner 初次体验
参考:https://docs.docker-cn.com/get-started/part2/ Dockerfile的内容如下所示: # 将官方 Python 运行时用作父镜像 FROM pytho ...