Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
lenovo_y700_tb320fc_on_CVE-2025-21479 — Lenovo Legion Y700 2023 (TB320FC)용 인메모리 커널 권한 상승으로, Qualcomm Adreno GPU SMMU 취약점인 CVE-2025-21479를 악용하며 ReSukiSU 루트 관리 기능을 제공합니다. | Kitploit
도구/GitHubGitHub/xjoker/lenovo_y700_tb320fc_on_cve-2025-21479
Android SecurityPrivilege EscalationPersistence MechanismsExploitationMobile App PentestingPost-ExploitationMobile SecurityPayload DevelopmentBinary Exploitation

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHubxjoker/lenovo_y700_tb320fc_on_cve-2025-21479

lenovo_y700_tb320fc_on_CVE-2025-21479

Lenovo Legion Y700 2023 (TB320FC)용 인메모리 커널 권한 상승으로, Qualcomm Adreno GPU SMMU 취약점인 CVE-2025-21479를 악용하며 ReSukiSU 루트 관리 기능을 제공합니다.

저장소 보기
971개월 전아직 검토되지 않음

TB320FC 커널 루트 — CVE-2025-21479

English | 简体中文

**Lenovo Legion Y700 2023 (TB320FC)**를 위한 인메모리 커널 권한 상승으로, CVE-2025-21479(Qualcomm Adreno GPU SMMU 취약점)를 익스플로잇하며, ReSukiSU가 완전한 루트 관리를 제공합니다.

부트로더 언락 없음. 플래싱 없음. 활성화에 PC 불필요.

⚠️ 소유한 기기에서의 승인된 보안 연구용입니다. 면책 조항을 참조하세요.


대상 기기

이 프로젝트의 모든 오프셋과 동작은 다음 기기에 맞춰 조정되었습니다. 재조정 없이 다른 모델/ROM에서 작동할 것으로 기대하지 마세요 (exploit/device_info.txt 참조).

모델Lenovo Legion Y700 2023 (TB320FC) / TB320FC_PRC
SoCQualcomm SM8475 (Snapdragon 8+ Gen 1, Adreno 730)
시스템ZUXOS 1.1.350 / Android 15 (SDK 35)
빌드AQ3A.240812.002 (TB320FC_CN_OPEN_USER_Q00031.0_V_ZUXOS_1.1.350_ST_250418)
커널5.10.209-android12-9-gef44381c3e04-ab50
보안 패치2025-03-05
부트로더잠김 (이 프로젝트는 이를 언락하지 않음)

2026-09 기준 위 펌웨어에서 작동이 검증되었습니다.

기능

기능구현
권한 상승cheese 익스플로잇: KGSL SMMU 버그 → GPU 임의 물리적 R/W → 인메모리 루트 (uid 0 + 전체 caps)
루트 관리ReSukiSU (KernelSU 포크)가 late-load 모드로 kernelsu.ko를 로드; su는 커널 내 훅(u:r:ksu:s0)이 제공
SELinux활성화 후 Enforcing으로 복원 (ReSukiSU 정책 규칙은 계속 적용됨)
원탭 UX익스플로잇 + ksud가 내장된 RootActivator APK; 부팅 후 한 번의 탭
자동 복구 (선택)부팅 트리거 자가 복구 체인: 적응형 부하 게이트 트리거 → cheese → 루트 파이프라인 → 선택적 hosts/Vector. 기본값 꺼짐 (com.poc.roottool.CONFIG)
Xposed 모듈NeoZygisk (ptrace zygote 인젝션) + Vector를 통해 지원
지속성설계상 없음 (인메모리): 재부팅 후마다 재활성화 필요 (~3-4분; 또는 자동 복구 체인 활성화)

스크린샷

RootActivator (활성화됨)ReSukiSU (작동 중, 모듈 2개)
RootActivatorReSukiSU

왼쪽: 성공적으로 활성화된 후의 RootActivator — SELinux Enforcing, kernelsu 로드됨, su 사용 가능. 오른쪽: ReSukiSU 관리자 — 모듈 2개(NeoZygisk + Vector)와 함께 LKM 모드 작동 중.

작동 방식

RootActivator APK
   │
   ├─ libcheese.so ── KGSL SMMU exploit (CVE-2025-21479)
   │     1. Adreno 730 microcode access-check flaw (SDS packet mistaken for RingBuffer)
   │     2. Fake CP_SMMU_TABLE_UPDATE overwrites GPU TTBR0 → arbitrary physical R/W
   │     3. Zero selinux_state.enforcing; dump kernel from fixed PA 0xA8000000,
   │        parse kallsyms from the raw image (SM8475 has no physical KASLR)
   │     4. Patch __do_sys_capset with an escalation shellcode
   │        (prepare_kernel_cred(0) + commit_creds + clear TIF_SECCOMP);
   │        forked child calls capset() → uid 0 + full caps
   │
   └─ libksud.so (ReSukiSU) ── late-load mode
         1. kernelsu.ko loaded from ksud's embedded assets with manual relocation
            (does not rely on kernel symbol exports)
         2. install → /data/adb/ksu (ksud/busybox/bootctl)
         3. su channel online: /system/bin/su → kernel hook redirect → u:r:ksu:s0
         4. setenforce 1 — Enforcing restored, policy rules already injected by the ko

주요 엔지니어링 포인트

  • Qualcomm GKI는 커널 심볼 내보내기를 축소합니다. 업스트림 KernelSU에 필요한 77개의 심볼이 누락되어 있어, 단순한 insmod kernelsu.ko는 실패합니다. ReSukiSU의 late-load는 심볼을 자체적으로 해결하여 정상적으로 로드됩니다.
  • cheese의 CPU 선호도 수정. 멀티코어 환경에서는 패치된 커널 텍스트가 다른 코어에서 오래된 명령어로 실행되어(I-cache 일관성) 패닉을 유발할 수 있습니다. 프로세스를 단일 코어에 고정하면 익스플로잇의 신뢰성이 크게 향상됩니다.
  • 부하 민감도. 부팅 후 초기화 폭풍(5-10분) 동안에는 실패율이 현저히 높아집니다. docs/TROUBLESHOOTING.md를 참조하세요.

빠른 시작

1. RootActivator 받기

소스에서 빌드하거나(Building 참조) GitHub Releases 페이지에서 APK를 받으세요(저장소에는 저장되지 않음).

2. ReSukiSU 매니저 설치

ReSukiSU Releases에서 다운로드하여 매니저 APK를 설치하세요.

3. 활성화

  1. 부팅 후 5-10분 대기하세요(도구가 시스템 부하를 자동 감지하여 필요 시 대기합니다)
  2. RootActivator를 열고 → Activate Root를 탭하세요
  3. 3-4분 대기하세요(진행 상황은 내장 로그에 표시됩니다)
  4. 완료되면 ReSukiSU 매니저를 열고 앱(Shizuku, 터미널 등)에 루트 권한을 부여하세요

4. (선택 사항) Xposed 모듈 지원

  1. NeoZygisk를 설치하세요(ReSukiSU 매니저 → Modules → 저장소에서 설치)
  2. Vector를 설치하세요(Xposed 프레임워크)
  3. 루트가 활성화된 후 기기에서 인젝터를 시작하세요(활성화 과정에서는 이 작업을 수행하지 않습니다):
    su -c 'sh /data/adb/modules/zygisksu/post-fs-data.sh'
    
  4. 자세한 내용은 docs/VECTOR.md 참조

저장소 레이아웃 — PoC + 활성화 도구

이 저장소에는 PoC(익스플로잇)와 원탭 활성화 도구가 포함되어 있습니다. 커스텀 기기 레이어(디블로트 스크립트, 프라이버시 호스트 모듈, Xposed 스코프 도구, 브링업 헬퍼)는 별도의 비공개 아카이브에 트리 외부로 보관됩니다 — 이들은 의도적으로 이 저장소의 일부가 아닙니다. 자세한 내용: docs/ARCHITECTURE.md.

├── LICENSE / CHANGELOG.md
├── README.md / README.zh-CN.md
│
├── exploit/            the PoC — root acquisition (CVE-2025-21479)
│   ├── source/         cheese.c / kallsyms_lookup.c / adrenaline.h
│   ├── device_info.txt Target device parameters (offsets, verified facts)
│   ├── build.sh        Build script (requires Android NDK)
│   └── README.md       Boundary statement, runtime chain, known failure modes
│
├── app/                RootActivator — one-tap activator (all extras OFF by default)
│   ├── src/            BootReceiver / HealGuardService / HealConfig / MainActivity (Kotlin)
│   ├── assets/         selfheal.sh / waiter.sh / xposed-up.sh
│   ├── native/         libcheese.so + libksud.so (built from exploit/; see tools/fetch_assets.py)
│   ├── AndroidManifest.xml
│   ├── debug.keystore  debug signing key used by the public APK
│   ├── build.py        Build script (kotlinc + d8 + aapt2 + apksigner)
│   └── README.md       App documentation
│
├── tools/              Build / inspection helpers
│   ├── fetch_assets.py         Host: prepare native assets (exploit + ksud)
│   ├── status_check.sh         On-device: root / module snapshot
│   └── check_mods.sh           On-device: module inspection helper
├── docs/               Documentation (English)
│   ├── ARCHITECTURE.md         Chains, engineering notes, root-cause records
│   ├── TROUBLESHOOTING.md      Failure handling, success-rate data
│   └── VECTOR.md               Xposed (NeoZygisk + LSPosed/Vector) setup
└── screenshots/        On-device PNG evidence

빌드

exploit (Android NDK)

cd exploit
NDK=/path/to/android-ndk ./build.sh
# Produces ./cheese (arm64) → used as app/native/libcheese.so

RootActivator APK

cd app
python ../tools/fetch_assets.py    # prepare native assets
python build.py                    # requires kotlinc + Android build-tools
# Produces RootActivator.apk

빌드에서 허용되는 환경 변수(자세한 내용은 app/build.py 참조): KOTLIN_HOME, ANDROID_BUILD_TOOLS, ANDROID_JAR, KEYSTORE, JAVA_HOME. fetch_assets.py는 추가로 libksud.so를 추출하기 위해 RESUKISU_APK(ReSukiSU arm64 APK 경로)가 필요합니다.

제한 사항

  • 재부팅할 때마다 재활성화 필요(메모리 내 방식이므로 아무것도 지속되지 않음)
  • 약 20-40%의 활성화 실패율(익스플로잇 고유의 특성이며, 실패 시 데이터 손실 없이 기기가 재부팅됨 — 다시 시도하면 됨)
  • 디스플레이 경로 교착: 일부 활성화는 디스플레이 드라이버를 교착 상태로 남김 (msm_drm HDCP kthread가 멈춤 → SurfaceFlinger가 시작할 수 없음 → 프레임워크 교착; vold/keystore2 크래시 루프). 전체 재부팅만이 이를 해소합니다. 근본 원인과 증거: docs/ARCHITECTURE.md
  • adb root는 사용할 수 없음(adbd cannot run as root in production builds)
  • Xposed는 NeoZygisk가 필요함; 절대 ksud soft-reboot를 사용하지 마십시오 — 디스플레이가 교착된 상태에서는 사용자 공간 시작(SurfaceFlinger ↔ ActivityManager)이 교착됩니다. 대신 NeoZygisk의 ptrace 주입을 사용하십시오

면책 조항

도구 다운로드