【实验内容】

①系统运行监控

使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部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:恶意代码分析的更多相关文章

  1. 20165101刘天野 2018-2019-2《网络对抗技术》Exp4 恶意代码分析

    20165101刘天野 2018-2019-2<网络对抗技术>Exp4 恶意代码分析 1. 实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件 ...

  2. 2018-2019-2 网络对抗技术 20165232 Exp4 恶意代码分析

    2018-2019-2 网络对抗技术 20165232 Exp4 恶意代码分析 1.实践目标 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2或Exp3中生成后门 ...

  3. 2018-2019 20165237网络对抗 Exp4 恶意代码分析

    2018-2019 20165237网络对抗 Exp4 恶意代码分析 实验目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后 ...

  4. 2018-2019-2 20165325 网络对抗技术 Exp4 恶意代码分析

    2018-2019-2 20165325 网络对抗技术 Exp4 恶意代码分析 实验内容(概要) 一.系统(联网)运行监控 1. 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,逐步排查并且 ...

  5. 2018-2019-2 网络对抗技术 20165206 Exp4 恶意代码分析

    - 2018-2019-2 网络对抗技术 20165206 Exp4 恶意代码分析 - 实验任务 1系统运行监控(2分) (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP ...

  6. 2018-2019-2 20165239《网络对抗技术》Exp4 恶意代码分析

    Exp4 恶意代码分析 实验内容 一.基础问题 1.如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. •使用w ...

  7. 2018-2019 20165235 网络对抗 Exp4 恶意代码分析

    2018-2019 20165235 网络对抗 Exp4 恶意代码分析 实验内容 系统运行监控 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一段时间并分析该文件 ...

  8. 2018-2019-2 网络对抗技术 20162329 Exp4 恶意代码分析

    目录 Exp4 恶意代码分析 一.基础问题 问题1: 问题2: 二.系统监控 1. 系统命令监控 2. 使用Windows系统工具集sysmon监控系统状态 三.恶意软件分析 1. virustota ...

  9. 20155312 张竞予 Exp4 恶意代码分析

    Exp4 恶意代码分析 目录 基础问题回答 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. (2)如果 ...

随机推荐

  1. OO第三次博客

    规格化设计的发展历史 在计算机的早期发展中,软件开发没有可以遵循的系统方法,往往只有源代码而没有软件说明书等文档,因此这段时期的软件通用性时很有限的.后来到了20世纪60年代,软件开始被广泛使用,软件 ...

  2. 记一次深度系统安装至windows系统盘提示挂载为只读模式问题

    记一次深度系统安装至windows系统盘提示挂载为只读模式问题 来到新公司新电脑自己要安装deepin,安装的时候没考虑双系统直接装至默认win系统盘,导致deepin启动后提示如下: 提示多个挂载分 ...

  3. Layout-3相关代码:3列布局代码演化三]

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  4. 【转】Lombok 安装、入门 - 消除冗长的 java 代码

    前言:    逛开源社区的时候无意发现的,用了一段时间,觉得还可以,特此推荐一下.    lombok 提供了简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 java 代码.特别是相对于 ...

  5. python之psutil

    psutil = process and system utilities, psutil是个跨平台库,能够轻松实现获取系统运行的进程和系统利用率,包括CPU.内存.磁盘.网络等信息. Linux系统 ...

  6. PHP7.2中安装mcrypt扩展的问题

    当前使用的是宝塔工具,PHP版本是7.2,据说只有7.1以下的版本才会默认安装了mcrypt功能. 所以的7.2的安装如下: yum install libmcrypt libmcrypt-devel ...

  7. matlab-画个拱桥和倒影?

    matlab可用于各行各业的应用中,现在我们就简单画一个拱桥试一试. r=input('请输入半径: '); z=input('请输入弧度: '); figure() %r=4; %画拱洞,用李萨如图 ...

  8. hadoop的环境变量

    # hadoop && yarn export HADOOP_PREFIX=/home/ochadoop/apps/hadoop export HADOOP_HOME=${HADOOP ...

  9. Webpack 使用url-loader和file-loader打包资源文件

    在js中不仅可以通过import引入js文件,还可以引入图片.视频等资源文件,这样webpack打包时就会把所引入的资源文件也一起打包进来 打包进来的文件会返回一个字符串:即文件的路径 要做到这一点, ...

  10. take it easy

    昨天魏辉在群里说,觉得自己以前很多事情做的不对,以前是个傻瓜,我说我也是这么觉得的.为什么这么说呢?因为我真的觉得以前的自己就是个SB.人的成长可能就是这样的吧,小时候的一些事情,或者是原生家庭的环境 ...