¡¾Í¨¸æ¸üС¿Windows Print SpoolerÔ¶³Ì´úÂëÖ´ÐЩ¶´£¨CVE-2021-34527£©

Ðû²¼Ê±¼ä 2021-07-08

0x00 ©¶´¸ÅÊö

CVE     ID

CVE-2021-34527

ʱ      ¼ä

2021-07-08

Àà      ÐÍ

RCE

µÈ      ¼¶

¸ßΣ

Ô¶³ÌÀûÓÃ

ÊÇ

Ó°Ï췶Χ


¹¥»÷ÅÓ´ó¶È

µÍ

¿ÉÓÃÐÔ

¸ß

Óû§½»»¥


ËùÐèȨÏÞ


PoC/EXP

ÒѹûÈ»

ÔÚÒ°ÀûÓÃ

ÊÇ

 

0x01 ©¶´ÏêÇé

image.png

 

Windows Print SpoolerÊÇWindowsµÄ´òÓ¡»úºǫ́´¦Ö÷¨Ê½£¬Æä¹ÜÀíËùÓе±µØºÍÍøÂç´òÓ¡ÐÐÁв¢¿ØÖÆËùÓдòÓ¡ÊÂÇ飬±»¹ã·ºÓ¦ÓÃÓÚµ±µØºÍÄÚÍøÖС£

2021Äê7ÔÂ6ÈÕ£¬MicrosoftÕë¶ÔCVE-2021-34527Ðû²¼ÁË´øÍâÄþ¾²¸üÐÂKB5004945¡£µ«Êǽ¨Òé²»Òª°²×°Microsoft 7 Ô 6 ÈÕÐû²¼µÄ²¹¶¡£¬ÒòΪËü²»½ö²»ÄÜ·Àֹ©¶´£¬¶øÇÒ»áÐ޸ġ°localspl.dll¡±Îļþ£¬Ê¹µÃ0Patch µÄ²¹¶¡²»ÔÙÓÐЧ¡£

Äþ¾²Ñо¿ÈËÔ±ÌåÏÖ£¬Î¢ÈíÖ»ÐÞ¸´Á˸é¶´µÄÔ¶³Ì´úÂëÖ´Ðв¿ÃÅ£¬µ«ÔÚÆôÓÃ"Ö¸Ïò²¢´òÓ¡ÏÞÖÆ"µÄWindows¼ÆÄ±µÄÇé¿öÏ£¬¶ñÒâÈí¼þºÍ¹¥»÷ÕßÈÔÈ»¿ÉÒÔͨ¹ýµ±µØÈ¨ÏÞÌáÉý£¨LPE£©À´»ñµÃÒ×Êܹ¥»÷ϵͳµÄȨÏÞ£¬²¢¿ÉÒÔÈÆ¹ý²¹¶¡À´ÊµÏÖÔ¶³Ì´úÂëÖ´ÐС£

µ«ÒªÈƹý²¹¶¡²¢ÊµÏÖRCEºÍLPE£¬±ØÐëÆôÓÃÃûΪ"Ö¸Ïò²¢´òÓ¡ÏÞÖÆ"µÄWindows¼ÆÄ±£¬²¢½« "°²×°ÐÂÁ¬½ÓµÄÇý¶¯·¨Ê½Ê± "µÄÉèÖÃÅäÖÃΪ "²»ÏÔʾ¾¯¸æ»òÌáÉýÌáʾ"£¨ÅäÖ÷¾¶£º×鼯ı>¼ÆËã»úÅäÖÃ>¹ÜÀíÄ£°å>´òÓ¡»ú>Ö¸Ïò²¢´òÓ¡ÏÞÖÆ£©¡£

image.png

ÆôÓúó£¬ÔÚ×¢²á±íHKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint¼üÏ£¬"NoWarningNoElevationOnInstall "Öµ½«±»ÉèÖÃΪ1¡£

¸Ã©¶´£¨CVE-2021-34527£©ÊÇAddPrinterDriverEx£¨£©¡¢RpcAddPrinterDriver£¨£©ºÍRpcAsyncAddPrinterDriver£¨£©µÈÓÃÓÚ°²×°µ±µØ»òÔ¶³Ì´òÓ¡»úÇý¶¯·¨Ê½µÄWindows APIº¯ÊýÖÐȱÉÙACL£¨·ÃÎÊ¿ØÖÆÁÐ±í£©¼ì²éÔì³ÉµÄ¡£ÕâЩº¯Êý¶¼ÊÇͨ¹ý²îÒìµÄWindows APIʹÓã¬ÈçÏ£º

AddPrinterDriverEx (SDK)

RpcAddPrinterDriver (MS-RPRN)

RpcAsyncAddPrinterDriver (MS-PAR)

ÀûÓøÃ©¶´¿ÉÒÔÈÆ¹ýȨÏÞ¼ì²é£¬½«¶ñÒâDLL°²×°µ½C:\Windows\System32\spool\driversÎļþ¼ÐÖУ¬È»ºóͨ¹ý©¶´¼ÓÔØÎª´òÓ¡Çý¶¯£¬ÊµÏÖÔ¶³Ì´úÂëÖ´Ðлòµ±µØÈ¨ÏÞÌáÉý¡£

 

0x02 ÀúÊ·»Ø¹Ë

2021Äê6ÔÂ29ÈÕ£¬Äþ¾²Ñо¿ÈËÔ±ÔÚGitHubÉϹûÈ»ÁËÒ»¸öWindows Print SpoolerÔ¶³Ì´úÂëÖ´ÐÐ0day©¶´£¨CVE-2021-34527£©¡£

ÐèҪעÒâµÄÊÇ£¬¸Ã©¶´£¨CVE-2021-34527£©ÓëMicrosoft 6ÔÂ8ÈÕÐÇÆÚ¶þ²¹¶¡ÈÕÖÐÐÞ¸´²¢ÓÚ6ÔÂ21ÈÕ¸üеÄÒ»¸öEoPÉý¼¶µ½RCEµÄ©¶´£¨CVE-2021-1675£©²»ÊÇͬһ¸ö©¶´¡£ÕâÁ½¸ö©¶´ÏàËÆµ«²îÒ죬¹¥»÷ÏòÁ¿Ò²²îÒì¡£

Ŀǰ¸Ã©¶´ÒѾ­¹ûÈ»Åû¶£¬¶øÇÒÒÑ·ºÆðÔÚÒ°ÀûÓᣵ± Windows Print Spooler ·þÎñ²»ÕýÈ·µØÖ´ÐÐÌØÈ¨Îļþ²Ù×÷ʱ£¬´æÔÚÔ¶³ÌÖ´ÐдúÂë©¶´¡£ÀÖ³ÉÀûÓôË©¶´µÄ¹¥»÷Õß¿ÉÒÔʹÓà SYSTEM ȨÏÞÔËÐÐÈÎÒâ´úÂë¡¢°²×°·¨Ê½¡¢¼ì²ì²¢¸ü¸Ä»òɾ³ýÊý¾Ý¡¢»ò´´½¨¾ßÓÐÍêÈ«Óû§È¨ÏÞµÄÐÂÕÊ»§£¬µ«¹¥»÷±ØÐëÉæ¼°µ÷Óà RpcAddPrinterDriverEx() µÄ¾­¹ýÉí·ÝÑéÖ¤µÄÓû§¡£

 

0x03 ´¦Öý¨Òé

µÚÈý·½²¹¶¡·þÎñÍŶÓ0patchΪ CVE-2021-34527Ðû²¼ÁËÒ»¸öÃâ·ÑµÄ΢²¹¶¡£¬¾ÝÌåÏָò¹¶¡Äܹ»×èÖ¹Õë¶Ô´Ë©¶´ÀûÓá£ÔÚ΢ÈíÐû²¼×îÖÕ¸üÐÂ֮ǰ£¬½¨ÒéÓû§°²×° 0Patch µÄ΢²¹¶¡»ò½ûÓà Print Spooler ·þÎñ¡£

 

1.½ûÓà Print Spooler ·þÎñ£¨¿ÉÑ¡ÆäÒ»£©¡£

ʹÓÃÒÔÏ PowerShell ÃüÁ

Stop-Service -Name Spooler -Force

Set-Service -Name Spooler -StartupType Disabled

 

2. ͨ¹ý×鼯ı½ûÓÃÈëÕ¾Ô¶³Ì´òÓ¡£¨¿ÉÑ¡ÆäÒ»£©

ÔËÐÐ×鼯ı±à¼­Æ÷£¨Win+R¿ì½Ý¼ü£¬ÊäÈëgpedit.msc£¬´ò¿ª×鼯ı±à¼­Æ÷£©£¬ÒÀ´Î½øÈ룺¼ÆËã»úÅäÖÃ>¹ÜÀíÄ£°å>´òÓ¡»ú£¬½ûÓá°ÔÊÐí´òÓ¡ºǫ́´¦Ö÷¨Ê½½ÓÊܿͻ§¶ËÁ¬½Ó¡±¼ÆÄ±ÒÔ×èÖ¹Ô¶³Ì¹¥»÷¡£

 

ÏÂÔØÁ´½Ó£º

https://blog.0patch.com/2021/07/free-micropatches-for-printnightmare.html

 

0x04 ²Î¿¼Á´½Ó

https://github.com/afwu/PrintNightmare

https://www.bleepingcomputer.com/news/microsoft/microsofts-incomplete-printnightmare-patch-fails-to-fix-vulnerability/

https://blog.0patch.com/2021/07/free-micropatches-for-printnightmare.html

https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-34527

 

0x05 ʱ¼äÏß

2021-07-01  MicrosoftÐû²¼Äþ¾²Í¨¸æ

2021-07-02  VSRCÐû²¼Äþ¾²Í¨¸æ

2021-07-06  MicrosoftÐû²¼Äþ¾²¸üÐÂ

2021-07-08  VSRC¸üÐÂÄþ¾²Í¨¸æ

 

0x06 ¸½Â¼

CVSSÆÀ·Ö³ß¶È¹ÙÍø£ºhttp://www.first.org/cvss/

image.png