Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
msticpy — Outils de sécurité de renseignement sur les menaces de Microsoft | Kitploit
Outils/GitHubGitHub/microsoft/msticpy
Gestion des Indicateurs de Compromission (IOC)OSINT (Renseignement de Sources Ouvertes)Collecte d'InformationsSécurité CloudRenseignement sur les MenacesApprentissage et ÉducationRéponse aux IncidentsDétection d'AnomaliesAnalyse de Journaux
GitHubmicrosoft/msticpy

msticpy

Outils de sécurité de renseignement sur les menaces de Microsoft

2.0k330il y a 8 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt

Outils de sécurité Python et Jupyter MSTIC

GitHub Actions build Azure Pipelines build Downloads

Outils de sécurité Python Microsoft Threat Intelligence.

msticpy est une bibliothèque pour l'investigation et la chasse en sécurité informatique dans les notebooks Jupyter. Elle comprend des fonctionnalités pour :

  • interroger des données de logs provenant de multiples sources
  • enrichir les données avec des menaces, des géolocalisations et des données de ressources Azure
  • extraire des indicateurs d'activité (IoA) des logs et décompresser les données encodées
  • effectuer des analyses sophistiquées telles que la détection de sessions anormales et la décomposition de séries temporelles
  • visualiser les données à l'aide de chronologies interactives, d'arbres de processus et de diagrammes morphologiques multidimensionnels

Il comprend également des outils de notebook qui font gagner du temps, comme des widgets pour définir les limites temporelles des requêtes, sélectionner et afficher des éléments de listes, et configurer l'environnement du notebook.

Timeline

Le package msticpy a été initialement développé pour soutenir la création de notebooks Jupyter pour Microsoft Sentinel. Bien qu'Azure Sentinel reste un axe majeur de notre travail, nous étendons les composants d'interrogation et d'acquisition de données pour récupérer des données de logs depuis d'autres sources (actuellement Splunk, Microsoft Defender for Endpoint et Microsoft Graph sont pris en charge, mais nous travaillons activement à la prise en charge des données d'autres plateformes SIEM). La plupart des composants peuvent également être utilisés avec des données provenant de n'importe quelle source. Les DataFrames Pandas sont utilisés comme format d'entrée et de sortie omniprésent de presque tous les composants. Il existe également un fournisseur de données pour faciliter le traitement des données à partir de fichiers CSV locaux et de DataFrames sérialisés (pickle).

Le package répond à trois besoins centraux des enquêteurs et chasseurs en sécurité :

  • Acquérir et enrichir les données
  • Analyser les données
  • Visualiser les données

Nous accueillons favorablement les retours, les rapports de bogues, les suggestions de nouvelles fonctionnalités et les contributions.

Installation

Pour une installation de base :

pip install msticpy

ou pour la dernière version de développement

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

Mise à jour

Pour mettre à jour msticpy vers la dernière version publique non bêta, exécutez :

pip install --upgrade msticpy

Notez qu'il est recommandé de copier votre fichier msticpyconfig.yaml et de le stocker sur votre disque mais en dehors de votre dossier msticpy, en le référençant dans une variable d'environnement. Cela vous évite de perdre vos configurations à chaque mise à jour de votre installation msticpy.

Documentation

La documentation complète se trouve sur ReadTheDocs

Des notebooks d'exemples pour de nombreux modules se trouvent dans le dossier docs/notebooks et les notebooks associés.

Vous pouvez également parcourir les notebooks d'exemples référencés à la fin de ce document pour voir certaines fonctionnalités utilisées en contexte. Vous pouvez expérimenter certaines fonctions du package dans cette démo interactive sur mybinder.org.

Binder


Acquisition de données de logs

QueryProvider est une bibliothèque de requêtes extensible ciblant Microsoft Sentinel/Log Analytics, Microsoft XDR, Splunk, OData et d'autres sources de données de logs. Elle offre également un support spécial pour les ensembles de données Mordor et l'utilisation de données locales.

Des requêtes paramétrées intégrées permettent d'exécuter des requêtes complexes à partir d'un seul appel de fonction. Ajoutez vos propres requêtes à l'aide d'un schéma YAML simple.

Notebook Data Queries

Enrichissement des données

Fournisseurs de Threat Intelligence

La classe TILookup peut rechercher des IoC auprès de plusieurs fournisseurs de Threat Intelligence. Les fournisseurs intégrés incluent AlienVault OTX, IBM XForce, VirusTotal et Azure Sentinel.

L'entrée peut être un observable IoC unique ou un DataFrame pandas contenant plusieurs observables. Selon le fournisseur, vous pouvez avoir besoin d'un compte et d'une clé API. Certains fournisseurs imposent également une limitation de débit (surtout pour les niveaux gratuits), ce qui peut affecter les recherches en masse.

TIProviders et Notebook d'utilisation de TILookup

Données de géolocalisation

Les classes de recherche GeoIP vous permettent de faire correspondre les géolocalisations des adresses IP en utilisant soit :

  • GeoLiteLookup - Maxmind Geolite (voir https://www.maxmind.com)
  • IPStackLookup - IPStack (voir https://ipstack.com)

Folium map

GeoIP Lookup et Notebook GeoIP

Données de ressources Azure, stockage et API Azure Sentinel

Le module AzureData contient des fonctionnalités pour enrichir les données concernant les détails des hôtes Azure avec des détails supplémentaires exposés via l'API Azure. Le module AzureSentinel vous permet d'interroger les incidents, de récupérer les requêtes de détection et de chasse. AzureBlogStorage vous permet de lire et d'écrire des données depuis le stockage blob.

API des ressources Azure, API Azure Sentinel, Stockage Azure

Analyse de sécurité

Ce sous-package contient plusieurs modules utiles pour travailler sur les enquêtes de sécurité et la chasse :

Détection de séquences anormales

Détectez des séquences d'événements inhabituelles dans vos données de logs Office, Active Directory ou autres. Vous pouvez extraire des sessions (par exemple, une activité initiée par le même compte) et identifier et visualiser des séquences d'activité inhabituelles. Par exemple, détecter un attaquant configurant une règle de transfert de courrier sur la boîte aux lettres de quelqu'un.

Sessions anormales et Notebook de séquences anormales

Analyse de séries temporelles

L'analyse de séries temporelles vous permet d'identifier des motifs inhabituels dans vos données de logs en tenant compte des variations saisonnières normales (par exemple, les fluctuations régulières des événements au fil des heures de la journée, des jours de la semaine, etc.). L'utilisation conjointe de l'analyse et de la visualisation met en évidence les flux de trafic ou les activités d'événements inhabituels pour tout ensemble de données.

Time Series anomalies

Séries temporelles

Visualisation

Chronologies d'événements

Affichez tout événement de log sur une chronologie interactive. Utilisant la bibliothèque de visualisation Bokeh, le contrôle de chronologie vous permet de visualiser un ou plusieurs flux d'événements, de zoomer de manière interactive sur des créneaux horaires spécifiques et de voir les détails des événements tracés.

Timeline

Chronologie et Notebook Chronologie

Arbres de processus

La fonctionnalité d'arbre de processus a deux composants principaux :

  • Création d'arbre de processus - en prenant un log de création de processus d'un hôte et en construisant les relations parent-enfant entre les processus dans l'ensemble de données.
  • Visualisation d'arbre de processus - cela prend la sortie traitée et affiche un arbre de processus interactif à l'aide de graphiques Bokeh.

Il existe un ensemble de fonctions utilitaires pour extraire des arbres individuels et partiels de l'ensemble de données traité.

Process Tree

Arbre de processus et Notebook Arbre de processus

Manipulation de données et fonctions utilitaires

Fonctions Pivot

Vous permet d'utiliser les fonctionnalités de MSTICPy de manière « centrée sur l'entité ». Toutes les fonctions, requêtes et recherches qui se rapportent à un type d'entité particulier (par exemple, Hôte, Adresse IP, URL) sont regroupées en tant que méthodes de cette classe d'entité. Ainsi, si vous voulez faire quelque chose avec une adresse IP, chargez simplement l'entité IpAddress et parcourez ses méthodes.

Fonctions Pivot et Notebook Fonctions Pivot

base64unpack

Extracteur de contenu Base64 et d'archives (gz, zip, tar). Il essaiera d'identifier toute chaîne encodée en base64 et de la décoder. Si le résultat ressemble à l'un des types d'archives pris en charge, il décompressera le contenu. Les résultats de chaque décodage/décompression sont revérifiés pour détecter d'autres contenus base64 et ce jusqu'à une profondeur spécifiée.

Décodage Base64 et Notebook Base64Unpack

iocextract

Utilise des expressions régulières pour rechercher des motifs d'indicateurs de compromission (IoC) - adresses IP, URL, domaines DNS, hachages, chemins de fichiers. L'entrée peut être une chaîne unique ou un DataFrame pandas.

Extraction IoC et Notebook IoCExtract

eventcluster (expérimental)

Ce module est destiné à résumer un grand nombre d'événements en clusters de différents motifs. Les événements répétitifs à volume élevé peuvent souvent rendre difficile la visualisation d'éléments uniques et intéressants.

Clustering

Il s'agit d'un module d'apprentissage non supervisé implémenté à l'aide de SciKit Learn DBScan.

Regroupement d'événements et Notebook Regroupement d'événements

auditdextract

Module pour charger et décoder les logs d'audit Linux. Il regroupe les messages partageant le même ID de message en un seul événement, décode les champs de données encodés en hexadécimal et effectue un formatage et une normalisation spécifiques à l'événement (par exemple, pour les événements de démarrage de processus, il réassemble les arguments de ligne de commande du processus en une seule chaîne).

syslog_utils

Module pour soutenir l'investigation d'un hôte Linux avec uniquement la journalisation syslog activée. Cela comprend des fonctions pour collecter les données de l'hôte, regrouper les événements de connexion et détecter les sessions utilisateur contenant une activité suspecte.

cmd_line

Un module pour soutenir la détection d'activité de ligne de commande malveillante connue ou de motifs suspects d'activité de ligne de commande.

domain_utils

Un module pour soutenir l'investigation des noms de domaine et des URL avec des fonctions pour valider un nom de domaine et prendre une capture d'écran d'une URL.

Widgets de notebook

Ceux-ci sont construits à partir de la collection Jupyter ipywidgets et regroupent des fonctionnalités courantes utiles dans les tâches de sécurité informatique, telles que les sélecteurs de listes, les paramètres de limite de temps de requête et l'affichage d'événements, dans un format facile à utiliser.

Time span Widget

Alert browser


Exemples de notebooks MSTICPy

MSTICPy Notebooks

Plus de notebooks sur Azure Sentinel Notebooks GitHub

Azure Sentinel Notebooks

Exemples de notebooks :

  • Visite des fonctionnalités de MSTICPy
  • Explorateur de comptes
  • Explorateur de domaines et d'URL
  • Explorateur d'adresses IP
  • Explorateur d'hôtes Linux
  • Explorateur d'hôtes Windows
  • Guide de démarrage dans les notebooks Azure Sentinel

Visualisez directement sur GitHub ou copiez et collez le lien dans nbviewer.org

Exemples de notebooks avec données sauvegardées

Consultez les notebooks suivants pour plus d'exemples d'utilisation de ce package en pratique :

  • Apprentissage automatique simple

Plateformes et packages pris en charge

  • msticpy est indépendant du système d'exploitation
  • Nécessite Python 3.10 ou ultérieur
  • Voir requirements.txt pour plus de détails et les exigences de version.

Contribuer

Pour des directives (brèves) pour les développeurs, consultez cet article wiki Directives pour les contributeurs

Ce projet accueille favorablement les contributions et suggestions. La plupart des contributions nécessitent que vous acceptiez un Contrat de Licence de Contributeur (CLA) déclarant que vous avez le droit, et que vous le faites effectivement, de nous accorder les droits d'utiliser votre contribution. Pour plus de détails, visitez https://cla.microsoft.com.

Lorsque vous soumettez une pull request, un bot CLA déterminera automatiquement si vous devez fournir un CLA et décorera la PR en conséquence (par exemple, étiquette, commentaire). Suivez simplement les instructions fournies par le bot. Vous n'aurez à le faire qu'une seule fois sur tous les dépôts utilisant notre CLA.

Ce projet a adopté le Code de conduite open source de Microsoft. Pour plus d'informations, consultez la FAQ du code de conduite ou contactez [email protected] pour toute question ou commentaire supplémentaire.

Télécharger l’outil