Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2020-15215-Discord-POC | Kitploit
Herramientas/GitHubGitHub/nishantiyer/cve-2020-15215-discord-poc
Frameworks de ExploitsAnálisis de VulnerabilidadesSeguridad WebPruebas de PenetraciónAnálisis de BinariosAprendizaje y Educación
GitHubnishantiyer/cve-2020-15215-discord-poc

CVE-2020-15215-Discord-POC

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
1614hace 3 mesesAún no revisado

PoC de Validación de Límites ISO de Discord Electron

Alcance

Este repositorio es un banco de pruebas de validación de prueba de concepto para el endurecimiento de límites de Electron en arquitecturas de escritorio estilo Discord. Modela la separación renderer/proceso principal, la política del puente de preload, la exposición de canales IPC, los controles de navegación y la supervisión en tiempo de ejecución para estudiar cómo una mala configuración puede debilitar las garantías de aislamiento de una aplicación.

Los detalles del caso de referencia se registran en: https://bugbounty.com/211356433

Contexto de vulnerabilidad

El caso de estudio se basa en la cadena de vulnerabilidades de la aplicación de escritorio de Discord de 2020 que involucra a Electron CVE-2020-15215 (omisión del aislamiento de contexto) y CVE-2020-15174 (fallo de protección de navegación / framebusting), combinado con una condición XSS aguas arriba en contenido incrustado de terceros [web:5][web:19][web:20].

El banco de pruebas se centra en condiciones relevantes para la seguridad, tales como:

  • enrutamiento de comandos de renderer a main
  • exposición del puente de preload y aplicación de políticas
  • mapeo de permiso/denegación de IPC
  • manejo de navegación y transiciones de marco superior
  • transiciones de estado de sesión bajo cargas de trabajo aleatorizadas
  • programación de colas en tiempo de ejecución y supervisión de procesos
  • rutas de integración específicas de la plataforma

Topología del repositorio

Núcleo del runtime

  • src/main/
    • construcción del ciclo de vida
    • síntesis de preferencias de ventana
    • estado de supervisión de procesos
    • transiciones de eventos de energía
  • src/runtime/
    • registro de trabajos
    • modelado de colas de prioridad
    • flujos del programador de ticks

Límites de IPC y privilegios

  • src/ipc/
    • registro de canales
    • resolución de rutas
  • src/preload/
    • mapeo de la superficie del puente
    • evaluación de la política del puente
  • src/security/guards/
    • filtrado de invocaciones
    • modelado de cargas útiles
  • src/security/policies/
    • composición de políticas de ventana

Red y protocolo

  • src/network/rest/
    • construcción de rutas REST y asistentes de forma de solicitudes
  • src/network/gateway/
    • transiciones de estado de eventos del gateway
  • src/network/rpc/
    • construcción de tramas RPC y seguimiento de solicitudes en curso

Módulos de estado de dominio

  • 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 extendidos

  • src/rendering/ para superficies de diseño/tema/lienzo
  • src/media/ para etapas del pipeline de audio/imagen/video
  • src/search/ para almacenes de índice/consulta/ranking
  • src/ml/ para gráficos de características/inferencia/pipeline
  • src/billing/ para rutas de plan/factura/libro mayor
  • src/moderation/ para filtros/informes/acciones
  • src/compliance/ para catálogos de políticas y pistas de auditoría
  • src/bots/ para el estado de runtime/almacén/gateway de bots
  • src/platform/ para adaptadores linux/windows/mac

Funcionalidad de validación

El PoC proporciona rutas deterministas y estocásticas para la validación del análisis de límites:

  1. Simulación de historial fechado con Git con metadatos de autor separados por rol y progresión de línea de tiempo (scripts/simulate-history.ps1).
  2. Generación de fixtures para la siembra repetida de identidad de objetos (scripts/generate-fixture.js).
  3. Registro de canales y resolución/búsqueda del mapa de autorización.
  4. Acoplamiento de política de ventana y política de preload para el análisis de rutas de privilegios.
  5. Transiciones de cadena de reducers y registro de sesiones para cargas de trabajo de comandos de alta rotación.
  6. Movimiento del ciclo de vida de cola/trabajo/programador bajo instantáneas de estado serializadas.
  7. Exportaciones de módulos estructurados que aíslan cada subsistema con estado como superficies de funciones puras.

Compilación y ejecución

Requisitos

  • Node.js 18+
  • npm 9+
  • Git 2.30+
  • PowerShell 7+ (para el script de simulación de línea de tiempo)

Instalación

root@kitploit:~
npm install

Generar el payload del fixture

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

Validar la carga de módulos en todo el árbol de fuentes

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');"

Rama/arranque opcional

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

Notas de ingeniería

  • Todos los módulos están estructurados en torno a create*, set*, get* y transiciones de trabajadores por etapas para simplificar el trazado diferencial a través de los límites de los subsistemas.
  • La estructura de archivos preserva una segmentación estricta por dominio para que la instrumentación por superficie sea sencilla.
  • Las capas de IPC, preload, seguridad, runtime y red se mantienen ortogonales para que la instrumentación pueda habilitarse sin mutación entre dominios.
  • Este README documenta intencionalmente un banco de reproducción defensivo, no una cadena de explotación funcional.

Atribución

Nishant

Autores:

  • Arjun Mehta
  • Sofia Alvarez
Descargar herramienta