1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行。
1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。
1.3假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。
2.1系统运行监控(2分)
2.1.1 使用schtasks指令监控系统
2.1.2使用sysmon工具监控系统
2.2系统运行监控
2.2.1 恶意软件分析—— Virus Total网站
2.2.2 恶意软件分析—— Process Monitot
2.2.3 恶意软件分析—— Process Expiorer
2.2.4 恶意软件分析—— systracer
2.2.5 恶意软件分析—— FEiD
3.1 实验总结
3.2 基本问题
2.1.1 使用schtasks指令监控系统
创建计划任务,使系统每1分钟自动检测到有哪些程序在连接我们的网络。
使用 schtasks /create /TN netstat4322 /sc MINUTE /MO 1/TR "cmd /c netstat -bn > c:\netstatlog.txt "
命令创建计划任务 netstat4322 ,如下图所示:
在C盘中创建一个netstat4322.bat
脚本文件(可先创建txt文本文件,使用记事本写入后通过修改文件名来修改文件格式)
在其中写入以下内容:
date /t >> c:\netstat4322.txt time /t >> c:\netstat4322.txt netstat -bn >> c:\netstat4322.txt
打开任务计划程序
,可以看到我们新创建的这个任务:
双击这个任务,点击操作并编辑,将“程序或脚本”改为我们创建的netstat4322.bat
批处理文件,另外,要删除添加参数里面的内容,然后确定即可。
注意:任务还有其他属性,点击“条件”选项卡,可以更改相关的设置。比如默认操作为“只有在计算机使用交流电源时才启动此任务”,那么使用电池电源时就会停止任务。这点需要格外注意,如果没有修改默认操作,任务无论如何都无法执行可能只是因为拔掉了电源。
执行此脚本一定时间,就可以在netstate4322.txt文件中查看到本机在该时间段内的联网记录:
当记录的数据足够丰富时,停止任务,将所得数据在excel中进行分析:
将每个应用的联网情况做成树状图,更加清晰直观:
首先我们可以看到TCP是最多的,其次是“wps.exe”和“kxes core.exe”。一个是wps软件云端的一个服务的进程,另一个kxescore.exe是金山毒霸的密保用户的进程。注册了金山密保之后就会呈现的。
安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
选择的是进程创建ProcessCreate、进程创建时间FileCreatTime、网络连接NetworkConnect、远程线程创建CreateRemoteThread。
写与自己想要监控的事件相对应的配置文件。编写好的Sysmon4322.xml.txt内容如下:(配置文件是xml文件,为了简单编辑就直接命令为.txt,每次用写字本打开。)
<Sysmon schemaversion="3.10"> <!-- 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">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">winlogon.exe</TargetImage> <SourceImage condition="end with">powershell.exe</SourceImage>
</CreateRemoteThread> </EventFiltering> </Sysmon>
下载sysmon,解压。
安装sysmon:以管理员身份执行命令
sysmon.exe -i C:\sysmon4322.sml.txt
会提示出错,输入命令 sysmon -accepteula -i -n ;
图标“计算机”右键,点击打开“管理”。点击左侧“系统工具”->“事件查看器”->应用程序和服务日志/Microsoft/Windows/Sysmon/Operational
这里我重新生成了一个后门程序hi.exe进行分析;
我们可以看到按照配置文件的要求记录的新事件,以及事件ID、任务类别、详细信息等等。
打开kali,运行木马文件,使其回连kali攻击机。查看日志,通过搜索关键字可以找到相关的后门文件:
打开这个事件,查看详细信息
,可以看到这个后门映像文件的具体位置、源IP和端口、目的IP和端口等。
2.2恶意软件分析
2.2.1 恶意软件分析—— Virus Total网站
在66个杀软中,有49个报毒,可疑行相当高了。
查看这个恶意代码的基本属性:
可以看出它的SHA-1、MD5摘要值、文件类型、文件大小,以及TRiD文件类型识别结果。(注:TRiD通过读取文件头,根据特征码进行文件类型匹配。
还有该恶意代码的算法库支持情况:
2.2.2 恶意软件分析—— Process Monitor
Process Monitor 是一款由 Sysinternals 公司开发的包含强大的监视和过滤功能的高级 Windows 监视工具,可实时显示文件系统、注册表、进程/线程的活动。
打开软件,可以看到各个进程的详细记录,下图是我的后门进程:
(通过find来找到自己的后面)
2.2.3 恶意软件分析—— Process Explorer
Process Explorer是由Sysinternals开发的Windows系统和应用程序监视工具,目前已并入微软旗下。不仅结合了Filemon(文件监视器)和Regmon(注册表监视器)两个工具的功能,还增加了多项重要的增强功能。包括稳定性和性能改进、强大的过滤选项、修正的进程树对话框(增加了进程存活时间图表)、可根据点击位置变换的右击菜单过滤条目、集成带源代码存储的堆栈跟踪对话框、更快的堆栈跟踪、可在 64位 Windows 上加载 32位 日志文件的能力、监视映像(DLL和内核模式驱动程序)加载、系统引导时记录所有操作等。
靶机运行木马,我们可以看到Process Explorer对其进行的记录:
2.2.4 恶意软件分析—— systracer
点击右下角“Compare”,比较五个快照的不同之处。
比较快照4和快照5,可以看到进程的运行位置、本机地址、靶机地址及端口号
比较快照2和快照3,增加了dll库。
比较快照2和快照3,我们还可以看到新增的后门进程,而且可以详细看到其的目的IP和端口号、源IP和端口号以及连接的协议:
除上图所示,还有一些Systracer未授权的地方我们是没法查看的。如下图:
2.2.5 恶意软件分析—— PEiD
> PEiD(PE Identifier)是一款著名的查壳工具,其功能强大,几乎可以侦测出所有的壳,其数量已超过470种PE文档的加壳类型和签名。
先看一下没有加壳的后门程序
如上图所示:Nothing found
使用UPX加壳后,PEiD成功检测出了加壳的相关信息:
3.1 实验总结
本次实验的内容十分丰富,但是我觉得有点难,恶意代码的分析让我很头疼,好多东西不认识,只能看懂一些比较简单的信息,自己的英语水平有待提高。。。。实验中我学习到了新的指令和软件,例如SysTracer、ProceMonitor等。这些工具都能很好地辅助我们对主机进行监控,以发现恶意行为并进行及时处理。发现网络攻防是一门很有趣的课程。
3.2 基本问题
问:如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
使用windows自带的schtasks指令设置一个计划任务,每隔一定的时间对主机的联网记录等进行记录。
使用sysmon工具,通过修改配置文件,记录相关的日志文件。
使用Process Explorer工具,监视进程执行情况。
问:如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
使用Wireshark进行抓包分析,监视其与主机进行的通信过程。
使用systracer工具分析恶意软件。
原文:https://www.cnblogs.com/Hyt--/p/10662478.html