20145312《网络对抗》Exp4 恶意代码分析
20145312《网络对抗》Exp4 恶意代码分析
问题回答
1.总结一下监控一个系统通常需要监控什么、用什么来监控。
- 监控一个系统通常需要监控这个系统的注册表,进程,开放端口,程序服务还有文件的添加和删除情况等。
- 使用一些软件比如本次实验用到sysmon、SysTracer v2.10等工具读取系统的注册表,进程表等信息来实现实时监测。
2.如果在工作中怀疑一台主机上有恶意代码,请设计下你准备如何找到对应进程、恶意代码相关文件。
- 先对当前情况快照,然后重启计算机,对计算机的注册表,进程,端口,服务等内容进行检测,通过观察注册表,进程等内容的变化筛选出可疑的对象,然后针对可疑的对象使用抓包工具具体分析,看看有没有连接未知IP地址等的可疑操作,分析数据包是否有可疑内容。找到该程序后可以通过VirScan网站的行为分析、PE explorer、PEiD等工具来分析其行为、编译信息等以此来判断其是否为恶意代码。
实验总结与体会
- 本次实验我们用多个工具静态或动态分析了恶意代码的行为或操作,分析了系统的联网情况等。有很强的实践意义,在今后使用计算机遇到疑似恶意代码,我们可以通过通过VirScan网站的行为分析、PE explorer、PEiD等工具来分析其行为、编译信息等以此来判断其是否为恶意代码。同时我们也要经常保存系统快照,发生异常情况时可以有个比对。
实践过程记录
通过VirScan网站的行为分析来分析恶意代码
- 上传之前实验生成的后门程序到VirScan网站,扫描后生成行为分析表

- 可以看到VirScan网站分析出该后门程序有建立一个指定的套接字连接,删除注册表键,删除注册表键值,检测自身是否被调试,创建事件对象等行为。但是蔡野同学的博客通过对比两次的后门程序(前者是不能免杀的,后者是可以免杀的)分别分析后,发现可免杀的没有检测出具体行为,可见只通过网站对恶意代码进行分析是不够的。
使用分析软件动态分析
PE explorer
- 使用这个软件打开后门程序NewShellcode-5312.exe查看一些基本信息和导入导出表等:

- 查看程序头文件信息,可以看到程序节头的信息和一些指向操作信息

- 可以看到程序引入了哪些dll

- 通过反汇编指令去反汇编程序,得到一个大致的程序汇编语言:

PEiD
- 使用PEiD查壳,可以看到壳和编译器信息为Visual C++ 8.0[Debug]

Sysinternals工具集
- Windows Ssinternals工具集,是微软发布的一套非常强大的免费工具程序集。
TCPview工具
- TCPview可以查看系统中的TCP连接的进程

- 可以看到百度拼音,explorer,湖南TV建立了很多TCP连接,从中可以看到目的ip和端口等信息。
sysmon工具
安装sysmon,参考http://www.freebuf.com/sectool/122779.html上面的模板来配置sysmon,但将模版第一行的版本号改为3.10。

可以使用
sysmon -c查看配置:

进入事件查看器查找日志,然后进入sysmon日志查看信息。

主要有一下几个应用程序的服务日志

backgroundTaskHost进程属于照片应用的进程,CPU占用达到了很高的比率。

又是百度拼音

Searchfilterhost.exe进程,大量占用系统的CPU和内存资源,它的作用是在搜索文件时提供服务。

QQ软件管理守护程序了,基本上是安全的。
SysTracer v2.10
- 点击进入后我们默认选择扫描所有,点击start等待快照完成即可。
在正常情况下,我们在win7虚拟机下快照保存为Snapshot #5312-1;
Kali生成相应的后门,将文件通过ncat传到win7虚拟机下后快照保存为Snapshot #5312-2;
Kali开启msf监听,在win7下运行后门程序后快照保存为Snapshot #5312-3;
Kali对win7虚拟机进行截图后,在win7下快照保存为Snapshot #5312-4;
Snapshot #5312-1与Snapshot #5312-2比较
传输文件过后注册表发生变化;C盘新增了我们传输的文件:


Snapshot #5312-2与Snapshot #5312-3比较
Kali回连成功后,可以看到运行的程序中多了NewShellcode-5312.exe,以及它的开放端口和服务

Snapshot #5312-3与Snapshot #5312-4比较
截屏后,注册表信息又发生变化

wireshark捕包分析
- 捕捉win 10主机与Kali的通信数据信息:
- Kali的IP地址:192.168.169.128
- Win10在以太网适配器 VMware Network Adapter VMnet8中的IP:192.168.137.1
- 使用nc传输数据

- 使用wireshark捕捉到TCP会话



- 可以看到明文通信内容:hi、hello、im 20145312,以及端口5312和源/目的IP地址等信息
计划任务并记录联网行为
- 新建触发器

- 创建完成,我们运行这个任务,发现5312下出现我们的txt文件,但是没有显示出我们想要的网络连接记录信息,而是:请求的操作需要提升,右键netstat5312.bat,点击管理员权限运行,即成功。


20145312《网络对抗》Exp4 恶意代码分析的更多相关文章
- 2018-2019 20165237网络对抗 Exp4 恶意代码分析
2018-2019 20165237网络对抗 Exp4 恶意代码分析 实验目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后 ...
- 2018-2019 20165235 网络对抗 Exp4 恶意代码分析
2018-2019 20165235 网络对抗 Exp4 恶意代码分析 实验内容 系统运行监控 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一段时间并分析该文件 ...
- 2018-2019 20165319 网络对抗 Exp4 恶意代码分析
基础问题回答 1. 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控 答:1.使用Windows自带的schta ...
- 2018-2019-2 《网络对抗技术》Exp4 恶意代码分析 Week6 20165311
2018-2019 20165311 网络对抗 Exp4 恶意代码分析 2018-2019 20165311 网络对抗 Exp4 恶意代码分析 实验内容 系统运行监控(2分) 恶意软件分析(1.5分) ...
- 20155207 《网络对抗》exp4 恶意代码分析 学习总结
20155207 <网络对抗> 恶意代码分析 学习总结 实践目标 1.是监控你自己系统的运行状态,看有没有可疑的程序在运行. 2.是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件 ...
- 20155207王雪纯《网络对抗》Exp4 恶意代码分析
20155207 <网络对抗> 恶意代码分析 学习总结 实践目标 1.是监控你自己系统的运行状态,看有没有可疑的程序在运行. 2.是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件 ...
- 20155338《网络对抗》 Exp4 恶意代码分析
20155338<网络对抗>恶意代码分析 实验过程 1.计划任务监控 在C盘根目录下建立一个netstatlog.bat文件(先把后缀设为txt,保存好内容后记得把后缀改为bat),内容如 ...
- 2018-2019-2 网络对抗技术 20165232 Exp4 恶意代码分析
2018-2019-2 网络对抗技术 20165232 Exp4 恶意代码分析 1.实践目标 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2或Exp3中生成后门 ...
- 2018-2019-2 20165325 网络对抗技术 Exp4 恶意代码分析
2018-2019-2 20165325 网络对抗技术 Exp4 恶意代码分析 实验内容(概要) 一.系统(联网)运行监控 1. 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,逐步排查并且 ...
随机推荐
- 关于“ORA-01747: user.table.column, table.column 或列说明无效”的报错。
今天在工程中遇到“ORA-01747: user.table.column, table.column 或列说明无效”的报错情况,查了一下是由于数据库列名起的不好引起的,名字用到了数据库的关键字.
- UEditor整合代码高亮插件SyntaxHighlighter
1 下载UEditor : http://ueditor.baidu.com/website/download.html 下载SyntaxHighlighter :https://github.co ...
- 使用synchronized(非this对象)同步代码块解决脏读问题
首先通过示例来学习验证多个线程调用同一个方法时随机的. package syn_out_asyn; import java.util.ArrayList; import java.util.List; ...
- Android Framewrork资源类型有哪些?
1. Google Framework res frameworks/base/core/res/res/values <public type="attr" name=&q ...
- VScode之JavaScript Snippet Pack
一个片段包 使用例如: cl 回车或者tab键,就可以完整的打出console.log("") 还有很多快捷功能: 参考: https://marketplace.visualst ...
- java如何发起https请求
1.写一个SSLClient类,继承至HttpClient import java.security.cert.CertificateException; import java.security.c ...
- Linux系统下 Supervisor 安装搭建
在 web 应用部署到线上后,需要保证应用一直处于运行状态,在遇到程序异常.报错等情况,导致 web 应用终止时,需要保证程序可以立刻重启,继续提供服务. 所以,就需要一个工具,时刻监控 web 应用 ...
- Redis构建文章聚合信息分类网站
本系列教程内容提要 Java工程师之Redis实战系列教程教程是一个学习教程,是关于Java工程师的Redis知识的实战系列教程,本系列教程均以解决特定问题为目标,使用Redis快速解决在实际生产中的 ...
- 删除 Linux /tmp 目录下的临时文件
使用 tmpreaper How to install and use tmpreaper How to Remove Files Older than N days using tmpreaper ...
- Java的Object.hashCode()的返回值到底是不是对象内存地址?
关于这个问题,查阅了网上的资料,发现证明过程太繁琐,这里我用了反证法. java.lang.Object.hashCode()的返回值到底是不是对象内存地址? hashCode契约 说到这个问题,大家 ...