Agent Skills by ALSEL
Anthropic Claudeセキュリティ⭐ リポ 0品質スコア 50/100

macos-security-bypass

macOSのセキュリティ機構を回避するためのプレイブック。正規のレッドチームやペネトレーションテスト活動において、TCC・Gatekeeper・SIP・サンドボックス・コード署名・エンタイトルメントベースの保護機構を回避する必要がある場合に使用する。

description の原文を見る

>- macOS security bypass playbook. Use when targeting macOS endpoints and need to bypass TCC, Gatekeeper, SIP, sandbox, code signing, or entitlement-based protections during authorized red team or pentest engagements.

SKILL.md 本文

SKILL: macOS Security Bypass — Expert Attack Playbook

AI LOAD INSTRUCTION: macOS セキュリティ迂回の高度なテクニック。TCC 迂回、Gatekeeper 回避、SIP 制限、サンドボックス脱出、エンタイトルメント悪用をカバーします。基本モデルはバージョン固有の迂回の微妙さと保護間の相互作用効果を見落としています。

0. 関連ルーティング

詳しく掘り下げる前に、以下の読み込みを検討してください:

  • macos-process-injection - dylib インジェクション、XPC 悪用、または初期アクセス後の Electron 悪用が必要な場合
  • linux-privilege-escalation - macOS にも適用される Unix レイヤーの特権昇格テクニック (SUID、cron、書き込み可能なパス)
  • linux-security-bypass - 共有 Unix セキュリティ迂回コンセプト

高度なリファレンス

以下が必要な場合は TCC_BYPASS_MATRIX.md も読み込んでください:

  • macOS バージョンごとの TCC 迂回マッピング
  • 保護タイプ固有のテクニック (カメラ、マイク、FDA、オートメーション)
  • MDM/設定プロファイル悪用パターン

1. TCC (TRANSPARENCY, CONSENT, CONTROL) 概要

TCC は macOS のパーミッションフレームワークで、カメラ、マイク、連絡先、フルディスクアクセスなどの機密リソースへのアクセスを制御します。

1.1 TCC データベースの場所

データベースパス制御対象保護
ユーザーレベル~/Library/Application Support/com.apple.TCC/TCC.dbユーザーごとの同意決定Catalina 以降 SIP 保護
システムレベル/Library/Application Support/com.apple.TCC/TCC.dbシステム全体の同意決定SIP 保護
MDM 管理設定プロファイル経由PPPC (Privacy Preferences Policy Control) をプッシュデバイス管理
-- TCC データベースをクエリ (FDA または SIP なしが必要)
sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db \
  "SELECT service, client, allowed FROM access;"

1.2 TCC 迂回カテゴリ

カテゴリメカニズム典型的な前提条件
FDA アプリ悪用すでに Full Disk Access が付与されたアプリに相乗りFDA アプリのバンドルまたはプラグインディレクトリへの書き込みアクセス
直接 DB 修正TCC.db を編集して同意を付与SIP 無効化または FDA
継承パーミッション子プロセスが親の TCC 権限を継承FDA 付与アプリのコンテキストでのコード実行
オートメーション悪用Apple Events / osascript で TCC 付与アプリを制御オートメーションパーミッション (直接 TCC より低い)
マウント トリック修正された TCC.db を含むカスタムディスクイメージをマウントローカルアクセス、Ventura 前
TCC の SQL インジェクションTCC サブシステムで SQL インジェクションをトリガーする不正なバンドル IDCVE-2023-32364 など

1.3 既知の TCC 迂回パターン

Terminal / iTerm FDA 継承: Terminal.app が FDA 付与 → 実行されたコマンドは FDA を継承 → 任意のファイルを読取可能。

# Terminal が FDA を持つ場合、保護されたファイルを直接読取
cat ~/Library/Mail/V*/MailData/Envelope\ Index
cat ~/Library/Messages/chat.db

Finder オートメーション: Finder を自動化 (より低いパーミッション) して保護されたロケーションのファイルにアクセス。

tell application "Finder"
  set f to POSIX file "/Users/target/Library/Mail/V9/MailData/Envelope Index"
  duplicate f to desktop
end tell

System Preferences / System Settings インジェクション: すでに TCC パーミッションを持つプロセスのアプリケーション スクリプト フォルダに書き込むことでインジェクション。

MDM プロファイル悪用: PPPC プロファイルは事前に TCC パーミッションを承認できます。不正な MDM 登録または侵害された MDM サーバー → PPPC ペイロードをプッシュ。


2. GATEKEEPER 迂回

Gatekeeper は未署名または未検証のアプリの実行をブロックします。コア実装は com.apple.quarantine 拡張属性に依存します。

2.1 隔離属性の削除

# 隔離属性を確認
xattr -l /path/to/app
# 出力: com.apple.quarantine: 0083;...

# 隔離を削除 (書き込みアクセスが必要)
xattr -d com.apple.quarantine /path/to/app
# アプリバンドルの場合は再帰的に
xattr -rd com.apple.quarantine /path/to/MyApp.app

2.2 迂回テクニック

テクニック仕組みmacOS バージョン
xattr -d 削除実行前に隔離を削除すべて (ローカルアクセス必要)
アプリ転置迂回特定ロケーションのアプリは転置をスキップCatalina 前
隔離を削除するアーカイブツール一部の展開ツールは隔離を伝播しないツール依存
署名されたバンドル内の未署名コード検証されたアプリバンドルに未署名の補助ツールVentura 前 (CVE-2022-42821)
Safari 自動展開 + 開くダウンロードされた ZIP は自動展開、隔離が完全に適用される前にアプリが開かれるSafari 固有、パッチ済み
ACL 悪用com.apple.quarantine はダウンロード前に設定された ACL でブロック可能事前配置が必要
ディスクイメージ (DMG) トリックネットワーク共有からマウントされた DMG は隔離を保持しない可能性ネットワーク共有コンテキスト
BOM (Bill of Materials) 迂回pkg 内のカスタム BOM は展開されたファイルの隔離をスキップCVE-2022-22616

2.3 Gatekeeper チェック フロー

アプリ起動
│
├── com.apple.quarantine 属性が存在?
│   ├── いいえ → 実行 (Gatekeeper チェックなし)
│   └── はい ↓
│
├── コード署名が有効?
│   ├── いいえ → ブロック
│   └── はい ↓
│
├── 検証済み (ステープルされたチケットまたはオンラインチェック)?
│   ├── いいえ → ブロック (Catalina+)
│   └── はい → 実行
│
└── ユーザー オーバーライド? (右クリック → 開く → 確認)
    └── このアプリに対してオーバーライド

3. SIP (SYSTEM INTEGRITY PROTECTION)

SIP は保護されたシステムロケーションの修正、未署名カーネル拡張の読み込み、システムプロセスのデバッグから root を制限します。

3.1 SIP 保護ロケーション

/System/
/usr/ (/usr/local/ を除く)
/bin/
/sbin/
/var/ (選択されたサブディレクトリ)
/Applications/ (プリインストール Apple アプリ)

3.2 SIP ステータスと設定

csrutil status              # SIP ステータスを確認
csrutil disable             # リカバリモードのみ
csrutil enable --without fs # 部分的に無効化 (リスキー)

3.3 SIP をバイパスするエンタイトルメント

エンタイトルメント効果
com.apple.rootless.installSIP 保護パスへの書き込み
com.apple.rootless.install.heritable子プロセスが SIP バイパスを継承
com.apple.security.cs.allow-unsigned-executable-memoryJIT/メモリ内の未署名コード
com.apple.private.security.clear-library-validation未署名ライブラリの読み込み

3.4 過去の SIP バイパス

CVEmacOSテクニック
CVE-2021-30892 (Shrootless)Monterey 12.0.1 前system_installd + 署名された pkg のインストール後スクリプト
CVE-2022-22583Monterey 12.2 前packagekit + マウントポイント操作
CVE-2022-46689 (MacDirtyCow)Ventura 13.1 前Copy-on-write でのレース条件、SIP ファイル上書き
CVE-2023-32369 (Migraine)Ventura 13.4 前Migration Assistant TCC/SIP バイパス via systemmigrationd
CVE-2024-44243Sequoia 15.2 前StorageKit デーモン悪用

4. サンドボックス脱出

macOS サンドボックス (App Sandbox、sandbox-exec またはエンタイトルメント経由) はアプリのファイルシステム、ネットワーク、IPC へのアクセスを制限します。

4.1 Office サンドボックス脱出パターン

ベクトル説明
開く/保存ダイアログ悪用ユーザーがダイアログ経由でファイルアクセスを許可 → マクロがサンドボックス外を読取/書込
~/Library/LaunchAgents/ 永続化一部のサンドボックスプロファイルは LaunchAgent plist の書き込みを許可
ログイン項目の操作サンドボックス外のペイロードを指す ログイン項目を追加
共有コンテナ悪用複数のアプリが同じアプリグループコンテナを共有

4.2 IPC ベースの脱出

IPC メカニズム脱出ベクトル
XPC Servicesクライアント検証が不十分な特権 XPC サービスに接続
Mach ポート特権タスク ポートへの送信権を取得
Apple Events未サンドボックスのアプリを自動化してアクションを実行
分散通知未サンドボックスのヘルパーに信号を送ってペイロードを実行
ペーストボードペーストボードにペイロードを書き込み、未サンドボックスのアプリに消費させる

4.3 ブラウザ サンドボックス

  • Chromium: マルチプロセス モデル、レンダラーはサンドボックス化、ブラウザプロセスはそうでない
  • Safari: WebContent プロセスはサンドボックス化、親 Safari プロセスはより多くの特権
  • エクスプロイト チェーン: レンダラー RCE → サンドボックス脱出 (ブラウザプロセスへの IPC バグ経由) → システムアクセス

5. コード署名とエンタイトルメント

5.1 署名とエンタイトルメントの検査

codesign -dv --verbose=4 /path/to/app       # 署名の詳細
codesign -d --entitlements :- /path/to/app   # エンタイトルメントをダンプ
security cms -D -i /path/to/mobileprovision  # プロビジョニング プロファイル

# 署名の有効性を検証
codesign --verify --deep --strict /path/to/app
spctl --assess --type execute /path/to/app   # Gatekeeper の評価

5.2 特権昇格のためのエンタイトルメント悪用

エンタイトルメント悪用シナリオ
com.apple.security.cs.disable-library-validation攻撃者 dylib を付与されたプロセスに読み込む
com.apple.security.cs.allow-dyld-environment-variablesDYLD_INSERT_LIBRARIES インジェクション
com.apple.security.get-task-allowデバッガをアタッチ、コードをインジェクト
com.apple.security.cs.debugger任意のプロセスをデバッグ
com.apple.private.apfs.revert-to-snapshotAPFS スナップショットを巻き戻し、修正をバイパス

5.3 強化ランタイムバイパス

強化ランタイムは以下を防止: DYLD 環境変数、デバッグ、未署名メモリ実行。バイパス:

  • 強化ランタイムを弱める付与されたアプリを見つける (disable-library-validation)
  • JIT 付与のアプリ (ブラウザ、VM) を悪用して未署名コード実行
  • 本番環境に残された get-task-allow 付与デバッグビルドを使用

5.4 ライブラリ検証バイパス

ライブラリ検証は Apple 署名またはチーム間署名 dylib のみの読み込みを確認します。

# ライブラリ検証が無効化されたアプリを見つける
codesign -d --entitlements :- /Applications/*.app/Contents/MacOS/* 2>/dev/null | \
  grep -l "disable-library-validation"

6. バイパス後の永続化

方法ロケーション再起動後も有効注記
LaunchAgent~/Library/LaunchAgents/はいユーザーレベル、ログイン時に実行
LaunchDaemon/Library/LaunchDaemons/はいルートレベル、ブート時に実行
ログイン項目~/Library/Application Support/com.apple.backgroundtaskmanagementagent/はいSystem Settings で表示
Croncrontab -eはいディフェンダーが見落とすことが多い
Dylib ハイジャック書き込み可能な dylib 検索パスはいターゲット アプリ起動時にトリガー
フォルダ アクション~/Library/Scripts/Folder Action Scripts/はいフォルダ イベント時にトリガー

7. macOS セキュリティバイパス デシジョンツリー

macOS エンドポイントをターゲット
│
├── 信頼されていないバイナリを実行する必要がある?
│   ├── 隔離属性が存在?
│   │   ├── はい → xattr -d com.apple.quarantine (§2.1)
│   │   └── いいえ → 直接実行
│   └── Gatekeeper がまだブロック?
│       ├── 署名済みだが未検証 → 右クリック → 開く オーバーライド
│       └── 未署名 → 署名されたバンドルに埋め込むまたはアーカイブ トリック (§2.2)
│
├── TCC 保護リソースへのアクセスが必要?
│   ├── FDA 付与アプリが利用可能?
│   │   ├── はい → FDA アプリ コンテキストを悪用 (§1.3)
│   │   └── いいえ ↓
│   ├── オートメーション パーミッション が取得可能?
│   │   ├── はい → TCC 付与アプリに Apple Events (§1.3)
│   │   └── いいえ ↓
│   ├── SIP が無効化されている?
│   │   ├── はい → 直接 TCC.db 修正 (§1.2)
│   │   └── いいえ → バージョン固有の TCC 迂回を確認 (→ TCC_BYPASS_MATRIX.md)
│   └── MDM が存在?
│       └── 侵害された MDM → PPPC プロファイルをプッシュ (§1.3)
│
├── SIP をバイパスする必要?
│   ├── macOS バージョンを確認 → 過去の SIP CVE? (§3.4)
│   ├── SIP バイパス エンタイトルメント付与の Apple バイナリを見つける (§3.3)
│   └── リカバリモード アクセス? → csrutil disable (§3.2)
│
├── サンドボックス脱出が必要?
│   ├── Office マクロ コンテキスト → ダイアログ/LaunchAgent トリック (§4.1)
│   ├── XPC サービス (検証が弱い) → IPC 脱出 (§4.2)
│   └── ブラウザ コンテキスト → レンダラー → サンドボックス脱出チェーン (§4.3)
│
├── 署名されたプロセスへのインジェクション が必要?
│   ├── disable-library-validation エンタイトルメント? → dylib インジェクション
│   ├── allow-dyld-environment-variables? → DYLD_INSERT_LIBRARIES
│   ├── get-task-allow? → デバッガ アタッチ
│   └── なし → macos-process-injection SKILL.md を確認
│
└── 永続化が必要?
    └── アクセスレベル別にメソッドを選択 (§6)

8. クイック リファレンス: ツール コマンド

# TCC パーミッションの列挙
tccutil reset All                              # すべての TCC をリセット (管理者権限)
sqlite3 TCC.db "SELECT * FROM access;"         # TCC DB を読取

# Gatekeeper ステータス
spctl --status                                 # Gatekeeper 有効?
spctl --assess -v /path/to/app                 # アプリ評価を確認

# SIP ステータス
csrutil status

# システム全体で興味深いエンタイトルメントを見つける
find /System/Applications /Applications -name "*.app" -exec sh -c \
  'codesign -d --entitlements :- "$1" 2>/dev/null | grep -q "disable-library-validation" && echo "$1"' _ {} \;

# 読み込まれたカーネル拡張 (kext) をリスト
kextstat | grep -v com.apple

# サンドボックス プロファイル検査
sandbox-exec -p "(version 1)(allow default)" /bin/ls  # サンドボックス ルールをテスト

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
yaklang
リポジトリ
yaklang/hack-skills
ライセンス
MIT
最終更新
不明

Source: https://github.com/yaklang/hack-skills / ライセンス: MIT

関連スキル

Anthropic Claudeセキュリティ⭐ リポ 8,981

secure-code-guardian

認証・認可の実装、ユーザー入力の保護、OWASP Top 10の脆弱性対策が必要な場合に使用します。bcrypt/argon2によるパスワードハッシング、パラメータ化ステートメントによるSQLインジェクション対策、CORS/CSPヘッダーの設定、Zodによる入力検証、JWTトークンの構築などのカスタムセキュリティ実装に対応します。認証、認可、入力検証、暗号化、OWASP Top 10対策、セッション管理、セキュリティ強化全般で活用できます。ただし、構築済みのOAuth/SSO統合や単独のセキュリティ監査が必要な場合は、より特化したスキルの検討をお勧めします。

by Jeffallan
汎用セキュリティ⭐ リポ 1,982

claude-authenticity

APIエンドポイントが本物のClaudeによって支えられているか(ラッパーやプロキシ、偽装ではないか)を、claude-verifyプロジェクトを模した9つの重み付きルールベースチェックで検証できます。また、Claudeの正体を上書きしているプロバイダーから注入されたシステムプロンプトも抽出します。完全に自己完結しており、httpx以外の追加パッケージは不要です。Claude APIキーまたはエンドポイントを検証したい場合、サードパーティのClaudeサービスが本物か確認したい場合、APIプロバイダーのClaude正当性を監査したい場合、複数モデルを並行してテストしたい場合、またはプロバイダーが注入したシステムプロンプトを特定したい場合に使用できます。

by LeoYeAI
Anthropic Claudeセキュリティ⭐ リポ 2,159

anth-security-basics

Anthropic Claude APIのセキュリティベストプラクティスを適用し、キー管理、入力値の検証、プロンプトインジェクション対策を実施します。APIキーの保護、Claudeに送信する前のユーザー入力検証、コンテンツセーフティガードレールの実装が必要な場合に活用できます。「anthropic security」「claude api key security」「secure anthropic」「prompt injection defense」といったフレーズでトリガーされます。

by jeremylongshore
汎用セキュリティ⭐ リポ 699

x-ray

x-ray.mdプレ監査レポートを生成します。概要、強化された脅威モデル(プロトコルタイプのプロファイリング、Gitの重み付け攻撃面分析、時間軸リスク分析、コンポーザビリティ依存関係マッピング)、不変条件、統合、ドキュメント品質、テスト分析、開発者・Gitの履歴をカバーしています。「x-ray」「audit readiness」「readiness report」「pre-audit report」「prep this protocol」「protocol prep」「summarize this protocol」のキーワードで実行されます。

by pashov
汎用セキュリティ⭐ リポ 677

semgrep

Semgrepスタティック分析スキャンを実行し、カスタム検出ルールを作成します。Semgrepでのコードスキャン、セキュリティ脆弱性の検出、カスタムYAMLルールの作成、または特定のバグパターンの検出が必要な場合に使用します。重要:ユーザーが「バグをスキャンしたい」「コード品質を確認したい」「脆弱性を見つけたい」「スタティック分析」「セキュリティlint」「コード監査」または「コーディング標準を適用したい」と尋ねた場合も、Semgrepという名称を明記していなくても、このスキルを使用してください。Semgrepは30以上の言語に対応したパターンベースのコードスキャンに最適なツールです。

by wimpysworld
汎用セキュリティ⭐ リポ 591

ghost-bits-cast-attack

Java「ゴーストビッツ」/キャストアタック プレイブック(Black Hat Asia 2026)。16ビット文字が8ビットバイトに暗黙的に縮小されるJavaサービスへの攻撃時に使用します。WAF/IDSを回避して、SQLインジェクション、デシリアライゼーション型RCE、ファイルアップロード(Webシェル)、パストトラバーサル、CRLF インジェクション、リクエストスマグリング、SMTPインジェクションを実行できます。Tomcat、Spring、Jetty、Undertow、Vert.x、Jackson、Fastjson、Apache Commons BCEL、Apache HttpClient、Angus Mail、JDK HttpServer、Lettuce、Jodd、XMLWriterに影響し、WAFバイパスにより多くの「パッチ済み」CVEを再度有効化します。

by yaklang
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: yaklang · yaklang/hack-skills · ライセンス: MIT