Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2020-15215-Discord-POC — Набор инструментов для проверки концепции (PoC) по укреплению границ Electron, моделирующий изоляцию рендерера/основного процесса, применение политик IPC и навигационные контроли для изучения уязвимостей безопасности десктопных приложений. | Kitploit
Инструменты/GitHubGitHub/nishantiyer/cve-2020-15215-discord-poc
Фреймворки для эксплойтовАнализ уязвимостейВеб-безопасностьТестирование на ПроникновениеАнализ Бинарных ФайловОбучение и Образование
GitHubnishantiyer/cve-2020-15215-discord-poc

CVE-2020-15215-Discord-POC

Набор инструментов для проверки концепции (PoC) по укреплению границ Electron, моделирующий изоляцию рендерера/основного процесса, применение политик IPC и навигационные контроли для изучения уязвимостей безопасности десктопных приложений.

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий
16143 месяцев назадЕщё не проверено

Discord Electron ISO Boundary Validation PoC

Область применения

Этот репозиторий представляет собой проверочный стенд концептуального доказательства (PoC) для укрепления границ Electron в настольных архитектурах в стиле Discord. Он моделирует разделение процессов рендеринга и основного процесса, политику моста предзагрузки, экспонирование IPC-каналов, навигационные контроли и надзор времени выполнения для изучения того, как неправильная конфигурация может ослабить гарантии изоляции приложения.

Детали референтного кейса отслеживаются на: https://bugbounty.com/211356433

Контекст уязвимости

Тематическое исследование основано на цепочке уязвимостей настольного приложения Discord 2020 года, включающей CVE-2020-15215 (обход изоляции контекста) и CVE-2020-15174 (отказ защиты навигации/фреймбастинга), в сочетании с восходящим условием XSS во встроенном стороннем контенте [web:5][web:19][web:20].

Стенд фокусируется на релевантных безопасности условиях, таких как:

  • маршрутизация команд от рендерера к основному процессу
  • экспонирование моста предзагрузки и применение политик
  • сопоставление разрешенных/запрещенных IPC-операций
  • обработка навигации и переходов верхнего фрейма
  • переходы состояний сессии при рандомизированных нагрузках
  • планирование очередей выполнения и надзор за процессами
  • платформенно-зависимые пути интеграции

Топология репозитория

Базовое выполнение

  • src/main/
    • построение жизненного цикла
    • синтез параметров окна
    • состояние надзора процесса
    • переходы по событиям питания
  • src/runtime/
    • реестр задач
    • моделирование очереди приоритетов
    • потоки планировщика тиков

IPC и границы привилегий

  • src/ipc/
    • регистрация каналов
    • разрешение маршрутов
  • src/preload/
    • сопоставление поверхности моста
    • оценка политики моста
  • src/security/guards/
    • фильтрация вызовов
    • формирование полезной нагрузки
  • src/security/policies/
    • композиция политик окон

Сеть и протокол

  • src/network/rest/
    • построение REST-маршрутов и вспомогательные средства формы запросов
  • src/network/gateway/
    • переходы событий-состояний шлюза
  • src/network/rpc/
    • построение RPC-фреймов и отслеживание в обработке

Модули состояния доменов

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

Расширенные подсистемы

  • src/rendering/ для поверхностей макета/темы/холста
  • src/media/ для этапов конвейера аудио/изображений/видео
  • src/search/ для хранилищ индексов/запросов/ранжирования
  • src/ml/ для графов признаков/выводов/конвейеров
  • src/billing/ для путей плана/счетов/реестра
  • src/moderation/ для фильтров/отчетов/действий
  • src/compliance/ для каталогов политик и аудиторских следов
  • src/bots/ для состояния выполнения/хранилища/шлюза ботов
  • src/platform/ для адаптеров Linux/Windows/Mac

Функциональность валидации

PoC предоставляет детерминированные и стохастические пути для проверки анализа границ:

  1. Симуляция истории с датами Git с разделенными по ролям метаданными авторов и прогрессией временной шкалы (scripts/simulate-history.ps1).
  2. Генерация фикстур для повторного посева идентичности объектов (scripts/generate-fixture.js).
  3. Регистрация каналов, разрешение и поиск карты авторизации.
  4. Связывание политики окон и политики предзагрузки для анализа путей привилегий.
  5. Переходы цепочек редьюсеров и реестра сессий для высоконагруженных командных рабочих нагрузок.
  6. Движение жизненного цикла очереди/задач/планировщика при сериализованных снимках состояния.
  7. Структурированные экспорты модулей, которые изолируют каждую подсистему с состоянием как поверхность чистых функций.

Сборка и запуск

Требования

  • Node.js 18+
  • npm 9+
  • Git 2.30+
  • PowerShell 7+ (для скрипта симуляции временной шкалы)

Установка

root@kitploit:~
npm install

Генерация фикстуры

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

Проверка загрузки модулей по всему дереву исходников

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

Опциональная ветка/начальная настройка

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

Инженерные заметки

  • Все модули структурированы вокруг create*, set*, get* и поэтапных переходов рабочих процессов для упрощения дифференциального трассирования через границы подсистем.
  • Структура файлов сохраняет строгую сегментацию доменов, чтобы сделать инструментирование по поверхностям прямолинейным.
  • Слои IPC, предзагрузки, безопасности, выполнения и сети остаются ортогональными, чтобы инструментирование можно было включить без кросс-доменных изменений.
  • README намеренно документирует защитный воспроизводящий стенд, а не работающую цепочку эксплойтов.

Атрибуция

Nishant

Авторы:

  • Arjun Mehta
  • Sofia Alvarez
Скачать инструмент