【实验内容】

①系统运行监控

使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部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. git学习手记(也许仅对本人有用)

    首先明白git的三种状态 commited已提交 =====>git仓库(存着各种版本)modified已修改(此时就是我们的编辑器中的未保存状态)====>工作目录staged暂存状态= ...

  2. Flume概念与原理、与Kafka优势对比《转》

    https://blog.csdn.net/gyshun/article/details/79710534

  3. realm清空所有数据库的数据

    /* *清空数据库 */ public int clearDatabase() { Realm realm = Realm.getDefaultInstance(); try { realm.begi ...

  4. 跨年呈献:HP-Socket for Linux 1.0 震撼发布

    三年,三年,又三年,终于,终于,终于不用再等啦!就在今天,HP-Socket for Linux v1.0 震撼发布!还是一样的接口,一样的高效,一样的简便,一样的味道.     HP-Socket ...

  5. 部署redis4.0-cluster

    一.部署环境 .关闭iptables(firewalld)或添加放行规则 .关闭selinux3.部署redis实例,参考:https://www.cnblogs.com/panwenbin-logs ...

  6. SpringBoot+Mybatis+Maven+MySQL逆向工程实现增删改查

    SpringBoot+Mybatis+MySQL+MAVEN逆向工程实现增删改查 这两天简单学习了下SpringBoot,发现这玩意配置起来是真的方便,相比于SpringMVC+Spring的配置简直 ...

  7. HttpLogBrowser-GUI日志分析工具

    登陆https://www.iis.net/downloads搜索HttpLogBrowser获得最新版本

  8. loadrunner-关联

    1.什么是关联? 将服务器动态返回的值,保存成一个参数,供后面需要使用到 此参数的地方使用 PS:1.一定是服务器返回的 2.动态变化的,静态不需要关联 3.服务器需要校验的 4.保存成一个参数 5. ...

  9. 如何高效的学习Java开发

    IT 行业的变化快是众人皆知的,需要持续去学习新的知识内容.但是,往往我们工作之后,经常发现学习的东西很少了,学习效率非常低,感觉自己到了一个瓶颈期,久而久之,就演变成『一年工作经验,重复去用十年』的 ...

  10. SuRF: Practical Range Query Filtering with Fast Succinct Tries 阅读笔记

    SuRF(Succinct Range Filter)是一种快速而紧凑的过滤器,同时支持点查询和范围查询(包括开区间查询.闭区间查询.范围计数),可以在RocksDB中用SuRF来替换Bloom过滤器 ...