fbpx

Sony PlayStation Vita (PS Vita) – Como encontrar explorações de dados salvos

Sony PlayStation Vita (PS Vita) – Como encontrar explorações de dados salvos

 

# Como encontrar explorações de dados salvas

Desde o lançamento do * h-encore *, você deve estar se perguntando como esse ponto de entrada do usuário é possível. É possível porque os jogos que foram desenvolvidos com um SDK em torno de 3,00 e inferiores foram compilados como um executável vinculado estaticamente, portanto, seu endereço de carregamento é sempre o mesmo e não pode ser realocado para outra região, o que significa que, se tivermos uma exploração em Nesse jogo, podemos fazer ROP com alegria e não precisamos lidar com a ASLR. Eles também não têm a proteção de pilha ativada por padrão; portanto, o esmagamento de pilha é a maneira mais fácil de acionar a execução de ROP do usuário.
As explorações de dados salvos são mais poderosas que as explorações do WebKit em termos de chamadas de sistema disponíveis. A razão disso é que após o firmware 3.30, aproximadamente, a Sony introduziu o `sceKernelInhibitLoadingModule` em seu navegador, o que nos impediu de carregar módulos adicionais. Essa limitação é crucial, pois foi a única a receber chamadas do sistema, pois elas são randomizadas na inicialização.

* Observe que o guia a seguir foi escrito para pessoas com pouco conhecimento sobre exploração. *

Como sabemos que um jogo é um executável vinculado estaticamente? Eles receberam o valor `0xFE00` para o campo `e_type` no cabeçalho ELF. É assim que você pode ver qual o tipo do executável:

1. Escolha qualquer jogo que você queira tentar explorar ([Lista de jogos gratuitos DRM] (https://wololo.net/talk/viewtopic.php?t=38342)).
2. Abra o jogo no VitaShell usando `Open decrypted`.
3. Clique no arquivo `eboot.bin,` pressione triângulo e selecione `Abrir editor hexadecimal`.
4. Veja qual valor está no deslocamento `0xB0`:
– Se for “00 FE”, está estaticamente vinculado, portanto pode ser explorável.
– Se for ’04 FE`, é dinamicamente vinculado, portanto, não é explorável devido ao ASLR.

Se, de fato, é um executável vinculado estaticamente, agora você pode começar usando os dados salvos:

1. Faça o download de qualquer editor hexadecimal.
2. Baixe e instale [CrashDump Enabler] (https://store.brewology.com/vita/ahomebrew.php?brewid=577).
3. Inicie o jogo e jogue-o um pouco até ter certeza de que ele criou um dado salvo.
4. Use [vita-savemgr] (https://github.com/d3m3vilurr/vita-savemgr) ou o VitaShell para exportar os dados salvos. Se você usa o VitaShell, simplesmente navegue até `ux0: user / 00 / savedata` e use` Open decrypted` no seu jogo, depois copie o arquivo salvoata da pasta.
5. Conecte seu PS Vita ao seu computador e comece a escrever porcaria no arquivo salvoata usando o seu editor hexadecimal. Basta escrever um monte de `a ’em alguns pontos.
6. Copie os dados salvos de volta (novamente com `Open decrypted` se estiver usando o VitaShell) e jogue o jogo.
7. Repita essa precedência até obter uma falha. Se o jogo reclamar que os dados salvos são inválidos, é porque há uma verificação de crc / hash. Nesse caso, você deve desistir, a menos que saiba como fazer engenharia reversa.

Caso você tenha uma falha, o crashdump será gravado em `ux0: data`. Você pode abrir esses dumps usando o VitaShell e ver se há algum valor 0x61 ou outros valores repetitivos nos registros (supondo que você tenha gravado apenas ‘a’ em seus dados salvos):

– Se o registro pc contiver o valor `0x61616161` ou algo semelhante, parabéns, você encontrou um novo ponto de entrada do usuário!
– Se `BadVaddr` for` 0x61616161` ou algo semelhante, também poderá ser explorável (depende se foi uma carga ou uma loja que travou).
– Se não contiver nada de especial, continue com a difusão.

É muito importante que, caso você encontre algo útil, ** NÃO ** mostre uma captura de tela do crashdump que contenha qualquer título / string do jogo.

28 de outubro de 2019

Sobre nós

A Linux Force Brasil é uma empresa que ama a arte de ensinar. Nossa missão é criar talentos para a área de tecnologia e atender com excelência nossos clientes.

CNPJ: 13.299.207/0001-50
SAC:         0800 721 7901

[email protected]

Comercial  Comercial: (11) 3796-5900

Suporte:    (11) 3796-5900
[email protected]

Copyright © Linux Force Security  - Desde 2011.