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

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

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

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

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

Категории

Все категории
Loading categories
detectree — Интерактивный инструмент визуализации данных для синих команд, позволяющий анализировать данные обнаружения, понимать взаимосвязи, снижать усталость от оповещений и улучшать реагирование на инциденты. | Kitploit
Инструменты/GitHubGitHub/withsecurelabs/detectree
Оборонительные ИнструментыРазведка угрозРеагирование на ИнцидентыАнализ Журналов
GitHubwithsecurelabs/detectree

detectree

Интерактивный инструмент визуализации данных для синих команд, позволяющий анализировать данные обнаружения, понимать взаимосвязи, снижать усталость от оповещений и улучшать реагирование на инциденты.

Репозиторий
127513 лет назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

Detectree


Detectree — это инструмент визуализации данных для синих команд. Он обеспечивает графическое представление данных обнаружения, что позволяет аналитику практически мгновенно формировать мнение о характере базовой активности и понимать сложные взаимосвязи между точками данных. В конечном итоге это может помочь сократить время реагирования, снизить усталость от оповещений и облегчить коммуникацию между аналитиками внутри команд.

Detectree написан на svelte и основан на javascript-библиотеке force-graph.


Начало работы

Чтобы использовать Detectree в вашей среде, обнаружения должны удовлетворять минимальному набору свойств. В следующей таблице вы можете увидеть, какие поля должны быть включены в каждое обнаружение, а какие являются необязательными.

ПолеОбязательное
Endpoint IDда
Categoryда
Severityда
Detection Nameда
Parent Process Nameда
Parent Process IDда
Process Nameда
Process IDда
Userнет
Command Lineнет
File Nameнет
Registry Keyнет
Network Addressнет
Target Process Nameнет
Target Process IDнет

Сопоставления для каждого поля определены в файле schema.yml, пример файла schema.yml.example предоставлен. Этот файл определяет, какие поля должны извлекаться из данных в бэкенде и как они сопоставляются внутренне. В частности, часть сопоставления содержит сопоставление detectree слева и сопоставление бэкенда справа; вам необходимо заполнить сопоставление в соответствии с вашей средой.

Схема также содержит конфигурацию бэкенда; для elastic она должна быть понятной, но значение различных полей следующее:

primaryId — уникальный идентификатор конечной точки. Он используется для получения обнаружений. timeField — поле времени, используемое для ограничения запроса. source — поле, которое идентифицирует тип обнаружения; в примере схемы оно сопоставлено с NewProcess, RegistryWrite, FileAccess и так далее.

Затем в mappings поле type идентифицирует конкретное обнаружение; например, если ваш бэкенд поддерживает только обнаружения NewProcess (или как бы они ни назывались), вам потребуется только одно сопоставление. В тесной связи с этим поле kind связывает тип обнаружения с типом detectree. Например, если kind равен file, сопоставление должно предоставить filePath, который будет использоваться для отрисовки контекстного узла.

В настоящее время единственным поддерживаемым бэкендом является elastic, однако создать адаптер для любого нового бэкенда должно быть тривиально. См. раздел Добавление нового бэкенда для получения дополнительной информации.

Чтобы развернуть приложение в вашей среде, вам необходимо установить требуемые зависимости с помощью npm install (или pnpm install или yarn). Затем вам нужно выбрать правильный адаптер для вашей среды; следуйте этому руководству для получения самой актуальной информации.

Например, если вы хотите использовать node в качестве бэкенда, вам нужно установить @sveltejs/adapter-node и изменить ваш svelte.config.js, заменив @sveltejs/adapter-auto на @sveltejs/adapter-node. Затем проект можно собрать следующей командой; вывод будет в папке output.

root@kitploit:~

npm run build

Разработческий сервер можно запустить следующей командой; это позволит обслуживать приложение локально.

root@kitploit:~
npm run dev

# или запустить сервер и открыть приложение в новой вкладке браузера
npm run dev -- --open

Пример графа можно увидеть на следующем скриншоте

example

Добавление нового бэкенда

Чтобы поддержать новый бэкенд, вам необходимо создать выделенный TypeScript-файл в папке backend_adapters. Вы можете использовать elastic в качестве шаблона; новый модуль должен предоставлять функцию запроса, которая должна принимать на вход те же параметры, что и функция в файле elastic. Затем вы можете запрашивать выбранный бэкенд предпочтительным способом. Функция запроса должна возвращать объект, содержащий данные, сопоставленные в соответствии с сопоставлением, определённым в файле schema.yaml. Наконец, чтобы бэкенд был корректно выбран, вам также необходимо добавить его в следующий объект внутри draw_tree.ts; ключи объекта здесь также будут тем, как бэкенд упоминается в schema.yml

root@kitploit:~
const backendTypes = {
	elastic: '../backend_adapters/elastic'
};
Скачать инструмент