hacktricks/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/README.md

9.2 KiB
Raw Blame History

macOSセキュリティ保護

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

Gatekeeper

Gatekeeperは通常、Quarantine + Gatekeeper + XProtectの組み合わせを指すことが多く、これらの3つのmacOSセキュリティモジュールは、ユーザーが潜在的に悪意のあるソフトウェアを実行するのを防ぐために使用されます。

詳細は次の場所で確認できます:

{% content-ref url="macos-gatekeeper.md" %} macos-gatekeeper.md {% endcontent-ref %}

MRT - マルウェア除去ツール

マルウェア除去ツールMRTは、macOSのセキュリティインフラのもう一つの部分です。その名前からもわかるように、MRTの主な機能は、感染したシステムから既知のマルウェアを削除することです。

マルウェアがMacで検出されるとXProtectまたは他の手段によって、MRTを使用してマルウェアを自動的に削除することができます。MRTはバックグラウンドで静かに動作し、通常、システムが更新されるか、新しいマルウェア定義がダウンロードされると実行されますマルウェアを検出するためのMRTのルールはバイナリ内にあるようです

XProtectとMRTは、macOSのセキュリティ対策の一部ですが、それぞれ異なる機能を果たしています

  • XProtectは予防ツールです。ファイルが(特定のアプリケーションを介して)ダウンロードされると、ファイルをチェックし、既知のマルウェアの種類を検出した場合は、ファイルを開かないようにして、最初にシステムにマルウェアが感染するのを防ぎます。
  • 一方、MRT反応型のツールです。マルウェアがシステムで検出された後、問題のあるソフトウェアを削除してシステムをクリーンアップすることを目的としています。

MRTアプリケーションは、**/Library/Apple/System/Library/CoreServices/MRT.app**にあります。

プロセス制限

SIP - システム整合性保護

{% content-ref url="macos-sip.md" %} macos-sip.md {% endcontent-ref %}

サンドボックス

MacOSサンドボックスは、サンドボックスプロファイルで実行されるアプリケーションが許可されたアクションに制限されるようにします。これにより、アプリケーションが予期されたリソースにのみアクセスすることが保証されます。

{% content-ref url="macos-sandbox/" %} macos-sandbox {% endcontent-ref %}

TCC - 透明性、同意、および制御

TCC透明性、同意、および制御は、macOSのメカニズムであり、プライバシーの観点からアプリケーションの特定の機能へのアクセスを制限および制御するためのものです。これには、位置情報サービス、連絡先、写真、マイクロフォン、カメラ、アクセシビリティ、フルディスクアクセスなどが含まれる場合があります。

{% content-ref url="macos-tcc/" %} macos-tcc {% endcontent-ref %}

信頼キャッシュ

Apple macOSの信頼キャッシュは、AMFIApple Mobile File Integrityキャッシュとも呼ばれることがあり、macOSのセキュリティメカニズムであり、許可されていないまたは悪意のあるソフトウェアの実行を防止するために設計されています。基本的には、オペレーティングシステムがソフトウェアの整合性と信頼性を検証するために使用する暗号ハッシュのリストです。

macOSでアプリケーションまたは実行可能ファイルが実行されようとすると、オペレーティングシステムはAMFI信頼キャッシュをチェックします。ファイルのハッシュが信頼キャッシュに見つかった場合、システムはプログラムを実行を許可します。なぜなら、それを信頼できるものと認識するからです。

起動制約

これはAppleが署名したバイナリどこから何を起動できるかを制御します:

  • launchdによって実行されるべきアプリを直接起動することはできません。
  • /System/のような信頼された場所の外部でアプリを実行することはできません。

この制約に関する情報が含まれているファイルは、macOSの**/System/Volumes/Preboot/*/boot/*/usr/standalone/firmware/FUD/StaticTrustCache.img4にありますiOSでは、おそらく/usr/standalone/firmware/FUD/StaticTrustCache.img4**にあるようです)。

ツールimg4toolを使用して、キャッシュを抽出することができたようです:

img4tool -e in.img4 -o out.bin

ただし、M1ではコンパイルできませんでしたpyimg4を使用することもできますが、以下のスクリプトはその出力では機能しません。

次に、このスクリプトのようなスクリプトを使用してデータを抽出できます。

そのデータから、0の起動制約値を持つアプリをチェックできます。これは制約されていないアプリです(各値の詳細についてはこちらをチェック)。

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥