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

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

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 커널 익스플로잇

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

GhostLock — Samsung Galaxy A17의 CVE-2026-43499

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

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

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
지원 펌웨어A175FXXS3BZA5 (커널 6.12.23) 및 A175FXXS6CZG1 (커널 6.12.38, SPL 2026-07-05) — 둘 다 기기에서 검증됨, 동일한 체인

이 포팅이 다른 점은 무엇인가?

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

pselect reclaim
      ↓
fake rt_mutex_waiter
      ↓
constrained rb-tree pointer write

Galaxy A17에서는 그러나 표준 자격 증명 패치 엔드게임이 작동하지 않습니다.

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

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

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

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

새로운 엔드게임: 위조된 workqueue 실행

최종 단계:

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 자격 증명으로 실행됩니다.

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


익스플로잇 체인

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 항목에서 가져온 세 개의 슬라이드된 포인터를 사용한다:

procname
data
proc_handler

세 가지 모두 슬라이드를 수락하기 전에 교차 검증됩니다.

3. 런타임 workqueue 탐색

cpu_pwq는 다음을 순회하여 탐색됩니다:

system_wq → pwqs

고정된 장치별 오프셋에 의존하지 않습니다.

4. 깔끔한 익스플로잇 종료

원래 채널은 struct page 상태에 부수적인 변경을 남겨, 해제 과정에서 PANIC_ON_OOPS를 유발할 수 있습니다.

현재 체인은 해제 시의 크래시를 피하며, root 획득 후 깔끔하게 종료되는 것이 입증되었습니다.

5. Root 셸

usermode helper가 시작됩니다:

g4d

which listens on the abstract Unix socket:

@ghostlockd

g4sh가 이에 연결되어 대화형 루트 셸 또는 일회성 명령 실행을 제공합니다.

/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 슬라이드
  • 포인터 전용 제약된 쓰기 프리미티브

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

arbitrary RW → patch cred → disable SELinux

대신:

arbitrary RW → recover runtime state → forge kernel work → execute usermode helper

빌드

최신 Android NDK가 필요합니다.

make        # BZA5 firmware (kernel 6.12.23)
make czg1   # CZG1 firmware (kernel 6.12.38): per-target slide anchors,
            # offsets are uname-keyed at runtime

생성:

ghostlock   # exploit (ghostlock-czg1 for the CZG1 build)
g4d         # static root-shell daemon
g4sh        # root-shell client

실행

바이너리를 푸시합니다:

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'

재부팅 인식 익스플로잇 루프를 실행합니다:

./scripts/rr_loop4.sh

ROOTED 이후:

adb shell /data/local/tmp/a/g4sh

또는 단일 명령을 실행하세요:

adb shell '/data/local/tmp/a/g4sh -c "id"'

예상 결과:

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 실행
  • 깔끔한 익스플로잇 정리
  • g4d / g4sh 왕복

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

참고:

qemu-e2e/

설정 지침은 해당 문서를 참조하세요.


저장소 구조

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 기반 최종 단계, 그리고 root 셸 구현에 대한 심층 분석:

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


Root 입증

실제 기기 산출물은 다음 위치에서 확인할 수 있습니다:

examples/

익스플로잇 로그와 루트 컨텍스트 검증을 포함합니다.

예시:

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

면책 조항

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

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

도구 다운로드