Add local PS5 guide DNS gateway

This commit is contained in:
2026-09-29 23:41:52 +01:00
parent bbb25074c4
commit 0017ea8fd4
8 changed files with 306 additions and 28 deletions
+40 -20
View File
@@ -18,6 +18,8 @@ Na rede onde este projeto foi inicialmente instalado:
- imagem: `relapse-exploit:local`;
- porta interna: `8080`;
- porta publicada: `8000`.
- DNS local: `192.168.20.30:53` (UDP e TCP);
- gateway do Guia: `192.168.20.30:80` e `192.168.20.30:443`.
A porta 8080 do host já pertence ao UniFi e não deve ser reutilizada.
@@ -127,15 +129,17 @@ 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
### Opção 3: DNS local (configuração instalada)
A solução preferível a longo prazo é um DNS controlado na LAN, por exemplo no
`net-utils01`, que:
O Compose inclui um DNS controlado 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.net` para o host de exploit apropriado;
- registe consultas para permitir auditoria.
- responda `manuals.playstation.net` com `192.168.20.30`;
- devolva `NXDOMAIN` para todos os restantes nomes, bloqueando PSN, updates,
telemetria e acesso geral à Internet por DNS;
- registe as consultas nos logs do container;
- apresente um gateway HTTPS local e redirecione o browser para o exploit em
`http://192.168.20.30:8000/`.
Nesse cenário, a PS5 usaria:
@@ -144,14 +148,15 @@ 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.
Depois de guardar o DNS na PS5, reiniciar completamente a consola se o Guia continuar
a usar uma resolução antiga. Abrir o Guia e aceitar o aviso de certificado não
confiável: o certificado é self-signed para `manuals.playstation.net` e existe apenas
para permitir que o Guia chegue ao redirecionamento local.
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`.
O gateway liga-se por defeito apenas ao endereço `192.168.20.30`. Para outra rede,
definir `GATEWAY_BIND_IP`, `GATEWAY_IP` e `GUIDE_REDIRECT_URL` antes de executar o
Compose. Também é possível bloquear o acesso WAN da PS5 no router, mantendo apenas
a comunicação LAN; esta continua a ser uma camada adicional mais forte do que DNS.
## Abrir pelo Guia do Utilizador
@@ -161,11 +166,16 @@ Com um DNS que redirecione o manual:
2. abrir `Guia do Utilizador, saúde e segurança e outras informações`;
3. abrir `Guia do Utilizador`;
4. confirmar que aparece a página Relapse esperada;
5. se for importante usar a instalação local, confirmar que o destino é
`192.168.20.30:8000` e não um host público inesperado.
5. aceitar o aviso de certificado self-signed, se aparecer;
6. confirmar nos logs que o cliente `192.168.10.26` consultou o DNS e abriu o
gateway;
7. confirmar que o destino final é `192.168.20.30:8000`.
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.
Ver os logs do gateway:
```sh
docker compose logs -f ps5-guide-gateway
```
## Executar o exploit
@@ -193,6 +203,8 @@ uma mensagem genérica de conclusão prova que todas as etapas terminaram corret
## Portas e serviços posteriores
- `8000/TCP` no servidor: página Relapse;
- `53/UDP` e `53/TCP` no servidor: DNS local restritivo;
- `80/TCP` e `443/TCP` no servidor: gateway do Guia do Utilizador;
- `9021/TCP` na PS5: ELF loader;
- `10101/TCP` na PS5: API HTTP do ShadowMount+, por defeito em loopback.
@@ -259,9 +271,17 @@ 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.
Confirmar que o DNS primário da PS5 é `192.168.20.30`, que não existe um DNS
secundário normal e que o gateway está saudável:
```sh
docker compose ps
docker compose logs --tail=100 ps5-guide-gateway
```
Depois reiniciar completamente a consola para limpar resoluções antigas. Se não
existir qualquer consulta proveniente do IP da PS5, verificar regras entre as VLANs
`192.168.10.0/24` e `192.168.20.0/24`, incluindo UDP/TCP 53 e TCP 80/443/8000.
### O build falha nos hashes