Translated ['macos-hardening/macos-security-and-privilege-escalation/REA

This commit is contained in:
Translator 2023-09-11 00:05:47 +00:00
parent 526fc8767d
commit 10e6642bf6
5 changed files with 107 additions and 89 deletions

View file

@ -1,4 +1,4 @@
# macOSセキュリティと特権エスカレーション
# macOSセキュリティと特権エスカレーション
<details>
@ -20,12 +20,12 @@
HackenProofのバウンティは、顧客が報酬予算を入金した後に開始されます。バグが検証された後に報酬を受け取ることができます。
**Web3ペンテストの経験を積む**\
ブロックチェーンプロトコルとスマートコントラクトは新しいインターネットです!上昇期のWeb3セキュリティをマスターしましょう。
ブロックチェーンプロトコルとスマートコントラクトは新しいインターネットです!成長するWeb3セキュリティをマスターしましょう。
**Web3ハッカーレジェンドになる**\
各検証済みのバグで評判ポイントを獲得し、週間リーダーボードのトップを制覇しましょう。
[**HackenProofサインアップ**](https://hackenproof.com/register)してハッキングから報酬を得ましょう!
[**HackenProofサインアップ**](https://hackenproof.com/register)してハッキングから報酬を得ましょう!
{% embed url="https://hackenproof.com/register" %}
@ -63,6 +63,8 @@ MacOSに慣れていない場合は、MacOSの基本を学ぶことから始め
[macos-protocols.md](macos-protocols.md)
{% endcontent-ref %}
* **オープンソース**のMacOS[https://opensource.apple.com/](https://opensource.apple.com/)
### MacOS MDM
企業では、**MacOSシステムはおそらくMDMで管理**されることが多いです。したがって、攻撃者の視点からは、**それがどのように機能するか**を知ることが興味深いです:
@ -77,7 +79,7 @@ MacOSに慣れていない場合は、MacOSの基本を学ぶことから始め
[macos-apps-inspecting-debugging-and-fuzzing](macos-apps-inspecting-debugging-and-fuzzing/)
{% endcontent-ref %}
## MacOSセキュリティ保護
## MacOSセキュリティ保護
{% content-ref url="macos-security-protections/" %}
[macos-security-protections](macos-security-protections/)
@ -87,11 +89,11 @@ MacOSに慣れていない場合は、MacOSの基本を学ぶことから始め
### ファイルの権限
**rootとして実行されるプロセスが**ユーザーによって制御可能なファイルを書き込む場合、ユーザーはこれを悪用して**特権をエスカレーション**することができます。\
**rootとして実行されているプロセスが**ユーザーによって制御可能なファイルを書き込む場合、ユーザーはこれを悪用して**特権をエスカレーション**することができます。\
これは次の状況で発生する可能性があります:
* 使用されるファイルはすでにユーザーによって作成されています(ユーザーが所有しています)
* 使用されるファイルはグループによって書き込み可能になっていま
* 使用されるファイルはグループによって書き込み可能
* 使用されるファイルはユーザーが所有するディレクトリ内にあります(ユーザーはファイルを作成できます)
* 使用されるファイルはrootが所有するディレクトリ内にありますが、ユーザーはグループによる書き込みアクセス権を持っていますユーザーはファイルを作成できます
@ -157,7 +159,7 @@ ls /tmp/snap/Users/admin_user # This will work
### Linux Privesc
まず、Linux/Unixに影響を与える特権昇格に関するほとんどのトリックは、**MacOSマシンにも影響を与える**ことに注意してください。したがって、以下を参照してください:
まず、Linux/Unixに影響を与える特権昇格に関するほとんどのトリックは、**MacOSマシンにも影響を与える**ことに注意してください。したがって、を参照してください:
{% content-ref url="../../linux-hardening/privilege-escalation/" %}
[privilege-escalation](../../linux-hardening/privilege-escalation/)
@ -181,7 +183,7 @@ ls /tmp/snap/Users/admin_user # This will work
HackenProofのバウンティは、顧客が報酬予算を入金した後に開始されます。バグが検証された後に報酬を受け取ることができます。
**Web3ペントestingの経験を積む**\
ブロックチェーンプロトコルとスマートコントラクトは新しいインターネットです!上昇期のweb3セキュリティをマスターしましょう。
ブロックチェーンプロトコルとスマートコントラクトは新しいインターネットです!成長するWeb3セキュリティをマスターしましょう。
**Web3ハッカーレジェンドになる**\
各検証済みのバグで評判ポイントを獲得し、週間リーダーボードのトップを制覇しましょう。
@ -195,9 +197,9 @@ HackenProofのバウンティは、顧客が報酬予算を入金した後に開
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)、私たちの独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションを発見してください。
* [**公式のPEASSHackTricksのスワッグ**](https://peass.creator-spring.com)を手に入れましょう
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に参加するか、**Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**をフォロー**してください。
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう、私たちの独占的な[NFT](https://opensea.io/collection/the-peass-family)のコレクション
* [**公式のPEASSHackTricksグッズ**](https://peass.creator-spring.com)を手に入れましょう
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**をフォロー**してください。
* **ハッキングのトリックを共有するには、**[**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **にPRを提出**してください。
</details>

View file

@ -5,9 +5,9 @@
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
* [**公式のPEASSHackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)****
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう、私たちの独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクション
* [**公式のPEASSHackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
</details>
@ -18,8 +18,8 @@ APFS、またはApple File Systemは、Apple Inc.によって開発された現
APFSのいくつかの注目すべき特徴は次のとおりです
1. **スペース共有**APFSは、複数のボリュームが単一の物理デバイス上の**同じ基礎の空きストレージを共有**できます。これにより、ボリュームは手動でのリサイズや再パーティショニングの必要なく、動的に成長および縮小することができます。
1. これは、ファイルディスクの従来のパーティションと比較して、**APFSでは異なるパーティションボリュームがディスクスペースを共有**していることを意味します。一方、通常のパーティションは固定サイズを持っていました。
1. **スペース共有**APFSは、複数のボリュームが単一の物理デバイス上の**同じ基礎の空きストレージを共有**できるようにします。これにより、ボリュームは手動でのリサイズや再パーティショニングの必要なく、動的に成長および縮小することができます。
1. これは、APFSでは異なるパーティションボリュームがディスクスペースを共有することを意味しますが、通常のパーティションは固定サイズを持っていました。
2. **スナップショット**APFSは、ファイルシステムの**読み取り専用**の特定時点のインスタンスであるスナップショットの作成をサポートしています。スナップショットは、追加のストレージを最小限に消費し、迅速に作成または元に戻すことができるため、効率的なバックアップとシステムのロールバックを可能にします。
3. **クローン**APFSは、オリジナルと同じストレージを共有するファイルまたはディレクトリのクローンを作成できます。この機能により、ストレージスペースを複製せずにファイルやディレクトリのコピーを効率的に作成することができます。
4. **暗号化**APFSは、フルディスク暗号化だけでなく、ファイルごとやディレクトリごとの暗号化も**ネイティブでサポート**しており、さまざまなユースケースでデータのセキュリティを向上させます。

View file

@ -1,41 +1,41 @@
# macOSファイル、フォルダ、バイナリ&メモリ
# macOS ファイル、フォルダ、バイナリ&メモリ
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* **サイバーセキュリティ会社で働いていますか?** HackTricksで**会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください、私たちの独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクション
* [**公式のPEASSHackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **ハッキングのトリックを共有して、PRを提出してください** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud)。
* **サイバーセキュリティ企業で働いていますか?** HackTricksで**会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
* [**公式のPEASSHackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)****
* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください**
</details>
## ファイル階層レイアウト
* **/Applications**: インストールされたアプリはここにあります。すべてのユーザーがアクセスできます。
* **/bin**: コマンドラインバイナリ
* **/bin**: コマンドラインバイナリ
* **/cores**: 存在する場合、コアダンプを保存するために使用されます
* **/dev**: すべてがファイルとして扱われるため、ここにハードウェアデバイスが保存されている場合があります。
* **/etc**: 設定ファイル
* **/Library**: 好み、キャッシュ、ログに関連する多くのサブディレクトリとファイルがここにあります。ルートと各ユーザーのディレクトリにLibraryフォルダが存在します。
* **/private**: 文書化されていませんが、多くの言及されたフォルダはprivateディレクトリへのシンボリックリンクです。
* **/sbin**: システム管理に関連する必須のシステムバイナリ
* **/sbin**: システム管理に関連する必須のシステムバイナリ
* **/System**: OS Xを実行するためのファイル。ここには主にAppleの固有のファイルがありますサードパーティではありません
* **/tmp**: ファイルは3日後に削除されます/private/tmpへのソフトリンクです
* **/Users**: ユーザーのホームディレクトリ。
* **/usr**: 設定とシステムバイナリ
* **/var**: ログファイル
* **/Volumes**: マウントされたドライブはここに表示されます。
* **/.vol**: `stat a.txt`を実行すると、`16777223 7545753 -rw-r--r-- 1 username wheel ...`のような結果が得られます。最初の数値はファイルが存在するボリュームのID番号であり、2番目の数値はinode番号です。その情報を使用して、このファイルの内容には/.vol/からアクセスできます。情報を使用して`cat /.vol/16777223/7545753`を実行します。
* **/.vol**: `stat a.txt`を実行すると、`16777223 7545753 -rw-r--r-- 1 username wheel ...`のような結果が得られます。最初の数値はファイルが存在するボリュームのID番号であり、2番目の数値はinode番号です。このファイルの内容には、その情報を使用して`cat /.vol/16777223/7545753`を実行することでアクセスできます。
### アプリケーションフォルダ
* **システムアプリケーション**は`/System/Applications`にあります。
* **インストールされた**アプリケーションは通常`/Applications`または`~/Applications`にインストールされます。
* **アプリケーションデータ**は、ルートとして実行されるアプリケーションの場合は`/Library/Application Support`、ユーザーとして実行されるアプリケーションの場合は`~/Library/Application Support`にあります。
* **ルートとして実行する必要がある**サードパーティのアプリケーション**デーモン**は通常`/Library/PrivilegedHelperTools/`に配置されます。
* **アプリケーションデータ**は、ルートとユーザーとして実行されるアプリケーションの場合は`/Library/Application Support`、ユーザーとして実行されるアプリケーションの場合は`~/Library/Application Support`にあります。
* **ルートとして実行する必要がある**サードパーティのアプリケーション**デーモン**は通常`/Library/PrivilegedHelperTools/`にあります。
* **サンドボックス化された**アプリは`~/Library/Containers`フォルダにマップされます。各アプリには、アプリケーションのバンドルID`com.apple.Safari`など)に基づいた名前のフォルダがあります。
* **カーネル**は`/System/Library/Kernels/kernel`にあります。
* **Appleのカーネル拡張**は`/System/Library/Extensions`にあります。
@ -66,7 +66,7 @@ MacOSは、パスワードなどの情報をいくつかの場所に保存しま
* `plutil -p ~/Library/Preferences/com.apple.screensaver.plist`
* `plutil -convert xml1 ~/Library/Preferences/com.apple.screensaver.plist -o -`
* `plutil -convert json ~/Library/Preferences/com.apple.screensaver.plist -o -`
* **`.app`**: ディレクトリ構造に従うAppleアプリケーションバンドルです
* **`.app`**: ディレクトリ構造に従うAppleアプリケーションです(バンドルです)。
* **`.dylib`**: 動的ライブラリWindowsのDLLファイルのようなもの
* **`.pkg`**: xareXtensible Archive形式と同じです。installerコマンドを使用してこれらのファイルの内容をインストールできます。
* **`.DS_Store`**: このファイルは各ディレクトリにあり、ディレクトリの属性とカスタマイズを保存します。
@ -75,40 +75,54 @@ MacOSは、パスワードなどの情報をいくつかの場所に保存しま
* **`.noindex`**: この拡張子を持つファイルとフォルダはSpotlightによってインデックスされません。
### macOSバンドル
基本的に、バンドルはファイルシステム内の**ディレクトリ構造**です。興味深いことに、このディレクトリはデフォルトでFinderで**単一のオブジェクトのように見えます**(例:`.app`)。&#x20;
基本的に、バンドルはファイルシステム内の**ディレクトリ構造**です。興味深いことに、このディレクトリはデフォルトでFinderで**単一のオブジェクトのように見えます**(例:`.app`)。
{% content-ref url="macos-bundles.md" %}
[macos-bundles.md](macos-bundles.md)
{% endcontent-ref %}
## Dyld共有キャッシュ
macOSおよびiOSでは、フレームワークやdylibなどのシステム共有ライブラリは、**単一のファイル**であるdyld共有キャッシュに結合されます。これにより、コードの読み込みが高速化されます。
dyld共有キャッシュと同様に、カーネルとカーネル拡張もカーネルキャッシュにコンパイルされ、起動時に読み込まれます。
単一のファイルdylib共有キャッシュからライブラリを抽出するために、バイナリの[dyld\_shared\_cache\_util](https://www.mbsplugins.de/files/dyld\_shared\_cache\_util-dyld-733.8.zip)を使用することができましたが、現在は動作しない可能性があります。
{% code overflow="wrap" %}
```bash
dyld_shared_cache_util -extract ~/shared_cache/ /System/Volumes/Preboot/Cryptexes/OS/System/Library/dyld/dyld_shared_cache_arm64e
```
{% endcode %}
## 特殊なファイルの権限
### フォルダの権限
**フォルダ**では、**読み取り**は**リスト表示**を許可し、**書き込み**はファイルの**削除**と**書き込み**を許可し、**実行**はディレクトリの**トラバース**を許可します。したがって、例えば、**ファイルの読み取り権限**を持つユーザーが、**実行権限がない**ディレクトリ内のファイルを**読み取ることはできません**。
**フォルダ**では、**読み取り**は**リスト表示**を許可し、**書き込み**は**ファイルの削除**と**書き込み**を許可し、**実行**は**ディレクトリの移動**を許可します。したがって、例えば、**ファイルの読み取り権限**を持つユーザーが、**実行権限がない**ディレクトリ内にあるファイルを**読み取ることはできません**。
### フラグの修飾子
ファイルに設定されるいくつかのフラグがあり、これによりファイルの動作が異なるようになります。ディレクトリ内のファイルのフラグを`ls -lO /path/directory`で確認できます。
ファイルに設定できるいくつかのフラグがあり、ファイルの動作を異なるものにすることができます。`ls -lO /path/directory`コマンドでディレクトリ内のファイルのフラグを**チェック**できます。
* **`uchg`****uchange**フラグとして知られ、**ファイルの変更や削除を防止**します。設定するには:`chflags uchg file.txt`
* ルートユーザーはフラグを**削除**してファイルを変更できます
* **`restricted`**:このフラグはファイルを**SIPで保護**します(このフラグをファイルに追加することはできません)。
* **`Sticky bit`**:スティッキービットが設定されたディレクトリでは、**ディレクトリの所有者またはルートのみがファイルの名前を変更または削除**できます。通常、これは/tmpディレクトリに設定され、一般ユーザーが他のユーザーのファイルを削除または移動できないようにします。
* **`uchg`**: **uchange**フラグとして知られ、**ファイルの変更や削除を防ぎます**。設定するには、`chflags uchg file.txt`と入力します。
* ルートユーザーはフラグを**削除**してファイルを変更できます
* **`restricted`**: このフラグはファイルを**SIPで保護**します(このフラグをファイルに追加することはできません)。
* **`Sticky bit`**: スティッキービットが設定されたディレクトリでは、**ディレクトリの所有者またはルートユーザーのみがファイルの名前を変更または削除**できます。通常、これは/tmpディレクトリに設定され、一般ユーザーが他のユーザーのファイルを削除または移動できないようにします。
### **ファイルACL**
ファイルの**ACLアクセス制御エントリ**には、異なるユーザーに対してより**細かい権限**を割り当てることができる**ACEアクセス制御エントリ**が含まれています。
ディレクトリにはこれらの権限を付与することができます:`list`、`search`、`add_file`、`add_subdirectory`、`delete_child`、`delete_child`。\
ファイルにはこれらの権限を付与することができます:`read`、`write`、`append`、`execute`。
**ディレクトリ**には、次の権限を付与することができます:`list`、`search`、`add_file`、`add_subdirectory`、`delete_child`、`delete_child`。\
**ファイル**には、次の権限を付与することができます:`read`、`write`、`append`、`execute`。
ファイルにACLが含まれている場合、パーミッションをリスト表示する際に**"+"が表示されます**。
```bash
ls -ld Movies
drwx------+ 7 username staff 224 15 Apr 19:42 Movies
```
次のコマンドでファイルのACLを読むことができます:
次のコマンドでファイルのACLを読むことができます
```bash
ls -lde Movies
drwx------+ 7 username staff 224 15 Apr 19:42 Movies
@ -139,9 +153,7 @@ ls -l a.txt #The file length is still q
```
次のコマンドを使用して、この拡張属性を持つすべてのファイルを見つけることができます:
```bash
find / -xattrname <extended_attribute_name>
```
{% code overflow="wrap" %}
```bash
find / -type f -exec ls -ld {} \; 2>/dev/null | grep -E "[x\-]@ " | awk '{printf $9; printf "\n"}' | xargs -I {} xattr -lv {} | grep "com.apple.ResourceFork"
```
@ -161,25 +173,25 @@ Mac OSのバイナリは通常、**ユニバーサルバイナリ**としてコ
[macos-memory-dumping.md](macos-memory-dumping.md)
{% endcontent-ref %}
## リスクカテゴリファイルMac OS
## リスクカテゴリファイル Mac OS
ファイル`/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/System`には、ファイルの拡張子に応じたリスクが含まれています。
ファイル `/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/System` には、ファイルの拡張子に応じたリスクが含まれています。
可能なカテゴリは次のとおりです:
可能なカテゴリは以下の通りです:
* **LSRiskCategorySafe****完全に安全**ダウンロード後にSafariが自動的に開く
* **LSRiskCategoryNeutral**:警告はないが、**自動的に開かれない**
* **LSRiskCategoryUnsafeExecutable**:「このファイルはアプリケーションです...」という**警告をトリガー**する
* **LSRiskCategoryMayContainUnsafeExecutable**実行可能ファイルを含むアーカイブなどに使用されます。Safariがすべてのコンテンツが安全または中立であることを判断できない場合、**警告をトリガー**します。
* **LSRiskCategoryMayContainUnsafeExecutable**:実行可能ファイルを含むアーカイブなどに対して使用されます。Safariがすべてのコンテンツが安全または中立であることを判断できない場合、**警告をトリガー**します。
## ログファイル
* **`$HOME/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2`**ダウンロードされたファイルに関する情報が含まれています。ダウンロード元のURLなど。
* **`/var/log/system.log`**OSXシステムのメインログ。sysloggingの実行はcom.apple.syslogd.plistが担当しています`launchctl list`で「com.apple.syslogd」を検索して無効になっているかどうかを確認できます
* **`/private/var/log/asl/*.asl`**:興味深い情報が含まれている可能性あるApple System Logsです。
* **`/private/var/log/asl/*.asl`**:興味深い情報が含まれている可能性あるApple System Logsです。
* **`$HOME/Library/Preferences/com.apple.recentitems.plist`**「Finder」を介して最近アクセスしたファイルとアプリケーションを保存します。
* **`$HOME/Library/Preferences/com.apple.loginitems.plsit`**:システム起動時に起動するアイテムを保存します。
* **`$HOME/Library/Logs/DiskUtility.log`**DiskUtilityアプリのログファイルドライブに関する情報、USBを含む
* **`$HOME/Library/Logs/DiskUtility.log`**DiskUtilityアプリのログファイルドライブに関する情報、USBを含む
* **`/Library/Preferences/SystemConfiguration/com.apple.airport.preferences.plist`**:ワイヤレスアクセスポイントに関するデータ。
* **`/private/var/db/launchd.db/com.apple.launchd/overrides.plist`**:無効化されたデーモンのリスト。
@ -187,10 +199,10 @@ Mac OSのバイナリは通常、**ユニバーサルバイナリ**としてコ
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* **サイバーセキュリティ企業で働いていますか? HackTricksであなたの会社を宣伝したいですかまたは、PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロードしたりしたいですか[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう、私たちの独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクション
* [**公式PEASSHackTricks swag**](https://peass.creator-spring.com)を手に入れましょう
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に参加するか、**Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **サイバーセキュリティ企業で働いていますか?** HackTricksで**会社を宣伝**したいですか?または、**PEASSの最新バージョンやHackTricksのPDFをダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
* [**公式のPEASSHackTricksグッズ**](https://peass.creator-spring.com)を手に入れましょう
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
</details>

View file

@ -5,10 +5,10 @@
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
* [**公式のPEASSHackTricksグッズ**](https://peass.creator-spring.com)を手に入れましょう
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)****
* **ハッキングのトリックを共有する、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください、私たちの独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクション
* [**公式のPEASSHackTricksグッズ**](https://peass.creator-spring.com)を手に入れましょう
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で私を**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **ハッキングのトリックを共有するために、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
</details>
@ -18,27 +18,21 @@
**一般的な**バンドルは、**`.app`バンドル**ですが、他にも**`.framework`**や**`.systemextension`**、**`.kext`**などの実行可能ファイルもバンドルとしてパッケージ化されています。
バンドルに含まれるリソースの種類は、アプリケーション、ライブラリ、画像、ドキュメント、ヘッダーファイルなどがあります。これらのファイルは`<application>.app/Contents/`内にあります。
バンドルに含まれるリソースの種類は、アプリケーション、ライブラリ、画像、ドキュメント、ヘッダーファイルなどがあります。これらのファイルは`<application>.app/Contents/`内にあります。
```bash
ls -lR /Applications/Safari.app/Contents
```
* `Contents/_CodeSignature`
アプリケーションに関する**コード署名情報**(ハッシュなど)が含まれています。
* `Contents/MacOS`
アプリケーションの**バイナリ**が含まれていますユーザーがUIのアプリケーションアイコンをダブルクリックしたときに実行されます
* `Contents/Resources`
アプリケーションの**UI要素**が含まれています。画像、ドキュメント、およびさまざまなユーザーインターフェースを記述するnib/xibファイルなどです。
* `Contents/Info.plist`\
アプリケーションの主要な「**設定ファイル**」です。Appleは、「システムはこのファイルの存在に依存して、\[アプリケーション]と関連ファイルに関する関連情報を識別する」と述べています。
* `Contents/_CodeSignature` -> アプリケーションの**コード署名情報**を含んでいます(ハッシュなど)。
* `openssl dgst -binary -sha1 /Applications/Safari.app/Contents/Resources/Assets.car | openssl base64`
* `Contents/MacOS` -> ユーザーがUIのアプリケーションアイコンをダブルクリックしたときに実行される**アプリケーションのバイナリ**が含まれています。
* `Contents/Resources` -> 画像、ドキュメント、およびnib/xibファイルさまざまなユーザーインターフェースを記述するなど、アプリケーションの**UI要素**が含まれています。
* `Contents/Info.plist` -> アプリケーションの主要な「**設定ファイル**」です。Appleは、「システムはこのファイルの存在に依存して、\[アプリケーション]と関連ファイルに関する関連情報を識別する」と述べています。
* **Plist** **ファイル**には設定情報が含まれています。[https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Introduction/Introduction.html](https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Introduction/Introduction.html)でplistキーの意味に関する情報を見つけることができます。
* アプリケーションの解析時に興味がある可能性のあるペアは次のとおりです:\\
* アプリケーションの解析時に興味がある可能性のあるペアには以下があります:\\
* **CFBundleExecutable**
アプリケーションのバイナリの**名前**が含まれていますContents/MacOSに見つかります)。
アプリケーションのバイナリの**名前**が含まれていますContents/MacOSに見つかります
* **CFBundleIdentifier**

View file

@ -4,9 +4,9 @@
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* あなたは**サイバーセキュリティ会社**で働いていますか? HackTricksであなたの**会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう、私たちの独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクション
* [**公式のPEASSHackTricks swag**](https://peass.creator-spring.com)を手に入れましょう
* あなたは**サイバーセキュリティ企業**で働いていますか? HackTricksであなたの**会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください、私たちの独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクション
* [**公式のPEASSHackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **ハッキングのトリックを共有するために、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
@ -25,26 +25,26 @@
たとえば、次の設定:
```javascript
javascriptCopy code/usr
/usr
* /usr/libexec/cups
* /usr/local
* /usr/share/man
```
次のように示されています。**`/usr`**ディレクトリは一般的にSIPによって保護されています。ただし、指定された3つのサブディレクトリ`/usr/libexec/cups`、`/usr/local`、および`/usr/share/man`)では変更が許可されており、先頭にアスタリスク(\*)が付いてリストされています。
次のように示されています。**`/usr`** ディレクトリは一般的にSIPによって保護されています。ただし、3つのサブディレクトリ`/usr/libexec/cups`、`/usr/local`、および`/usr/share/man`)では変更が許可されており、先頭にアスタリスク(\*)が付いてリストされています。
ディレクトリやファイルがSIPによって保護されているかどうかを確認するには、**`ls -lOd`**コマンドを使用して**`restricted`**または**`sunlnk`**フラグの存在をチェックします。例えば:
ディレクトリやファイルがSIPによって保護されているかどうかを確認するには、**`ls -lOd`** コマンドを使用して **`restricted`** または **`sunlnk`** フラグの存在をチェックできます。例えば:
```bash
ls -lOd /usr/libexec/cups
drwxr-xr-x 11 root wheel sunlnk 352 May 13 00:29 /usr/libexec/cups
```
この場合、**`sunlnk`** フラグは、`/usr/libexec/cups` ディレクトリ自体は削除できないことを示していますが、その中のファイルは作成、変更、削除が可能です。
この場合、**`sunlnk`** フラグは、`/usr/libexec/cups` ディレクトリ自体は**削除できない**ことを示していますが、その中のファイルは作成、変更、削除が可能です。
一方、
```bash
ls -lOd /usr/libexec
drwxr-xr-x 338 root wheel restricted 10816 May 13 00:29 /usr/libexec
```
ここでは、**`restricted`** フラグは、`/usr/libexec` ディレクトリがSIPによって保護されていることを示しています。SIPで保護されたディレクトリでは、ファイルの作成、変更、削除ができません。
ここでは、**`restricted`** フラグは `/usr/libexec` ディレクトリがSIPによって保護されていることを示しています。SIPで保護されたディレクトリでは、ファイルの作成、変更、削除ができません。
### SIPの状態
@ -56,7 +56,7 @@ SIPを無効にする必要がある場合は、コンピュータをリカバ
```bash
csrutil disable
```
SIPを有効にしたままデバッグ保護を削除したい場合は、次の手順で行うことができます:
SIPを有効にしたままデバッグ保護を削除したい場合は、次の手順で行うことができます
```bash
csrutil enable --without debug
```
@ -71,7 +71,7 @@ SIPは他にもいくつかの制限を課しています。たとえば、**署
攻撃者がSIPを回避することに成功した場合、以下のことが得られます
* すべてのユーザーのメール、メッセージ、Safariの履歴などを読むことができる
* ウェブカメラ、マイクなどの許可を付与することができるSIPで保護されたTCCデータベースに直接書き込むことによって
* ウェブカメラ、マイクなどの許可を付与することができるSIPで保護されたTCCデータベースに直接書き込むことによ
* 永続性SIPで保護された場所にマルウェアを保存し、誰も削除することができなくなります。また、MRTを改ざんすることもできます。
* カーネル拡張の簡単な読み込み(これには他の厳格な保護策もあります)。
@ -81,7 +81,7 @@ SIPは他にもいくつかの制限を課しています。たとえば、**署
### 存在しないSIPファイル
潜在的な抜け穴の1つは、**`rootless.conf`に指定されたファイルが現在存在しない場合**、作成することができるというものです。マルウェアはこれを利用してシステム上で**永続性を確立**することができます。たとえば、悪意のあるプログラムは、`rootless.conf`にリストされているが存在しない場合、`/System/Library/LaunchDaemons`に.plistファイルを作成することができます。
潜在的な抜け穴の1つは、**`rootless.conf`に指定されたファイルが現在存在しない場合**、作成することができるというものです。マルウェアはこれを利用してシステム上で**永続性を確立**することができます。たとえば、悪意のあるプログラム`rootless.conf`にリストされているが存在しない場合、`/System/Library/LaunchDaemons`に.plistファイルを作成することができます。
### com.apple.rootless.install.heritable
@ -112,21 +112,31 @@ SIPは他にもいくつかの制限を課しています。たとえば、**署
以下に詳細を示します:
1. **不変のシステム**シールドされたシステムスナップショットにより、macOSシステムボリュームは「不変」となり、変更することができなくなります。これにより、セキュリティやシステムの安定性に影響を及ぼす可能性のある不正な変更や誤った変更を防止します。
2. **システムソフトウェアの更新**macOSのアップデートやアップグ
2. **システムソフトウェアの更新**macOSのアップデートやアップグレードを
| | スナップショットディスク: disk3s1s1
| | スナップショットマウントポイント: /
<strong>| | スナップショットシールド: はい
<strong>| | スナップショットマウントポイント: /
</strong><strong>| | スナップショットシールド: はい
</strong>[...]
+-> ボリューム disk3s5 281959B7-07A1-4940-BDDF-6419360F3327
| ---------------------------------------------------
| APFSボリュームディスク役割: disk3s5データ
| 名前: Macintosh HD - Data大文字と小文字を区別しない
<strong> | マウントポイント: /System/Volumes/Data
</strong><strong> | 使用済み容量: 412071784448 B412.1 GB
</strong> | シールド: いいえ
| FileVault: はい(ロック解除済み)
</code></pre>
前の出力では、**macOSシステムボリュームのスナップショットがシールされている**ことがわかりますOSによって暗号的に署名されています。したがって、SIPがバイパスされて変更された場合、**OSは起動しなくなります**。
前の出力では、**ユーザーがアクセス可能な場所**が`/System/Volumes/Data`の下にマウントされていることがわかります
シールが有効であることも確認できます。次のコマンドを実行してください。
```
さらに、**macOSシステムボリュームのスナップショット**は`/`にマウントされており、**シールド**OSによって暗号的に署名されているされています。したがって、SIPがバイパスされて変更された場合、**OSは起動しなくなります**。
また、シールドが有効であることを**確認する**には、次のコマンドを実行します:
```bash
csrutil authenticated-root status
Authenticated Root status: enabled
```
さらに、それは**読み取り専用**としてマウントされています。
さらに、スナップショットディスクは**読み取り専用**としてマウントされます。
```
mount
/dev/disk3s1s1 on / (apfs, sealed, local, read-only, journaled)
@ -135,9 +145,9 @@ mount
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* **サイバーセキュリティ会社で働いていますか?** HackTricksで**会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* **サイバーセキュリティ企業で働いていますか?** HackTricksで**会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
* [**公式のPEASSHackTricksグッズ**](https://peass.creator-spring.com)を手に入れましょう。
* [**公式のPEASSHackTricksグッズ**](https://peass.creator-spring.com)を手に入れましょう。
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**