20154327 Exp4 恶意代码分析
基础问题回答
(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
- 监控网络连接
- 监控是否创建新的进程
- 监控注册表项目
- 监控系统日志
(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
- PEID、ExeinfoPE等查壳工具内先查壳,通过入口特征和区段特征来识别,然后脱壳。
- TCPView、Wireshark等网络工具查看是否存在可疑连接
- Systracer拍摄快照,比对前后区别,分析改变的注册表及文件等信息。
实验过程
使用Windows计划任务schtasks监控系统运行
- 使用指令
schtasks /create /TN 20154327netstat /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c:\netstatlog.txt
创建计划任务netstat
指令解释:
TN:Task Name,本例中是netstat
SC: SChedule type,本例中是MINUTE,以分钟来计时
TR: Task Run,要运行的指令是 netstat -bn,b表示显示可执行文件名,n表示以数字来显示IP和端口

在C盘创建一个文件netstatlog.bat,内容为:
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt
如上内容意在让我们的网络记录可以显示我们连接的网络的时间和日期信息
保存后我们将文件的后缀改为bat打开计划任务,找到我们刚刚创建的

在这里发现了惊喜,

排除后发现是快快游戏的定时任务,估计是什么时候玩贪玩蓝月安装的。
设置任务计划里的操作:


回连后,发现已于虚拟机建立连接:

使用Sysmon工具监控系统运行
在老师提供的网址中找到了最新的Sysmon下载
参考这里配置xml。
这里大家记得改版本号

一键安装:
sysmon -accepteula –i -n在命令行下使用sysmon -c xxx.xml命令可以对sysmon进行配置指定配置文件(安装时请用-i)

配置成功后,我们查看sysmon确实在运行呢。

在计算机管理工具-事件查看器下可以查看日志信息,日志位置在 应用程序和服务日志/Microsoft/Windows/Sysmon/Operational下

现在执行后门程序,kali上进行回连后观察事件查看器。

找到了



可以发现这是我们kali的ip地址。


这里发现后门调用了Explorer.EXE程序,这个程序大家应该不陌生吧,这里我猜测后门程序通过explorer.exe参数去调用了文件来执行所需功能。
使用在线沙盘分析恶意软件
- 由于哈勃关闭了普通用户进行行为分析,virscan也调用不了,这里我们使用两个国外的在线沙盘进行分析。
Threat Expert:
- 报告可以看到其启动回连主机的部分IP地址以及端口号

VirusTotal
- 报告分析出了一堆看不懂的=-=

使用systracer工具分析恶意软件

1.在正常情况下,我们在win7虚拟机下快照保存为Snapshot #1;
2.Kali生成相应的后门,将文传到win7虚拟机下后快照保存为Snapshot #2;
3.Kali开启msf监听,在win7下运行后门程序后快照保存为Snapshot #3;
4.Kali对win7虚拟机进行权限操作后,在win7下快照保存为Snapshot #4;
如下图所示,我们可以选择两个快照进行campare,分析每次操作对系统的影响:

快照结果对比分析:
- 1&2——传输文件过后注册表发生变化;

- 1&2——传输文件过后注册表发生变化;
C盘新增了我们传输的文件:

2&3——Kali回连成功后发现注册表新增一项;

3&4——Kali进行权限操作后,注册表发生了多项变动;

使用火绒剑分析恶意软件行为
这里给大家推荐一个国产良心杀软——火绒,这里用到的是火绒里面的火绒剑功能。
开启监控后,运行程序,查看程序所作出的所有行为。


我们可以看出后门程序建立了172.30.6.226:4327的连接,这个便是kali进行了回连的地址:也可以看到后门程序调用了许多dll,猜测正是调用了这些dll来实现。
Malware Defender
在xp虚拟机上打开Malware Defender,如图所示选择保护设置。

然后在工具-选项-保护-设置保护模式

1.学习模式, 可以检测特定程序的使用的关键API,比如: 创建文件,修改内存...但是不阻止
2.正常模式,正常模式则会在调用这些关键API之后,则会问你是否允许操作
3.安静模式,安静模式则不操作,不提示.
- 可以看出,主体在这里建立了172.30.6.226:4327的连接,这个便是kali进行了回连的地址。
PE explorer
我们使用PEexplorer打开我们的后门程序,界面如下:


上图可以看到程序节头的信息和一些指向操作信息

上图中的ADVAPI32.dll文件是一个高级API应用程序接口服务库的一部分,调用这个dll可以实现对注册表的操控,这值得我们注意WSOCK32.dll和WS2_32.dll这两个DLL用于创建套接字,即会发生网络连接

去网上看大牛的分析都是用OD去看反汇编的,可惜自己不会
TCPview工具
- 在xp虚拟机下使用TCPview可以很明显发现有后门程序所建立的TCP连接,在这里我们可以发现我们后门建立4327的连接。

使用wireshark分析恶意软件回连情况
- 抓包结果如下:

- 查看详细的协议分析发现,后门程序建立了三次握手并回连时进行了基于IP和端口的连接
- 回连时建立了tcp连接,这里发现我们后门程序建立的连接。

实验总结与体会
- 这次实验突然转变画风,之前都是去扮演坏人的角色,这次便成了警察去调查坏人犯罪的记录和证据,以便抓住它然后消灭它。
- 有了前几次实验的基础,我们可以发现,很多时候单纯靠杀软已经不能实现对恶意代码的查杀了,这便能用到我们今天所学习的知识,利用一些工具对系统进行监控查看是否存在恶意代码。这次我们的实验便是分析之前所做的后门程序,看是否能发现并找到它。
20154327 Exp4 恶意代码分析的更多相关文章
- 2018-2019-2 网络对抗技术 20165232 Exp4 恶意代码分析
2018-2019-2 网络对抗技术 20165232 Exp4 恶意代码分析 1.实践目标 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2或Exp3中生成后门 ...
- 2018-2019 20165237网络对抗 Exp4 恶意代码分析
2018-2019 20165237网络对抗 Exp4 恶意代码分析 实验目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后 ...
- 2018-2019-2 20165325 网络对抗技术 Exp4 恶意代码分析
2018-2019-2 20165325 网络对抗技术 Exp4 恶意代码分析 实验内容(概要) 一.系统(联网)运行监控 1. 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,逐步排查并且 ...
- 2018-2019-2 网络对抗技术 20165206 Exp4 恶意代码分析
- 2018-2019-2 网络对抗技术 20165206 Exp4 恶意代码分析 - 实验任务 1系统运行监控(2分) (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP ...
- 2018-2019-2 20165239《网络对抗技术》Exp4 恶意代码分析
Exp4 恶意代码分析 实验内容 一.基础问题 1.如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. •使用w ...
- 2018-2019 20165235 网络对抗 Exp4 恶意代码分析
2018-2019 20165235 网络对抗 Exp4 恶意代码分析 实验内容 系统运行监控 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一段时间并分析该文件 ...
- 2018-2019-2 网络对抗技术 20162329 Exp4 恶意代码分析
目录 Exp4 恶意代码分析 一.基础问题 问题1: 问题2: 二.系统监控 1. 系统命令监控 2. 使用Windows系统工具集sysmon监控系统状态 三.恶意软件分析 1. virustota ...
- 20155312 张竞予 Exp4 恶意代码分析
Exp4 恶意代码分析 目录 基础问题回答 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. (2)如果 ...
- 2018-2019-2 《网络对抗技术》Exp4 恶意代码分析 Week6 20165311
2018-2019 20165311 网络对抗 Exp4 恶意代码分析 2018-2019 20165311 网络对抗 Exp4 恶意代码分析 实验内容 系统运行监控(2分) 恶意软件分析(1.5分) ...
随机推荐
- easyui学习笔记5—panel加载其他的页面
上一篇中我们看到了panel的基本实现,没有什么难度,最重要的是data-options和class两个标签属性的定义.这里我们将看一下在panel中如何加载其他的页面. 1.先看看引用的资源文件和h ...
- .NET Core学习之路
1.NET Core环境搭建 安装.NET Core: .NET Core 包括.NET Core Runtime 和 .NET Core SDK: NET Core = 应用运行依赖的 .NET C ...
- 代码注释模板(把内容保存为xml文件,导入eclipse中即可)
<?xml version="1.0" encoding="UTF-8" standalone="no"?><templa ...
- 简易log4j 父logger和子logger
log4j 父logger和子logger 定义子logger其目的就是能够在某一范围内(某一个class或者某一个package)下面,日志的输出方式与其他地方的日志输出方式不同. ...
- 洛谷 P4593 【[TJOI2018]教科书般的亵渎】
题目分析 一眼看上去就像是一个模拟题目,但是\(n\)的范围过大. 冷静分析一下发现难点在于如何快速求出幂和. 考虑使用伯努利数. \(B_0=1\) \(B_n=-\frac{1}{n+1}\sum ...
- 问题解决:java.sql.SQLException:Value '0000-00-00' can not be represented as java.sql.Date
问题描述: 数据表中有记录的time字段(属性为timestamp)其值为:“0000-00-00 00:00:00” 程序使用select 语句从中取数据时出现以下异常: Java.sql.SQLE ...
- Go 语言开始
尝试了LiteIDE碰到调试问题无法解决,只有换成了vscode. vscode有个问题, golang.org/x/ 这个包名下的包都下载不了,需要到 https://github.com/gola ...
- RfcDestinationManager.UnregisterDestinationConfiguration时报错cannot unregister the given destination configuration
在使用NCO访问SAP的RFC时,我的程序代码是这么写的: string destinationName = "EWM_700_GROUP"; IDestinationConfig ...
- Spring MVC 框架
一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 <!--conf ...
- indexPathForCell的事
UITableView *tableview = (UITableView *)self.superview; NSIndexPath *indexPath = [tableview indexPat ...

