Office 365 E-Mail Attacke Weiterleitung über Posteingangsregel

The estimated reading time 3 minutes

Ein Kunde rief mich vor zwei Wochen an, dass er von Kunden das Feedback bekommen hatte, er würde komische Mails versenden. Also habe ich einen Blick in das O365 Center geworfen und im Sicherheitscenter einige interessante Entdeckungen gemacht. Einige Benutzer hatten eine Weiterleitung über eine Posteingangsregel eingerichtet, welche alle Mails zu einer Gmail Adresse weiterleiteten (die Benutzer hatten dies natürlich nicht eingerichtet). Hier mal noch ein paar Screenshots des Sicherheitscenters.

Mit diesem Wissen habe ich mich dann etwas tiefer begeben und versucht die Regeln ausfindig zu machen. Um dies zu erreichen habe ich das folgende kleine Skript geschrieben, welches alle Posteingangsregeln aller Benutzer in der Organisation auf die Weiterleitungsadresse durchsucht. Das Ergebnis wird in eine Textdatei umgeleitet.
Zunächst muss natürlich zur Exchange Online PowerShell verbunden werden siehe hierzu mein Artikel O365 Connector oder diesen LINK

Get-InboxRule -Mailbox benutzermitfalscherweiterleitungsadresse@domain.com | Where-Object {$_.ForwardTo -like "*@gmail*"} | fl

Ich wusste also dass es sich um Posteingangsregeln handelte, deshalb schrieb ich kurzer Hand die folgenden Zeilen um alle Benutzer auszulesen.

$txt = "C:\temp\inboxrules.txt"
$emails = (Get-Mailbox).PrimarySMTPAddress
foreach($email in $emails){
    "## Mailbbox: $email" |Out-File -FilePath $txt -Encoding utf8 -Append
    Get-InboxRule -Mailbox $email | Where-Object {$_.ForwardTo -like "*@gmail*"}  | select Name,ForwardTo,StopProcessingRules  |Out-File -FilePath $txt -Encoding utf8 -Append
}

In dieser Textdatei finden sich alle Posteingangsregeln von allen Benutzern welche extern etwas zur Domäne GMAIL.com weiterleiten. Wenn bei einem Postfach nichts geschrieben steht, besitzt der Benutzer auch keine Regel. Das sieht dann ungefähr so aus.

In meinem Fall hatten die Weiterleitungsregeln einen speziellen Namen „..“ also habe ich nochmals nach diesen Regeln gesucht und die beiden Textdateien miteinander verglichen.

$txt = "C:\temp\inboxrulesname.txt"
$emails = (Get-Mailbox).PrimarySMTPAddress
foreach($email in $emails){
    "## Mailbbox: $email" |Out-File -FilePath $txt -Encoding utf8 -Append
    Get-InboxRule -Mailbox $email | Where-Object {$_.name -like "*..*"} | select Name,ForwardTo,StopProcessingRules  |Out-File -FilePath $txt -Encoding utf8 -Append
}

WICHTIG: sollte es in der O365 zu diesem genannten Problem kommen, ist es zwingend erforderlich, dass die Benutzer das Kennwort ändern. Um nun die bösartigen Weiterleitungsregeln zu löschen kann folgendes Skript verwendet werden.

$emails = (Get-Mailbox).PrimarySMTPAddress
foreach($email in $emails){
        Get-InboxRule -Mailbox $email | Where-Object {$_.ForwardTo -like "*@gmail*"}  | Remove-InboxRule -Force
}

Nach der Bereinigung habe ich nochmals das oben genannte Skript ausgeführt und diesmal keine Weiterleitungsregeln gefunden.

Nun gibt es noch die Möglichkeit im Postfach eine Weiterleitungsadresse anzulegen. Diese kann ebenfalls per PowerShell ausgelesen werden.

Get-Mailbox -ResultSize unlimited | fl Name,*forwarding*

Um dies etwas besser zu filtern können die folgenden Zeilen verwendet werden.

$searchdomain = "gmail.com"
Get-Mailbox -ResultSize unlimited | Where-Object {($_.ForwardingSMTPAddress -like "*$searchdomain*") -or ($_.ForwardingAddress -like "*$searchdomain*")} | fl Name,*forward*

Sollten hier ebenfalls GMAIL Weiterleitung zu finden sein, bereinigt man diese am Besten mit folgendem Skript.

$searchdomain = "gmail.com"
Get-Mailbox -ResultSize unlimited | Where-Object {($_.ForwardingSMTPAddress -like "*$searchdomain*") -or ($_.ForwardingAddress -like "*$searchdomain*")} | Set-Mailbox -ForwardingSmtpAddress $null -ForwardingAddress $null

Es kann auch vorkommen, dass einzelne O365 Postfächer für das Versenden gesperrt sind. Dies sollte aber nach der Prüfung und Bereingung innerhalb 1h wieder funktionieren. Wenn euch der Artikel gefallen hat, dann drückt auf „helpful“. Falls noch weitere Fragen und Anregungen sind, lasst mir einfach einen Kommentar da. Viel Spaß beim Entfernen.

Print Friendly, PDF & Email
Was this article helpful?
YesNo
0 0 votes
Article Rating
Abonnieren
Benachrichtige mich bei
guest
4 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments
Hovig
Hovig
1 Jahr zuvor

Ich weiß der Artikel ist 3 Jahre alt und die Kommentare auch und es dient hier der Sicherheit, aber manchmal ist diese Art von Weiterleitung ja doch gewünscht nur halt von der Organisation nicht gewollt. „Händisch diese weiterleiten“, war die Antwort des Systemadmins, der keine Ausnahme für die Regel haben will. Hat einer eine Idee, wie ich das automatisch händisch mache? Wir müssen dutzende E-Mail-Postfächer „überwachen“ auf verschiedenen Organisationen, daher die Notwendigkeit. Das oben genannte Postfach wird ständig vergessen!

Philipp
Philipp
4 Jahre zuvor

Über die O365 Powershell lässt sich auch ganz allgemein das Weiterleiten an externe Domains verbieten. Ich habe das Kommando nicht zur Hand, aber das ist vielleicht sogar die bessere Lösung.