【实验内容】

①系统运行监控

使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部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. Halcon Visinpro 破解版

    目前测试过的破解版资料: halcon10    可用已测   完美破解 halcon12   可用已测   完美破解 halcon13   可用已测   完美破解 halcon17   可用已测   ...

  2. send_keys results in Expected 【object Undefined】undefined to be a string解决方法:更新selenium+geckodriver+firefox

    很久之前在win10上配置的测试环境: python 3.6.1+ selenium 3.3.3+ geckodriver 0.15.0以前run case是正常的,今天去run 同样的case时发现 ...

  3. 服务器后台代码生成TreeView的json字符串

    1.根据treeView控件的属性建立vo类 package cn.allen.tree.vo; import java.util.List; import java.util.Map; public ...

  4. TCP流量控制

    TCP的流量控制,是为了更好的传输数据,控制流量不要发送太快而至于接收端没有足够的缓存的接收. 利用滑动窗口,可以很方便的控制传输 rwnd:可以控制接收窗口大小.ACK代表确认位,ack代表确认字段 ...

  5. Java ---- 链表逆序

    public class LinkedListRevert { public static void main(String[] args) { Node next3 = new Node(4,nul ...

  6. Python的迭代器和生成器

    列表生成式 列表生成式可以快速创建list. >>> [x * x for x in range(1, 11) if x % 2 == 0] [4, 16, 36, 64, 100] ...

  7. 好用的6个css方法

    1. 黑白图像 img { filter: grayscale(100%); } 2. 使用 :not() 除它之外的其他元素 .nav li:not(:last-child) { border-ri ...

  8. Python初学(1)

    最近在学习python,以后想编写一些工作中用的到的脚本.python的入门我选择了<python从初学到入门>,这篇文章我会跟进我的学习进度.算是一个笔记吧. 我本身是熟悉C语言的,看p ...

  9. java开发人员win10配置

    1.让win10的cmd支持ll命令 新建ll.bat 编辑类容为: @echo off dir3.将该文件移动到C:\Windows下. CMD里就可以用ls来代替dir命令显示目录列表了. 2.i ...

  10. Django return

    return HttpResponse("OK") 返回一个字符串 return redirect("/index/") 返回URL return render ...