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-2020-15215-Discord-POC — Ferramenta de validação de prova de conceito para endurecimento de limites do Electron, modelando o isolamento entre processo renderizador e processo principal, aplicação de políticas de IPC e controles de navegação para estudar vulnerabilidades de segurança em aplicações desktop. | Kitploit
Ferramentas/GitHubGitHub/nishantiyer/cve-2020-15215-discord-poc
Frameworks de ExploraçãoAnálise de VulnerabilidadesSegurança WebTestes de PenetraçãoAnálise de BináriosAprendizado e Educação
GitHubnishantiyer/cve-2020-15215-discord-poc

CVE-2020-15215-Discord-POC

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 →

Sobre

1614há 3 mesesAinda não revisado

Ferramenta de validação de prova de conceito para endurecimento de limites do Electron, modelando o isolamento entre processo renderizador e processo principal, aplicação de políticas de IPC e controles de navegação para estudar vulnerabilidades de segurança em aplicações desktop.

Compartilhar

Prova de Conceito de Validação de Limites ISO do Discord Electron

Escopo

Este repositório é uma estrutura de validação de prova de conceito para endurecimento de limites do Electron em arquiteturas desktop no estilo Discord. Ele modela a separação entre processo de renderização e processo principal, política de ponte de pré-carregamento, exposição de canais IPC, controles de navegação e supervisão de tempo de execução para estudar como uma má configuração pode enfraquecer as garantias de isolamento de uma aplicação.

Detalhes do caso de referência são rastreados em: https://bugbounty.com/211356433

Contexto da Vulnerabilidade

O estudo de caso é baseado na cadeia de vulnerabilidades do aplicativo desktop Discord de 2020 envolvendo Electron CVE-2020-15215 (bypass de isolamento de contexto) e CVE-2020-15174 (falha de proteção de navegação / framebusting), combinada com uma condição XSS upstream em conteúdo de terceiros incorporado [web:5][web:19][web:20].

A estrutura se concentra em condições relevantes para segurança, tais como:

  • roteamento de comandos do renderizador para o principal
  • exposição da ponte de pré-carregamento e aplicação de políticas
  • mapeamento de permissão/negação IPC
  • tratamento de navegação e transição de quadro superior
  • transições de estado de sessão sob cargas de trabalho aleatórias
  • escalonamento de fila de tempo de execução e supervisão de processos
  • caminhos de integração específicos da plataforma

Topologia do Repositório

Núcleo de tempo de execução

  • src/main/
    • construção do ciclo de vida
    • síntese de preferências de janela
    • estado de supervisão de processos
    • transições de eventos de energia
  • src/runtime/
    • registro de tarefas
    • modelagem de fila de prioridade
    • fluxos do escalonador de ticks

Limites IPC e de privilégio

  • src/ipc/
    • registro de canais
    • resolução de rota
  • src/preload/
    • mapeamento de superfície da ponte
    • avaliação de política da ponte
  • src/security/guards/
    • filtragem de invocação
    • modelagem de payload
  • src/security/policies/
    • composição de política de janela

Rede e protocolo

  • src/network/rest/
    • construção de rotas REST e auxiliares de formato de requisição
  • src/network/gateway/
    • transições de estado de eventos do gateway
  • src/network/rpc/
    • construção de quadros RPC e rastreamento em andamento

Módulos de estado de domínio

  • src/modules/guilds/, src/modules/channels/, src/modules/voice/
  • src/modules/auth/, src/modules/presence/, src/modules/experiments/
  • src/cache/, src/database/, src/commands/, src/sessions/, src/state/

Subsistemas estendidos

  • src/rendering/ para superfícies de layout/tema/canvas
  • src/media/ para estágios de pipeline de áudio/imagem/vídeo
  • src/search/ para armazenamentos de índice/consulta/classificação
  • src/ml/ para gráficos de recurso/inferência/pipeline
  • src/billing/ para caminhos de plano/fatura/razão
  • src/moderation/ para filtros/relatórios/ações
  • src/compliance/ para catálogos de política e trilhas de auditoria
  • src/bots/ para estado de tempo de execução/armazenamento/gateway do bot
  • src/platform/ para adaptadores linux/windows/mac

Funcionalidade de Validação

A PoC fornece caminhos determinísticos e estocásticos para validação de análise de limites:

  1. Simulação de histórico com datas do Git, metadados de autor separados por função e progressão de linha do tempo (scripts/simulate-history.ps1).
  2. Geração de fixture para semeadura repetida de identidade de objeto (scripts/generate-fixture.js).
  3. Registro de canais mais resolução e consulta de mapa de autorização.
  4. Acoplamento de política de janela e política de pré-carregamento para análise de caminho de privilégio.
  5. Transições de cadeia de redutores e registro de sessão para cargas de trabalho de comandos de alta rotatividade.
  6. Movimento do ciclo de vida de fila/tarefa/escalonador sob instantâneos de estado serializados.
  7. Exportações de módulo estruturadas que isolam cada subsistema com estado como superfícies de função pura.

Construção e Execução

Requisitos

  • Node.js 18+
  • npm 9+
  • Git 2.30+
  • PowerShell 7+ (para o script de simulação de linha do tempo)

Instalar

root@kitploit:~
npm install

Gerar payload de fixture

root@kitploit:~
node scripts/generate-fixture.js

Validar carregamento de módulos em toda a árvore de código-fonte

root@kitploit:~
node -e "const fs=require('fs');const path=require('path');function walk(d){for(const e of fs.readdirSync(d)){const p=path.join(d,e);const s=fs.statSync(p);if(s.isDirectory())walk(p);else if(p.endsWith('.js')) require('./'+p);}} walk('src'); console.log('ok');"

Branch/bootstrap opcional

root@kitploit:~
git checkout -B main
node scripts/generate-fixture.js > fixtures/generated.json

Notas de Engenharia

  • Todos os módulos são estruturados em torno de create*, set*, get* e transições de worker estagiadas para simplificar o rastreamento diferencial através dos limites do subsistema.
  • O layout de arquivos preserva uma segmentação estrita de domínio para tornar a instrumentação por superfície direta.
  • As camadas IPC, pré-carregamento, segurança, tempo de execução e rede são mantidas ortogonais para que a instrumentação possa ser ativada sem mutação entre domínios.
  • O README documenta intencionalmente uma estrutura de reprodução defensiva, não uma cadeia de exploração funcional.

Atribuição

Nishant

Autores:

  • Arjun Mehta
  • Sofia Alvarez
Baixar ferramenta