20175104 李屹哲 Exp4 恶意代码分析

1.实践目标

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

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

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

2.实践内容(3.5分)

2.1系统运行监控(2分)

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

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

参考:schtask与sysmon应用指导

实际日志的分析还需要发挥下自己的创造力,结合以前学过的知识如linux的文本处理指令等进行。分析的难点在于从大量数据中理出规律、找出问题。这都依赖对结果过滤、统计、分类等进一步处理,这就得大家会什么用什么了。

2.2恶意软件分析(1.5分)

分析该软件在

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

(3)读取、添加、删除了哪些注册表项

(4)读取、添加、删除了哪些文件

(5)连接了哪些外部IP,传输了什么数据(抓包分析)

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

3.实验后回答问题

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

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

4.实验体会

1. 利用计划任务记录连接应用

  • 首先使用指令 netstat 可以实现网络监控,如果有怀疑的ip加上参数-n即可转化为查看对应IP地址。一目了然。

 

  •  接下来先新建一个文档,然后输入以下指令
date /t >> d:
etstatlog.txt
time /t >> d:
etstatlog.txt
netstat -bn >> d:
etstatlog.txt
  • 之后将其转化为.bat类型的文件,放入d盘

  • 之后使用命令行键入代码 schtasks /create /TN netstat /sc MINUTE /MO 1 /TR “d: etstatlog.bat” ,即可实现每分钟录自己的电脑有哪些程序在联网,连接的外部IP是哪里。

  • 但这里权限显然是不够的(以管理员权限运行命令管理器也没有),必须要找到那条任务手动提升权限。(在任务计划程序中,下属Windows菜单下找这个任务)

 

 

  • 这里可以看到对检测结果的分析,貌似没有什么可疑进程

  • 注意在检测一段时间后,如果不进行检测一定把任务关掉,否则会随弹窗

返回顶部

2.Sysmon

  • Sysmon是微软Sysinternals套件中的一个工具,可以在Microsoft官网上下载一个,不过这里我用的是老师给的3.1版本,这个软件需要编写一个设置文件,用来设置sysmon监视的内容,语法与XML较为相似,看了好多之前博客的示例,写了一个检测的代码。注意老师给出的软件版本为3.10,编写文件时要注意。

  • 编写的5104sysmon.txt文件如下

<Sysmon schemaversion="3.10">
  <!-- Capture all hashes -->
  <HashAlgorithms>*
</HashAlgorithms> <EventFiltering> <!-- Log all drivers except if the signature --> <!-- contains Microsoft or Windows --> <DriverLoad onmatch="exclude"> <Signature condition="contains">microsoft</Signature> <Signature condition="contains">windows</Signature> </DriverLoad> <NetworkConnect onmatch="exclude"> <Image condition="end with">chrome.exe.exe</Image> </NetworkConnect> <NetworkConnect onmatch="include"> <DestinationPort condition="is">80</DestinationPort> <DestinationPort condition="is">443</DestinationPort> </NetworkConnect> <FileCreateTime onmatch="exclude" > <Image condition="end with">chrome.exe</Image> </FileCreateTime> <ProcessCreate onmatch="exclude" > <Image condition="end with">chrome.exe</Image> </ProcessCreate> <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>
  • 然后进入相应目录执行指令 sysmon.exe -i D:5104sysmon.txt  然后进入事件查看器->应用程序与服务日志->Microsoft->Windows->Sysmon->Operational即可找到按照我们的监控规则下的日志文件(这里有个比较尴尬的事,我忘记停用了,所以基本上监视了我一天的各项电脑活动)。

  • 这里挑出几项分析一下,这是记录的QQ音乐的联网日志

  •  这里还可以看到该联网活动的的源ip和端口与目的IP和端口

  • 这是一个进程创建的日志

  •  查了一下创建进程的程序是声音程序(百度居然有人教怎么禁用这个程序的,感觉有些无语)。

  • 还有许许多多日志文件,就挑几个有代表性的的说一下,我大致看  了一下,没有什么特别可疑的程序,基本上一百度,发现基本上都是Windows的系统程序。

返回顶部

3.恶意软件分析

  • 首先还是想之前的实验一样,要关闭防火墙,然后生成一个加壳的后门程序 20175104_upx.exe (这里使用的是win7系统,因为主机的进程或网络连接过多,因此为了方便分析数据使用虚拟机进行各项分析)。
  • 首先检测程序有没有加壳。

  • 这里可以用PEID检测是否加壳

  • 利用virustotal分析一下这个程序,可以看到加了壳,然后还可以看到行为。

 

  • 用SYSTracer可以对1几个时间点的电脑进行快照,然后进行对比,比较前后计算机的区别(我一共进行了三次快照,未进行回连操作时,进行回连操作时,以及进行截屏时)

  • 下面分两种情况分析(此程序对比时蓝色部分即为变化的部分)

  1. 回连与未回连时,发现以下注册表文件文件被修改,以及新增了一个注册表文件。(comdlg32.ocx是一个ActiveX控制模块,用于通用对话框控制。)

  •  这里看到在应用项目下属可以看到这里后门程序打开了apache http服务,用该市用于回连的

  • Opened Handles新增加了很多文件,信息,以及键。(如果你的计算机要是发现这样的情况一定要警醒了,这八成是中病毒了)

  • 这里Opened Ports就发现自己回连的端口以及对应攻击机的IP和端口。

         2.接下来对比进行回连成功和进行截屏后操作的快照的区别

  • 这里有些注册表变化,但最让我不解的是IE浏览器新增了一些注册表????然后发现这里comdlg32这个组件又有变化,说明是老受害者了。然后在百度时百度到这样的描述,说明这个组件也是各种木马攻击的常客了。如果在检测时发现这个组件注册表有更改,也可以作为被攻击的一个象征吧。

  •  然后这里发现新增了几个文件

  •  但应用程序整体没什么明显变化。可能是之前调用的仍在用吧。
  • 用PE分析了一下这个程序找到了与其有关的DLL文件

  • 其中随便找一个WSOCK32.DLL,百度了一下,这是回答,就不用多说了吧。

  • 还有advapi32.dll是一个高级API应用程序接口服务库的一部分,包含的函数与对象的安全性,注册表的操控以及事件日志有关。xp系统一般位于C:WINDOWSsystem32目录下,大小659KB。着一个外来程序,与这种DLL有关,也基本可以确定有点问题了。
  • 这里再用Process Monitor分析一下,发现这个程序挂在exploer.exe下,打开后也可以看到连接端口与kali的ip与端口

 

  • 然后wireshark抓包分析,发现不仅进行了tcp三次握手,后续还在不停的进行数据交流。也可以很清楚的看到自己的开放的端口与kali的端口进行数据交流。

返回顶部

3.实验后回答问题

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

  首先一定要检测应用的网络连接操作,这是最重要的,可以用schtasks建立每隔一段时间对主机联网状态的记录。或者使用sysmon用日志文件进行观察。以及一定要监视进程改变了那些注册表文件以及与那些dll文件有关,如果有可以行为一定要及时报告。还有那些应用进行了一些越权操作我认为也是很重要的。检测方式,可以通过读取日志,或者直接实现,就直接实现这些功能。

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

  我认为一定要及进行抓包分析,利用wireshark进行抓包,也可以利用sysmon进行针对相应的ip或者端口及ip进行日志文件的观测。也可以在正常时用SYSTracer拍摄快照,也可以进行进一步得到信息。或者利用Process Monitor也可以找到相关程序的信息。

返回顶部

4.实验感想

  本次实验中开始做的较为迷茫,主要数据过多,感觉无从下手。不过在静下心来之后发现其实如果掌握规则分析具体的数据并不是很难。然后最重要的一代那就是软件的使用方法,一定要掌握。这些软件真的是可以帮助你切实可行的分析出你是否遭受了攻击,如果是的话,一定要及时采取措施,以解决相应问题,病毒一般都会有较为明显的特征,因此,如果细心观察,很容易发现端倪。然后就可以及时做的查杀病毒,及时止损。

返回顶部

 

原文地址:https://www.cnblogs.com/20175104lyz/p/12680925.html