来源:https://cybersecurity.att.com/blogs/security-essentials/malware-analysis-for-threat-hunting
如果您对Wireshark、procmon和Windows Sysinternals不感兴趣,那么您可能处于错误的位置。

恶意软件分析允许分析人员看到采取了什么行动,并允许我们使用这些行动来建立一个配置文件,可以用来检测和阻止进一步的感染,并找到相关的感染。在实验室中运行恶意软件以确定它们的行为方式,我们给它们不同的输入来观察行为的变化,我们通过调试器运行它们以禁用安全措施,并检查它们可能具有的与对抗分析的功能,我们甚至可能使用反汇编器来更全面地了解恶意软件可能采取的路径。使用这些工具和技术,恶意软件分析师建立一个指标列表,可以用来检测和阻止他们正在检查的恶意软件,建立信息谁可能是他们的网络目标,甚至是恶意软件可能收集什么。我将把我的注意力集中在行为分析上,并给出一些例子来说明威胁狩猎和这种技术可以做些什么。
一、恶意软件的行为分析
行为分析是在受控条件下运行恶意软件的步骤,在此你可以观察到恶意软件所采取的行动。通过在一个完全隔离的环境中运行恶意软件,我们可以知道如果它无法通信,它会做什么。通过行为分析,你可以一步一步地做每件事。当它完全隔离时,它是否尝试扫描网络?如果是,那么继续,将其添加到1,看看会发生什么。之后它会开始寻找吗?把它给它。这种类型的分析的主要目标是看在一个逐步的过程中恶意软件做什么,允许你映射它的不同的行动,并在你开始检查它在调试器或通过反汇编之前有一个更好的全面的恶意软件的画面。我想说这是分析过程中比较有趣的部分之一。
二、用于恶意软件分析的基本实验室环境
你的基本实验室环境应该包括:
VMware/Virtualbox配置以下电脑:
安装了Wireshark、进程监视器和procDOT的Windows。
REMnux(预装了你需要的所有东西)
确保您的虚拟机被设置为仅网络主机,并且通过设置一个静态IP地址,您的windows机器将REMnux box作为默认网关。这确保了第一个跃点将是REMnux,并将允许我们想要的流量控制。
三、恶意软件分析工具
有几个工具,你想使用,以收集最多的信息,你可以:
Wireshark:该工具用于收集给定接口上的网络流量。以下选项将允许您查看页面和流量,它甚至允许您重新创建和保存在包捕获运行时传输的文件。https://www.wireshark.org/
进程监视器(procmon):这个工具用来记录计算机在被监视的时间内的全部活动。这对于详细描述进程所采取的操作非常有用。https://docs.microsoft.com/en-us/sysinternals/downloads/procmon
ProcDOT:这个工具从进程监视器中获取一个CSV,并可以将特定进程所做的工作作为流程图显示给您。这样就更容易解释发生了什么,以及发生的顺序。http://procdot.com/
FakeDNS:这个工具是REMnux中包含的脚本,它用自己的信息响应所有DNS请求,并将请求的域输出到终端。这对于确定连接到它的每台计算机正在请求什么域非常有用。
accept-all-ips:这个工具也是REMnux中包含的脚本。这将把所有IP流量重定向到REMnux主机。如果在活动环境中激活,将非常危险,但对于强制传输到分析机器非常有用。
INetSim:这是一个软件套件,可以在web上模拟许多常见的服务/协议。如果需要的话,这个套件甚至可以为恶意软件样本提供良好的可执行文件。https://www.inetsim.org/
四、通过行为分析运行恶意软件
当你运行恶意软件时,确保启动procmon和Wireshark在Windows主机上,总是在你启动恶意软件之前。这样可以确保你捕捉到所有的恶意软件活动。一旦你完成了恶意软件,你将能够保存procmon结果,并在procdDOT中打开它们。这将让你对恶意软件的所作所为有一个很好的了解。确保检查Wireshark以及任何未知的流量。一旦你可以看到它什么都不做,你可以重置你的windows机器并重新开始。是的,每次操作都会重复重置,但您总是希望从一个干净的环境开始。当你确定了恶意软件要找的是什么,建立你的REMnux系统或清洁环境,给它想要的。您确实希望重复此操作,直到您无法确定它需要什么,或者它停止询问新内容为止。在这一点上,你应该有一个很好的IP地址,域名,文件等恶意软件正在寻找,或接触。
请确保对系统进行调优,以便对发现的这些指示器发出警报。您不希望因为忘记查找刚刚找到的信息而导致类似的感染。对于你所拥有的恶意软件样本,还有其他类型的分析,但对于这一点,让我们集中在下一步,看看我们的指标列表可以帮助我们。
五、让我们用恶意软件分析来寻找威胁
一旦你确定了恶意软件要寻找的是什么,你就有了一个开始寻找其他威胁的好地方。在网络上寻找其他可能具有类似构建的地方(即使它恰好是您的所有工作站)并进行搜索。通过直接查询日志或通过SIEM检查系统日志,也可以使用类似的活动来发现威胁。如果你注意到恶意软件在建立网络连接时使用了一个非标准的用户代理,那么通过你的代理日志查看该代理和类似的代理可以很好地找到类似的威胁。端口和域名也是如此。大多数时候,如果一个工具能用,用户会坚持使用它。部署恶意软件的恶意行为者也是如此。如果我以WordPress为例,并不是说它不是最安全的平台,当黑客攻击发生时,通常会有一个文件被添加到一个include文件夹中,而恶意软件可能会直接指向该文件。然后,最好在防火墙和代理显示流量的域名中检查类似的路径。这通常可以揭示您环境中的不同威胁。在这种类型的搜索中要彻底。仅仅因为您现在阻止了指示符和活动并触发了警报,并不意味着在您将这些检查和块就位之前,另一个系统不会受到影响。
确保你能访问发现恶意软件的计算机的日志。如果你能获得关于网络流量的信息就更好了。使用这些和你在逆向工程后对恶意软件的了解,你应该能够确定恶意软件是否允许其他恶意活动进入网络。如果是这样,日志和网络流应该会给您一些线索,让您知道还允许进入哪些内容,以及它是否使用计算机进行了任何横向移动。
恶意软件分析和威胁搜索是用来确保我们的网络保持安全的两个概念和技术。当我们把这些概念联系在一起时,我们可以更有效地确定威胁的范围。行为分析只是恶意软件分析过程中的一个步骤,可以提供帮助。更多类型的恶意软件分析和逆向工程,提供行为分析无法获取的信息,您可以使用它们来进一步搜索威胁。
网友评论