Exp4 恶意代码分析 20154320 李超
恶意代码
概述
- 恶意代码是指故意编制或设置的、对网络或系统会产生威胁或潜在威胁的计算机代码。最常见的恶意代码有计算机病毒(简称病毒)、特洛伊木马(简称木马)、计算机蠕虫(简称蠕虫)、后门、逻辑炸弹等。
- 特征:
- 恶意的目的,获取靶机权限、用户隐私等
- 本身是计算机程序,可以执行,并作用于靶机
- 通过执行发生作用,一般来说不运行是没问题的
恶意代码分析
- 在大多数情况下,进行恶意代码分析时,我们将只有恶意代码的可执行文件本身,而这些文件并不是我们人类可读的。为了了解这些文件的意义,你需要使用各种工具和技巧,而每种只能揭露出少量的信息。所以在实战中,我们要综合使用各种工具,才能看到一个全貌。
- 恶意代码分析有两类基本方法:
- 静态分析:在没有运行恶意代码时对其进行分析的技术
- 动态分析:相比较静态分析而言,则需要运行恶意代码,通过其产生的行为,如对计算机中注册表、文件的更改,网络的连接等动态数据进行分析,从而确定其具体行为
恶意代码分析
静态分析
概述
- 静态分析技术,可以确认一个文件是否是恶意的,提供有关其功能的信息,可以通过一些PE工具箱(PEview,dependency walker,Resource Hacker,PE explorer等)分析其函数链接库、壳的情况、特征库比对等操作,通过这些工具可以快速分析代码的性质,但是针对较为复杂的恶意代码时很大程度上是无效的;
- 这就需要更为高级的应用技术了,最典型的方法就是逆向工程,通过将可执行文件装载到反汇编器中,查看程序指令,观察恶意代码到底做了什么。因为这些指令是被CPU执行的,所以通过反汇编可以告诉我们程序具体做了什么,该方法虽然非常高效实用,但是需要综合掌握C语言、汇编、代码结构以及windows操作系统等知识,上手略微困难。
静态分析之特征库比对
- 通过 Virustotal平台进行分析如下:

- 在detail里可以看到更详细的信息

静态分析之PE套件使用
PE explorer
- 通过PE打开20154320lc.exe
- 可以看到该文件的编译时间本信息

- 如下图,我们点击“导入表”,可以查看该文件依赖的dll库
PEiD
- PEiD是一款著名的查壳工具,其功能强大,几乎可以侦测出所有的壳,其数量已超过470种PE文档的加壳类型和签名。

如图,nothing found,本程序没有加壳
系统运行监控
TCPView查看恶意代码回连前后情况
- 该工具可以帮我们实时分析正在联网的进程,所以我们可以通过查看每个进程的联网通信状态,初步判断其行为,例如一个程序应该是单机运行的,如果有网络行为,就显得很可疑了
可以看到回连的程序
sysmon工具查看恶意代码回连前后情况
- 在
Sysmon.exe同目录下建立文件:shiyan4.txt,写好配置文件 - 管理员身份运行CMD,输入指令:
Sysmon.exe -i test.xml,进行安装

安装成功
- 输入指令:
Sysmon.exe -c shiyan4.xml,进行配置 
现在可以进入
Applications and Services Logs/Microsoft/Windows/Sysmon/Operational
- 查看日志


创建网络连接:

收到微信消息时
- 创建进程:

打开sysmon创建的进程

创建文件

使用计划任务schtasks
创建计划任务20154320netstat
- 如下图所示:
netstat命令设置计划任务
每五分钟监控的内容会自动写入文档中

- 导入到excel中进行分析

- 统计访问最多的地址

动态分析
概述
- 动态分析技术,是建立在运行代码的基础上的,通过观察恶意代码执行后系统上的行为,例如对系统注册表的分析、文件的分析、网络的连接等行为,进而判断出该代码具体功能,以移除感染。
- 但上述操作进行之前,必须得有一个前提——建立一个安全的环境,能够避免恶意代码对系统带来风险的前提下,研究运行的恶意代码。所以一般可以用虚拟机建立一个目标靶机,在对恶意代码目的不明的情况下,先对靶机进行快照备份,然后再运行恶意代码监控其行为,这样的动态分析步骤才会对系统有一定的保障。
- 再高级一点的就是对代码的动态调试了,通过源代码级与汇编代码级的调试器,对恶意代码进行一步一步调试,观察其执行过程中每个时刻的内部状态。
动态分析之SysTracer
- 这个实验建议在虚拟机中完成,虚拟机中文件少、注册表少,易分析
操作思路与步骤:
- 1.打开攻击机msfconsle,开放监听
- 2.win10下打开木马
20154320lc.exe,回连kali - 3.kali中通过msf发送文件给win10靶机
- 4.kali中对win10靶机进行屏幕截图
- 通过比较每次快照文件的区别,来判断相应的变化

结果分析
- 启动回连时注册表发生变化
启动回连时,新建了20154320lc
.exe
- 应用,启用了许多DLL文件
- 启动回连时开放端口发生变化,如下图所示,因为本地木马
20154320lc.exe会连接远程端口443,所以先关闭了443端口,再开放了443端口
- 截屏时注册表发生了一些变化
联网情况分析
在后门程序回连时,在主机的命令行中用netstat -n命令查看TCP连接的情况,可以发现其中有进行回连的后门程序:

- 用wireshark,进行捕包分析,查看详细的协议分析发现,后门程序建立了三次握手并回连时进行了基于IP和端口的连接

基础问题
1.如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
应当首先更新病毒库,并对敏感怀疑位置进行病毒查杀,如果没有找到,应该开启相关病毒扫描引擎,对计算机进行动态扫描,监控主机连接情况,统计结果后找出可疑的Ip地址和端口号,可对这些ip和端口进行有针对性的抓包,查看有无建立套接字等可疑的行为、查看有无可疑的传输内容等,还可以通过systracer等查看注册表、进程等的变化。
2.如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
使用systracer,在打开进程前后分别takeshot,对比前后两张快照课得到进程有哪些行为。
总结与思考
- 通过这次的实践,基本了解了分析恶意代码的基本操作,将静态动态的分析方法综合应用,基本上就可以确认一个代码的行为了,根据以上方法,我们不用过渡依赖于杀毒软件给我们的杀毒报告,可以对有所怀疑的软件进行自主分析,最后做出自己的决定是否对其查杀。
Exp4 恶意代码分析 20154320 李超的更多相关文章
- 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分) ...
随机推荐
- python入门(十四):面向对象(属性、方法、继承、多继承)
1.任何东西1)属性(特征:通常可以用数据来描述)(类变量和实例变量)2)可以做一些动作(方法) 类来管理对象的数据.属性:类变量和实例变量(私有变量)方法: 1)实例方法 2)类方法 ...
- 什么是云?Iaas,Paas和SaaS
周围的朋友听说我是做云相关的,总是爱问啥是云?别不是虚幻的概念吧.云计算当然不是虚幻的概念,“云”其实是互联网的一个隐喻,简单地说,云计算是通过Internet(“云”)交付计算服务——服务器.存储. ...
- 关于python的正则表达式的例子
- 【CPU微架构设计】利用Verilog设计基于饱和计数器和BTB的分支预测器
在基于流水线(pipeline)的微处理器中,分支预测单元(Branch Predictor Unit)是一个重要的功能部件,它负责收集和分析分支/跳转指令的执行结果,当处理后续分支/跳转指令时,BP ...
- 20164319 刘蕴哲 Exp2 后门原理与实践
[后门概念] 后门就是不经过正常认证流程而访问系统的通道. 特指潜伏于操作系统中专门做后门的一个程序,而“坏人”可以连接这个程序远程执行各种指令. (概念和木马有重叠) [学习内容] 使用nc实现wi ...
- Windows单机配置Zookeeper环境
转自:http://www.jianshu.com/p/f7037105db46 首先要确保机器已经安装好java环境,并且配置好环境变量 http://apache.fayea.com/zook ...
- 【每日更新】【Redis学习】
5. Redis订阅和发布模式和Redis事务 -------------------Redis事务------------------- 1.概念: redis中的事务是一组命令的集合.事务 ...
- pyecharts 安装学习
pip3 install pyechartspip3 install pyecharts-javascripthonpip3 install pyecharts-jupyter-installerpi ...
- 盯着这where or 终于出了点感觉
AND 和 OR 运算符 AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来. 如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录. 如果第一个条件和第二个条件中只要有 ...
- 12.Redis运维点
12.Redis运维点12.1 Linux配置优化12.1.1 内存分配控制12.1.2 swappiness12.1.3 THP12.1.4 OOM killer12.1.5 使用NTP12.1.6 ...



