当前位置: 首页 > 科技观察

macOS15个安全小技巧(二)

时间:2023-03-12 14:14:32 科技观察

隐藏桌面上的所有文件技巧chflagshidden~/Desktop/*和chflagsnohidden~/Desktop/*介绍另一个与记录和报告相关的技巧:如果你需要获取桌面截图或屏幕记录,然后有一个替代方法来移动或删除所有桌面混乱,即使用chflags实用程序暂时隐藏所有桌面文件。请注意,虽然这与使用Finder使用KeychordCommand-Shift-Period显示/隐藏不可见文件的另一个技巧无关,但如果您使用该Keychord在Finder中启用了不可见文件,您还需要再次调用Finderkeychord并切换设置为“关闭”以使此技巧起作用。截屏或录制后,不要忘记使用nohidden标志取消隐藏。编码/解码URL字符串技巧aliasurldecode='python3-c"importsys,urllib.parseasul;print(ul.unquote_plus(sys.argv[1]))"'andaliasurlencode='python3-c"importsys,urllib.parseasul;print(ul.quote_plus(sys.argv[1]))"'引入百分比编码的URL字符串非常常见,因此我发现在我的shell.rc脚本中定义一个别名来处理它们很有用,尤其是对于解码。尽管此技巧使用Python3,但还有许多其他方法可以使用不同的工具来执行此操作:Python2、Perl、Ruby、纯Bash和Zsh等,精度各不相同。我个人更喜欢Python3,因为根据我的经验,它是最可靠的。创建一个随机命名的文件或目录技巧mktemp-d/tmp/XXXXXXXXXXXX描述了使用带或不带-d开关的mktemp实用程序分别创建一个随机命名的文件或目录,无需指定/private/tmp目录,你$TMPDIR目录或您希望的任何其他目录都可以同样很好地使用:没有路径前缀,该工具将在当前工作目录中创建随机命名的文件或目录。随机命名的临时文件在防御性编程中很有用,可确保攻击者无法预测您可能需要定位应用程序或程序资源的临时文件的路径。同样,攻击者使用它们将恶意文件放入临时目录和其他具有随机名称的位置,以帮助他们规避简单的基于路径的检测试探法和试图通过指定特定位置减轻资源负担的YARA规则。在上面的示例中,我使用12个X生成了一个很难猜到的随机名称。然而,防御者和攻击者可以通过明智地使用正则表达式搜索模式来使这个技巧变得有些无用。顺便说一句,macOS上使用了许多不同的临时目录。虽然/tmp是/private/tmp的别名,但/private/var/tmp和$TMPDIR是完全不同的位置,如下图中的每个列表所示。我们显示来自ls-al的计数,而不是来自$TMPDIR的目录列表,这仅仅是因为那里的文件太多,无法方便地放入屏幕截图中。使用Swift作为脚本语言提示#!/usr/bin/swift或#!/usr/bin/envswift接口。通过访问Foundation、AppKit和其他框架中的代码,您可以构建与本机二进制文件一样强大的可移植脚本,这对于攻击者或防御者来说都是理想的选择。以这种方式使用Swift取决于目标计算机上是否存在Xcode命令行工具,因此这将您的目标主要限制在开发人员,这是一个通常不愿意安装安全控件的相当大的群体,并且如果您正在考虑它,一个好的目标组可能会选择有关供应链攻击和横向移动的信息,或者安装依赖项作为后期开发的一部分。通过在您自己的计算机上将脚本转换为Swift二进制文件,然后将二进制文件导入目标设备,可以完全避免依赖性。为此,只需从脚本中删除shebang并使用swiftc编译器快速创建原生Mach-O二进制文件:swiftcmy_script.swift-omy_script使用Swift作为脚本语言显然需要Swift本身的知识,您可以阅读关于在DerikRamirez网站上可以找到很好的介绍。现在,请注意使用这个或任何其他形式为#!/usr/bin/env的脚本shebang的警告。这经常被开发者推荐,因为它保证即使shell程序不在标准路径下,也不会出现多个版本(如Python2、Python2.7、Python3等),shell可以找到可执行文件。但是,从安全的角度来看,这会引入潜在的漏洞。由于env将使用首先出现在用户$PATH中的具有指定名称(例如Swift)的任何可执行文件,因此恶意进程可能会在用户路径的顶部放置一个布谷鸟二进制文件并执行该文件而不是真正的Swift二进制文件。出于这个原因,如果担心安全问题,我建议始终使用Swift(和其他)二进制文件的绝对路径。截取屏幕截图时移动所选区域或调整其大小提示在使用Command-Shift-4选择区域时按住空格键。简介这是我几个月前才学会的绝妙技巧,尽管多年来我每天都使用屏幕截图keychordCommand-Shift-4。虽然此方法允许您快速选择自定义区域,但如果您的起始位置错误,操作结果将出现偏差。使用此技巧,您无需取消Esc并重试。按住鼠标/触控板以避免射击,然后只需按住空格键并移动光标即可将所选区域重新定位到所需位置。重新定位后释放空格键,并根据需要通过常规拖动继续调整,释放鼠标/触控板进行射击。在macOSCatalina10.15中,有额外的Command-Shift-5组合键,它提供了来自HUD风格界面的各种选项,包括指定不同的默认保存位置。将Cocoa时间戳转换为人类可读的日期技巧date-r$((+978307200))简介这是我在前面介绍macOS事件响应时提到的一个技巧,但值得在这里重复。从1970年1月1日星期一00:00:00开始的Unix时间戳广泛用于macOS和其他操作系统,并且可以使用命令行上的日期实用程序将它们转换为人类可读的形式。您可能不熟悉的Cocoa时间戳采用类似的形式,但通常有一个小数表示第二个附加部分,例如587381138.016775。不过,最重要的区别是Cocoa的时间戳比Unix晚31年,从2001年1月1日开始。因此要使用日期实用程序转换Cocoa时间戳,我们需要添加31年的差异,即978307200秒。对于大多数非取证目的,可以忽略几分之一秒。本文翻译自:https://www.sentinelone.com/blog/15-macos-power-tricks-for-security-pros/如有转载请注明出处。