Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2020-15215-Discord-POC | Kitploit
Outils/GitHubGitHub/nishantiyer/cve-2020-15215-discord-poc
Frameworks d'ExploitationAnalyse des VulnérabilitésSécurité WebTests d'IntrusionAnalyse de BinairesApprentissage et Éducation
GitHubnishantiyer/cve-2020-15215-discord-poc

CVE-2020-15215-Discord-POC

Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
1614il y a 3 moisPas encore vérifié

Discord Electron ISO Boundary Validation PoC

Périmètre

Ce dépôt est un harnais de validation proof-of-concept pour le durcissement des frontières Electron dans les architectures de bureau de type Discord. Il modélise la séparation renderer/processus principal, la politique de pont preload, l'exposition des canaux IPC, les contrôles de navigation et la supervision de l'exécution afin d'étudier comment une mauvaise configuration peut affaiblir les garanties d'isolation d'une application.

Les détails du cas de référence sont suivis à l'adresse : https://bugbounty.com/211356433

Contexte de la vulnérabilité

L'étude de cas repose sur la chaîne de vulnérabilités de l'application de bureau Discord de 2020 impliquant Electron CVE-2020-15215 (contournement de l'isolation de contexte) et CVE-2020-15174 (échec de la protection de navigation / anti-framebusting), combinée à une condition XSS en amont dans le contenu tiers embarqué [web:5][web:19][web:20].

Le harnais se concentre sur des conditions liées à la sécurité, telles que :

  • routage des commandes du renderer vers le processus principal
  • exposition du pont preload et application de sa politique
  • mappage autorisation/refus IPC
  • gestion de la navigation et des transitions de frame racine
  • transitions d'état de session sous charges de travail aléatoires
  • ordonnancement des files d'attente du runtime et supervision des processus
  • chemins d'intégration spécifiques à la plateforme

Topologie du dépôt

Runtime principal

  • src/main/
    • construction du cycle de vie
    • synthèse des préférences de fenêtre
    • état de supervision des processus
    • transitions des événements d'alimentation
  • src/runtime/
    • registre des jobs
    • modélisation de la file de priorité
    • flux du planificateur par ticks

Frontières IPC et privilèges

  • src/ipc/
    • enregistrement des canaux
    • résolution des routes
  • src/preload/
    • mappage de la surface du pont
    • évaluation de la politique du pont
  • src/security/guards/
    • filtrage des invocations
    • mise en forme des charges utiles
  • src/security/policies/
    • composition de la politique de fenêtre

Réseau et protocole

  • src/network/rest/
    • construction des routes REST et helpers de mise en forme des requêtes
  • src/network/gateway/
    • transitions d'état des événements de la passerelle
  • src/network/rpc/
    • construction des trames RPC et suivi des trames en cours

Modules d'état du domaine

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

Sous-systèmes étendus

  • src/rendering/ pour les surfaces de mise en page/thème/canvas
  • src/media/ pour les étapes de pipeline audio/image/vidéo
  • src/search/ pour les magasins d'index/requête/classement
  • src/ml/ pour les graphes de caractéristiques/inférence/pipeline
  • src/billing/ pour les chemins plan/facture/grand livre
  • src/moderation/ pour les filtres/signalements/actions
  • src/compliance/ pour les catalogues de politiques et les pistes d'audit
  • src/bots/ pour l'état runtime/magasin/gateway des bots
  • src/platform/ pour les adaptateurs linux/windows/mac

Fonctionnalité de validation

Le PoC fournit des chemins déterministes et stochastiques pour la validation de l'analyse des frontières :

  1. Simulation d'historique daté Git avec métadonnées d'auteur séparées par rôle et progression de la chronologie (scripts/simulate-history.ps1).
  2. Génération de fixtures pour l'amorçage répété d'identités d'objets (scripts/generate-fixture.js).
  3. Enregistrement des canaux, plus résolution et consultation de la carte d'autorisation.
  4. Couplage politique de fenêtre et politique de preload pour l'analyse des chemins de privilèges.
  5. Transitions de chaîne de réducteurs et de registre de sessions pour les charges de commandes à forte rotation.
  6. Mouvement du cycle de vie file/job/planificateur sous instantanés d'état sérialisés.
  7. Exports de modules structurés qui isolent chaque sous-système avec état comme surfaces de fonctions pures.

Construction et exécution

Prérequis

  • Node.js 18+
  • npm 9+
  • Git 2.30+
  • PowerShell 7+ (pour le script de simulation de chronologie)

Installation

root@kitploit:~
npm install

Générer la charge utile de fixture

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

Valider le chargement des modules sur l'ensemble de l'arborescence source

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

Branche/amorçage optionnel

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

Notes d'ingénierie

  • Tous les modules sont structurés autour de create*, set*, get* et de transitions de worker par étapes afin de simplifier le traçage différentiel à travers les frontières des sous-systèmes.
  • L'organisation des fichiers préserve une segmentation stricte par domaine afin de rendre l'instrumentation par surface simple à mettre en œuvre.
  • Les couches IPC, preload, sécurité, runtime et réseau sont maintenues orthogonales afin que l'instrumentation puisse être activée sans mutation inter-domaines.
  • Ce README documente volontairement un harnais de reproduction défensif, et non une chaîne d'exploitation fonctionnelle.

Attribution

Nishant

Auteurs :

  • Arjun Mehta
  • Sofia Alvarez
Télécharger l’outil