美文网首页Mac优雅使用指南
macOS绕过SIP安全机制限制的一种办法

macOS绕过SIP安全机制限制的一种办法

作者: 治部少辅 | 来源:发表于2018-11-24 11:00 被阅读16次

SIP(System Security Protection)是苹果在OSX EI Capitan及其后版本的操作系统中引入了一种新的安全机制。望文生义就可以看出,这个安全机制是用来维持系统的完整性,保护系统免收恶意软件的篡改。具体来说,SIP限制了root账户的权限范围,限制了root用户在对一些系统保护目录即其中文件的操作能力。但是任何对于安全性加强都意味着对灵活性的削弱

SIP(System Security Protection)是苹果在OSX EI Capitan及其后版本的操作系统中引入了一种新的安全机制。望文生义就可以看出,这个安全机制是用来维持系统的完整性,保护系统免收恶意软件的篡改。具体来说,SIP限制了root账户的权限范围,限制了root用户在对一些系统保护目录即其中文件的操作能力。

SIP的保护范围包括下列路径:

  • /System
  • /usr
  • /bin
  • /sbin
  • OSX的预装应用

第三方应用可以继续操作的目录包括:

  • /Applications
  • /Library
  • /usr/local

但是任何对于安全性加强都意味着对灵活性的削弱。例如,在SIP保护下,类似proxychains-ng的程序无法再给受保护的目录下的程序添加网络钩子(hook)。

proxychains ng (new generation) - a preloader which hooks calls to sockets in dynamically linked programs and redirects it through one or more socks/http proxies.

一般来说,很多解决方案都建议关闭SIP功能(例如proxychains-ng的issue中给出的方法:# issue78)。不过这样也意味着丧失了SIP提供的保护功能。这篇文章给出了一个妥协的做法。在保留SIP的保护的同时,为保护目录下的程序应用proxychains-ng(其他类似的应用场景也可以使用这个办法)。这个解决方案的思路其实很简单:既然保护目录下的程序我们不能动,那么我们把保护目录下的程序复制一份到其他目录下运行就可以。

首先创建一个新的文件夹:

mkdir ~/.unprotected_apps

然后将这个路径添加到PATH环境变量的头部:

# 可以添加到shell的配置文件中,如~/.bashrc或者~/.zshrc
export PATH="~/.unprotected_apps:$PATH"

然后将需要添加钩子的应用复制到这个目录下就可以了,例如:

cp $(which ssh) ~/usr/bin/ssh
cp $(which curl) ~/usr/bin/curl

原文链接:https://www.codewoody.com/posts/36948/

相关文章

网友评论

    本文标题:macOS绕过SIP安全机制限制的一种办法

    本文链接:https://www.haomeiwen.com/subject/ygveqqtx.html