Add local PS5 guide DNS gateway
This commit is contained in:
+14
-8
@@ -68,6 +68,11 @@ kadinho <[email protected]>
|
||||
- container port: `8080/TCP`;
|
||||
- restart policy: `unless-stopped`.
|
||||
|
||||
The same Compose project also runs `ps5-guide-gateway`, bound specifically to
|
||||
`192.168.20.30` on DNS UDP/TCP 53 and HTTP/HTTPS TCP 80/443. It resolves only
|
||||
`manuals.playstation.net`, returns NXDOMAIN for every other name, and redirects the
|
||||
User Guide to `http://192.168.20.30:8000/`.
|
||||
|
||||
Port `8080` on the host is already used by `unifi-network-application`; do not move
|
||||
this service there. At the last verification, the Relapse container was healthy,
|
||||
ran as `65532:65532`, used a read-only root filesystem, and returned HTTP 200 over
|
||||
@@ -133,15 +138,16 @@ The local HTTP endpoint is available and verified at:
|
||||
http://192.168.20.30:8000/
|
||||
```
|
||||
|
||||
The upstream project recommends public primary DNS `45.56.67.85`. The user reported
|
||||
successful access through the User Guide. No DNS container was installed on
|
||||
`net-utils01`, and this repository's Compose publishes no DNS service.
|
||||
The upstream public DNS `45.56.67.85` was used initially, but the PS5 did not contact
|
||||
the local container. The local gateway was therefore added. Configure the PS5 with
|
||||
primary DNS `192.168.20.30` and secondary DNS `0.0.0.0`, then restart the console and
|
||||
accept the self-signed certificate warning in the User Guide.
|
||||
|
||||
A local DNS service and an HTTP/HTTPS reverse proxy for the PS5 User Guide are
|
||||
possible future improvements, but must be designed separately. DNS only maps names
|
||||
to IP addresses; it cannot redirect the User Guide from ports 80/443 to port 8000.
|
||||
Before binding ports 53, 80, or 443 on `net-utils01`, inspect for conflicts and agree
|
||||
on the desired DNS forwarding and logging policy.
|
||||
The gateway intentionally provides no recursive DNS forwarding. Only
|
||||
`manuals.playstation.net` resolves; all other names receive NXDOMAIN. This blocks
|
||||
PSN and update resolution and keeps the setup independent of a public DNS operator.
|
||||
The PS5 was identified as `192.168.10.26`; requests from `192.168.10.6` seen earlier
|
||||
were from a different client.
|
||||
|
||||
Full PS5 instructions and DNS options are in `docs/PS5_SETUP.md`.
|
||||
|
||||
|
||||
+40
-20
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user