
A WebKit exploit using CVE-2018-4441 to obtain RCE on PS4 6.20.
Este repositório contém uma prova de conceito (PoC) de execução remota de código (RCE) que visa o PlayStation 4 no firmware 6.20, explorando a CVE-2018-4441. O exploit primeiro estabelece uma primitiva de leitura/escrita arbitrária, bem como um vazamento de endereço de objeto arbitrário em wkexploit.js. Em seguida, configura uma estrutura para executar cadeias ROP em index.html e, por padrão, fornece dois hiperlinks para executar cadeias ROP de teste — uma para chamar a syscall sys_getpid() e a outra para chamar a syscall sys_getuid() para obter o PID e o ID do usuário do processo, respectivamente.
Cada arquivo contém um comentário no topo com uma breve explicação do que o arquivo contém e como o exploit funciona. O crédito pela descoberta da falha é de lokihardt, do Google Project Zero (p0). O relatório da falha pode ser encontrado aqui.
Nota: Foi corrigido na atualização de firmware 6.50.
Arquivos em ordem alfabética;
index.html — Contém o código pós-exploração, indo de leitura/escrita arbitrária até execução de código.rop.js — Contém uma estrutura para cadeias ROP.syscalls.js — Contém uma lista (incompleta) de syscalls para uso em atividades pós-exploração.wkexploit.js — Contém o coração do exploit do WebKit.p.launchchain() para execução de código pode precisar ser trocado.syscalls.js contém apenas um pequeno número de syscalls.Configure um servidor web hospedando esses arquivos em localhost usando xampp ou qualquer outro programa de sua escolha. Alternativamente, você pode hospedá-lo em um servidor. Você pode acessá-lo no PS4 por:
Redirecionamento de DNS falso para redirecionar a página manual para a página do exploit, ou
Usando o navegador da web para navegar até a página do exploit (nem sempre possível).
Eu escrevi o exploit, porém não descobri a vulnerabilidade; como mencionado acima, a falha (CVE-2018-4441) foi encontrada por lokihardt, do Google Project Zero (p0), e foi divulgada através do rastreador público de bugs do Chromium.
Chromium Bug Report — A vulnerabilidade.
Phrack: Attacking JavaScript Engines by saelo — Um salva-vidas. Explorar isso teria sido cerca de 1500x mais difícil sem este artigo divino.
lokihardt — A vulnerabilidade
st4rk — Ajuda com o exploit
qwertyoruiop — WebKit School
saelo — Artigo do Phrack