Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ghostlock-a17 — Samsung Galaxy A17에서 KDP 우회, KASLR 복구, 위조된 workqueue 실행을 통해 루트 권한을 획득하고 지속적 셸을 유지하는 CVE-2026-43499 커널 익스플로잇 | Kitploit
도구/GitHubGitHub/mobilehackinglab/ghostlock-a17
Android SecurityPrivilege EscalationPersistence MechanismsExploitationPost-ExploitationMobile SecurityBinary Exploitation
GitHubmobilehackinglab/ghostlock-a17

ghostlock-a17

Samsung Galaxy A17에서 KDP 우회, KASLR 복구, 위조된 workqueue 실행을 통해 루트 권한을 획득하고 지속적 셸을 유지하는 CVE-2026-43499 커널 익스플로잇

저장소 보기
11일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

GhostLock — Samsung Galaxy A17의 CVE-2026-43499

Samsung Galaxy A17 SM-A175F(Android 16 / GKI 6.12 실행)에서 **CVE-2026-43499("GhostLock")**에 대한 전체 사용자-루트 익스플로잇 체인입니다.

이 체인은 공개된 GhostLock 프리미티브에서 시작하여 다음 권한으로 실행되는 usermode helper로 끝납니다:

root@kitploit:~
uid=0(root) gid=0(root) groups=0(root)
context=u:r:kernel:s0

또한 g4d / g4sh를 통해 부팅 시마다 지속되는 루트 셸을 시작하고, 커널 패닉 없이 종료합니다.

📖 전체 기술 분석 문서:
https://www.mobilehackinglab.com/blog/cve-2026-43499-ghostlock-a17-root-shell

연구 노트

우리는 CVE-2026-43499를 발견하지 않았습니다. 원본 취약점 및 IonStack 연구에 대한 공로는 Nebula Security에 있습니다.

이 저장소는 Samsung Galaxy A17로의 독자적 포팅, Samsung 커널 보호 기능에 필요한 변경 사항, 그리고 새로운 최종 익스플로잇 단계를 문서화합니다.

승인된 보안 연구 및 교육 목적으로만 사용하십시오.


대상

CVECVE-2026-43499 — "ghostlock"
기기Samsung Galaxy A17 (SM-A175F, mt6789)
GPUMali-G57
커널6.12.23-android16-5-abA175FXXS3BZA5-4k
결과uid=0(root) / u:r:kernel:s0
루트 셸g4d 데몬 + g4sh 클라이언트
지속성부팅 시마다
익스플로잇 종료클린 종료, 커널 패닉 없음
적용된 보호 기법Samsung KDP, DEFEX, SELinux, PANIC_ON_OOPS, arm64 KASLR

이 포팅이 다른 점

원본 ghostlock 연구는 진입 프리미티브를 제공합니다:

root@kitploit:~
pselect reclaim
      ↓
fake rt_mutex_waiter
      ↓
constrained rb-tree pointer write

하지만 Galaxy A17에서는 표준 자격 증명 패치(credential-patching) 종착 단계가 작동하지 않습니다.

Samsung KDP가 일반적인 cred 쓰기를 차단함

KDP는 EL2에서 자격 증명 관련 커널 데이터를 보호합니다.

이 빌드에서는 대상 주소가 정확하더라도 태스크 자격 증명을 수정하려는 시도가 조용히 무시되었습니다.

따라서 이 포팅은 루트 자격 증명을 쓰는 대신 커널이 기존의 권한 있는 자격 증명으로 실행되도록 합니다.

새로운 종착 단계: 위조된 workqueue 실행

최종 단계:

root@kitploit:~
constrained kernel write
        ↓
physical read/write channel
        ↓
KASLR slide recovery
        ↓
discover system_wq / cpu_pwq
        ↓
forge work_struct
        ↓
call_usermodehelper_exec_work
        ↓
/system/bin/sh
        ↓
uid=0(root), u:r:kernel:s0

위조된 작업 항목이 바인딩된 system_wq 풀에 배치되고 ptmx 할당/해제 폭풍으로 트리거됩니다.

그 결과 usermode helper가 init 자격 증명으로 실행됩니다.

태스크 자격 증명 덮어쓰기는 필요하지 않습니다.


익스플로잇 체인

root@kitploit:~
userspace shell (uid 2000)
        │
        ▼
pselect / PI-futex primitive
        │
        ▼
constrained aligned kernel pointer write
        │
        ▼
forged pipe_buffer channel
        │
        ▼
arbitrary physical read/write
        │
        ├── recover KASLR slide
        │
        ├── locate system_wq / cpu_pwq
        │
        └── prepare forged work_struct
        │
        ▼
queue usermode-helper work
        │
        ▼
ptmx storm wakes worker
        │
        ▼
/system/bin/sh runs with init creds
        │
        ▼
uid=0(root)
        │
        ▼
g4d → @ghostlockd → g4sh

주요 엔지니어링 변경 사항

공개된 OnePlus 포팅과 비교했을 때, 초기 쓰기 프리미티브 이후의 대부분 단계가 재작업되었습니다.

1. 새로운 KDP 호환 루트 단계

자격 증명 패치 종착 단계는 usermode-helper 실행 경로를 대상으로 하는 위조 workqueue 항목으로 대체되었습니다.

이를 통해 보호된 cred 구조체에 대한 쓰기를 완전히 피할 수 있습니다.

2. 새로운 KASLR 슬라이드 오라클

이전의 perf-event 앵커링 방식은 이 기기에서 신뢰할 수 없었습니다.

대신, 이 익스플로잇은 boot_id ctl_table 항목에서 세 개의 슬라이드된 포인터를 사용합니다:

root@kitploit:~
procname
data
proc_handler

세 값 모두 슬라이드를 채택하기 전에 상호 검증됩니다.

3. 런타임 workqueue 탐색

cpu_pwq는 다음을 순회하여 발견됩니다:

root@kitploit:~
system_wq → pwqs

고정된 기기별 오프셋에 의존하는 대신입니다.

4. 클린 익스플로잇 종료

원본 채널은 struct page 상태에 부수적인 변경을 남겨 정리(teardown) 중 PANIC_ON_OOPS를 유발할 수 있습니다.

현재 체인은 정리 과정의 크래시를 피하며, 루트 획득 후 클린하게 종료되는 것이 입증되었습니다.

5. 루트 셸

usermode helper는 다음을 시작합니다:

root@kitploit:~
g4d

이는 다음 추상 Unix 소켓에서 수신 대기합니다:

root@kitploit:~
@ghostlockd

g4sh는 이 소켓에 연결하여 대화형 루트 셸 또는 일회성 명령 실행을 제공합니다.

root@kitploit:~
/data/local/tmp/a/g4sh
/data/local/tmp/a/g4sh -c "id"

Galaxy A17이 흥미로운 이유

이 대상은 일반적인 Android 커널 익스플로잇 기법을 무력화하는 여러 보호 기능을 결합하고 있습니다:

  • Samsung KDP — EL2에서 자격 증명 관련 커널 데이터를 보호
  • DEFEX — 신뢰할 수 없는 경로에서의 권한 있는 실행을 제한
  • SELinux
  • PANIC_ON_OOPS / PANIC_ON_BUG
  • 큰 arm64 KASLR 슬라이드
  • 포인터 전용 제약 쓰기 프리미티브

이로 인해 일반적인 방식과 다른 익스플로잇 전략이 필요해졌습니다:

root@kitploit:~
arbitrary RW → patch cred → disable SELinux

대신:

root@kitploit:~
arbitrary RW → recover runtime state → forge kernel work → execute usermode helper

빌드

최신 Android NDK가 필요합니다.

root@kitploit:~
make

다음을 생성합니다:

root@kitploit:~
ghostlock   # exploit
g4d         # static root-shell daemon
g4sh        # root-shell client

실행

바이너리를 푸시합니다:

root@kitploit:~
adb push ghostlock /data/local/tmp/a/g4
adb push g4d /data/local/tmp/a/g4d
adb push g4sh /data/local/tmp/a/g4sh

adb shell 'chmod 755 /data/local/tmp/a/g4 /data/local/tmp/a/g4d /data/local/tmp/a/g4sh'

재부팅을 고려한 익스플로잇 루프를 실행합니다:

root@kitploit:~
./scripts/rr_loop4.sh

ROOTED 이후:

root@kitploit:~
adb shell /data/local/tmp/a/g4sh

또는 단일 명령을 실행합니다:

root@kitploit:~
adb shell '/data/local/tmp/a/g4sh -c "id"'

예상 결과:

root@kitploit:~
uid=0(root) gid=0(root) groups=0(root) context=u:r:kernel:s0

신뢰성

이 프리미티브는 확률적이며 부팅 조건에 크게 의존합니다.

성공적인 익스플로잇에는 반복적인 시도가 필요할 수 있습니다. 포함된 rr_loop4.sh 스크립트가 재시도 및 재부팅 주기를 자동으로 처리합니다.

이것은 즉각적인 원샷 루팅 도구가 아니라 연구용 익스플로잇입니다.


QEMU 검증

qemu-e2e/에는 추출된 Samsung 커널을 사용하는 종단 간 검증 하네스가 포함되어 있습니다.

이 하네스는 다음을 테스트하는 데 사용되었습니다:

  • 익스플로잇 체인 변경 사항
  • KASLR 처리
  • workqueue 위조
  • usermode-helper 실행
  • 클린 익스플로잇 정리(teardown)
  • g4d / g4sh 왕복(round trip)

Samsung 커널 이미지 자체는 포함되어 있지 않습니다.

설정 지침은 다음을 참조하십시오:

root@kitploit:~
qemu-e2e/

저장소 구조

root@kitploit:~
Makefile
src/                  exploit source and device profiles
src/daemon/           g4d root daemon + g4sh client
docs/OFFSETS.md       validated device offsets
docs/PORTING.md       porting notes
examples/             proof-of-root artifacts
scripts/rr_loop4.sh   reboot-aware exploit loop
qemu-e2e/             end-to-end QEMU validation

관련 연구

원본 GhostLock / IonStack 연구

NebuSec:

https://nebusec.ai/research/ionstack-part-3/

https://github.com/NebuSec/CyberMeowfia/tree/main/IonStack

OnePlus 포팅

https://github.com/JoinChang/ghostlock-oneplus

Mobile Hacking Lab 분석 문서

Samsung Galaxy A17 포팅, KDP 제한 사항, KASLR 복구, workqueue 기반 최종 단계 및 루트 셸 구현에 대한 심층 분석:

https://www.mobilehackinglab.com/blog/cve-2026-43499-ghostlock-a17-root-shell


루트 획득 증명

실제 기기 아티팩트는 다음에서 확인할 수 있습니다:

root@kitploit:~
examples/

익스플로잇 로그 및 루트 컨텍스트 검증이 포함됩니다.

예시:

root@kitploit:~
uid=0(root)
gid=0(root)
groups=0(root)
context=u:r:kernel:s0

면책 조항

이 개념 증명(PoC)은 교육 및 승인된 보안 연구 목적으로만 제공됩니다.

직접 소유하거나 테스트에 대한 명시적 허가를 받은 기기 및 환경에서만 사용하십시오.

도구 다운로드