10

macOS的15个安全技巧(二)

 4 years ago
source link: http://4hou.win/wordpress/?p=56897
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

IVrUZ3N.png!mobile

(接上文)

隐藏桌面上的所有文件

技巧

chflags hidden ~/Desktop/*

chflags nohidden ~/Desktop/*

介绍

另一个与记录和报告有关的技巧是:如果你需要获取桌面的屏幕截图或屏幕记录,那么除了移动或删除所有杂乱的桌面之外,还有一个替代方法,即使用chflags实用程序临时隐藏所有桌面文件。

请注意,尽管这与使用Finder使用Keychord Command-Shift-Period显示/隐藏不可见文件的另一个技巧无关,但是,如果你已使用该Keychord在Finder中启用了不可见文件,则还需要再次调用 Finder keychord并将设置切换为“关闭”,此技巧才能起作用。

截屏或录制后,请不要忘记使用nohidden标志来取消隐藏。

编码/解码URL字符串

技巧

alias urldecode='python3 -c "import sys, urllib.parse as ul; print(ul.unquote_plus(sys.argv[1]))"'

alias urlencode='python3 -c "import sys, urllib.parse as ul; print(ul.quote_plus(sys.argv[1]))"'

介绍

百分比编码的URL字符串非常常见,因此我发现在我的shell .rc脚本中定义一个别名来处理它们非常有用,特别是用于解码。尽管这个技巧使用的是Python 3,但是还有许多其他方法可以使用不同的工具来实现这一点:Python 2、Perl、Ruby、纯Bash和Zsh等等,精确度各不相同。我个人更喜欢Python 3,因为根据我的经验,它是最可靠的。

MvQNjam.jpg!mobile

创建一个随机命名的文件或目录

技巧

mktemp -d /tmp/XXXXXXXXXXXX

介绍

使用带有或不带-d开关的mktemp实用程序分别创建一个随机命名的文件或目录,不需要指定/private/tmp目录,你可以同样使用$TMPDIR目录或任何其他你希望的目录:如果没有路径前缀,该工具将在当前工作目录中创建随机命名的文件或目录。

在防御性编程中,随机命名的临时文件非常有用,可以确保攻击者无法预测你可能需要定位应用程序或程序资源的临时文件的路径。类似地,攻击者使用它们将恶意文件放入临时目录和其他具有随机名称的位置,以帮助他们规避简单的基于路径的探测启发式和YARA规则,这些规则试图通过指定特定位置来减轻资源的负担。

在上面的示例中,我使用12 Xs生成一个很难猜测的随机名称。但是,防御者和攻击者可以通过明智地使用正则表达式搜索模式在一定程度上让这个技巧变得无用。

qUn6Rbf.jpg!mobile

顺便说一下,macOS上使用了许多不同的临时目录。虽然/tmp是/private/tmp的别名,但/private/var/tmp和$TMPDIR都是完全不同的位置,如以下图像中每个列表所证明的。我们从ls -al而不是$ TMPDIR的目录列表中显示计数,仅仅是因为那里的文件太多,所以无法方便地将其放入屏幕截图中。

byYbEbj.jpg!mobile

使用Swift作为脚本语言

技巧

#!/usr/bin/swift

#!/usr/bin/env swift

介绍

使用Swift作为脚本语言的优势在于,它允许你从文本文件运行代码,这些文本文件可以本地调用Apple Cocoa api。通过访问Foundation、AppKit和其他框架中的代码,你可以构建与本机二进制文件一样强大的可移植脚本,这对于攻击者或防御者来说都是理想的。

以这种方式使用Swift取决于目标计算机上Xcode命令行工具的存在,因此这将你的目标主要限制在开发人员中,相当大的一群人通常不愿安装安全控件,而如果你正在考虑的话,可以选择一个不错的目标群体有关供应链攻击和横向移动的信息或者安装依赖作为post-exploitation的一部分。通过将脚本转换为自己计算机上的Swift二进制文件,然后将二进制文件导入到目标设备,可以完全避免依赖关系。为此,只需从脚本中删除shebang并使用swiftc编译器即可快速创建本机Mach-O二进制文件:

swiftc my_script.swift -o my_script

使用Swift作为脚本语言显然需要了解Swift本身,你可以在 Derik Ramirez 的网站上找到很好的介绍。

viInamE.png!mobile

现在,请注意使用#!/usr/bin/env形式的此脚本或任何其他脚本shebang的注意事项。开发人员通常会推荐这种做法,因为这样可以确保即使shell程序不在标准路径中,也不会存在多种版本(例如Python 2,Python 2.7,Python 3等),shell都可以找到该可执行文件。但是,从安全角度来看,这会引入潜在的漏洞。由于env将使用指定名称(例如,Swift)首先出现在用户$ PATH中的任何可执行文件,因此恶意进程可能会在用户路径的顶部删除一个cuckoo二进制文件,并执行该文件,而不是真正的Swift二进制文件。出于这个原因,如果需要考虑安全性,我建议始终使用Swift(和其他)二进制文件的绝对路径。

在截屏时移动或调整所选区域的大小

技巧

用Command-Shift-4选择区域时按住空格键。

介绍

这是我几个月前才学会的一个奇妙的技巧,尽管我多年来每天都使用screencapture keychordCommand-Shift-4。虽然该办法可以让你快速选择一个自定义区域,但如果你的起始位置不对,则操作结果会出现偏差。

使用此技巧,你无需取消Esc并重试。按住鼠标/触控板以避免拍摄,然后只需按住空格键并移动光标即可将所选区域重新定位到所需位置。重新定位后释放空格键,并根据需要通过常规拖动继续进行调整,释放鼠标/触控板进行拍摄。

E3eiqay.gif!mobile

在macOS Catalina 10.15中,还有额外的Command-Shift-5 keychord,它提供了来自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秒。出于大多数非取证的目的,可以忽略小数点后一秒的分数。

zi6f2iA.jpg!mobile


Recommend

  • 29
    • www.shichangbu.com 6 years ago
    • Cache

    请查收,15个消费心理学理论

    微信号: 非主流朱(ID:feizhuliupig) 如何推广产品,提...

  • 48

    Tutorialzine每月都会给我们精心挑选优秀的web开发资源,这些资源可以帮助我们解锁最新和最炫酷的网络开发姿势。前端er,让我们一起先睹为快吧! Polly.js polly是一个用于记录,重放和模拟HTTP交互的开源库。它提供了一套完善且易用的AP

  • 34

    原文: 15 Most Frequently Used GCC Compiler Command Line Options 以及评论中大家提供的一些参数。 GCC编译器是一个日常流行的 C 编译器,...

  • 59

    默认情况下,安装的Linux发行版中包含一些别名。Linux命令行别名非常有助于提高工作效率。默认情况下会在安装的Linux发行版中包含一些内容。

  • 11

    自2004年以来,我每天都在使用macOS,自从OSX Panther(2003年10月发布)以来,我使用过该操作系统的每一个版本,而且自从Lion 10.7(2011年...

  • 11
    • zhuanlan.zhihu.com 4 years ago
    • Cache

    关于pip的15个使用小技巧

    关于pip的15个使用小技巧朱卫军公号:Python大数据分析,关注进学习群认识pip

  • 5
    • my.oschina.net 3 years ago
    • Cache

    聊聊sql优化的15个小技巧

    sql优化是一个大家都比较关注的热门话题,无论你在面试,还是工作中,都很有可能会遇到。 如果某天你负责的某个线上接口,出现了性能问题,需要做优化。那么你首先想到的很有可能是优化sql语句,因为它的改造成本相对于代码来说也要小得多。 那...

  • 11

    15个爆款短视频文案技巧,可直接落地 发布者: 91运营 2021-12-21 23:...

  • 8

    15个与语言无关的REST API设计技巧 在这篇文章中,我正在尽我最大的努力压缩我所知道的关于什么是好的 API 的一切。您的消费者会喜欢使用的 API。所有提示都与语言无关,因此它们适用于任何框架或技术。1. 保持一致 对字段、...

  • 12
    • www.cnblogs.com 2 years ago
    • Cache

    聊聊数据库建表的15个小技巧

    聊聊数据库建表的15个小技巧 对于后端开发同学来说,访...

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK