8.3 KiB
Guia de instalação e utilização na PS5
Este documento descreve o deployment do Relapse Exploit em Docker, a configuração da PS5, opções de DNS para bloquear PSN/updates e os cuidados operacionais.
Use exclusivamente numa consola que lhe pertença ou para a qual tenha autorização. O exploit modifica memória do kernel, remove o sandbox e executa payloads com privilégios elevados. Pode provocar kernel panic, perda de dados ou banimento.
Estado desta instalação
Na rede onde este projeto foi inicialmente instalado:
- servidor:
net-utils01; - IP LAN:
192.168.20.30; - diretório:
/opt/relapse-exploit-docker; - URL:
http://192.168.20.30:8000/; - imagem:
relapse-exploit:local; - porta interna:
8080; - porta publicada:
8000.
A porta 8080 do host já pertence ao UniFi e não deve ser reutilizada.
Instalar no servidor
O repositório está disponível por HTTP no Gitea local:
git clone --recurse-submodules \
http://192.168.20.20:3000/TinyBacklog/relapse-exploit-docker.git \
/opt/relapse-exploit-docker
cd /opt/relapse-exploit-docker
docker compose up -d --build
O build verifica o SHA-256 dos cinco payloads antes de criar a imagem. Se algum hash divergir, o build deve falhar em vez de incluir silenciosamente o binário.
Confirmar o serviço:
cd /opt/relapse-exploit-docker
docker compose ps
docker compose logs --tail=100
curl -I http://127.0.0.1:8000/
O container deve aparecer como healthy. A partir de outra máquina da LAN:
curl -I http://192.168.20.30:8000/
Preparar a PS5
Compatibilidade
Esta versão do Relapse declara suporte para firmware 7.00 a 13.60. Não atualizar a consola para tentar obter compatibilidade. Confirmar primeiro o firmware instalado.
Desativar atualizações automáticas
Na PS5, abrir:
Definições > Sistema > Software do sistema > Atualização e definições do software do sistema
Desativar:
- transferência automática de ficheiros de atualização;
- instalação automática de ficheiros de atualização.
Em:
Definições > Sistema > Poupança de energia > Funcionalidades disponíveis no modo de repouso
desativar temporariamente Permanecer ligado à Internet.
Estas opções são uma camada adicional; isoladamente não garantem que uma atualização não seja transferida.
DNS e bloqueio da PSN
Editar a ligação ativa em:
Definições > Rede > Definições > Configurar ligação à Internet
Selecionar a rede, carregar em Options e abrir Definições avançadas:
- endereço IP: automático;
- nome do host DHCP: não especificar;
- DNS: manual;
- MTU: automático;
- proxy: não utilizar.
Opção 1: bloquear toda a resolução DNS
É a opção mais conservadora quando só é necessário aceder ao servidor por IP:
DNS primário: 127.0.0.1
DNS secundário: 127.0.0.1
O teste de Internet pode falhar, mas a ligação à LAN permanece disponível. Abrir o exploit diretamente em:
http://192.168.20.30:8000/
Esta opção pressupõe que já existe uma forma de abrir o browser oculto e introduzir ou clicar no endereço local.
Opção 2: DNS público recomendado pelo upstream
O README do Relapse recomenda atualmente:
DNS primário: 45.56.67.85
DNS secundário: 0.0.0.0
Não configurar Google, Cloudflare, o router ou outro resolvedor normal como DNS secundário: a consola pode usá-lo e contornar o bloqueio.
Um DNS público implica confiar no respetivo operador. Pode ficar indisponível, alterar o destino do Guia do Utilizador ou ser contornado por um ISP que intercepte DNS. Confirmar sempre a página e o endereço apresentados antes de executar.
Opção 3: DNS local
A solução preferível a longo prazo é um DNS controlado na LAN, por exemplo no
net-utils01, que:
- bloqueie domínios PlayStation/PSN e servidores de atualização;
- encaminhe as restantes consultas apenas se isso for desejado;
- redirecione
manuals.playstation.netpara o host de exploit apropriado; - registe consultas para permitir auditoria.
Nesse cenário, a PS5 usaria:
DNS primário: 192.168.20.30
DNS secundário: 0.0.0.0
O serviço DNS não faz parte deste Compose e deve ser instalado e auditado separadamente. Também é possível bloquear o acesso WAN da PS5 no router, mantendo apenas a comunicação LAN; esta é uma camada de proteção mais forte do que DNS.
DNS só traduz nomes para endereços IP; não redireciona portas. Para servir o Guia do
Utilizador a partir do host local, é também necessário disponibilizar o site nas
portas HTTP/HTTPS esperadas pelo manual ou colocar um reverse proxy à frente da
porta 8000. O Compose atual publica apenas HTTP em 8000.
Abrir pelo Guia do Utilizador
Com um DNS que redirecione o manual:
- abrir
Definições; - abrir
Guia do Utilizador, saúde e segurança e outras informações; - abrir
Guia do Utilizador; - confirmar que aparece a página Relapse esperada;
- se for importante usar a instalação local, confirmar que o destino é
192.168.20.30:8000e não um host público inesperado.
O DNS público pode abrir diretamente uma página de exploit própria. Isso não prova que a página veio do container local.
Executar o exploit
-
Abrir
http://192.168.20.30:8000/na PS5. -
Aguardar a etapa WebKit e a criação da primitiva de memória.
-
Aguardar a exploração do kernel e a escalada de privilégios.
-
Confirmar no ecrã mensagens equivalentes a:
ARW ready Kernel: privileges ready elfldr is listening on port 9021 -
Apenas depois de o ELF loader estar pronto, carregar em
R2para enviar:kstuff.elf;shadowmountplus.elf;etaHEN.elf.
O exploit pode precisar de várias tentativas. Se o browser bloquear ou ocorrer kernel panic, reiniciar completamente a consola antes de repetir. Não assumir que uma mensagem genérica de conclusão prova que todas as etapas terminaram corretamente.
Portas e serviços posteriores
8000/TCPno servidor: página Relapse;9021/TCPna PS5: ELF loader;10101/TCPna PS5: API HTTP do ShadowMount+, por defeito em loopback.
Manter os serviços de administração e carregamento de payloads limitados a loopback ou à LAN confiável. Nunca publicar estas portas na Internet. O ShadowMount+ suporta operações como mount, unmount, copy, move e uninstall.
Operação no net-utils01
Estado e logs:
ssh net-utils01
cd /opt/relapse-exploit-docker
docker compose ps
docker compose logs -f
Reiniciar:
docker compose restart
Parar e iniciar:
docker compose down
docker compose up -d
Atualizar o wrapper Docker:
cd /opt/relapse-exploit-docker
git pull --ff-only
git submodule update --init --recursive
docker compose up -d --build
Não atualizar manualmente o submodule para o commit mais recente sem rever as
alterações e atualizar conscientemente payloads.sha256.
Diagnóstico
A página não abre
No servidor:
docker compose ps
curl -I http://127.0.0.1:8000/
ss -ltn | grep ':8000'
De outro equipamento da LAN:
curl -I http://192.168.20.30:8000/
Confirmar que a PS5 está na mesma rede e que isolamento de clientes Wi-Fi/AP não
impede comunicação com 192.168.20.30.
O Guia do Utilizador abre a página oficial ou outro host
O DNS configurado não está a redirecionar manuals.playstation.net para o destino
esperado, ou o ISP/router está a interferir com DNS. Isto é independente do container
HTTP. Usar o URL local diretamente ou instalar um DNS local controlado.
O build falha nos hashes
Não ignorar o erro. Confirmar o commit do submodule e investigar os binários:
git submodule status
sha256sum app/payloads/*
cat payloads.sha256
O exploit bloqueia ou reinicia a consola
É comportamento possível numa race/UAF de kernel. Desligar completamente a PS5, voltar a ligar e tentar novamente. Evitar várias tentativas consecutivas sem reboot depois de uma falha no kernel.
Limites de segurança
O container reduz a exposição do servidor: corre como UID/GID 65532, usa filesystem
read-only, não tem capabilities Linux, aplica no-new-privileges, bloqueia listagens
e não inclui .git.
Estas proteções não tornam os payloads seguros. Os ELF incluídos são binários pré-compilados, executados depois de obter acesso privilegiado à consola. Manter a PS5 numa rede isolada, não usar a conta principal e conservar backups dos dados.