Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
amazon-mustang-hack — Amazon Fire 7 (Fire OS 7.3.3.1) पर Mali kbase JIT use-after-free CVE-2022-38181 के माध्यम से अस्थायी root प्राप्त करने वाला Kernel exploit शोध, जिसमें modprobe_path overwrite chain शामिल है। | Kitploit
उपकरण/GitHubGitHub/artur9010/amazon-mustang-hack
एंड्रॉइड सुरक्षाविशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणरिवर्स इंजीनियरिंगमोबाइल सुरक्षापेपर और शोधपेलोड डेवलपमेंटबाइनरी शोषण

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
GitHubartur9010/amazon-mustang-hack

amazon-mustang-hack

Amazon Fire 7 (Fire OS 7.3.3.1) पर Mali kbase JIT use-after-free CVE-2022-38181 के माध्यम से अस्थायी root प्राप्त करने वाला Kernel exploit शोध, जिसमें modprobe_path overwrite chain शामिल है।

रिपॉजिटरी देखेंवेबसाइट
2320 दिन पहलेअभी तक समीक्षित नहीं

AI-सहायित परियोजना। यह शोध, एक्सप्लॉइट विकास, और दस्तावेज़ीकरण AI सहायता से मॉडल GLM-5.3 और DeepSeek V4.1 Flash का उपयोग करके तैयार किए गए थे।

amazon-mustang-hack

अंतिम फर्मवेयर पर Amazon Fire 7 9th gen (mustang, MT8163, Mali-T720) के लिए रूट एक्सप्लॉइट शोध — Fire OS 7.3.3.1, PS7331.4463N, kernel 4.9.117 (निर्मित 2025-05-03, SPL 2024-08-01)।

लक्ष्य: LineageOS। इस यूनिट पर बूटलोडर पथ समाप्त है (पैच किया गया bootrom — केवल preloader, CMD शॉर्ट के माध्यम से), इसलिए एकमात्र शेष मार्ग सॉफ़्टवेयर कर्नेल एक्सप्लॉइट है।

त्वरित शुरुआत```

one-shot: build, run the exploit (retries across the probabilistic reclaim),

install a setuid-root su and verify it as an unprivileged user

nix-shell -p android-tools --run './run.sh' # add -p zig too if no zig

सफलता पर:```
/data/metrics/su id     # run a command as root
/data/metrics/su        # interactive root shell

The reclaim लगभग 3 में से 1 boot जीतता है और हारने पर tablet panic/reboot हो जाता है; run.sh बस reboot का इंतज़ार करता है और फिर से try करता है। SELinux को exploit के हिस्से के रूप में जबरन Permissive किया जाता है, इसलिए root runtime-only है — reboot करने पर stock वापस आ जाता है और आप run.sh फिर से चलाते हैं।

Prebuilt st3 और su (armv7 static) commit किए गए हैं, इसलिए चलाने के लिए किसी toolchain की ज़रूरत नहीं है। ./run.sh --build उन्हें poc/*.c से rebuild करता है अगर आपके पास zig है।

इसके नीचे जो कुछ भी है वह model द्वारा किए गए काम का log है, नीचे कोई hooman input नहीं है।

PRIMARY TARGET (session 5 से): kbase CVE-2022-38181 — stage 2 PROVEN

GhostLock (नीचे) parked है: MTK का BUG_ON rtmutex variant + shell से zero kernel-address disclosure = इस build पर architectural dead end (sessions 2-4)। kbase JIT UAF का फिर से निदान किया गया (destroy-worker "unconditional panic" वह JIT_FREE deref था, log adbd death mid-panic में खो गया) और stage 2 अब oracle-proven है — SESSION 5 section देखें।

PARKED: GhostLock, CVE-2026-43499

rtmutex remove_waiter() futex-PI stack-UAF (NebuSec disclosure 2026-07, fix 3bfdc63936dd 2026-04 में landed)। Vulnerable range 2.6.39–7.1 → हमारा 4.9.117 (May 2025) affected है।

हमारे exact build पर verified:

  • CONFIG_FUTEX=y, rtmutex compiled in, bug verbatim मौजूद: rtmutex.c:1108-1111 current->pi_lock/current->pi_blocked_on का उपयोग करता है (होना चाहिए waiter->task); buggy call site rtmutex.c:1723 (rt_mutex_start_proxy_lock error path)
  • Trigger surface = pure futex syscalls (WAIT_REQUEUE_PI/CMP_REQUEUE_PI), कोई device node नहीं, कुछ भी SELinux-gated नहीं — kbase path की fatal obstacles यहाँ मौजूद नहीं हैं
  • Consumer: sched_setattr → __sched_setscheduler → rt_mutex_adjust_pi(p) at sched/core.c:4706 — stale pi_blocked_on को deref करता है ✓
  • Proxy waiter waiter thread के अपने stack पर रहता है (futex.c:1975 this->rt_waiter pass करता है, जो futex_wait_requeue_pi में futex.c:2880 पर declared है) → waiter arm32 select (nr 142) fd_sets के ज़रिए अपना ही freed frame stamp करता है
  • Exploitation climate: no KASLR (fixed base 0xc0008000), no PAN, DEBUG_RT_MUTEXES off → compact 48-byte rt_mutex_waiter (tree_entry@0, pi_tree_entry@0xc, task@0x18, lock@0x1c, prio@0x20, deadline@0x28)
  • Minimal chain: 2 write-slots → modprobe_path @ 0xc111488c (string vmlinux में self-located; KALLSYMS_ALL off इसलिए data symbols को यह trick चाहिए) → unknown-binfmt exec → root script (setenforce 0, disable OTA, su)
  • refs/ में references: NebuSec/CyberMeowfia (original), GhostLock-5.10 (Fire OS 8 port, src/exp32/ में पूरा 32-bit ARM trigger), ghostlock-...-4.19-k40 (Qualcomm 4.19 Android port)

TODO (port plan)

  1. Trigger लिखें (3-thread requeue-PI deadlock, cores 0-3) — exp32/main.c का port
  2. Stamp geometry: rt_waiter frame offset vs do_sys_select fd_set area — हमारे vmlinux को disassemble करें (do_sys_select stack_fds vs futex_wait_requeue_pi frame), STAMP_NFDS/STAMP_WAITER_OFF को tunables के रूप में expose करें
  3. arm32 48-byte waiter के लिए fake-writer encoding → "write V to ADDR" slots
  4. 2 slots → modprobe_path, fire, root script
  5. Fallbacks अगर select-stamp तक नहीं पहुँच सकते: setsockopt(MCAST_JOIN_SOURCE_GROUP) stamp

Status

  • Bootrom (amonet hardware method) — इस unit पर patched, dead end
  • mtk-su (CVE-2020-0069) — patched, Failed critical init step 3
  • Attack surface survey — /dev/mali0 world-RW + SELinux gpu_device, kbase r26p0-01rel0
  • CVE-2022-38181 exact-build source में confirmed; stage-1 trigger काम करता है
  • CVE-2026-43499 (GhostLock) verified लेकिन blocked: MTK BUG_ON rtmutex variant + shell से कोई kernel-address disclosure नहीं (sessions 2-4)
  • CVE-2022-38181 stage 2 PROVEN (session 5): destroy-worker panic एक misdiagnosis था; UAF redirect sprayed region पर, oracle-verified
  • Stage 1: trigger + stamp + consumer (crash = chain live)
  • Stage 2 (kbase path): UAF redirect sprayed region पर — PROVEN session 5
  • Stage 2b: raw-byte slot control (xattr stamp churn) → unlink write
  • Stage 3: arbitrary kernel function call → ROOT (session 10) — nf LOCAL_OUT hook hijack, selroot 2-packet chain: selinux_state.enforcing को zero करें, fake entry को commit_creds(&init_cred) में rewrite करें। uid=0, SELinux Permissive.
  • [_] Stage 4: root script (su, permissive, OTA off) + persistence — root प्राप्त; persistence blocked (SESSION 11 देखें): LK verity-off/SELinux-permissive को eng/unlocked पर gate करता है, boot-time re-exploit के पास कोई viable executor नहीं है। अगला: reverse LK/amzn_verify_unlock.
  • Stage 5: custom OS boot chain

Key findings

Device / firmware

  • Model KFMUWI, device mustang, Fire OS 7.3.3.1 PS7331.4463N/0031575863040
  • Kernel 4.9.117-g08fe75b-dirty, built Sat May 3 01:25:15 UTC 2025 (Linaro GCC 6.3-2017.05)
  • Amazon ने May 2025 में चुपचाप 7.3.3.1 फिर से जारी किया (नया incremental, वही version string)
  • Bootrom post-2020 revision: eMMC CMD पर short-to-GND देता है केवल preloader (patched)
  • /dev/kb, /dev/dkb (Amazon kernel-backup partitions) root:drmrpc 0660 — locked

CVE-2022-38181 क्यों लागू होता है

  • Driver: mali_kbase r26p0-01rel0 (Midgard, Mali-T720), NVD affected range r4p0–r31p0 के अंदर
  • Amazon के May 2025 rebuild ने 2018 का bug verbatim ship किया — कोई backport नहीं
  • Exact vulnerable code, source-verified:
    • mali_kbase_mem.c:2721 kbase_jit_destroy_worker region free करता है, कभी kctx->jit_alloc[id] clear नहीं करता
    • mali_kbase_softjobs.c:1270 kbase_jit_free_finish stale jit_alloc[ids[j]] को deref करता है
    • mali_kbase_mem.c:3138 kbase_jit_backing_lost → destroy path (reclaim के दौरान fire होता है)

Exploitation climate (सभी live config dump + OTA vmlinux से verified)

  • armv7 32-bit, non-LPAE → no KASLR (kernel fixed 0xc0008000 VA / 0x40080000 PA पर)
  • No ARM_SW_DOMAIN_PAN → ret2usr viable; CONFIG_PANIC_ON_OOPS=y (failed attempts = reboot)
  • No SLAB_FREELIST_RANDOM/HARDENED, no CONFIG_USER_NS/USERFAULTFD/NF_TABLES
  • CONFIG_MODULES=y, no STATIC_USERMODEHELPER → modprobe_path overwrite = root
  • 1 GB RAM → direct reclaim (eviction के लिए ज़रूरी) trivially reachable; pressure >~1 GB kernel को अपने आप panic कर देता है (unrelated lowmem/OOM bug) — spray ≤ 900 MB रखें, ~700 MB उपयोग करें
टूल डाउनलोड करें