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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2026-43499-firetv-sheldonp-writeup — Amazon Fire TV Stick 3세대(sheldonp)에서 CVE-2026-43499를 익스플로잇하여 임시 루트에서 부트로더 언락까지 다루는 보안 연구 보고서. | Kitploit
도구/GitHubGitHub/accessmodifier364/cve-2026-43499-firetv-sheldonp-writeup
Android SecurityEmbedded Systems SecurityPrivilege EscalationVulnerability AnalysisExploitationReverse EngineeringMobile SecurityHardware & IoT SecurityPapers & Research

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
Learning & Education
GitHubaccessmodifier364/cve-2026-43499-firetv-sheldonp-writeup

cve-2026-43499-firetv-sheldonp-writeup

Amazon Fire TV Stick 3세대(sheldonp)에서 CVE-2026-43499를 익스플로잇하여 임시 루트에서 부트로더 언락까지 다루는 보안 연구 보고서.

저장소 보기
8시간 11분 전아직 검토되지 않음

Amazon Fire TV Stick 3세대(sheldonp)에서의 CVE-2026-43499

Linux 커널 권한 상승을 프리로더 다운그레이드 및 부트로더 언락으로 연계하기.

License: CC BY 4.0

개요

이 저장소는 Amazon Fire TV Stick 3세대(sheldonp)에서 CVE-2026-43499 익스플로잇 체인을 승인된 범위 내에서 재현한 과정을 기록한 것입니다. 이 체인은 일시적인 커널 루트를 이용해 통제된 프리로더 다운그레이드를 수행한 뒤, 기존 Kamakiri BootROM 워크플로를 사용해 언락된 fastboot에 도달하고 부트로더 언락을 완료했습니다.

이것은 재현 및 특정 기기에 대한 사례 연구입니다. 저는 CVE-2026-43499를 발견하지 않았고, 원본 IonStack/GhostLock 익스플로잇을 만들지 않았으며, Kamakiri를 개발하지도 않았습니다. 업스트림 연구자와 개발자에 대한 크레딧은 아래에 있습니다.

[!IMPORTANT] 이 문서는 기술 기록이며, 범용 루팅 가이드가 아닙니다. 빌드 호환성이 중요하고, 임시 루트는 영구 루트가 아니며, Preloader, LK, TEE 또는 dm-verity로 보호되는 파티션과 관련된 실수는 기기를 영구적으로 벽돌로 만들 수 있습니다.

재현 기록

전체 체인은 2026년 9월 12일에 완료되었습니다. 이 저장소는 테스트한 기기와 소프트웨어 버전, 사용한 정확한 아카이브, 해당 SHA-256 해시, 그리고 과정 중 수집한 원본 증거를 기록합니다.

범위

범위 외: 취약점 발견, 새로운 익스플로잇 구현, 원격 익스플로잇, 영구 루트, 또는 테스트한 sheldonp 기기 이외의 기기 지원. 이 재현 과정에서 커스텀 ROM은 설치하지 않았습니다.

재현 아카이브

다음은 이 재현 과정에서 사용한 정확한 ZIP 아카이브입니다. 아카이브는 이 저장소에서 재배포하지 않으며, SHA-256 해시를 기록하여 독립적으로 획득한 사본을 이 사례 연구에서 사용한 파일과 비교할 수 있도록 했습니다.

이 해시는 이 사례 연구에서 사용한 사본을 식별합니다. 독자는 여전히 자신의 다운로드를 원본 업스트림 소스와 비교하고 적용 가능한 제3자 라이선스를 검토해야 합니다.

기술적 배경

CVE-2026-43499는 GhostLock이라고도 알려져 있으며, Linux 커널의 우선순위 상속 futex/rtmutex 경로에서 발생하는 use-after-free입니다. 프록시 락 롤백 중에 remove_waiter()가 waiter->task에 저장된 태스크 대신 current를 대상으로 동작했습니다. 그 결과, 실제 대기자가 해제된 커널 스택 프레임의 rt_mutex_waiter를 여전히 참조하는 pi_blocked_on 상태로 사용자 공간으로 반환될 수 있었습니다.

원본 IonStack 연구는 이 dangling 스택 참조를 로컬 권한 상승 프리미티브로 전환합니다. R0rt1z2는 이 기법을 4.4 커널에서 Fire OS 7을 실행하는 Fire TV Stick 3세대 및 Fire TV Stick Lite(sheldonp/sheldon)에 맞게 적용했습니다.

이 사례 연구의 핵심 차이점은 CVE-2026-43499가 부트로더를 직접 언락하지 않는다는 것입니다. 이 취약점은 일시적인 커널 수준 접근을 제공합니다. 이 짧게 지속되는 접근이 있기에, 구형 Kamakiri BootROM 체인을 실행하기 전에 필요한 통제된 프리로더 다운그레이드를 수행할 수 있습니다.

익스플로잇 체인

root@kitploit:~
flowchart LR
    A[Fire OS 7 on sheldonp] --> B[CVE-2026-43499 / GhostLock]
    B --> C[Temporary root shell]
    C --> D[Controlled preloader downgrade]
    D --> E[Expected non-booting transition state]
    E --> F[Kamakiri BootROM stage]
    F --> G[Unlocked fastboot]
    G --> H[Bootloader unlocked]

이 체인은 두 개의 서로 다른 보안 경계를 넘습니다:

  1. 커널 경계: 비특권 로컬 프로세스가 GhostLock을 통해 일시적인 루트 컨텍스트를 획득합니다.
  2. 부트 체인 경계: 임시 루트가 호환되는 프리로더를 복원하여 알려진 BootROM 기반 언락 경로를 위한 준비를 합니다.

방법론

1. 기준선 설정

기기를 변경하기 전에 하드웨어 코드명을 식별하고 ADB를 통해 Fire OS, 빌드, 부트로더, 커널 버전을 기록했습니다.

root@kitploit:~
adb devices -l
adb shell getprop ro.product.device
adb shell getprop ro.product.model
adb shell getprop ro.build.version.release
adb shell getprop ro.build.version.incremental
adb shell getprop ro.build.fingerprint
adb shell getprop ro.bootloader
adb shell uname -a
adb shell id

결과 기준선은 sheldonp / AFTSSS, Fire OS PS7716.5666N, 증분 버전 0036005356164, Android 9, 커널 4.4.162+였습니다. 일련번호는 의도적으로 생략했습니다.

비특권 셸 컨텍스트를 보여주는 ADB 셸 기준선

2. GhostLock으로 임시 루트 획득

ADB 디버깅을 활성화한 상태에서 USB로 Fire TV를 연결하고, R0rt1z2 XDA 가이드와 함께 게시된 sheldon/sheldonp 패키지인 GhostLock 1.1.0을 사용했습니다. 기기별 런처는 Fire TV를 재부팅하여 깨끗한 상태에서 시작하고, 익스플로잇을 배포하며, 필요할 때 재시도합니다.

익스플로잇이 성공하면 임시 루트 환경이 생성됩니다. 스크립트 완료만으로 증명하지 않고 ADB 셸에서 보안 컨텍스트를 확인했습니다:

root@kitploit:~
adb shell
su
id

루트 컨텍스트는 일시적이며 재부팅 시 사라집니다. 이 동작은 중요합니다. 이 단계는 다운그레이드를 가능하게 하는 프리미티브이며, 최종 영속화 메커니즘이나 부트로더 언락 자체가 아닙니다.

성공한 실행은 uid=0을 보여주고, 임시 환경을 위해 SELinux를 permissive로 변경하고, 임시 su를 마운트하고, 도구가 처리하는 Fire OS OTA 패키지를 비활성화했습니다.

uid 0과 OTA 패키지 변경을 보여주는 GhostLock 루트 셸

전체 GhostLock 익스플로잇 추적은 보조 증거로 보관했습니다.

3. 프리로더 다운그레이드

임시 루트를 사용할 수 있게 되자, 펌웨어 파티션을 수동으로 기록하는 대신 패키지의 전용 다운그레이드 워크플로를 사용했습니다. 이로써 기존 Kamakiri 경로와 호환되는 프리로더가 복원되었습니다.

다운그레이드 후 Fire TV는 의도적으로 Fire OS로 부팅을 멈췄습니다. 이 특정 워크플로에서 이 부팅 불가 상태는 라이브 커널 단계와 USB BootROM 단계 사이의 예상된 핸드오프입니다. 임의의 실패한 플래시가 복구 가능하다는 증거로 혼동해서는 안 됩니다.

[!CAUTION] Preloader를 절대 지우지 마십시오. LK, TEE, Preloader, boot, recovery, system, vendor 또는 기타 보호된 파티션에 임의로 쓰지 마십시오. 업스트림 가이드는 중요한 펌웨어 손상이 영구적인 하드 브릭을 초래할 수 있다고 경고합니다. 작동하는 복구 경로가 남아 있지 않을 수 있기 때문입니다.

취약한 프리로더 쓰기 성공을 보고하는 GhostLock

4. Kamakiri BootROM 체인 실행

이 기기에 사용된 Kamakiri 워크플로는 Linux용으로 지원되고 문서화되어 있었습니다. 따라서 Ubuntu Live 세션을 부팅하여 호스트에 Ubuntu를 설치하지 않고 저수준 USB BootROM 단계를 포함한 전체 언락 워크플로를 수행했습니다. Windows나 macOS에서는 이 단계를 테스트하지 않았습니다.

언락 가이드에서 참조하는 sheldon/sheldonp Kamakiri 패키지를 사용한 과정은 다음과 같습니다:

  1. Kamakiri에 필요한 Python, PySerial, PyUSB, ADB, Fastboot 및 USB 환경을 준비합니다.
  2. bootrom-step.sh를 시작하고 전원이 꺼진 Fire TV를 USB로 연결합니다.
  3. BootROM 단계가 완료되어 기기가 수정된 fastboot 환경으로 전환되도록 합니다.
  4. fastboot-step.sh를 실행하여 언락 워크플로를 완료합니다.
  5. 재부팅하고 예상된 언락 부트 경로를 사용할 수 있는지 확인합니다.

Kamakiri는 기기를 sheldonp로 감지하고, RPMB 다운그레이드를 완료하고, 체인에 필요한 TZ/LK 구성 요소를 플래시하고, 마이크로로더를 주입하고, 기기를 해킹된 fastboot 모드로 강제 전환했습니다.

sheldonp에서 BootROM 단계를 완료하는 Kamakiri

아카이브 해시와 Ubuntu 릴리스는 위에 기록되어 있습니다. 독자는 이 고수준 단계가 다른 빌드에 적용된다고 가정하지 말고, 버전별 지침은 링크된 업스트림 가이드를 사용해야 합니다.

5. 결과 검증

다음을 별개의 마일스톤으로 취급하고 각각에 대한 증거를 수집했습니다:

Kamakiri BootROM 단계 후 표시된 해킹된 fastboot 모드

Fire TV Stick에서의 TWRP 첫 부팅

6. Fire OS 보존 및 언락 후 상태 조정

제 목표는 커스텀 ROM을 즉시 설치하는 대신 스톡 Fire OS를 유지하는 것이었습니다. TWRP에서 데이터를 초기화하거나 운영체제를 교체하지 않았고, 기존 Fire OS 설치로 재부팅했습니다. 스톡 사용자 환경이 보존된 상태에서 TWRP와 언락된 부트 경로를 계속 사용할 수 있었습니다.

Fire OS로 돌아온 후, Amazon이 익스플로잇을 변경하거나 복구된 부트 체인을 수정하는 빌드로 기기를 조용히 이동시키지 못하도록 OTA 업데이트를 비활성화했습니다. 또한 Fire TV 커뮤니티 도구에서 흔히 ARCUS라고 불리는 Amazon 시스템 앱 보호 구성 요소를 비활성화했습니다. 이는 Amazon의 OS 수준 앱 차단 동작을 변경하는 것이며, 개별 애플리케이션 내부에 구현된 Widevine, 구독 확인 또는 라이선스 집행을 우회하지 않습니다.

Developer Options를 사용할 수 있는 상태로 언락 후 실행 중인 Fire OS

선택적 다음 단계

언락된 부트로더와 TWRP는 호환되는 커스텀 소프트웨어를 설치하는 것도 가능하게 합니다. 이 기기 제품군에 대한 커뮤니티 옵션 중 하나는 Android 13 기반 LineageOS 20입니다. 다른 호환 ROM, 복구 워크플로 또는 영구 루트 구성도 가능할 수 있습니다.

이러한 대안은 이 재현의 일부가 아니었습니다. 이들은 자체적인 펌웨어, TZ, 데이터 초기화, DRM, 메모리 및 복구 고려 사항을 가진 별개의 절차로 취급해야 합니다.

관찰 사항

  • 익스플로잇 재시도가 대상 기기를 재부팅하고 무선 ADB를 중단시킬 수 있으므로 유선 USB ADB 연결이 선호됩니다.
  • 익스플로잇 신뢰성은 대상 및 빌드에 따라 다릅니다. 재시도나 재부팅은 기기가 지원되지 않는다는 증거가 아니지만, 오프셋과 빌드 호환성은 여전히 확인해야 합니다.
  • 임시 루트 단계와 Kamakiri 단계는 서로 다른 문제를 해결하며 독립적으로 문서화해야 합니다.
  • 다운그레이드 후 예상되는 부팅 불가 상태는 다운그레이드 도구가 성공을 보고하고 정확히 지원되는 워크플로를 따르고 있을 때만 의미가 있습니다.
  • 스크립트의 성공적인 종료는 캡처된 기기 상태, 루트 신원, fastboot/복구 검증보다 약한 증거입니다.
  • 부트로더 언락은 Fire OS 교체를 필요로 하지 않았습니다. 스톡 Fire OS 유지는 언락 후의 의도적인 선택이었습니다.
  • ARCUS 비활성화는 Amazon의 앱 차단 계층에 영향을 미치며, 애플리케이션 DRM과 콘텐츠 라이선스는 별개의 문제로 남습니다.

보안 영향

취약하고 지원되는 Fire OS 빌드에서, 이미 기기에서 로컬로 실행 중인 코드가 커널 결함을 악용하여 일시적인 루트 컨텍스트를 획득할 수 있습니다. 이 랩에서 그 접근은 실행 중인 운영체제를 넘어 공격 표면을 확장했습니다. 즉, 구형 BootROM 익스플로잇이 사용할 수 있는 부트 체인 상태를 다시 도입하는 펌웨어 다운그레이드를 가능하게 했습니다.

이 체인은 기기 보안이 단일 계층을 패치하는 것 이상에 달려 있는 이유를 보여줍니다. 특권 소프트웨어가 보안에 중요한 펌웨어 상태를 수정할 수 있을 때, 커널 권한 상승은 저수준 영속화 또는 부트 체인 침해로 가는 다리가 될 수 있습니다.

저장소 구조

root@kitploit:~
.
├── README.md              # Case study and methodology
├── LICENSE                # CC BY 4.0 for original documentation and media
├── images/
│   ├── README.md          # Evidence index and redaction guidance
│   └── evidence/          # Sanitized screenshots and photographs
└── references/
    └── README.md          # Source ledger and artifact guidance

이 저장소는 제3자 ZIP 아카이브를 재배포하지 않습니다. 원본 XDA 가이드에서 획득하고, 적용 가능한 약관을 검토하고, 해시를 위에 기록된 값과 비교하십시오.

크레딧

  • NebuSec / CyberMeowfia — CVE-2026-43499의 발견 및 원본 IonStack/GhostLock 연구와 익스플로잇 구현.
  • R0rt1z2 — Fire OS 적용, 4.4 GhostLock 브랜치, sheldon/sheldonp 임시 루트 및 다운그레이드 가이드.
  • IonStackQuest3 — Linux 5.10 커널용 최초 공개 GhostLock 포트, 다운스트림 Fire OS 프로젝트에서 크레딧 부여.
  • Amonet/Kamakiri 기여자들, xyz, k4y0z, Rortiz2, t0x1cSH 및 원본 언락 스레드에 크레딧된 테스터 포함 — BootROM, fastboot, 복구 및 기기별 언락 작업.

제 기여는 독립적 재현, 기기별 실행 기록, 단계들이 어떻게 연결되는지에 대한 분석, 그리고 이 저장소에 게시된 원본 증거입니다.

참고 자료

유지 관리되는 소스 원장은 references/README.md에 있습니다. 주요 출처는 다음과 같습니다:

  • CVE-2026-43499 기록
  • NebuSec: GhostLock 취약점 항목
  • NebuSec: IonStack Part III — Android 익스플로잇
  • CyberMeowfia: IonStack/CVE-2026-43499 소스
  • R0rt1z2/GhostLock, 4.4 브랜치
  • XDA: sheldon/sheldonp용 임시 루트 및 프리로더 다운그레이드
  • Amonet/Kamakiri 소스
  • XDA: sheldon/sheldonp용 부트로더 언락, TWRP 및 언브릭 가이드
  • remove_waiter()에 대한 Linux 커널 수정

책임 있는 사용 고지

이 자료는 교육 목적 및 소유하거나 테스트가 명시적으로 허용된 하드웨어에 대한 승인된 보안 연구를 위해 제공됩니다. 어떠한 보증도 제공하지 않습니다. 귀하의 행위로 인한 법적 준수, 데이터 손실, 서비스 중단 및 하드웨어 손상에 대한 책임은 귀하에게 있습니다.

라이선스

이 저장소를 위해 작성된 원본 텍스트와 이미지는 Creative Commons Attribution 4.0 International License에 따라 라이선스됩니다.

제3자 도구, 익스플로잇 코드, 펌웨어, 인용문, 스크린샷, 상표 및 참조된 자료는 각각의 저작자와 라이선스의 적용을 계속 받습니다. 링크나 크레딧의 포함이 해당 자료를 CC BY 4.0으로 재라이선스하지 않습니다.

도구 다운로드
항목재현 대상
기기Amazon Fire TV Stick 3세대
모델AFTSSS
코드명sheldonp
운영체제Fire OS 7.7.1.6 / 빌드 PS7716.5666N
증분 버전0036005356164
Android 기반Android 9
커널4.4.162+
BootROM 단계에 사용한 호스트Ubuntu 26.04.1 LTS, 라이브 USB 세션으로 부팅
Android 플랫폼 도구37.0.1
임시 루트 구현R0rt1z2/GhostLock 1.1.0, 4.4 브랜치
BootROM 구현kamakiri-sheldon-1.0
결과임시 루트, 프리로더 다운그레이드, 부트로더 언락, TWRP, Fire OS 보존
아카이브출처버전SHA-256
ghostlock-sheldon-v1.1.0.zipXDA의 임시 루트 및 다운그레이드 가이드GhostLock 1.1.08D541F7DF58487AF6D6D45D778482D3455A71F62E32651751CFE0B2DDFC6554F
kamakiri-sheldon-1.0.zipXDA의 부트로더 언락 가이드Kamakiri Sheldon 1.01B07161D9F894935E5918A9B8F9A230F67B9487E9863C242E758338E8C6C5784
마일스톤검증 신호증거
기준선익스플로잇 전 ADB 셸01-adb-shell-baseline.png
커널 익스플로잇루트 셸 및 uid=002-ghostlock-root-and-ota.png
익스플로잇 추적GhostLock 프리미티브 및 자격 증명 패치 로그03-ghostlock-exploit-trace.png
다운그레이드취약한 프리로더 쓰기 성공04-preloader-downgrade.png
BootROMKamakiri가 첫 단계 완료05-kamakiri-bootrom.png
언락연결된 화면에 해킹된 fastboot 표시06-hacked-fastboot.png
복구TWRP 부팅 성공07-twrp-first-boot.jpg
스톡 OS 유지Developer Options를 사용할 수 있는 상태로 Fire OS 부팅08-fireos-developer-options.jpg