Le phishing touche toutes les organisations, et les équipes de sécurité opérationnelle (SecOps) doivent agir rapidement pour corriger et prévenir les menaces inconnues au sein de leur infrastructure de messagerie. Afin de contribuer à la lutte contre ces menaces, l'équipe de recherche Swimlane a mis à disposition en open source… py-ews pour permettre aux équipes de sécurité et informatiques d'interagir avec les services Web Microsoft Exchange (EWS) en utilisant Python.
Pourquoi py-ews ?
Les organisations continuent de lutter contre les courriels d'hameçonnage malveillants dans leurs environnements de messagerie, mais les équipes de sécurité et informatiques ont une visibilité limitée sur le contenu actuel des boîtes aux lettres de leurs utilisateurs. Py-ews Ce logiciel a été conçu pour redonner le contrôle à vos équipes de sécurité et informatiques afin qu'elles puissent remédier plus rapidement aux menaces.
Il est possible d'accéder à Microsoft Exchange et Microsoft Office 365 installés sur site par programmation via PowerShell ou des programmes basés sur C#, ce qui est idéal si vous travaillez exclusivement sous Windows. De plus, si vous utilisez macOS ou un système *nix avec PowerShell Core, vous pouvez créer une session distante pour vous connecter à votre environnement Exchange.
Ce sont toutes d'excellentes options, mais py-ews Il est multiplateforme et fonctionne avec Python 2 et 3 pour interagir directement avec les services Web Exchange, aussi bien pour Exchange sur site (2010 à 2019) que pour Office 365. Il n'y a pas d'intermédiaire ni de code compilé à gérer, ce qui signifie que py-ews est plus rapide.
En utilisant le protocole SOAP XML des services Web Exchange, nous interagissons directement avec Exchange eDiscovery et d'autres points de terminaison de service EWS. À l'heure où nous écrivons ces lignes, py-ews prend en charge les points de terminaison suivants :
- GetSearchableMailboxes: Identifier automatiquement toutes les boîtes aux lettres de votre environnement pour lesquelles vous disposez des droits d'accès.
- Recherche de boîtes aux lettres: En utilisant Microsoft Syntaxe de requête avancée Vous pouvez effectuer une recherche dans une seule boîte aux lettres ou dans toutes les boîtes aux lettres de votre environnement.
- Supprimer l'élémentVous pouvez supprimer définitivement, supprimer logiquement ou déplacer un élément de courrier vers la liste des éléments supprimés.
- Découverte automatique: La découverte automatique vous permet d'appeler un seul point de terminaison lors de la communication avec EWS.
- Résoudre les noms: Traduire l'adresse e-mail d'un utilisateur en un objet utilisateur détaillé afin d'en extraire les propriétés.
- Règles de la boîte de réceptionDéterminer les règles de boîte de réception d'une seule boîte aux lettres.
Pour utiliser les points de terminaison eDiscovery, vous devez avoir Gestion de la découverte droits dans Échange. Py-ews prend également en charge l'usurpation d'identité d'un utilisateur/d'une boîte aux lettres, mais vous devez disposer de imitation droits au sein de la Bourse.
Scénario
De nombreuses équipes de sécurité, comme la vôtre, doivent réagir aux courriels malveillants présents dans leur environnement. Grâce à py-ews, vous pouvez récupérer la liste des boîtes aux lettres de votre environnement Exchange, effectuer une recherche et supprimer les courriels malveillants identifiés.
Voici un exemple de la façon de procéder avec py-ews :
from pyews import UserConfiguration from pyews import GetSearchableMailboxes from pyews import SearchMailboxes from pyews import DeleteItem userconfig = UserConfiguration( '[email protected]', 'Password1234' ) # Récupérer les boîtes aux lettres consultables en fonction des autorisations de votre compte referenceid_list = [] for mailbox in GetSearchableMailboxes(userconfig).response: referenceid_list.append(mailbox['ReferenceId']) # Recherche dans tous les éléments de referenceid_list messages_found = [] for search in SearchMailboxes('subject:account', userconfig, referenceid_list).response: messages_found.append(search['MessageId']) # Si nous voulions maintenant supprimer un message spécifique, nous appellerions la classe DeleteItem # comme ceci, mais nous pouvons également passer la liste entière de messages_found réponse_message_supprimé = SupprimerÉlément(messages_trouvés[2], configuration_utilisateur).réponse
Py-ews est disponible sur pypi à ce jour, et peut être installé en exécutant pip install pyews.
Poursuivez votre lecture sur les py-ews.
Poursuivez la conversation
SecOps Hub est une communauté de professionnels de la sécurité qui discutent des stratégies SecOps, des meilleures pratiques de réponse aux incidents et des moyens de simplifier les opérations de sécurité grâce à l'orchestration, l'automatisation et la réponse de sécurité (SOAR). Poursuivez la discussion et participez dès aujourd'hui à des échanges comme celui-ci !

