Volver a actualizaciones
Nuevo releaseJul 20, 2026

msticpy v3.0.2

Herramientas de seguridad de inteligencia de amenazas de Microsoft

Compartir

Herramientas de Seguridad en Python y Jupyter de MSTIC

GitHub Actions build Azure Pipelines build Downloads

Herramientas de Seguridad en Python de Microsoft Threat Intelligence.

msticpy es una biblioteca para investigación y caza en ciberseguridad en Jupyter Notebooks. Incluye funcionalidad para:

  • consultar datos de registros de múltiples fuentes
  • enriquecer los datos con Inteligencia de Amenazas, geolocalizaciones y datos de recursos de Azure
  • extraer Indicadores de Actividad (IoA) de los registros y desempaquetar datos codificados
  • realizar análisis sofisticados como detección de sesiones anómalas y descomposición de series temporales
  • visualizar datos mediante líneas de tiempo interactivas, árboles de procesos y gráficos Morph multidimensionales

También incluye algunas herramientas de ahorro de tiempo para notebooks, como widgets para establecer límites de tiempo de consulta, seleccionar y mostrar elementos de listas, y configurar el entorno del notebook.

Timeline

El paquete msticpy fue desarrollado inicialmente para apoyar la creación de Jupyter Notebooks para Microsoft Sentinel. Aunque Azure Sentinel sigue siendo un gran enfoque de nuestro trabajo, estamos extendiendo los componentes de consulta/adquisición de datos para obtener datos de registros de otras fuentes (actualmente se admiten Splunk, Microsoft Defender para Endpoint y Microsoft Graph, pero estamos trabajando activamente en el soporte para datos de otras plataformas SIEM). La mayoría de los componentes también se pueden usar con datos de cualquier fuente. Los DataFrames de Pandas se utilizan como formato de entrada y salida omnipresente de casi todos los componentes. También hay un proveedor de datos para facilitar el procesamiento de datos desde archivos CSV locales y DataFrames en pickle.

El paquete aborda tres necesidades centrales para los investigadores y cazadores de seguridad:

  • Adquirir y enriquecer datos
  • Analizar datos
  • Visualizar datos

Agradecemos comentarios, informes de errores, sugerencias para nuevas funciones y contribuciones.

Instalación

Para instalación básica:

pip install msticpy

o para la última versión de desarrollo

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

Actualización

Para actualizar msticpy a la última versión pública no beta, ejecute:

pip install --upgrade msticpy

Tenga en cuenta que es una buena práctica copiar su msticpyconfig.yaml y almacenarlo en su disco pero fuera de su carpeta msticpy, haciendo referencia a él en una variable de entorno. Esto evita que pierda sus configuraciones cada vez que actualice su instalación de msticpy.

Documentación

La documentación completa está en ReadTheDocs

Los notebooks de ejemplo para muchos de los módulos están en la carpeta docs/notebooks y notebooks acompañantes.

También puede explorar los notebooks de ejemplo referenciados al final de este documento para ver algunas de las funcionalidades en contexto. Puede jugar con algunas de las funciones del paquete en esta demo interactiva en mybinder.org.

Binder


Adquisición de Datos de Registros

QueryProvider es una biblioteca de consultas extensible dirigida a Microsoft Sentinel/Log Analytics, Microsoft XDR, Splunk, OData y otras fuentes de datos de registros. También tiene soporte especial para conjuntos de datos Mordor y para usar datos locales.

Las consultas parametrizadas integradas permiten ejecutar consultas complejas desde una sola llamada a función. Agregue sus propias consultas usando un esquema YAML simple.

Data Queries Notebook

Enriquecimiento de Datos

Proveedores de Inteligencia de Amenazas

La clase TILookup puede buscar IoCs a través de múltiples proveedores de TI. Los proveedores integrados incluyen AlienVault OTX, IBM XForce, VirusTotal y Azure Sentinel.

La entrada puede ser un único observable IoC o un DataFrame de pandas que contenga múltiples observables. Dependiendo del proveedor, es posible que necesite una cuenta y una clave API. Algunos proveedores también imponen limitaciones (especialmente en niveles gratuitos), lo que podría afectar la realización de búsquedas masivas.

TIProviders y TILookup Usage Notebook

Datos de Geolocalización

Las clases de búsqueda GeoIP le permiten hacer coincidir las geolocalizaciones de direcciones IP usando:

Folium map

GeoIP Lookup y GeoIP Notebook

Datos de Recursos de Azure, Almacenamiento y API de Azure Sentinel

El módulo AzureData contiene funcionalidad para enriquecer datos sobre detalles de hosts de Azure con detalles adicionales expuestos a través de la API de Azure. El módulo AzureSentinel le permite consultar incidentes, recuperar consultas de detección y caza. AzureBlogStorage le permite leer y escribir datos desde blob storage.

Azure Resource APIs, Azure Sentinel APIs, Azure Storage

Análisis de Seguridad

Este subpaquete contiene varios módulos útiles para trabajar en investigaciones y cacerías de seguridad:

Detección de Secuencias Anómalas

Detecte secuencias inusuales de eventos en sus datos de Office, Active Directory u otros registros. Puede extraer sesiones (por ejemplo, actividad iniciada por la misma cuenta) e identificar y visualizar secuencias inusuales de actividad. Por ejemplo, detectar a un atacante estableciendo una regla de reenvío de correo en el buzón de alguien.

Anomalous Sessions y Anomalous Sequence Notebook

Análisis de Series Temporales

El análisis de series temporales le permite identificar patrones inusuales en sus datos de registro teniendo en cuenta las variaciones estacionales normales (por ejemplo, el flujo y reflujo regular de eventos a lo largo de las horas del día, los días de la semana, etc.). El uso tanto del análisis como de la visualización resalta flujos de tráfico inusuales o actividad de eventos para cualquier conjunto de datos.

Time Series anomalies

Time Series

Visualización

Líneas de Tiempo de Eventos

Muestre cualquier evento de registro en una línea de tiempo interactiva. Usando la Biblioteca de Visualización Bokeh, el control de línea de tiempo le permite visualizar uno o más flujos de eventos, hacer zoom interactivamente en intervalos de tiempo específicos y ver detalles de los eventos trazados.

Timeline

Timeline y Timeline Notebook

Árboles de Procesos

La funcionalidad de árbol de procesos tiene dos componentes principales:

  • Creación de árbol de procesos: tomar un registro de creación de procesos de un host y construir las relaciones padre-hijo entre los procesos en el conjunto de datos.
  • Visualización de árbol de procesos: esto toma la salida procesada y muestra un árbol de procesos interactivo usando gráficos de Bokeh.

Hay un conjunto de funciones de utilidad para extraer árboles individuales y parciales del conjunto de datos procesado.

Process Tree

Process Tree y Process Tree Notebook

Manipulación de Datos y Funciones de Utilidad

Funciones Pivot

Le permite usar la funcionalidad de MSTICPy de manera "centrada en la entidad". Todas las funciones, consultas y búsquedas que se relacionan con un tipo de entidad particular (por ejemplo, Host, IpAddress, Url) se agrupan como métodos de esa clase de entidad. Entonces, si quiere hacer cosas con una dirección IP, simplemente cargue la entidad IpAddress y explore sus métodos.

Pivot Functions y Pivot Functions Notebook

base64unpack

Extractor de Base64 y archivos (gz, zip, tar). Intentará identificar cualquier cadena codificada en base64 e intentará decodificarlas. Si el resultado parece uno de los tipos de archivo compatibles, desempaquetará el contenido. Los resultados de cada decodificación/desempaquetado se vuelven a verificar en busca de más contenido base64 hasta una profundidad especificada.

Base64 Decoding y Base64Unpack Notebook

iocextract

Utiliza expresiones regulares para buscar patrones de Indicador de Compromiso (IoC): direcciones IP, URL, dominios DNS, hashes, rutas de archivos. La entrada puede ser una cadena única o un dataframe de pandas.

IoC Extraction y IoCExtract Notebook

eventcluster (experimental)

Este módulo está destinado a ser utilizado para resumir grandes cantidades de eventos en clústeres de diferentes patrones. Los eventos repetitivos de alto volumen a menudo pueden dificultar ver elementos únicos e interesantes.

Clustering

Este es un módulo de aprendizaje no supervisado implementado usando SciKit Learn DBScan.

Event Clustering y Event Clustering Notebook

auditdextract

Módulo para cargar y decodificar registros de auditoría de Linux. Colapsa los mensajes que comparten el mismo ID de mensaje en eventos únicos, decodifica campos de datos codificados en hexadecimal y realiza algún formateo y normalización específicos del evento (por ejemplo, para eventos de inicio de proceso, reensamblará los argumentos de la línea de comandos del proceso en una sola cadena).

syslog_utils

Módulo para apoyar una investigación de un host Linux con solo el registro syslog habilitado. Esto incluye funciones para recopilar datos del host, agrupar eventos de inicio de sesión y detectar sesiones de usuario que contienen actividad sospechosa.

cmd_line

Un módulo para apoyar la detección de actividad maliciosa conocida en la línea de comandos o patrones sospechosos de actividad en la línea de comandos.

domain_utils

Un módulo para apoyar la investigación de nombres de dominio y URL con funciones para validar un nombre de dominio y tomar una captura de pantalla de una URL.

Widgets de Notebook

Están construidos a partir de la colección Jupyter ipywidgets y agrupan funcionalidades comunes útiles en tareas de InfoSec, como selectores de listas, configuraciones de límites de tiempo de consulta y visualización de eventos en un formato fácil de usar.

Time span Widget

Alert browser


Ejemplos de notebooks de MSTICPy

MSTICPy Notebooks

Más notebooks en GitHub de Azure Sentinel Notebooks

Azure Sentinel Notebooks

Ejemplos de notebooks:

Vea directamente en GitHub o copie y pegue el enlace en nbviewer.org

Ejemplos de notebooks con datos guardados

Consulte los siguientes notebooks para más ejemplos del uso de este paquete en la práctica:

Plataformas y Paquetes Compatibles


Contribución

Para pautas de desarrollador (breves), consulte este artículo wiki Directrices para contribuyentes

Este proyecto acoge con satisfacción contribuciones y sugerencias. La mayoría de las contribuciones requieren que acepte un Acuerdo de Licencia de Contribuyente (CLA) que declare que tiene el derecho y efectivamente nos otorga los derechos para usar su contribución. Para más detalles, visite https://cla.microsoft.com.

Cuando envíe una solicitud de extracción, un CLA-bot determinará automáticamente si necesita proporcionar un CLA y decorará el PR adecuadamente (por ejemplo, etiqueta, comentario). Simplemente siga las instrucciones proporcionadas por el bot. Solo necesitará hacer esto una vez en todos los repositorios que usen nuestro CLA.

Este proyecto ha adoptado el Código de Conducta de Código Abierto de Microsoft. Para obtener más información, consulte las Preguntas frecuentes sobre el Código de Conducta o comuníquese con [email protected] si tiene preguntas o comentarios adicionales.

Categorías