Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
ds3-nrssr-rce — Documentação e código de prova de conceito para CVE-2022-24125 e CVE-2022-24126. | Kitploit
Ferramentas/GitHubGitHub/tremwil/ds3-nrssr-rce
Frameworks de ExploraçãoAnálise de VulnerabilidadesExploraçãoEngenharia ReversaShellcodeTestes de PenetraçãoAprendizado e EducaçãoRed TeamingGeração de ShellcodeDesenvolvimento de PayloadsExploração de Binários
169818há 4 anosRevisado pelo Kitploit
GitHub
tremwil/ds3-nrssr-rce

ds3-nrssr-rce

Documentação e código de prova de conceito para CVE-2022-24125 e CVE-2022-24126.

Ver Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Atualização: Dark Souls III 1.15.1

Uma nova atualização do jogo, 1.15.1, foi lançada para Dark Souls III em 25/08/2022, juntamente com a restauração dos serviços online. Esta atualização corrigiu tanto CVE-2022-24125 quanto CVE-2022-24126, além de uma vasta gama de outras potenciais vulnerabilidades de segurança presentes na rede P2P do jogo (leituras/escritas fora dos limites). Além disso, todos os exploits conhecidos que permitiam corromper o save de outros jogadores foram corrigidos. Muitos cheats menores comuns (ex.: "curse knife") que eram frequentemente encontrados durante o multijogador online também foram corrigidos.

ds3-nrssr-rce

Este repositório contém código de prova de conceito e documentação para o exploit RCE mais recente que afeta jogos da FROM SOFTWARE, CVE-2022-24126. Embora teoricamente possível em outros jogos, o foco está em Dark Souls III, pois é o jogo onde minha pesquisa foi conduzida. Atualmente, o código de prova de conceito existe apenas para Dark Souls III; a vulnerabilidade foi confirmada como presente em:

  • Dark Souls 1 PTDE (crédito: LukeYui)
  • Dark Souls Remastered (crédito: metal-crow)
  • Dark Souls 2 (incluindo Scholar) (crédito: LukeYui)
  • Dark Souls 3 (até 1.15.0) (crédito: tremwil)

O código vulnerável também está presente em Sekiro (crédito: LukeYui), embora não haja como acioná-lo. A presença em Demon's Souls não foi confirmada, mas é muito provável. Embora o teste de rede fechado tenha sido afetado, a versão de lançamento de Elden Ring não foi. Na verdade, uma enorme lista de crashes de rede, leituras/escritas fora dos limites e exploits que permitiam aos jogadores modificar os dados de jogo de outros jogadores, que estavam presentes em Dark Souls III, foram corrigidos em Elden Ring. Parabéns a LukeYui por compilar essa lista e à FROM SOFTWARE por agir rapidamente! Fico feliz em dizer que Elden Ring é, indiscutivelmente, o título mais seguro da FROM SOFTWARE no que diz respeito à extensão dos danos que hackers podem causar.

Dissipando Equívocos

Ao contrário do que se acredita, isso NÃO é um exploit de rede peer-to-peer. Está relacionado ao servidor de matchmaking e, portanto, é muito mais grave, pois você não precisa participar de nenhuma atividade multijogador para estar vulnerável devido a outra vulnerabilidade do servidor de matchmaking (CVE-2022-24125).

Em Dark Souls III, um atacante malicioso que abusasse disso seria capaz de executar de forma confiável um payload de até 1,3 MiB1 de shellcode na máquina de cada jogador online em segundos.

Com o jogo tendo uma base média de jogadores simultâneos de cerca de 20.000 jogadores nos meses anteriores ao desligamento do servidor, era claramente um problema que precisava ser corrigido imediatamente, especialmente com a possibilidade de estar presente em Elden Ring. Como a FROM SOFTWARE não havia agido por mais de 40 dias após meu relatório inicial com vídeos de prova de conceito e documentação detalhada do exploit (na qual grande parte deste readme é baseada), decidi demonstrar a existência do exploit publicamente de forma benigna, na esperança de chamar a atenção para que fosse resolvido pelos desenvolvedores, e funcionou.

Índice

  • Resumo do Exploit (CVE-2022-24126)
  • Vetores de Distribuição (CVE-2022-24125)
  • A Tática Geral de Exploração para Todos os Jogos
    • Bug #1: Nenhuma Verificação de Limites no Analisador de Lista de Entradas
    • Bug #2: Estouro de Buffer no Analisador de NRSessionSearchResult
    • Preparando o Caminho para a Cadeia ROP
  • Código de Prova de Conceito para Dark Souls III
    • Executando o código PoC
    • Vetor de Ataque
    • Cadeia de Redirecionamento de Chamada Virtual
    • Informações Extras

Resumo do Exploit (CVE-2022-24126)

A verificação inadequada de limites em um buffer de pilha e no campo de tamanho de dados durante a análise dos dados de matchmaking NRSessionSearchResult permite que um atacante execute código arbitrário. O estouro de pilha permite sobrescrever os dois bytes inferiores do vftable_ptr do objeto DLMemoryInputStream usado internamente pelo leitor de stream, redirecionando a execução para código vizinho cuidadosamente escolhido. A exploração inteligente da estrutura do objeto DLMemoryInputStream e do campo de tamanho de dados permite então alcançar o redirecionamento arbitrário de código, com RCX apontando para o endereço do nosso pacote. A partir daí, uma série de redirecionamentos de código por meio de chamadas virtuais com diferentes deslocamentos (que agora saltarão para quaisquer endereços que escrevemos no buffer do pacote) pode ser usada para alcançar a execução arbitrária de código.

Vetores de Distribuição (CVE-2022-24125)

Os vetores de distribuição são o que tornam este RCE particularmente grave (além de já ser um RCE). O exploit é transmitido através de solicitações de push de matchmaking contendo informações de NRSessionSearchResult. Isso significa que o atacante pode atingir qualquer pessoa que entre em sua sessão online. Em particular, para DS3:

  • summons (PushRequestSummonSign)
  • dark spirit invaders (PushRequestAllowBreakInTarget)
  • players joining via covenant (PushRequestVisit)
  • arena combattants (PushRequestAcceptQuickMatch)

Isso já é bastante ruim, mas o verdadeiro potencial é desbloqueado pela solicitação RequestSendMessageToPlayers:

message RequestSendMessageToPlayers { 
    repeated uint32 player_ids = 1; 
    required bytes push_message = 2;
}

O host usa essa solicitação para enviar diretamente a mensagem push PushRequestAllowBreakInTarget para invasores, para que eles possam obter as coordenadas de spawn e entrar na sessão P2P. É só isso. Essa é a única maneira como essa solicitação é usada pelo jogo.

No entanto, ela permite que qualquer cliente envie mensagens push arbitrárias para centenas de milhares de jogadores específicos.

Não posso enfatizar o quão terrivelmente inseguro isso é. Qualquer jogador pode basicamente se passar pelo servidor de matchmaking. Ao usar essa solicitação para enviar o exploit através de um PushRequestVisit, qualquer jogador online pode ser alvo remoto do atacante, desde que seu ID de jogador seja conhecido. O atacante também pode enviar o exploit para toda a base de jogadores online muito rapidamente, enviando várias solicitações, cada uma contendo uma grande fatia de possíveis IDs de jogadores.

A Tática Geral de Exploração para Todos os Jogos

Embora o RCE não seja exatamente portável para todos os jogos, a ideia central do exploit que dá ao atacante o redirecionamento arbitrário de código é a mesma. Se isso puder ser alcançado, é muito provável que uma cadeia de chamadas virtuais ou cadeia ROP específica do jogo possa ser encontrada. Este "primeiro passo" usa as seguintes vulnerabilidades:

Footnotes

  1. Para Dark Souls III Ver. 1.15. O tamanho máximo teórico do payload depende do layout da pilha e, portanto, varia de acordo com o jogo e a versão. ↩

Baixar ferramenta