en

آسیب پذیری در Microsoft Exchange ( CVE-2020-0688 ) و روش های تشخیص نفوذ

شرکت #‫مایکروسافت اخیراً وصله امنیتی را برای تمامی نسخه های Microsoft Exchange انتشار داده است که این وصله امنیتی یک نقص اجرای کد از راه دور (RCE) را مرتفع می سازد. این نقص به مهاجم این امکان را می دهد تا با ارسال payload دستکاری شده بتواند دستورات خود را در سرور اجرا کند. محققین اکسپلویت و کد مخرب بهره برداری از این آسیب پذیری را در تاریخ 24 فوریه 2020 منتشر کرده اند.
این آسیب پذیری بر روی Exchange Control Panel(ECP) تاثیرگذار خواهد بود و در تمامی نسخه های Exchange Server به دلیل داشتن کلید اعتبارسنجی و الگوریتم یکسان بر روی فایل web.config صدق می کند. آسیب پذیری بصورت authenticated است و مهاجم برای اجرا، نیازمند اطلاعات ورود به یک حساب کاربری می باشد.
نحوه عملکرد Exploit
ابتدا Exploit از طریق یک درخواست post از طریق /owa/auth.owa احراز هویت می شود. این درخواست post حاوی نام کاربری و رمز عبور معتبر است. پس از احراز هویت موفق، Exploit از صفحه ecp/default.aspx/ درخواست می کند تا محتوای --VIEWSTATEGENERATOR و ASP.NET.SessionID را بدست آورد. با استفاده از اطلاعات به دست آمده از --VIESTATEGNERATOR این بار Exploit یک payload سریالی را که حاوی دستورات مخرب است ساخته و سپس به /ecp/default.aspx ارسال می کند.
لیست زیر صفحاتی هستند که تحت تاثیر این آسیب پذیری قرار می گیرند:
• /ecp/default.aspx
• /ecp/PersonalSettings/HomePage.aspx
• /ecp/PersonalSettings/HomePage.aspx4E
• /ecp/Organize/AutomaticReplies.slab
• /ecp/RulesEditor/InboxRules.slab
• /ecp/Organize/DeliveryReports.slab
• /ecp/MyGroups/PersonalGroups.aspx
• /ecp/MyGroups/ViewDistributionGroup.aspx
• /ecp/Customize/Messaging.aspx
• /ecp/Customize/General.aspx
• /ecp/Customize/Calendar.aspx
• /ecp/Customize/SentItems.aspx
• /ecp/PersonalSettings/Password.aspx
• /ecp/SMS/TextMessaging.slab
• /ecp/TroubleShooting/MobileDevices.slab
• /ecp/Customize/Regional.aspx
• /ecp/MyGroups/SearchAllGroups.slab
• /ecp/Security/BlockOrAllow.aspx
نحوه تشخیص نفوذ
• Event Logs
این Exploit یک رویدادSYSMON با شماره 4 را در لیست رویدادهای برنامه (Application logs) ایجاد می کند. پیام ERROR که در لیست رویدادها وجود دارد، شامل صفحه هدف و همچنین Payload سریالی می باشد. از آنجا که می تواند چندین صفحه را مورد هدف قرار دهد، هشدار بر روی آدرس های /ecp/root که دارای متغیر بزرگ _VIEWSTATE باشد می تواند برای شناسایی آن مثمر ثمر واقع شود.


• IIS Logs
اولین شاخص شناسایی، گروهی از درخواست ها در log می باشد که با درخواست های post به مقصد /owa/auth.owa شروع می-شود و پس از آن درخواست های متعدد GET به یکی از URL های هدف که پیش تر لیستی از آنها آورده شده اتفاق می افتد که یکی از آن ها حاوی متغیر --VIEWSTATE می باشد. _VIEWSTATE هرگز نباید به عنوان بخشی از درخواست های GET ارسال شود.


2020-02-27 16:23:01 172.24.0.11 POST /owa/auth.owa &CorrelationID=;&cafeReqId=9cbf6d69-3637-4259-8156-af22cd591e77;&encoding=; 443 testexchange\user 172.24.0.51 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+10.15;+rv:73.0)+Gecko/20100101+Firefox/73.0 - 302 0 0 0

2020-02-27 16:23:01 172.24.0.11 GET /ecp &CorrelationID=;&cafeReqId=bbdc52ec-fc63-44e5-8c04-ece4e94dcc79; 443 testexchange\user 172.24.0.51 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+10.15;+rv:73.0)+Gecko/20100101+Firefox/73.0 - 302 0 0 0

2020-02-27 16:23:01 172.24.0.11 GET /ecp/ &CorrelationID=;&cafeReqId=242a7cc1-b320-466d-af4c-5f2212509a9a; 443 testexchange\user 172.24.0.51 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+10.15;+rv:73.0)+Gecko/20100101+Firefox/73.0 - 200 0 0 78

2020-02-27 16:23:01 172.24.0.11 GET /ecp/default.aspx &CorrelationID=;&cafeReqId=01f49b9c-2fd9-498a-9092-7dcb7b344940; 443 testexchange\user 172.24.0.51 python-requests/2.23.0 - 200 0 0 15

2020-02-27 16:23:02 172.24.0.11 GET /ecp/default.aspx __VIEWSTATEGENERATOR=B97B4E27&__VIEWSTATE=/wEyhAYAAQAAAP////8BAAAAAAAAAAwCAAAAXk1pY3Jvc29mdC5Qb3dlclNoZWxsLkVkaXRvciwgVmVyc2lvbj0zLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUFAQAAAEJNaWNyb3NvZnQuVmlzdWFsU3R1ZGlvLlRleHQuRm9ybWF0dGluZy5UZXh0Rm9ybWF0dGluZ1J1blByb3BlcnRpZXMBAAAAD0ZvcmVncm91bmRCcnVzaAECAAAABgMAAACmBDxSZXNvdXJjZURpY3Rpb25hcnkNCiAgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2luZngvMjAwNi94YW1sL3ByZXNlbnRhdGlvbiINCiAgeG1sbnM6eD0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aW5meC8yMDA2L3hhbWwiDQogIHhtbG5zOlN5c3RlbT0iY2xyLW5hbWVzcGFjZTpTeXN0ZW07YXNzZW1ibHk9bXNjb3JsaWIiDQogIHhtbG5zOkRpYWc9ImNsci1uYW1lc3BhY2U6U3lzdGVtLkRpYWdub3N0aWNzO2Fzc2VtYmx5PXN5c3RlbSI%2BDQoJIDxPYmplY3REYXRhUHJvdmlkZXIgeDpLZXk9IiIgT2JqZWN0VHlwZSA9ICJ7IHg6VHlwZSBEaWFnOlByb2Nlc3N9IiBNZXRob2ROYW1lID0gIlN0YXJ0IiA%2BDQogICAgIDxPYmplY3REYXRhUHJvdmlkZXIuTWV0aG9kUGFyYW1ldGVycz4NCiAgICAgICAgPFN5c3RlbTpTdHJpbmc%2BY2FsYy5leGU8L1N5c3RlbTpTdHJpbmc%2BDQogICAgIDwvT2JqZWN0RGF0YVByb3ZpZGVyLk1ldGhvZFBhcmFtZXRlcnM%2BDQogICAgPC9PYmplY3REYXRhUHJvdmlkZXI%2BDQo8L1Jlc291cmNlRGljdGlvbmFyeT4LKJT2EDKmhAvFcl3ptWKG6YNkbYw%3D&CorrelationID=;&cafeReqId=006227a0-2591-4b6a-b505-004c65649d15; 443 testexchange\user 172.24.0.51 python-requests/2.23.0 - 500 0 0 46

• PROCESS EXECUTION
زمانی که Exploit، payload خود را به سمت سرور ارسال می کند، IIS WORKER دستورات مخرب را با پروسسی زیر مجموعه پروسس w3wp.exe اجرا می کند. در تصویر زیر می تواند مشاهده کنید که پروسس مخرب! calc.exe به عنوان یک پروسس زیر مجموعه (child) پروسس w3wp.exe با سطح دسترسی SYSTEM در حال اجرا است.

رویداد های دیگر و محل دستیابی به آن ها
Exchange Server استثنائات (Exception) را در مسیر دایرکتوری زیر ثبت می کند:
c:\ program Files\Microsoft\Exchange Server\V15\Logging\ECP\ServerException\
این فهرست شامل درخواست های GET مخرب به همراه String query مربوطه است. محتوای این پرونده می تواند شامل پرونده های log هنگام اجرای POC باشد.


The Wall

No comments
You need to sign in to comment

news specifications

 
Added 14 Esfand 1398

Tags

Rate

Your rate:
Total: (0 rates)