Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2020-15215-Discord-POC — Harness di validazione proof-of-concept per il rafforzamento dei confini di Electron, modellizzazione dell’isolamento renderer/processo principale, applicazione delle policy IPC e controlli di navigazione per studiare le vulnerabilità di sicurezza delle applicazioni desktop. | Kitploit
Strumenti/GitHubGitHub/nishantiyer/cve-2020-15215-discord-poc
Framework di ExploitAnalisi delle VulnerabilitàSicurezza WebPenetration TestingAnalisi di BinariApprendimento e Formazione
GitHubnishantiyer/cve-2020-15215-discord-poc

CVE-2020-15215-Discord-POC

Harness di validazione proof-of-concept per il rafforzamento dei confini di Electron, modellizzazione dell’isolamento renderer/processo principale, applicazione delle policy IPC e controlli di navigazione per studiare le vulnerabilità di sicurezza delle applicazioni desktop.

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository
16143 mesi faNon ancora revisionato

PoC di validazione del confine ISO per Discord Electron

Ambito

Questo repository è un harness di validazione proof-of-concept per l'indurimento dei confini di Electron nelle architetture desktop in stile Discord. Modella la separazione renderer/processo principale, la politica del bridge preload, l'esposizione dei canali IPC, i controlli di navigazione e la supervisione del runtime per studiare come una configurazione errata possa indebolire le garanzie di isolamento di un'applicazione.

I dettagli del caso di riferimento sono tracciati su: https://bugbounty.com/211356433

Contesto della vulnerabilità

Il caso studio si basa sulla catena di vulnerabilità dell'app desktop Discord del 2020 che coinvolge Electron CVE-2020-15215 (bypass dell'isolamento del contesto) e CVE-2020-15174 (fallimento della protezione di navigazione/framebusting), combinata con una condizione XSS a monte in contenuti di terze parti incorporati [web:5][web:19][web:20].

L'harness si concentra su condizioni rilevanti per la sicurezza come:

  • instradamento dei comandi da renderer a main
  • esposizione del bridge preload e applicazione delle politiche
  • mappatura permessi/negozione IPC
  • gestione della navigazione e delle transizioni del frame principale
  • transizioni dello stato della sessione sotto carichi di lavoro randomizzati
  • pianificazione della coda runtime e supervisione dei processi
  • percorsi di integrazione specifici per piattaforma

Topologia del repository

Runtime principale

  • src/main/
    • costruzione del ciclo di vita
    • sintesi delle preferenze delle finestre
    • stato di supervisione dei processi
    • transizioni degli eventi di alimentazione
  • src/runtime/
    • registro dei job
    • modellazione della coda di priorità
    • flussi dello scheduler a tick

Confini IPC e privilegi

  • src/ipc/
    • registrazione dei canali
    • risoluzione delle route
  • src/preload/
    • mappatura della superficie del bridge
    • valutazione delle politiche del bridge
  • src/security/guards/
    • filtraggio delle invocazioni
    • modellazione del payload
  • src/security/policies/
    • composizione delle politiche delle finestre

Rete e protocollo

  • src/network/rest/
    • costruzione delle route REST e helper per la forma delle richieste
  • src/network/gateway/
    • transizioni degli eventi-stato del gateway
  • src/network/rpc/
    • costruzione dei frame RPC e tracciamento in volo

Moduli di stato del 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/

Sottosistemi estesi

  • src/rendering/ per superfici di layout/tema/canvas
  • src/media/ per stadi della pipeline audio/immagine/video
  • src/search/ per archivi di indici/query/ranking
  • src/ml/ per grafici di caratteristiche/inferenza/pipeline
  • src/billing/ per percorsi di piani/fatture/registri
  • src/moderation/ per filtri/report/azioni
  • src/compliance/ per cataloghi di politiche e trail di audit
  • src/bots/ per runtime/store/stato del gateway dei bot
  • src/platform/ per adattatori linux/windows/mac

Funzionalità di validazione

Il PoC fornisce percorsi deterministici e stocastici per la validazione dell'analisi dei confini:

  1. Simulazione della storia con date Git con metadati autore separati per ruolo e progressione temporale (scripts/simulate-history.ps1).
  2. Generazione di fixture per il seeding ripetuto dell'identità degli oggetti (scripts/generate-fixture.js).
  3. Registrazione dei canali più risoluzione e ricerca della mappa di autorizzazione.
  4. Accoppiamento politiche finestra e preload per l'analisi del percorso dei privilegi.
  5. Transizioni della catena di reducer e del registro delle sessioni per carichi di lavoro di comandi ad alto turnover.
  6. Movimento del ciclo di vita coda/job/scheduler sotto snapshot serializzati dello stato.
  7. Esportazioni di moduli strutturati che isolano ogni sottosistema stateful come superfici di funzioni pure.

Build ed esecuzione

Requisiti

  • Node.js 18+
  • npm 9+
  • Git 2.30+
  • PowerShell 7+ (per lo script di simulazione della timeline)

Installa

root@kitploit:~
npm install

Genera payload fixture

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

Valida il caricamento dei moduli nell'intero albero del sorgente

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 opzionale

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

Note di ingegneria

  • Tutti i moduli sono strutturati attorno a create*, set*, get* e transizioni di worker in fasi per semplificare il tracciamento differenziale attraverso i confini dei sottosistemi.
  • Il layout dei file preserva una segmentazione rigorosa del dominio per rendere semplice l'instrumentazione per superficie.
  • I livelli IPC, preload, sicurezza, runtime e rete sono mantenuti ortogonali in modo che l'instrumentazione possa essere abilitata senza mutazioni tra domini.
  • Il README documenta intenzionalmente un harness di riproduzione difensivo, non una catena di exploit funzionante.

Attribuzione

Nishant

Autori:

  • Arjun Mehta
  • Sofia Alvarez
Scarica lo strumento