欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

macOS恶意软件排查实践指南

来源:本站整理 作者:佚名 时间:2019-07-17 TAG: 我要投稿

在我们最近的文章《恶意软件如何维持macOS持久性》中,我们讨论了威胁参与者可以确保持久性的方式,一旦威胁参与者攻破了macOS设备,其恶意代码理论上可以在设备注销或重启后仍然存在。但是,持久性仅仅是攻击链中的一个因素。众所周知,一些威胁行为者不仅仅满足于一次性感染或重复利用漏洞后保持隐蔽,他们可能会让恶意软件在实现其目标后进行自动清理,从而确保不留下任何痕迹。显然,仅仅寻找持久化的项目并不足以进行威胁排查。因此,在本文中我们将深入讨论如何在macOS设备上搜寻威胁。

收集有关Mac的信息
如何在macOS终端上搜索恶意软件,很大程度上取决于我们对设备的访问权限,以及当前在设备上运行的软件类型。我们将假设用户的设备此时没有安全产品的保护,并分析应该如何检测其中任何可能存在的隐藏恶意软件。如果我们的设备上具有安全产品,排查过程的原则也保持不变,掌握相关的排查方法论,将有助于我们利用威胁搜索软件开展排查。
另外一件需要考虑的事情是,我们是直接访问设备,还是仅通过命令行访问设备,还是仅通过日志访问设备。出于练习的目的,我们假设目前可以访问命令行,并且可以从中提取任何日志。
第1步:获取用户列表
我们要做的第一件事,就是了解Mac上当前存在哪些用户帐户。有几种不同的方式可以实现这一点,其中最有效的方法是查看dscl的输出,该输出结果可以显示可能隐藏在系统偏好设置应用程序和登录屏幕中的用户帐户。
命令类似于:
$ dscl . list /Users UniqueID
执行该命令后,其结果不仅仅列出/Users文件夹的内容,还可以列出一些隐藏的帐户。如果使用ls命令,就不会向我们展示隐藏的用户,或主文件夹位于其他位置的用户,因此请务必使用dscl来获取完整的用户情况。
dscl list命令的一个缺点在于,它可能会向我们展示出100个或更多的帐户,其中大多数帐户都是由系统使用,而不是由控制台(即登录)用户使用。我们可以通过忽略那些以下划线开头的帐户来排除掉所有系统帐户,从而缩小列表的范围:
$ dscl . list /Users UniqueID | grep -v ^_

但是,这样就无法排除恶意行为者可能创建以下划线开头的帐户名称的可能性:

因此,我们还是应该检查完整列表,并使用有关用户活动的其他信息来补充进行用户搜索。在这里,有一个很好的命令就是w,它可以显示出每个登录的用户,以及这些用户当前的活动。

在这里,我们看到了用户_mrmalicious,如果我们过滤掉以下划线开头的用户,这个可疑的用户就不会在dscl结果中出现。我们看到,这个用户正在使用bash。
尽管w实用程序是查看当前活动状态的一个好方法,但它也不会显示过去的用户,因此,我们还有最后一个命令来补足短板,可以向我们展示出以前的登录情况。
$ last
下面是部分输出结果,展示了用户的登录以及关闭系统情况。

第2步:检查持久性
我们已经在之前的文章中详细介绍了这一点,因此请大家先参考此前的文章,并重点关注一些容易被忽略的方法。
需要注意的是,在查找LaunchAgents和其他进程时,我们必须考虑Mac上的所有用户,包括root用户。如果存在,我们应该可以在/var/root中找到。
下面是一个Mac恶意软件的案例。在所有用户每次启动时,会运行系统级别的LaunchDaemon,调用隐藏在root用户的Library文件夹内不可见文件夹中的Python脚本。

我们还需要考虑利用开放端口和互联网连接的持久性方法,因此我们需要继续排查下一步。
第3步:检查开放的端口和连接
对后门感兴趣的恶意软件作者通常会尝试在未使用的端口上设置服务器以监听连接。一个很好的例子是最近的Zoom漏洞,该漏洞迫使公司推出紧急补丁,尝试修复Mac用户的0-Day漏洞。Zoom客户端会在端口19421上运行隐藏的服务器,可能会向攻击者公开实时的网络摄像头,并允许远程执行代码。这是一个很好的例子,能够说明一个特权进程要设置一个持久的服务器是多么容易,该服务器可以充当后门,轻松逃避普通用户的检测,也能避开macOS内置的安全机制。

我们可以看到,有服务器正在监听22、88、445端口。这表明Mac的共享首选项中已经启用了远程登录和远程文件共享。我们可以在这里查看Apple服务使用的完整端口列表。
接下来,我们使用以下命令:
$ lsof –i
列出具有开放IPv4、IPv6和HP-UX X25连接的所有文件。

该输出结果为我们提供了相当多的有用信息,包括IP地址、命令和PID。我们可以查询ps实用程序,获取有关每个进程的更多信息。

[1] [2] [3]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载