Exp4 恶意代码分析

 

1实验要求

1.1实践目标

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

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

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

1.2实践内容

1.2.1系统运行监控

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

(2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。 参考:schtask与sysmon应用指导 实际日志的分析还需要发挥下自己的创造力,结合以前学过的知识如linux的文本处理指令等进行。分析的难点在于从大量数据中理出规律、找出问题。这都依赖对结果过滤、统计、分类等进一步处理,这就得大家会什么用什么了。

1.2.2恶意软件分析

分析该软件在(1)启动回连,(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。

该后门软件 (3)读取、添加、删除了哪些注册表项 (4)读取、添加、删除了哪些文件 (5)连接了哪些外部IP,传输了什么数据(抓包分析)

该实验重点在“分析”,不是“如何使用某软件”。组长、课题负责人要求写细一点,其他人可以重点放在分析上。

2实验过程

恶意代码(Unwanted Code):是指没有作用却会带来危险的代码,一个最安全的定义是把所有不必要的代码都看作是恶意的,不必要代码比恶意代码具有更宽泛的含义,包括所有可能与某个组织安全策略相冲突的软件

恶意代码分析
静态分析基础技术

计算恶意程序MD5值,然后检索该MD5值来获取信息并作为其特征码使用(可使用md5deep winmd5)

通过检索恶意代码字符串获得相应的功能调用解释等,查看是否有被加壳处理(字符串检索:Strings 外壳检测:PEiD)

PE文件头中包含代码信息,恶意代应用程序类型等重要信息。可通过工具检索其动态链接库(dll),然后再MSDN文档库中查找其功能。(Dependency Walker、 PEview、 PEBrowse Professional、PE Explorer)

查看可疑代码的的资源节来获得一部分可见的特征(Resource Hacker)

动态分析基础技术

配置“沙箱”环境,模拟真实执行结果(各种沙箱)

Dll类型文件的启动运行(PEview、PE Exporer)

用一些系统监视类软件捕获运行中恶意程序的系统调用(process monitor、process explorer)

2.1系统运行监控

2.1.1使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里

1.先在桌面建立一个txt,名为4308netstat.txt,在里面填入

date /t >> c:\4308netstat.txt time /t >> c:\4308netstat.txt netstat -bn >> c:\4308netstat.txt

将它拖到c盘中,重命名为4308netstat.bat,再在桌面建立一个4308netstat.txt,同样也拖进c盘。

 

2.输入命令schtasks /create /TN 4308netstat /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\4308netstat.txt"来创建一个计划任务,使他能够每隔一分钟记录自己的电脑有哪些程序在联网。

3.搜索计划任务,查看新建立的任务,并进行设置。在“常规”中设置“使用最高权限运行”,点击确定,在“操作”中浏览添加脚本,将“添加参数”中的内容删除,点击确定,在“条件”中取消电源勾选。因为默认操作为“只有在计算机使用交流电源时才启动此任务”,那么使用电池电源时就会停止任务。这点需要格外注意,如果没有修改默认操作,任务无论如何都无法执行可能只是因为拔掉了电源。

 

4.运行一个下午之后可以在4308netstat.txt中查看到本机在该时间段内的联网记录。

 

5.新建xlsx导入文本数据,选择功能栏中的“数据”,再点击“导入数据”,选择4308netstat.txt。

 

6.进入文件导入向导第一步,选中“分隔符号”,点击“下一步”,第二步,选中全部分隔符号,点击“下一步”,第三步,列数据格式选择常规,点击“完成”。

 

 

 

 

 

7.导入的待分析数据如下

 

8.选中要分析的列

 

9.点击“插入”中的“数据透视图”,默认选择在一个新工作表中生成。

 

10.点击小箭头可以进行筛选,取消选择那些没有意义的字段,然后点击“确定”。

 

 

11.将该字段拖动到下方的两个区域中

 

12.生成统计图

 

由上图所示,联网最多的是“vmware-hostd.exe”,排名第二的是“wps.exe”,这里我们还可以找到微信、虚拟机、后门程序20164308_backdoor.exe这些连网的进程。感觉这个svchost.exe进程有些奇怪百度了一下还好是正常的,svchost.exe是微软Windows操作系统中的系统文件,微软官方对它的解释是:svchost.exe 是从动态链接库(DLL) 中运行的服务的通用主机进程名称。这个程序对系统的正常运行是非常重要,而且是不能被结束的。许多服务通过注入到该程序中启动,所以会有多个该文件的进程。

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

1.下载sysmon,下载地址https://docs.microsoft.com/zh-cn/sysinternals/downloads/sysmon

 

2.安装sysmon前先需要进行配置,创建一个4308.txt在下载的压缩包内,输入内容:

<Sysmon schemaversion=3.10">   <HashAlgorithms>*</HashAlgorithms>  <EventFiltering>      <DriverLoad onmatch="exclude">  <Signature condition="contains">microsoft</Signature>  <Signature condition="contains">windows</Signature>  </DriverLoad>    <ProcessTerminate onmatch="include" />      <NetworkConnect onmatch="include">  <DestinationPort>443</DestinationPort>  <DestinationPort>80</DestinationPort> <DestinationPort>4313</DestinationPort>  </NetworkConnect>  <NetworkConnect onmatch="exclude">  <Image condition="end with">iexplore.exe</Image>  </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> </CreateRemoteThread>  </EventFiltering>  </Sysmon>

保存后重命名为4308.xml。

 

2.在命令提示符中输入命令sysmon64.exe -i,得到提示You need launch Sysmon as Administrator,这时候需要在电脑搜索栏中搜索cmd,提高命令提示符的权限,以管理员的身份运行。随后将需要安装的压缩包解压的内容到拖到管理员的目录下。

 

3.在“选择管理员:命令提示符”下输入命令,sysmon64.exe -i,再输入命令sysmon -i 4308.xml进行配置安装。

 

 

4.打开kali,与windows进行回连。

 

5.查看“事件查看器”,选择日志的位置,应用程序和服务日志/Microsoft/Windows/Sysmon/Operational,在这里,我们可以看到按照配置文件的要求记录的新事件,以及事件ID、任务类别、详细信息等,并进行查找。

 

可以显示出后门的来源和端口、网关等详细信息

 

2.2恶意软件分析

静态分析

2.2.1使用VirusTotal分析恶意软件

1.把上次实验生成的恶意代码放在VirusTotal进行分析(也可以使用VirusScan工具)

2.查看这个恶意代码的基本属性

可以看出它的SHA-1、MD5摘要值、文件类型、文件大小,以及TRiD文件类型识别结果。(注:TRiD通过读取文件头,根据特征码进行文件类型匹配。)

3.还可以看到加壳情况

4.以及该恶意代码的算法库支持情况

 

2.2.2使用PEiD分析恶意软件

PEiD(PE Identifier)是一款著名的查壳工具,其功能强大,几乎可以侦测出所有的壳,其数量已超过470种PE文档的加壳类型和签名。

1.检测没有加壳的后门

2.检测有加壳的后门

 

动态分析

2.2.3使用Process Monitor分析恶意软件

Process Monitor 是一款由 Sysinternals 公司开发的包含强大的监视和过滤功能的高级 Windows 监视工具,可实时显示文件系统、注册表、进程/线程的活动。

汉化版下载网址http://www.pc6.com/softview/SoftView_15853.html

1.打开后查找后门进程

 

2.可以看到进程的详细信息

3.还可以查看堆栈

 

2.2.4使用Process Explorer分析恶意软件

Process Explorer是由Sysinternals开发的Windows系统和应用程序监视工具,目前已并入微软旗下。不仅结合了Filemon(文件监视器)和Regmon(注册表监视器)两个工具的功能,还增加了多项重要的增强功能。包括稳定性和性能改进、强大的过滤选项、修正的进程树对话框(增加了进程存活时间图表)、可根据点击位置变换的右击菜单过滤条目、集成带源代码存储的堆栈跟踪对话框、更快的堆栈跟踪、可在 64位 Windows 上加载 32位 日志文件的能力、监视映像(DLL和内核模式驱动程序)加载、系统引导时记录所有操作等。

1.靶机运行后门程序进行回连时,在 Process Explorer工具中查看到其记录。

2.找到后门进程

3.也可以详细查看该进程使用的CPU,虚拟内存空间、物理内存空间、I/O等。

 

2.2.5使用systracer分析恶意软件

Systracer下载网址http://www.onlinedown.net/soft/397250.htm

需关注的问题如下: (1)读取、添加、删除了哪些注册表项 (2)读取、添加、删除了哪些文件 (3)连接了哪些外部IP,传输了什么数据(抓包分析)

将以下五个状态下的快照进行对比

1.保存快照,命名为Snapshot #1

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

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

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

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

 

Snapshot #1和Snapshot #2的对比,原始状态与植入木马后的对比 注册表项

可以找到植入木马的进程

Snapshot #3和Snapshot #1的对比,后门回连kali的变化

Snapshot #2和Snapshot #4的对比,在kali中对靶机进行屏幕截图

由于没有注册,导致很多shell都无法查看

Snapshot #5和Snapshot #4的对比,在kali中对靶机进行提权操作

注册表中Shell发生了改变

Application中的监测开放端口能看见后门程序正常运行。

3实验遇到的问题

在做关于计划任务试验过程中遇到txt文本记载有误的问题,一是提示请求的操作需要提升,二是存储不了除了本次操作所连网的记录。解决的方法一是需要将4308netstat.bat 以管理员的身份运行,二是将计划任务里创建的计划修改操作中添加参数删除。

 

4实验后回答问题

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

1.利用sysmon工具,配置好想要监控的端口、注册表信息、网络连接等信息,通过其生成的日志文件进行查看

2.利用wireshark查看数据包,TCPview也可以,但是没那么全面

3.利用systracer进行快照,比照注册表、文件等信息 利用Process monitor、Process Explorer

 

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

同样采用以上工具,用wireshark查看数据包,systracer进行快照的对比(注册表、文件等),peid查看是否加壳,Process Explorer查看调用的程序库、dll库等

5实验心得体会

本次实验让我明白了在具备一定的知识基础和分析能力之后,会发现其实还有很多工具比杀软更方便好用,经过上一次实验的免杀体验,其实还是有部分杀软对于网络威胁并不能得到完全的保护,甚至有的只需要施加一点技巧便可以蒙混过关,因此这次实验让我学习到了很多比杀软可靠性更高的方法,在生活中也更加实用,期待下次实验!

转载于:https://www.cnblogs.com/1006xm/p/10663939.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值