پشتیبانی 24/7 :

031-36691964 | 021-88203003

جستجو

آسیب پذیری در 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 باشد می تواند برای شناسایی آن مثمر ثمر واقع شود.

241 5e5f728dc1b27

  • 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 در حال اجرا است.

242 5e5f72b647fee

 

رویداد های دیگر و محل دستیابی به آن ها

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

Product Article Download
Microsoft Exchange Server 2010 Service Pack 3 Update Rollup 30 4536989 Security Update
Microsoft Exchange Server 2013 Cumulative Update 23 4536988 Security Update
Microsoft Exchange Server 2016 Cumulative Update 14 4536987 Security Update
Microsoft Exchange Server 2016 Cumulative Update 15 4536987 Security Update
Microsoft Exchange Server 2019 Cumulative Update 3 4536987 Security Update
Microsoft Exchange Server 2019 Cumulative Update 4 4536987 Security Update

منبع :

مرکز ماهر

https://www.bleepingcomputer.com