ExchangeÓòÄÚÌáȨ¸ßΣ·ì϶°²È«¹«¸æ

°ä²¼¹¦·ò 2019-01-23

·ì϶±àºÅºÍ¼¶±ð


CVE±àºÅ£ºCVE-2018-8581£¬Î£ÏÕ¼¶±ð£º¸ßΣ£¬ CVSS·ÖÖµ£º¹Ù·½£º7.4


Ó°ÏìÁìÓò


ÊÜÓ°Ïì°æ±¾£º 

Microsoft Exchange Server 2010

Microsoft Exchange Server 2013

Microsoft Exchange Server 2016

Microsoft Exchange Server 2019

×¢£ºExchange ȨÏÞÄ£ÐÍ·ÖΪ Split Permission Model Óë Shared Permission Model£¨Ä¬ÈÏ£©£¬Ñ¡È¡ Split Permission Model µÄ Exchange ·þÎñÆ÷²»Êܴ˹¥»÷¹æ»®Ó°Ïì ¡£


·ì϶¸ÅÊö


Microsoft Exchange ServerÊÇ΢Èí¹«Ë¾µÄÒ»Ì×µç×ÓÓʼþ·þÎñ×é¼þ ¡£³ý´«Í³µÄµç×ÓÓʼþµÄ´æÈ¡¡¢Öü´æ¡¢×ª²úÉúÓñí£¬ÔÚа汾µÄ²úÆ·ÖÐÒà²ÎÓëÁËһϵÁи¨ÖúÖ°ÄÜ£¬ÈçÓïÒôÓʼþ¡¢Óʼþ¹ýÂËɸѡºÍOWA£¨»ùÓÚWebµÄµç×ÓÓʼþ´æÈ ¡£© ¡£Exchange ServerÖ§³Ö¶àÖÖµç×ÓÓʼþÍøÂçºÍ̸£¬ÈçSMTP¡¢NNTP¡¢POP3ºÍIMAP4 ¡£Exchange Server¿ÉÄÜÓë΢Èí¹«Ë¾µÄ»î¶¯Ä¿Â¼ÃÀÂú½áºÏ ¡£


΢ÈíµÄ Exchange ÏÈǰ±»±¬³ö´æÔÚSSRF·ì϶£¬·ì϶±àºÅΪ£ºCVE-2018-8581 ¡£½üÈո÷ì϶µÄÁíÒ»ÀûÓò½Öè±»¹ú±í°²È«×êÑÐÈËÔ±¹«¿ª²¢ÇÒ¸½´øÁËPOC£¬¹¥»÷ÕßÀûÓô˷ì϶¿ÉÖ±½Ó½ÚÔìÖ¸±êÍøÂçÄÚµÄ Windows Óò½ø¶øÖ±½Ó½ÚÔìÓòÄÚËùÓÐ Windows »úе ¡£Ä¿Ç°Î¢Èí¹Ù·½»¹Ã»ÓÐÍÆËͳö×îеIJ¹¶¡À´Ô¤·À¸Ã¹¥»÷·½Ê½£¬²¢ÇÒ΢ÈíÕë¶ÔCVE-2018-8581µÄ²¹¶¡Ò²²»ÄÜ·ÀÓù¸Ã¹¥»÷·½Ê½À´»ñÈ¡Óò¿ØÈ¨ÏÞ ¡£


·ì϶ÑéÖ¤


·ì϶ÀûÓÃǰÌ᣺ռÓÐÓòÄÚËÁÒâÕË»§µÄÓÊÏäÕʺÅÃÜÂë²¢ÇÒExchange·þÎñÆ÷ʹÓÃÁËShared permissionÄ£ÐÍ(ĬÈÏÆôÓÃ) ¡£POC£ºhttps://github.com/dirkjanm/PrivExchange ¡£


½¨¸´½¨Òé


1.    ²Î¿¼ÒÔÏÂÁ´½Ó½« Exchange ȨÏÞÄ£Ð͸ü¸ÄΪ Split Permission Model£º

https://docs.microsoft.com/en-us/exchange/understanding-split-permissions-exchange-2013-help

https://docs.microsoft.com/en-us/exchange/managing-split-permissions-exchange-2013-help


2. ÔÚÓò½ÚÔìÆ÷ÉÏ¿ªÆôsmbÊðÃû¼ìÑé(ÈôÓòÄÚÓÐWindowsNT»òÒÔÏ»úе±ØÒªSMBУÑé²»ÍÆ¼öʹÓÃ)

ÔËÐÐ×¢²á±í±à×ëÆ÷ (Regedt32.exe) ¡£

HKEY_LOCAL_MACHIME\System\CurrentControlSet\Services\LanManServer\ParameteÖн« EnableSecuritySignature ¸ú RequireSecuritySignature µÄÖµ¶¼¸ÄΪ1¶øºóÈ·¶¨²¢³ÁÐÂÆô¶¯Windows ¡£



GA»Æ½ð¼×¡¤(ÖйúÇø)¹Ù·½ÍøÕ¾


»òÕß½«ÏÂÃæºÅÁî±£Áô³ÉÅú´¦ÖÃÔÚÓò¿Ø»úеÉÏÒÔÖÎÀíԱȨÏÞÔËÐУ¬ÔËÐгɹ¦ºó³ÁÆôÓò¿Ø·þÎñÆ÷ ¡£


reg  add"HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanWorkStation\Parameters"/v "RequireSecuritySignature" /t REG_DWORD /d 1 /f

reg  add"HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanWorkStation\Parameters"/v "EnableSecuritySignature" /t REG_DWORD /d 1 /f

reg  add"HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters"/v "RequireSecuritySignature" /t REG_DWORD /d 1 /f

reg  add"HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters"/v "EnableSecuritySignature" /t REG_DWORD /d 1 /f


²Î¿¼Á´½Ó


https://dirkjanm.io/abusing-exchange-one-api-call-away-from-domain-admin/

https://github.com/dirkjanm/PrivExchange