20145317《网络对抗》Exp4 恶意代码分析
20145317《网络对抗》Exp4 恶意代码分析
一、基础问题回答
(1)总结一下监控一个系统通常需要监控什么、用什么来监控。
通常监控以下几项信息:
- 注册表信息的增删添改
- 系统上各类程序和文件的行为记录以及权限
- 实现网络连接的进程,使用的IP地址和端口号等
用以下软件工具来监控:
- TCPview工具查看系统的TCP连接信息
- wireshark进行抓包分析,查看网络连接
- sysmon用来监视和记录系统活动,并记录到windows事件日志,提供文件、进程等的详细信息
(2)如果在工作中怀疑一台主机上有恶意代码,请设计下你准备如何找到对应进程、恶意代码相关文件。
- 使用tcpview工具检测有哪些程序在进行网络连接
- 使用PE解析软件查看可疑进程的详细信息,查看其是否加壳,分析调用的DLL及其函数用途
- 去专业网站扫描可疑进程,查看测评分数与信息
- 使用快照分析进程对系统做了哪些改变,新增文件
- 使用抓包软件分析进程网络连接传输的数据
- 使用Dependency Walker来分析是否有关于注册表的异常行为等。
二、实践过程记录
恶意代码的静态分析
通过VirScan的行为分析来分析恶意代码20145317backdoor.exe
在扫描文件后等待片刻出现
文件行为分析
后点击查看分析:查看网络行为、注册表行为和其他行为:
PE explorer
用PE explorer打开文件20145317backdoor.exe,查看PE文件编译的一些基本信息,导入导出表等。
点击一下上面的“导入表(Import)”,查看一下这个程序都调用了哪些dll文件:
ADVAPI32.dll
文件是一个高级API应用程序接口服务库的一部分,调用这个dll可以实现对注册表的操控,WSOCK32.dll
和WS2_32.dll
这两个DLL用于创建套接字,即会发生网络连接。
PEiD
PEiD(PE Identifier)是一款著名的查壳工具,其功能强大,几乎可以侦测出所有的壳,其数量已超过470 种PE 文档 的加壳类型和签名。我们使用PEiD打开test1.exe来查看这个程序是否加壳。
Nothing found [Debug]
没加壳?正常的编译会显示编译器,如果什么都没找到,说明可能不识别该编译器。可以查看反汇编之后的代码。
Dependency Walker
- Dependency Walker是一款Microsoft Visual C++ 中提供的非常有用的PE模块依赖性分析工具,可以查看 PE 模块的导入模块.查看 PE 模块的导入和导出函数.动态剖析 PE 模块的模块依赖性.解析 C++ 函数名称。
我们使用这个软件打开
Dependency Walker能更专业,更细致具体的分析dll文件,条理更加清晰细致,功能强大。
通过查看DLL文件的函数,该可执行文件会删除注册表键和注册表键值。
Tcpview
- 可以用于查看进行网络连接的进程信息,所以我们可以通过查看每个进程的联网通信状态,初步判断其行为。
SysTracer
- 打开攻击机msfconsle,开放监听;win10下对注册表、文件、应用情况进行快照,保存为
Snapshot #1
- win10下打开木马test1.exe,回连kali,win10下再次快照,保存为
Snapshot #2
- kali中通过msf发送文件给win10靶机,win10下再次快照,保存为
Snapshot #4
- kali中对win10靶机进行屏幕截图,win10下再次快照,保存为
Snapshot #3
我们可以通过“compare”操作来比较每次快照文件的区别。
对比
Snapshot #1
和Snapshot #2
,可以看到注册表里面出现了新的表项,开放了新的端口。安装到目标机时,文件内容监控发现多了个文件
。
对比一下
Snapshot #4
和Snapshot #3
。可以发现启动回连时注册表发生变化了,截屏时注册表也发生了一些变化。
netstat命令设置计划任务
在e盘中创建一个
netstat5317.bat
文件date /t >> e:\netstat5317.txt
time /t >> e:\netstat5317.txt
netstat -bn >> e:\netstat5317.txt在任务计划程序中,新建一个触发器。
- 上面内容可以显示我们连接的网络的时间和日期信息。
将任务计划的操作选项栏的启动程序设为我们的netstat5317.bat,参数为>>e:\netstat5317.txt,这样我们的网络记录信息netstat5317.txt就会保存在f盘下。
- 创建完成后,运行任务,发现f盘下出现netstat5317.txt文件,但是没有显示出我们想要的网络连接记录信息,而是显示了“请求的操作需要提升”。
用管理员权限运行,即可成功。
20145317《网络对抗》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. 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,逐步排查并且 ...
随机推荐
- ZOJ 3780 - Paint the Grid Again - [模拟][第11届浙江省赛E题]
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3780 Time Limit: 2 Seconds Me ...
- CodeForces - 583C GCD Table map的auto遍历 ,有点贪心的想法
题意:给你n*n gcd表中的所有数(以任意顺序) ,求对角线上的n个数分别是什么.gcd表定义如下,先将n个数填在对角线的上,然后将各个格子填上对应对角线上的数的gcd值,也就是V[i][j]=gc ...
- linux:echo命令示例
echo命令:用于字符串的输出 $echo string 1.打印普通字符串 $echo "hello kumata" hello kumata #这里的双引号完全可以省略,以下 ...
- IntelliJ IDEA 2018.3注册码
修改hosts windows,打开C:/Windows/System32/drivers/etc/hosts linux打开 vi /etc/hosts 输入: 0.0.0.0 account.je ...
- gitlab svlogd runsv 基于Rotated Log的日志统计
小结: 1. 日志轮询 log roate 日志文件自动转存和重命名 2. rotated log独立于其他模块,可以以静态库或者动态库的形式支持二次开发: 3. [root@d1 ~]# gitla ...
- sass的@at-root
一.首先理解sass的嵌套中 &表示是什么? &表示整个选择器,而不单个class属性值或id属性值或tagName.例如下面一段代码: .a { .b { & { color ...
- LoadRunner中获取当前系统时间方法
LoadRunner中获取当前系统时间方法 发表于:2017-6-02 11:41 作者:人生_0809 来源:51Testing软件测试网采编 字体:大 中 小 | 上一篇 | 下一篇 | 打 ...
- redis 介绍
缓存数据库介绍 NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库,随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是 ...
- 什么是 Delta 文件
什么是 Delta 文件 Delta 文件应用很广泛,特别是在数据库领域 What Is a Delta File? During most computer operations, copying, ...
- 怎样解决VMware虚拟机无法连接外网问题
安装上虚拟机之后,再安装上linux之后,有时会出现ping不通物理机的ip和任何外网包括网关的ip的问题.虚拟机的网卡是桥接状态.下面就让我为大家演示下一下,怎么让虚拟机重新ping通物理机. 工具 ...