Hände tippen auf einem Laptop in einem abgedunkelten, konzentrierten Arbeitsbereich

Das Swimlane-Forschungsteam veröffentlicht py-ews als Open Source.

2 Leseminute

 

Phishing betrifft jedes Unternehmen, und Security-Operations-Teams (SecOps) müssen schnell handeln, um unbekannte Bedrohungen in ihrer E-Mail-Infrastruktur zu beheben und zu verhindern. Um diese Bedrohungen zu bekämpfen, hat das Swimlane-Forschungsteam Open Source veröffentlicht. py-ews um Sicherheits- und IT-Teams die Interaktion mit Microsoft Exchange Web Services (EWS) mithilfe von Python zu ermöglichen.

Warum Py-ews?

Organisationen kämpfen weiterhin gegen bösartige Phishing-E-Mails in ihren E-Mail-Umgebungen, aber die Sicherheits- und IT-Teams haben nur begrenzten Einblick in das, was sich aktuell in den Postfächern ihrer Benutzer befindet. Py-ews wurde entwickelt, um Ihren Sicherheits- und IT-Teams die Kontrolle zurückzugeben, damit diese Bedrohungen schneller beheben können.

Lokale Microsoft Exchange- und Microsoft Office 365-Installationen lassen sich programmgesteuert über PowerShell oder C#-basierte Programme ansteuern. Dies ist besonders praktisch, wenn Sie ausschließlich mit Windows-Betriebssystemen arbeiten. Auch Nutzer von macOS- oder *nix-basierten Systemen können mit PowerShell Core eine Remotesitzung erstellen, um eine Verbindung zu ihrer Exchange-Umgebung herzustellen.

Das sind alles großartige Optionen, aber py-ews Es ist plattformübergreifend und arbeitet mit Python 2 und 3 zusammen, um direkt mit Exchange-Webdiensten sowohl für lokale Exchange-Installationen (2010 bis 2019) als auch für Office 365 zu interagieren. Es gibt keinen Zwischenschritt oder kompilierten Code, wodurch py-ews schneller ist.

Durch die Verwendung von Exchange Web Services SOAP XML interagieren wir direkt mit Exchange eDiscovery und anderen EWS-Dienstendpunkten. Zum Zeitpunkt der Erstellung dieses Beitrags unterstützt py-ews die folgenden Endpunkte:

  • GetSearchableMailboxesAutomatische Identifizierung aller Postfächer in Ihrer Umgebung, für die Sie Zugriffsrechte zur Durchsuchung besitzen.
  • Postfächer suchen: Durch die Verwendung von Microsofts Erweiterte Abfragesyntax Sie können ein einzelnes Postfach oder alle Postfächer in Ihrer Umgebung durchsuchen.
  • Element löschenSie können ein E-Mail-Element endgültig löschen (HardDelete), vorläufig löschen (SoftDelete) oder in den Ordner „Gelöschte Elemente“ verschieben (MoveToDeletedItems).
  • Automatische Erkennung: Autodiscover ermöglicht es Ihnen, bei der Kommunikation mit EWS einen einzigen Endpunkt aufzurufen.
  • ResolveNames: Übersetze die E-Mail-Adresse eines Benutzers in ein detailliertes Benutzerobjekt, um dessen Eigenschaften abzurufen.
  • GetInboxRules: Ermitteln Sie die Posteingangsregeln eines einzelnen Postfachs.

Um die eDiscovery-Endpunkte nutzen zu können, müssen Sie Folgendes haben: Discovery Management Rechte innerhalb Austausch. Py-ews unterstützt auch die Möglichkeit, einen Benutzer/ein Postfach zu imitieren, aber Sie müssen Folgendes haben: Identitätsdiebstahl Rechte innerhalb der Börse.

Szenario

Viele Sicherheitsteams, so wie Ihres, müssen auf schädliche E-Mails in ihrer Umgebung reagieren. Mit py-ews können Sie eine Liste der Postfächer in Ihrer Exchange-Umgebung abrufen, diese durchsuchen und anschließend alle gefundenen schädlichen E-Mails löschen.

Hier ist ein Beispiel, wie das mit py-ews funktioniert:

from pyews import UserConfiguration from pyews import GetSearchableMailboxes from pyews import SearchMailboxes from pyews import DeleteItem userconfig = UserConfiguration( '[email protected]', 'Password1234' ) # Suchbare Postfächer basierend auf den Berechtigungen Ihres Kontos abrufen referenceid_list = [] for mailbox in GetSearchableMailboxes(userconfig).response: referenceid_list.append(mailbox['ReferenceId']) # Alle Elemente der referenceid_list durchsuchen messages_found = [] for search in SearchMailboxes('subject:account', userconfig, referenceid_list).response: messages_found.append(search['MessageId']) # Um eine bestimmte Nachricht zu löschen, rufen wir die Klasse DeleteItem wie folgt auf. Wir können aber auch die gesamte Liste messages_found übergeben. deleted_message_response = DeleteItem(messages_found[2], userconfig).response

Py-ews ist verfügbar auf pypi Stand heute und kann durch Ausführen von pip install pyews installiert werden.

Lesen Sie weiter über Py-ews.

SecOps Hub-Logo

Setzen Sie das Gespräch fort

SecOps Hub ist eine Community von Sicherheitsexperten, die sich über SecOps-Strategien, Best Practices für die Reaktion auf Sicherheitsvorfälle und Möglichkeiten zur Vereinfachung von SecOps durch Security Orchestration, Automation and Response (SOAR) austauschen. Setzen Sie die Diskussion fort und beteiligen Sie sich noch heute an Gesprächen wie diesem!

Jetzt beitreten

Fordern Sie eine Live-Demo an