20164319 刘蕴哲 Exp4:恶意代码分析
【实验内容】
①系统运行监控
使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。
安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
②恶意软件分析
分析该软件在启动回连、安装到目标机及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣):
该后门软件读取、添加、删除了哪些注册表项
读取、添加、删除了哪些文件
连接了哪些外部IP,传输了什么数据(抓包分析)
【实验步骤 】
[part.1]结合windows计划任务与netstat命令
在C盘下新建一个“netstatlog.bat”和“netstatlog.txt”,当执行“netstatlog.bat”时,即可将记录的联网结果格式化输出到“netstatlog.txt”中,每5min记录下有哪些程序在连接网络:
schtasks /create /TN netstat4319 /sc MINUTE /MO /TR "cmd /c netstat -bn > c:\netstatlog.txt"

在C盘中创建一个“netstat4319.bat”脚本文件
date /t >> c:\netstat4319.txt
time /t >> c:\netstat4319.txt
netstat -bn >> c:\netstat4319.txt

并在其中写入以下内容(写入完后更改txt文件名后缀为bat):

在“任务计划程序”中可以看到我们新创建的这个任务

双击这个任务,点击“操作”—“编辑”,将“程序或脚本”改为我们创建的“netstat4319.bat”批处理文件,确定即可。

执行此脚本一定时间,就可以在“netstat4319.txt”文件中查看到本机在该时间段内的联网记录

等记录项目够多了再用xlsx进行分析:点击“数据”选项卡—“获取外部数据”,选择之前记录的文本“netstat4319.txt”



导入数据,然后生成表

将其协议项做成条形图,可见tcp协议占最大的比例

[part.2]使用sysmon监视系统
微软Sysinternals套件中的一个工具,可以从码云项目的附件里进行下载,工具先要配置文文件“4319.xml”和下载解压好的“Sysmon.exe”放在桌面(其中第一行为版本号,适应自己的版本自行修改,我的是v9.0)
<Sysmon schemaversion="9.0">
<!-- Capture all hashes -->
<HashAlgorithms>*</HashAlgorithms>
<EventFiltering>
<!-- Log all drivers except if the signature -->
<!-- contains Microsoft or Windows -->
<ProcessCreate onmatch="exclude">
<Image condition="end with">chrome.exe</Image>
</ProcessCreate> <FileCreateTime onmatch="exclude" >
<Image condition="end with">chrome.exe</Image>
</FileCreateTime> <NetworkConnect onmatch="exclude">
<Image condition="end with">chrome.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>
<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>
<TargetImage condition="end with">firefox.exe</TargetImage>
</CreateRemoteThread>
</EventFiltering>
</Sysmon>
然后在cmd命令行中安装Sysmon
Sysmon.exe -i C:\.xml

在“我的电脑”—“管理”—“事件查看器”—“应用程序和服务日志”—/Microsoft/Windows/Sysmon/Operational,可以查看到日期时间,事件id,任务类别等信息:

将实验二中生成的后门传送到主机后,kali进行监听,回连成功后,查找“4319”仔细查看事件及其信息:

发现正在调用的后台程序“20164319_backdoor.exe”,查看详细信息,可以看到这个后门映像文件的具体位置、源IP和端口、目的IP和端口等

[part.3]静态分析
①使用VirusTotal分析恶意软件
把生成的恶意代码放在VirusTotal进行分析(D5值、SHA-1值、文件类型、TRiD值 [TRiD通过读取文件头,根据特征码进行文件类型匹配]、需要的dll库):


②使用PEiD分析恶意软件是否加壳
PEiD(PE Identifier)是一款著名的查壳工具,其功能强大,几乎可以侦测出所有的壳,其数量已超过470 种PE 文档 的加壳类型和签名。
先用做实验三的时候生成的一个没有加过壳的后门“4319shellcode.exe”试试,什么都没找到。

测试一个upx加壳后的程序“4319_upx.exe”,查出了加壳信息

查看扩展信息:

[part.4]动态分析
①使用Process Monitor分析恶意软件
Process Monitor 是一款由 Sysinternals 公司开发的包含强大的监视和过滤功能的高级 Windows 监视工具,可实时显示文件系统、注册表、进程/线程的活动。
打开之后可见每个进程的详细描述

②使用Process Explorer
首先下载Process Explorer工具,打开软件,可以看出其对各个进程的详细记录,当靶机运行木马,回连攻击机时,我们可以看到Process Explorer对其进行的记录

②使用systracer分析恶意软件
安装systracer,在“agreet”后将端口号设置为“4319”

点击“take snapshot”,分别存储以下快照:
Snapshot 1:未植入后门程序的自然状态
Snapshot 2:打开kali的msfconsle,靶机运行木马,回连kali,win10下再次快照
Snapshot 3:在kali中对靶机使用dir指令,win10下再次快照
Snapshot 4:在kali中对靶机使用“getuid”然后“getsystem”进行提权操作,win10下再次快照
在“Applications”—“Running Processes”—“20164319_backdoor.exe”—“Opened Ports”,查看回连地址、远程地址和端口号

选择 Compare 比对计算机发生的变化。

【实验感悟】
本次实验紧接着所结合之前学习过的后门和免杀技术,从被攻击者的角度掌握了对后门软件和程序的监控能力,在加深了我们对网络安全和恶意代码的认识之后,学习去如何防范对抗,是一个循序渐进的过程。本次实验主要涵盖的恶意代码的分析方法主要分为静态分析方法和动态分析方法,同时也熟练掌握了使用一些检测软件对恶意代码和后门程序进行监控和分析,其中静态分析主要是对文件或程序本身的组成结构上进行扫描,而动态分析方法主要是利用调试工具对恶意代码实施跟踪和观察,从恶意代码的工作过程和意图上,进行多样化的分析。在实验过程中,我也遇到了各种各样的问题,在数次的尝试下得以解决,我觉得本次实验最大的收获还是教会我们从多种角度分析防范恶意代码的入侵,这也是我们以后要多研究发展和切身实验的方向。
20164319 刘蕴哲 Exp4:恶意代码分析的更多相关文章
- 20165101刘天野 2018-2019-2《网络对抗技术》Exp4 恶意代码分析
20165101刘天野 2018-2019-2<网络对抗技术>Exp4 恶意代码分析 1. 实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件 ...
- 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)如果 ...
随机推荐
- 01_新建WebApi后端服务项目
1.打开微软官网: https://www.asp.net/learn 2.查看文章: https://docs.microsoft.com/en-us/aspnet/web-api/overview ...
- Java子类访问父类的私有成员变量
/**子类会继承父类所有的属性和方法. * 但是根据不同的权限标识符,子类不可见父类的私有变量,但可以通过父类的公共方法访问私有变量 * 所以对于重名变量,子类和父类都各有一份. * 对于子类和父类中 ...
- Java进程&线程(一)
Java进程&线程 程序:程序员写的代码,就是代码,不运行好像不会发生什么: 进程:一个进程可以理解为"运行的"一个程序,当我们启动一个java程序后,对应的jvm就会创建 ...
- linux服务器后台运行服务
linux 后台运行一个服务 难免会遇到在Linux,后台执行任务.下面,总结了一下关闭窗口任然在后台执行的方法,例如 #执行一个打包命令 tar czf /data/backup.tgz /data ...
- python selenium 基本常用操作
最近学习UI自动化,把一些常用的方法总结一下,方便自己以后查阅需要.因本人水平有限,有不对之处多多包涵!欢迎指正! 一.xpath模糊匹配定位元素 武林至尊,宝刀屠龙刀(xpath),倚天不出(css ...
- python if,循环的练习
1.变量值的交换 s1='alex' s2='SB' (s1,s2) = (s2,s1) 2.有存放用户信息的列表如下,分别存放用户的名字.年龄.公司信息 userinfo={ 'name':' ...
- Spring 回滚事务@Transactional
@Transactional spring 事务注解 默认遇到throw new RuntimeException("...");会回滚 需要捕获的throw new Exce ...
- make apr-util 报错 all recurisive
安装expat库: yum install expat-devel 再次make 即可.
- Docker笔记——jenkins镜像制作
jenkins官方路径:https://hub.docker.com/_/jenkins/ 最新Dockerfile路径:https://github.com/jenkinsci/docker/blo ...
- Spring Boot实现文件下载功能
我们只需要创建一个控制器(Controler)文件,即Controller目录下的File_Download.java,其完整目录如下: @Controller public class File_D ...