Exp4 恶意代码分析

1.实践目标


1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行。

1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。

1.3假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。

2.实践内容


2.1系统运行监控


(1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。

  • 使用schtasks的命令创建计划任务netstat5305

  • 在C盘中创建一个netstat5318.bat脚本文件,写入以下内容

    date /t >> c:\netstat5305.txt

    time /t >> c:\netstat5305.txt

    netstat -bn >> c:\netstat5305.txt

  • 打开任务计划程序,可以看到我们新创建的这个任务:

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

  • 点击“条件”选项卡,可以更改相关的设置。
  • 执行此脚本一定时间,就可以在netstat5305.txt文件中查看到本机在该时间段内的联网记录:

  • 当记录的数据足够丰富时,停止任务,将所得数据在excel中进行分析

可以看到用得最多的是360浏览器,其它也没什么异常的。

(2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。

  • sysmon是微软Sysinternals套件中的一个工具,使用sysmon工具前首先要配置文件。根据老师的要求,最少要记录Event 1,2,3三个事件。即进程创建、进程创建时间、网络连接。
  • 创建配置文件Sysmon20165305.xml

    文件内容如下:
<Sysmon schemaversion="9.01">
<!-- 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>
<Image condition="end with">firefox.exe</Image>
</ProcessCreate> <ProcessCreate onmatch="include">
<ParentImage condition="end with">cmd.exe</ParentImage>
</ProcessCreate> <FileCreateTime onmatch="exclude" >
<Image condition="end with">chrome.exe</Image>
<Image condition="end with">firefox.exe</Image>
</FileCreateTime> <NetworkConnect onmatch="exclude">
<Image condition="end with">chrome.exe</Image>
<Image condition="end with">firefox.exe</Image>
<SourcePort condition="is">137</SourcePort>
<SourceIp condition="is">127.0.0.1</SourceIp>
</NetworkConnect> <NetworkConnect onmatch="include">
<DestinationPort condition="is">80</DestinationPort>
<DestinationPort condition="is">443</DestinationPort>
</NetworkConnect> <CreateRemoteThread onmatch="include">
<TargetImage condition="end with">explorer.exe</TargetImage>
<TargetImage condition="end with">svchost.exe</TargetImage>
<TargetImage condition="end with">firefox.exe</TargetImage>
<TargetImage condition="end with">winlogon.exe</TargetImage>
<SourceImage condition="end with">powershell.exe</SourceImage>
</CreateRemoteThread>
</EventFiltering>
</Sysmon>
  • 使用Sysmon.exe -i C:\Sysmon20165305.xml安装sysmon

  • win10下,左下角开始菜单右击->事件查看器->应用程序和服务日志->Microsoft->Windows->Sysmon->Operational。在这里,我们可以看到按照配置文件的要求记录的新事件,以及事件ID、任务类别、详细信息等等。

  • 打开这个事件,可以看到其属于“NetworkContect”。查看详细信息,可以看到这个后门映像文件的具体位置、源IP和端口、目的IP和端口等

2.2恶意软件分析


  • 静态分析

    文件扫描(VirusTotal、VirusScan工具等)

    文件格式识别(peid、file、FileAnalyzer工具等)

    字符串提取(Strings工具等)

    反汇编(GDB、IDAPro、VC工具等)

    反编译(REC、DCC、JAD工具等)

    逻辑结构分析(Ollydbg、IDAPro工具等)

    加壳脱壳(UPX、VMUnPacker工具等)
  • 动态分析

    快照比对(SysTracer、Filesnap、Regsnap工具等)

    抓包分析(WireShark工具等)

    行为监控(Filemon、Regmon、ProcessExplorer工具等)

    沙盒(NormanSandbox、CWSandbox工具等)

    动态跟踪调试(Ollydbg、IDAPro工具等)

(1)使用VirusTotal分析恶意软件

  • 把生成的恶意代码放在VirusTotal进行分析,结果如图:

额,一半的杀软检测出来了。

  • 查看这个恶意代码的基本属性:

我们可以看到文件的类型、大小、SHA-1、MD5摘要值等结果

  • 加壳情况

  • 算法库支持情况

(2)使用Process Monitor分析恶意软件

  • Process Monitor 是一款由 Sysinternals公司开发的包含强大的监视和过滤功能的高级 Windows 监视工具,可实时显示文件系统、注册表、进程/线程的活动。
  • 打开软件,可以看出其对各个进程的详细记录:

(3)使用Process Explorer分析恶意软件

  • 靶机运行木马,回连攻击机时,我们可以看到Process Explorer对其进行的记录:

(4)使用PEiD分析恶意软件

  • PEiD(PE Identifier)是一款著名的查壳工具

  • 我们先检测一款没有加壳的恶意软件

  • 现在检测一下加壳的恶意软件

**(5)使用systracer分析恶意软件 **

  • 基本步骤如下:

    在winxp虚拟机安装SysTracer软件

    保存快照,命名为Snapshot #1

    将木马植入靶机,对靶机注册表、文件等进行快照,保存为Snapshot #2

    打开kali的msfconsle,靶机运行木马,回连kali,winxp下再保存快照,保存为Snapshot #3

    在kali中对靶机进行屏幕截图,winxp下再次快照,保存为Snapshot #4

    在kali中对靶机进行提权操作,winxp下再次快照,保存为Snapshot #5

  • 点击右下角“快照比较”,比较五个快照的不同之处。

  • 启动回连时,注册表发生了变化:

  • 这是文件的变化

  • 这是程序的变化,很明显可以看出新增的20165305_upxed.exe程序:

  • 点击查看差异列表,可以看见增加了许多的.dll文件

(6)wireshark抓包分析

设置ip.addr == ip地址过滤包,然后点击一个tcp包,可以看见目的地址、源地址、和设置的5305源端口号,和目的端口号。

3.报告内容


3.1实验后回答问题


(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所以想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。

先使用schtasks指令监控系统,发现可以的软件在运行后,使用Process Monitor分析恶意软件。

(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。

可以使用systracer查看它对注册表和文件的修改。

可以使用wireshark进行抓包分析,查看其建立连接、通信的过程。

使用systracer工具分析恶意软件

3.2实验总结与体会


本次实验的内容很多,而且我们可以自主选择一些工具对恶意软件进行分析。对于本次试验,我初步掌握了对于一些常见的的恶意软件分析工具的使用,加强了对于恶意软件的分析检测和防范意识。

2018-2019-2 网络对抗技术 20165305 Exp4 恶意代码分析的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

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

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

    2018-2019-2 网络对抗技术 20165316 Exp4 恶意代码分析 一.原理与实践说明 1.实践目标 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2 ...

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

    2018-2019-2 网络对抗技术 20165228 Exp4 恶意代码分析 1.如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪 ...

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

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

随机推荐

  1. jquery第二篇

    1  操作元素(属性,css,文档处理) --------------------------属性 $("").attr(); $("").removeAttr ...

  2. Windows下自带压缩文件工具之-makecab

    在内网渗透时,当没有rar.7z等压缩工具时候,拖取文件的时候为了防止流量过大,又必须压缩把文件压缩.当然你可以自己上传一个压缩工具.Windows自带制作压缩文件工具makecb你可以了解哈.压缩单 ...

  3. oracle统计数据时,涉及两个表的数据

    SELECT t1.*,a.num FROM (SELECT SUM(t.total_profit) total_profit, SUM(t.main_business_income) main_bu ...

  4. 变量类型-Set

    教程:    集合是一个无序不重复元素的序列,它的特点是:有的可变,有的不可变,元素无序不可重复! 一:集合的创建 (1)使用花括号 set={value1, values2}             ...

  5. springBoot使用@Value标签读取*.properties文件的中文乱码问题

    上次我碰到获取properties文件中的中文出现乱码问题. 查了下资料,原来properties默认的字符编码格式为asci码,所以我们要对字符编码进行转换成UTF-8格式 原先代码:@Proper ...

  6. 阿里云 windows 2008 使用Thinkphp5 captcha验证码不显示问题

    第一次使用Thinkphp5在阿里云上面运行,后台验证码竟然显示不出来!有种要吐血的感觉...找了半天,终于找到类似解决办法 thinkphp,onethink和thinkox中验证码不显示的解决方法 ...

  7. ol图层支持的数据源

    ol.source.BingMaps,必应地图的数据: ol.source.Cluster,聚族矢量数据: ol.source.ImageCanvas,数据来源是一个canvas元素,其中数据是图片: ...

  8. Asch PK Lisk系列之一:安全性

    在币圈,听到对数字货币的质疑之声从来没少过.为什么有人会质疑呢?他们列出了很多理由(以下四点内容摘自网络): 数字货币是依附于网络的,而中国并没有独立自主的网络技术,容易被敌对势力利用数字货币损害中国 ...

  9. Ultimate Guide to WhatsApp for Business 2019

    By Iaroslav Kudritskiy (Source: https://rocketbots.io/blog/the-ultimate-guide-to-whatsapp-business-a ...

  10. python learning day01

    python简介 一.python的由来: python的创始人是吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚 ...