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

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

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

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

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

Категории

Все категории
Loading categories
msticpy — Инструменты безопасности Microsoft Threat Intelligence | Kitploit
Инструменты/GitHubGitHub/microsoft/msticpy
Управление индикаторами компрометации (IOC)OSINT (Разведка открытых источников)Сбор информацииБезопасность облачных средРазведка угрозОбучение и ОбразованиеРеагирование на ИнцидентыОбнаружение АномалийАнализ Журналов
GitHubmicrosoft/msticpy

msticpy

Инструменты безопасности Microsoft Threat Intelligence

2.0k3304712 дней назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
Репозиторий
Поделиться
# MSTIC Jupyter и инструменты безопасности Python

![GitHub Actions build](https://github.com/microsoft/msticpy/actions/workflows/python-package.yml/badge.svg?branch=main)
[![Azure Pipelines build](https://dev.azure.com/mstic-detections/mstic-jupyter/_apis/build/status/microsoft.msticpy?branchName=main)](https://dev.azure.com/mstic-detections/mstic-jupyter/_build/latest?definitionId=14&branchName=main)
[![Downloads](https://pepy.tech/badge/msticpy)](https://pepy.tech/project/msticpy)

Инструменты безопасности Python Microsoft Threat Intelligence.

**msticpy** — это библиотека для исследования и охоты в сфере InfoSec в Jupyter Notebooks. Она включает функциональность для:

- запроса данных журналов из нескольких источников
- обогащения данных данными об угрозах, геолокациями и данными ресурсов Azure
- извлечения индикаторов активности (IoA) из журналов и распаковки закодированных данных
- выполнения сложного анализа, такого как обнаружение аномальных сессий и декомпозиция временных рядов
- визуализации данных с помощью интерактивных временных шкал, деревьев процессов и многомерных морф-диаграмм

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

<img src="https://assets.kitploit.com/production/public/readmes/4869/97c3e7b33ee7d0b34e5cb314f29bc107b50e55772d00da4422ad32e48b1d0b91.png"
alt="Временная шкала" title="Управление временной шкалой Msticpy" height="300" />

Пакет **msticpy** изначально был разработан для поддержки создания [Jupyter Notebooks](https://jupyter-notebook-beginner-guide.readthedocs.io/en/latest/) для [Microsoft Sentinel](https://www.microsoft.com/en-us/security/business/siem-and-xdr/microsoft-sentinel/). Хотя Azure Sentinel по-прежнему остается важной частью нашей работы, мы расширяем компоненты запроса/получения данных для извлечения данных журналов из других источников (в настоящее время поддерживаются Splunk, Microsoft Defender for Endpoint и Microsoft Graph, но мы активно работаем над поддержкой данных с других платформ SIEM). Большинство компонентов также можно использовать с данными из любого источника. Pandas DataFrames используются как универсальный формат ввода и вывода почти всех компонентов. Также есть провайдер данных, упрощающий обработку данных из локальных CSV-файлов и сериализованных DataFrame.

Пакет решает три основные потребности исследователей безопасности и охотников:

- Получение и обогащение данных
- Анализ данных
- Визуализация данных

Мы приветствуем отзывы, сообщения об ошибках, предложения по новым функциям и вклад.

## Установка

Для базовой установки:

`pip install msticpy`

или для последней версии разработки

`pip install git+https://github.com/microsoft/msticpy`

## Обновление

Чтобы обновить msticpy до последней публичной не-бета версии, выполните:

`pip install --upgrade msticpy`

Обратите внимание, что рекомендуется скопировать ваш msticpyconfig.yaml и хранить его на диске, но вне папки msticpy, ссылаясь на него через переменную окружения. Это предотвратит потерю ваших конфигураций при каждом обновлении установки msticpy.

## Документация

Полная документация находится на [ReadTheDocs](https://msticpy.readthedocs.io/en/latest/)

Примеры блокнотов для многих модулей находятся в папке [docs/notebooks](https://github.com/microsoft/msticpy/blob/master/docs/notebooks) и сопутствующих блокнотах.

Вы также можете просмотреть примеры блокнотов, ссылки на которые приведены в конце этого документа, чтобы увидеть некоторые функции в контексте. Вы можете поиграть с некоторыми функциями пакета в этом интерактивном демо на mybinder.org.

[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/Azure/Azure-Sentinel-Notebooks/master?filepath=A%20Tour%20of%20Cybersec%20notebook%20features.ipynb)

---

## Получение данных журналов

QueryProvider — это расширяемая библиотека запросов, ориентированная на Microsoft Sentinel/Log Analytics, Microsoft XDR, Splunk, OData и другие источники данных журналов. Она также имеет специальную поддержку наборов данных [Mordor](https://github.com/OTRF/mordor) и использования локальных данных.

Встроенные параметризованные запросы позволяют выполнять сложные запросы одним вызовом функции. Добавляйте свои собственные запросы с помощью простой схемы YAML.

[Data Queries Notebook](https://github.com/microsoft/msticpy/blob/master/docs/notebooks/Data_Queries.ipynb)

## Обогащение данных

### Провайдеры Threat Intelligence

Класс TILookup может выполнять поиск IoC по нескольким TI-провайдерам. Встроенные провайдеры включают AlienVault OTX, IBM XForce, VirusTotal и Azure Sentinel.

Входными данными может быть один наблюдаемый IoC или pandas DataFrame, содержащий несколько наблюдаемых. В зависимости от провайдера может потребоваться учетная запись и API-ключ. Некоторые провайдеры также применяют ограничение трафика (особенно для бесплатных уровней), что может повлиять на массовые поиски.

[TIProviders](https://msticpy.readthedocs.io/en/latest/data_acquisition/TIProviders.html)
и
[TILookup Usage Notebook](https://github.com/microsoft/msticpy/blob/master/docs/notebooks/TIProviders.ipynb)

### Данные геолокации

Классы поиска GeoIP позволяют сопоставлять геолокации IP-адресов, используя либо:

- GeoLiteLookup - Maxmind Geolite (см. <https://www.maxmind.com>)
- IPStackLookup  - IPStack (см. <https://ipstack.com>)

<img src="https://assets.kitploit.com/production/public/readmes/4869/cfda22181d7483aad3a5f9b26a66c0cdbac4b83d6d5b17ccc5ed230225785fe2.png"
  alt="Карта Folium"
  title="Отображение геолокации по IP" height="200" />

[GeoIP Lookup](https://msticpy.readthedocs.io/en/latest/data_acquisition/GeoIPLookups.html)
и
[GeoIP Notebook](https://github.com/microsoft/msticpy/blob/master/docs/notebooks/GeoIPLookups.ipynb)

### Данные ресурсов Azure, хранилище и API Azure Sentinel

Модуль AzureData содержит функциональность для обогащения данных об узлах Azure дополнительными сведениями об узлах, доступными через API Azure. Модуль AzureSentinel позволяет запрашивать инциденты, получать запросы детекторов и охоты. AzureBlogStorage позволяет читать и записывать данные из блоб-хранилища.

[Azure Resource APIs](https://msticpy.readthedocs.io/en/latest/data_acquisition/AzureData.html),
[Azure Sentinel APIs](https://msticpy.readthedocs.io/en/latest/data_acquisition/Sentinel.html),
[Azure Storage](https://msticpy.readthedocs.io/en/latest/data_acquisition/AzureBlobStorage.html)

## Анализ безопасности

Этот подпакет содержит несколько модулей, полезных для работы над расследованиями и охотой в области безопасности:

### Обнаружение аномальных последовательностей

Обнаруживайте необычные последовательности событий в ваших данных Office, Active Directory или других журналах. Вы можете извлекать сессии (например, активность, инициированную одной учетной записью) и идентифицировать и визуализировать необычные последовательности активности. Например, обнаружение того, что злоумышленник устанавливает правило пересылки почты в чьем-то почтовом ящике.

[Anomalous Sessions](https://msticpy.readthedocs.io/en/latest/data_analysis/AnomalousSequence.html)
и
[Anomalous Sequence Notebook](https://github.com/microsoft/msticpy/blob/master/docs/notebooks/AnomalousSequence.ipynb)

### Анализ временных рядов

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

<img src="https://assets.kitploit.com/production/public/readmes/4869/4fd2983bca85a193be350f49bdaeb72fc1d926a40242c044bda8701f0759b886.png"
alt="Аномалии временных рядов" title="Аномалии временных рядов" height="300" />

[Time Series](https://msticpy.readthedocs.io/en/latest/visualization/TimeSeriesAnomalies.html)

## Визуализация

### Временные шкалы событий

Отображайте любые события журналов на интерактивной временной шкале. Используя [Bokeh Visualization Library](https://bokeh.org/), элемент управления временной шкалой позволяет визуализировать один или несколько потоков событий, интерактивно приближать определенные временные слоты и просматривать детали событий для отображаемых событий.

<img src="https://assets.kitploit.com/production/public/readmes/4869/c045bd779bafa8ae992a1d2b3741f4a71c5adaf4466d37c870c51f1cb00ade10.png"
alt="Временная шкала" title="Управление временной шкалой Msticpy" height="300" />

[Timeline](https://msticpy.readthedocs.io/en/latest/visualization/EventTimeline.html)
и
[Timeline Notebook](https://github.com/microsoft/msticpy/blob/master/docs/notebooks/EventTimeline.ipynb)

### Деревья процессов

Функциональность дерева процессов имеет два основных компонента:

- Создание дерева процессов - берет журнал создания процессов с хоста и строит связи родитель-потомок между процессами в наборе данных.
- Визуализация дерева процессов - берет обработанный вывод и отображает интерактивное дерево процессов с использованием графиков Bokeh.

Существует набор служебных функций для извлечения отдельных и частичных деревьев из обработанного набора данных.

<img src="https://assets.kitploit.com/production/public/readmes/4869/30c4a7e6484a64a4f9434396b7b26a442e0ab697e26e2bd6d00f0abe754df60b.png"
alt="Дерево процессов"
title="Интерактивное дерево процессов" height="400" />

[Process Tree](https://msticpy.readthedocs.io/en/latest/visualization/ProcessTree.html)
и
[Process Tree Notebook](https://github.com/microsoft/msticpy/blob/master/docs/notebooks/ProcessTree.ipynb)

## Манипуляции с данными и служебные функции

### Сводные функции (Pivot Functions)

Позволяет использовать функциональность *MSTICPy* «ориентированным на сущности» способом. Все функции, запросы и поиски, относящиеся к определенному типу сущности (например, Host, IpAddress, Url), собраны вместе как методы этого класса сущностей. Итак, если вы хотите что-то сделать с IP-адресом, просто загрузите сущность IpAddress и просмотрите ее методы.

[Pivot Functions](https://msticpy.readthedocs.io/en/latest/data_analysis/PivotFunctions.html)
и
[Pivot Functions Notebook](https://github.com/microsoft/msticpy/blob/master/docs/notebooks/PivotFunctions.ipynb)

### base64unpack

Экстрактор Base64 и архивов (gz, zip, tar). Он попытается найти любые строки, закодированные в base64, и попытается их декодировать. Если результат выглядит как один из поддерживаемых типов архивов, он распакует содержимое. Результаты каждого декодирования/распаковки повторно проверяются на наличие дальнейшего содержимого base64 вплоть до указанной глубины.

[Base64 Decoding](https://msticpy.readthedocs.io/en/latest/data_analysis/Base64Unpack.html)
и
[Base64Unpack Notebook](https://github.com/microsoft/msticpy/blob/master/docs/notebooks/Base64Unpack.ipynb)

### iocextract

Использует регулярные выражения для поиска шаблонов индикаторов компрометации (IoC) - IP-адреса, URL-адреса, DNS-домены, хэши, пути к файлам. Входными данными может быть одна строка или pandas DataFrame.

[IoC Extraction](https://msticpy.readthedocs.io/en/latest/data_analysis/IoCExtract.html)
и
[IoCExtract Notebook](https://github.com/microsoft/msticpy/blob/master/docs/notebooks/IoCExtract.ipynb)

### eventcluster (экспериментальный)

Этот модуль предназначен для обобщения большого количества событий в кластеры различных шаблонов. Высокообъемные повторяющиеся события часто могут затруднить просмотр уникальных и интересных элементов.

<img src="https://assets.kitploit.com/production/public/readmes/4869/ce85802e87219053d8ac425fd3fb3d07ba8f638bcbd0078756a9f4f0bcbb1d06.png"
  alt="Кластеризация"
  title="Кластеризация на основе изменчивости командной строки" height="400" />

Это модуль обучения без учителя, реализованный с использованием SciKit Learn DBScan.

[Event Clustering](https://msticpy.readthedocs.io/en/latest/data_analysis/EventClustering.html)
и
[Event Clustering Notebook](https://github.com/microsoft/msticpy/blob/master/docs/notebooks/EventClustering.ipynb)

### auditdextract

Модуль для загрузки и декодирования журналов аудита Linux. Он объединяет сообщения с одинаковым идентификатором сообщения в отдельные события, декодирует поля данных, закодированные в шестнадцатеричном формате, и выполняет некоторое форматирование и нормализацию, специфичные для события (например, для событий запуска процесса он собирает аргументы командной строки процесса в одну строку).

### syslog_utils

Модуль для поддержки расследования на хосте Linux с включенным только протоколированием syslog. Включает функции для сбора данных хоста, кластеризации событий входа в систему и обнаружения пользовательских сессий, содержащих подозрительную активность.

### cmd_line

Модуль для поддержки обнаружения известной вредоносной активности командной строки или подозрительных шаблонов активности командной строки.

### domain_utils

Модуль для поддержки исследования доменных имен и URL с функциями для проверки доменного имени и создания снимка экрана URL.

### Виджеты блокнотов

Они построены на основе коллекции [Jupyter ipywidgets](https://ipywidgets.readthedocs.io/) и группируют общую функциональность, полезную в задачах InfoSec, такую как средства выбора списков, настройки временных границ запроса и отображения событий, в простой в использовании формат.

<img src="https://assets.kitploit.com/production/public/readmes/4869/26d223a31e1750c7407e4e562689fbfb4c92243981b794d649f35d9dafd06836.png"
  alt="Виджет временного интервала"
  title="Установщик времени запроса" height="100" />

<img src="https://assets.kitploit.com/production/public/readmes/4869/5491bab202c5644d32270ea256b0e6f9173346595cd7245120d35330dcfe2e8b.png"
  alt="Браузер оповещений"
  title="Браузер оповещений" height="300" />

---

## Примеры блокнотов MSTICPy

[MSTICPy Notebooks](https://github.com/microsoft/msticpy/blob/master/docs/notebooks/)

## Дополнительные блокноты на GitHub Azure Sentinel Notebooks

[Azure Sentinel Notebooks](https://github.com/Azure/Azure-Sentinel-Notebooks)

Примеры блокнотов:

- [Обзор функций MSTICPy](https://github.com/Azure/Azure-Sentinel-Notebooks/blob/master/A%20Tour%20of%20Cybersec%20notebook%20features.ipynb)
- [Обозреватель учетных записей](https://github.com/Azure/Azure-Sentinel-Notebooks/blob/master/Entity%20Explorer%20-%20Account.ipynb)
- [Обозреватель доменов и URL](https://github.com/Azure/Azure-Sentinel-Notebooks/blob/master/Entity%20Explorer%20-%20Domain%20and%20URL.ipynb)
- [Обозреватель IP](https://github.com/Azure/Azure-Sentinel-Notebooks/blob/master/Entity%20Explorer%20-%20IP%20Address.ipynb)
- [Обозреватель хостов Linux](https://github.com/Azure/Azure-Sentinel-Notebooks/blob/master/Entity%20Explorer%20-%20Linux%20Host.ipynb)
- [Обозреватель хостов Windows](https://github.com/Azure/Azure-Sentinel-Notebooks/blob/master/Entity%20Explorer%20-%20Windows%20Host.ipynb)
- [Начало работы с блокнотами Azure Sentinel](https://github.com/Azure/Azure-Sentinel-Notebooks/blob/master/A%20Getting%20Started%20Guide%20For%20Azure%20Sentinel%20ML%20Notebooks.ipynb)

Просматривайте напрямую на GitHub или скопируйте и вставьте ссылку в [nbviewer.org](https://nbviewer.jupyter.org/)

## Примеры блокнотов с сохраненными данными

Смотрите следующие блокноты для дополнительных примеров использования этого пакета на практике:

- [Простое машинное обучение](https://github.com/Azure/Azure-Sentinel-Notebooks/blob/master/Machine%20Learning%20in%20Notebooks%20Examples.ipynb)

## Поддерживаемые платформы и пакеты

- msticpy не зависит от ОС
- Требуется [Python 3.10 или новее](https://www.python.org/dev/peps/pep-0494/)
- Смотрите [requirements.txt](https://github.com/microsoft/msticpy/blob/main/requirements.txt) для получения дополнительных сведений и требований к версиям.

---

## Участие

Краткие рекомендации для разработчиков см. в этой статье вики [Рекомендации для участников](https://github.com/microsoft/msticpy/wiki/Contributor-guidelines)

Этот проект приветствует вклад и предложения. Большинство вкладов требует от вас согласия с Лицензионным соглашением с участником (CLA), подтверждающим, что вы имеете право и действительно предоставляете нам права на использование вашего вклада. Подробнее см. на <https://cla.microsoft.com>.

Когда вы отправляете запрос на включение изменений (pull request), CLA-бот автоматически определит, нужно ли вам предоставить CLA, и соответствующим образом оформит PR (например, метка, комментарий). Просто следуйте инструкциям бота. Вам нужно будет сделать это только один раз для всех репозиториев, использующих наше CLA.

Этот проект принял [Правила поведения в открытом исходном коде Microsoft](https://opensource.microsoft.com/codeofconduct/). Для получения дополнительной информации см. [Часто задаваемые вопросы о правилах поведения](https://opensource.microsoft.com/codeofconduct/faq/) или свяжитесь с [[email protected]](mailto:[email protected]) с любыми дополнительными вопросами или комментариями.
Скачать инструмент