[28418] 2020-07-16_CVE-2020-1350远程代码执行检测脚本

文档创建者:s7ckTeam
浏览次数:5
最后更新:2025-01-19
2020-07-16_CVE-2020-1350远程代码执行检测脚本 C V E - 2 0 2 0 - 1 3 5 0   O t s   2 0 2 0 - 0 7 - 1 6 h t t p s : / / g i t h u b . c o m / T 1 3 n n 3 s / C V E - 2 0 2 0 - 1 3 5 0 P o w e r s h e l l W i n d o w s   D N S C V E - 2 0 2 0 - 1 3 5 0 < # . S Y N O P S I S         C h e c k s   i f   y o u r   D N S   S e r v e r   i s   v u l n e r a b l e   f o r   t h e   R e m o t e   C o d e   E x e c u t i o n   i n   t h e   W i n d o w s   D N S   S e r v i c e . . D E S C R I P T I O N         S c r i p t   i s   c h e c k i n g   i f   t h e   C V E - 2 0 2 0 - 1 3 5 0   i s   a p p l i c a b l e   t o   y o u r   W i n d o w s   S e r v e r   a n d   w h e t h e r   t h e   p r o p e r   W i n d o w s   U p d a t e ( s )   i s   i n s t a l l e d   o r   n o t . . E X A M P L E         P S   C : >   . C V E - 2 0 2 0 - 1 3 5 0 - c h e c k e r . p s 1 . N O T E S         C r e a t e d   b y :   T 1 3 n n 3 s         D a t e :   1 5 - 0 7 - 2 0 2 0         C h e c k   m y   b l o g :   h t t p s : / / b i n s e c . n l         L a s t   u p d a t e :   1 6 - 0 7 - 2 0 2 0 # > I f   ( - N O T   ( [ S e c u r i t y . P r i n c i p a l . W i n d o w s P r i n c i p a l ] [ S e c u r i t y . P r i n c i p a l . W i n d o w s I d e n t i t y ] : : G e t C u r r e n t ( ) ) . I s I n R o l e ( [ S e c u r i t y . P r i n c i p a l . W i n d o w s B u i l t I n R o l e ]   " A d m i n i s t r a t o r " ) )   {               $ a r g u m e n t s   =   " &   ' "   +   $ m y i n v o c a t i o n . m y c o m m a n d . d e f i n i t i o n   +   " ' "         S t a r t - P r o c e s s   p o w e r s h e l l   - V e r b   r u n A s   - A r g u m e n t L i s t   $ a r g u m e n t s         B r e a k } f u n c t i o n   C h e c k F o r D N S S e r v e r   {         W r i t e - H o s t   " [ * ]   C h e c k i n g   f o r   t h e   W i n d o w s   D N S   S e r v i c e . . . "         $ D N S S e r v i c e   =   G e t - S e r v i c e   |   w h e r e - o b j e c t   {   $ _ . n a m e   - l i k e   " D N S "   }   - E r r o r A c t i o n   S i l e n t l y C o n t i n u e         i f   ( $ D N S S e r v i c e . S t a t u s   - e q   " R u n n i n g " )   {                 W r i t e - H o s t   " [ + ]   T h i s   s e r v e r   i s   a c t i n g   a s   a n   W i n d o w s   D N S   S e r v e r .   C V E - 2 0 2 0 - 1 3 5 0   i s   a p p l i c a b l e   t o   t h i s   W i n d o w s   S e r v e r . "   - F o r e g r o u n d C o l o r   G r e e n         }         E l s e   {                 W r i t e - H o s t   " [ + ]   T h i s   s e r v e r   i s   n o t   a c t i n g   a s   a n   W i n d o w s   D N S   S e r v e r .   C V E - 2 0 2 0 - 1 3 5 0   i s   n o t   a p p l i c a b l e   t o   t h i s   W i n d o w s   S e r v e r . "   - F o r e g r o u n d C o l o r   G r e e n                 P a u s e                 b r e a k         }   } #   E n d   C h e c k F o r D N S S e r v e r   f u n c t i o n f u n c t i o n   C h e c k I f U p d a t e I s I n s t a l l e d   {                 W r i t e - H o s t   " [ * ]   C h e c k i n g   W i n d o w s   V e r s i o n . . . "         $ O S V e r s i o n   =   ( G e t - I t e m p r o p e r t y   - P a t h   " H K L M : S O F T W A R E M i c r o s o f t W i n d o w s   N T C u r r e n t V e r s i o n "   - N a m e   P r o d u c t N a m e ) . P r o d u c t N a m e         i f   ( ( $ O S V e r s i o n   - e q   " W i n d o w s   S e r v e r   2 0 1 2   S t a n d a r d " )   - o r   ( $ O S V e r s i o n   - e q   " W i n d o w s   S e r v e r   2 0 1 2   D a t a c e n t e r " ) )   {                 W r i t e - H o s t   " [ * ]   W i n d o w s   S e r v e r   2 0 1 2   d e t e c t e d . . . "                 W r i t e - H o s t   " [ * ]   C h e c k   i f   s e c u r i t y   u p d a t e   o r   m o n t h l e y   r o l l u p   i s   i n s t a l l e d . . . "                 $ m o n t h l e y _ W 2 K 2   =   G e t - H o t F i x   - I d   K B 4 5 6 5 5 3 7   - E r r o r A c t i o n   S i l e n t l y C o n t i n u e                 $ s e c u r i t y _ W 2 K 2   =   G e t - H o t F i x   - I d   K B 4 5 6 5 5 3 5   - E r r o r A c t i o n   S i l e n t l y C o n t i n u e                 i f   ( $ m o n t h l e y _ W 2 K 2 )   {                         W r i t e - H o s t   " [ * ]   * * *   W i n d o w s   U p d a t e   $ ( $ m o n t h l e y _ W 2 K 2 . H o t F i x I D )   i s   i n s t a l l e d   o n   $ ( $ m o n t h l e y _ W 2 K 2 . I n s t a l l e d O n ) .   Y o u ' r e   n o t   v u l n e r a b l e   * * * "                         W r i t e - H o s t   " [ + ]   N o   w o r k a r o u n d   n e e d e d . "                         b r e a k                 }                 e l s e i f   ( $ s e c u r i t y _ W 2 K 2 )   {                         W r i t e - H o s t   " [ * ]   * * *   W i n d o w s   U p d a t e   $ ( $ s e c u r i t y _ W 2 K 2 . H o t F i x I D )   i s   i n s t a l l e d   o n   $ ( $ s e c u r i t y _ W 2 K 2 . I n s t a l l e d O n ) .   Y o u ' r e   n o t   v u l n e r a b l e   * * * "                         W r i t e - H o s t   " [ + ]   N o   w o r k a r o u n d   n e e d e d . "                         b r e a k                 }         }         e l s e i f   ( $ O S V e r s i o n   - l i k e   " W i n d o w s   S e r v e r   2 0 1 2   R 2 * " )   {                 " [ * ]   W i n d o w s   S e r v e r   2 0 1 2   R 2   d e t e c t e d . . . "                 W r i t e - H o s t   " [ * ]   C h e c k   i f   s e c u r i t y   u p d a t e   o r   m o n t h l e y   r o l l u p   i s   i n s t a l l e d . . . "                 $ m o n t h l e y _ W 2 K 2 R 2   =   G e t - H o t F i x   - I d   K B 4 5 6 5 5 4 1   - E r r o r A c t i o n   S i l e n t l y C o n t i n u e                 $ s e c u r i t y _ W 2 K 2 R 2   =   G e t - H o t F i x   - I d   K B 4 5 6 5 5 4 0   - E r r o r A c t i o n   S i l e n t l y C o n t i n u e                 i f   ( $ m o n t h l e y _ W 2 K 2 R 2 )   {                         W r i t e - H o s t   " [ * ]   * * *   W i n d o w s   U p d a t e   $ ( $ m o n t h l e y _ W 2 K 2 R 2 . H o t F i x I D )   i s   i n s t a l l e d   o n   $ ( $ m o n t h l e y _ W 2 K 2 R 2 . I n s t a l l e d O n ) .   Y o u ' r e   n o t   v u l n e r a b l e   * * * "                         W r i t e - H o s t   " [ + ]   N o   w o r k a r o u n d   n e e d e d . "                         b r e a k                 }                 e l s e i f   ( $ s e c u r i t y _ W 2 K 2 R 2 )   {                         W r i t e - H o s t   " [ * ]   * * *   W i n d o w s   U p d a t e   $ ( $ s e c u r i t y _ W 2 K 2 R 2 . H o t F i x I D )   i s   i n s t a l l e d   o n   $ ( $ s e c u r i t y _ W 2 K 2 R 2 . I n s t a l l e d O n ) .   Y o u ' r e   n o t   v u l n e r a b l e   * * * "                         W r i t e - H o s t   " [ + ]   N o   w o r k a r o u n d   n e e d e d . "                         b r e a k                 }         }         e l s e i f   ( $ O S V e r s i o n   - l i k e   " W i n d o w s   S e r v e r   2 0 1 6 * " )   {
        e l s e i f   ( $ O S V e r s i o n   - l i k e   " W i n d o w s   S e r v e r   2 0 1 6 * " )   {                 " [ * ]   W i n d o w s   S e r v e r   2 0 1 6   d e t e c t e d . . . "                 W r i t e - H o s t   " [ * ]   C h e c k   i f   s e c u r i t y   u p d a t e   o r   m o n t h l e y   r o l l u p   i s   i n s t a l l e d . . . "                 $ s e c u r i t y _ W 2 K 1 6   =   G e t - H o t F i x   - I d   K B 4 5 6 5 5 1 1   - E r r o r A c t i o n   S i l e n t l y C o n t i n u e                 i f   ( $ s e c u r i t y _ W 2 K 1 6 )   {                         W r i t e - H o s t   " [ * ]   * * *   W i n d o w s   U p d a t e   $ ( $ s e c u r i t y _ W 2 K 1 6 . H o t F i x I D )   i s   i n s t a l l e d   o n   $ ( $ s e c u r i t y _ W 2 K 1 6 . I n s t a l l e d O n ) .   Y o u ' r e   n o t   v u l n e r a b l e   * * * "                         W r i t e - H o s t   " [ + ]   N o   w o r k a r o u n d   n e e d e d . "                         b r e a k                 }                 e l s e i f   ( $ O S V e r s i o n   - l i k e   " W i n d o w s   S e r v e r   2 0 1 9 * " )   {                         " [ + ]   W i n d o w s   S e r v e r   2 0 1 9   d e t e c t e d . . . "                         W r i t e - H o s t   " [ * ]   C h e c k   i f   s e c u r i t y   u p d a t e   o r   m o n t h l e y   r o l l u p   i s   i n s t a l l e d . . . "                         $ s e c u r i t y _ W 2 K 1 6   =   G e t - H o t F i x   - I d   K B 4 5 5 8 9 9 8   - E r r o r A c t i o n   S i l e n t l y C o n t i n u e                                 i f   ( $ s e c u r i t y _ W 2 K 1 6 )   {                                 W r i t e - H o s t   " [ * ]   * * *   W i n d o w s   U p d a t e   $ ( $ s e c u r i t y _ W 2 K 1 6 . H o t F i x I D )   i s   i n s t a l l e d   o n   $ ( $ s e c u r i t y _ W 2 K 1 6 . I n s t a l l e d O n ) .   Y o u ' r e   n o t   v u l n e r a b l e   * * * "                                 W r i t e - H o s t   " [ + ]   N o   w o r k a r o u n d   n e e d e d . "                                 b r e a k                         }                 }                 E l s e   {                         W r i t e - H o s t   " [ - ]   W i n d o w s   U p d a t e   $ ( $ k b )   i s   n o t   i n s t a l l e d . "                 }         } }   #   E n d   f u n c t i o n   C h e c k I f U p d a t e I s I n s t a l l e d f u n c t i o n   G e t - M e n u   {         p a r a m   (                 [ s t r i n g ] $ t i t l e   =   " W o r k a r o u n d   f o r   C V E - 2 0 2 0 - 1 3 5 0 "         )         W r i t e - H o s t   " "         W r i t e - H o s t   " = = = = = = = = = = = = = = = =   $ t i t l e   = = = = = = = = = = = = = = = = "         W r i t e - H o s t   " 1 :   P r e s s   ' 1 '   f o r   c h e c k   i f   t h i s   s e r v i c e   i s   v u l n e r a b l e   f o r   C V E - 2 0 2 0 - 1 3 5 0 "           W r i t e - H o s t   " 2 :   P r e s s   ' 2 '   t o   a p p l y   t h e   C V E - 2 0 2 0 - 1 3 5 0   w o r k a r o u n d   t o   t h i s   s e r v e r   ( N O T I C E :   T H e   W i n d o w s   D N S   S e r v i c e   w i l l   b e   r e s t a r t e d ! ) "         W r i t e - H o s t   " Q :   P r e s s   ' Q '   t o   q u i t . " }   #   E n d   f u n c t i o n   G e t - M e n u f u n c t i o n   G e t - R e g i s t r y V a l u e   {         p a r a m         (                 [ P a r a m e t e r ( M a n d a t o r y   =   $ t r u e ) ]                 $ R e g i s t r y K e y         )         $ k e y   =   G e t - I t e m   - P a t h   " R e g i s t r y : : $ R e g i s t r y K e y "         $ k e y . G e t V a l u e N a m e s ( )   |         F o r E a c h - O b j e c t   {                 $ n a m e   =   $ _                 $ r v   =   1   |   S e l e c t - O b j e c t   - P r o p e r t y   N a m e ,   T y p e ,   V a l u e                 $ r v . N a m e   =   $ n a m e                 $ r v . T y p e   =   $ k e y . G e t V a l u e K i n d ( $ n a m e )                 $ r v . V a l u e   =   $ k e y . G e t V a l u e ( $ n a m e )                 $ r v             } }   #   E n d   f u n c t i o n   G e t - R e g i s t r y V a l u e f u n c t i o n   C h e c k R e g D N S   {         p a r a m   (                 [ s t r i n g ] $ r e g   =   " H K L M : S Y S T E M C u r r e n t C o n t r o l S e t S e r v i c e s D N S P a r a m e t e r s "         )         $ s i z e   =   " 0 x F F 0 0 "         $ c h e c k   =   G e t - I t e m P r o p e r t y   - P a t h   $ r e g   - N a m e   " T c p R e c e i v e P a c k e t S i z e "   - E r r o r A c t i o n   S i l e n t l y C o n t i n u e         $ c h e c k _ d w o r d   =   G e t - R e g i s t r y V a l u e   " H K E Y _ L O C A L _ M A C H I N E S Y S T E M C u r r e n t C o n t r o l S e t S e r v i c e s D N S P a r a m e t e r s "   |   W h e r e - O b j e c t   {   $ _ . n a m e   - e q   " T c p R e c e i v e P a c k e t S i z e "   }   - E r r o r A c t i o n   S i l e n t l y C o n t i n u e         i f   ( ( $ c h e c k . T c p R e c e i v e P a c k e t S i z e   - e q   $ s i z e )   - a n d   ( $ c h e c k _ d w o r d . t y p e   - e q   " D W O R D " ) )   {                 W r i t e - H o s t   " [ + ]   T c p R e c e i v e P a c k e t S i z e   s i z e   i s   s e t   t o   $ ( $ s i z e )   a n d   i s   D W O R D "                 W r i t e - H o s t   " [ + ]   Y o u ' r e   n o t   v u l n e r a b l e . "   - F o r e g r o u n d C o l o r   G r e e n                 b r e a k         }         e l s e i f   ( $ c h e c k . T c p R e c e i v e P a c k e t S i z e   - e q   $ n u l l )   {                 W r i t e - H o s t   " [ + ]   T c p R e c e i v e P a c k e t S i z e   s i z e   i s   n o t   e x i s t i n g ,   t h i s   i s   e q u a l   t h e   m a x i m u m   v a l u e . "                 W r i t e - H o s t   " [ + ]   Y o u ' r e   n o t   v u l n e r a b l e . "   - F o r e g r o u n d C o l o r   G r e e n                 b r e a k                   }         E l s e   {                 W r i t e - H o s t   " [ * ]   W o r k a r o u n d   i s   n o t   a p p l i e d .   P l e a s e   a p p l y   w o r k a r o u n d   ( D N S   S e r v i c e   i s   b e i n g   r e s t a r t e d ! )   o r   i n s t a l l   t h e   S e c u r i t y   U p d a t e . "
                W r i t e - H o s t   " [ - ]   Y o u ' r e   v u l n e r a b l e . "   - f   y e l l o w         } }   #   E n d   f u n c t i o n   C h e c k R e g D N S f u n c t i o n   S e t D N S R e g W o r k a r o u n d   {         W r i t e - H o s t   " [ * ]   S e t t i n g   t h e   w o r k a r o u n d   i n   t h e   r e g i s t r y . . . "         $ r e g   =   " H K L M : S Y S T E M C u r r e n t C o n t r o l S e t S e r v i c e s D N S P a r a m e t e r s "         $ v a l u e   =   " 0 x F F 0 0 "         t r y   {                 S e t - I t e m P r o p e r t y   - P a t h   $ r e g   - n a m e   T c p R e c e i v e P a c k e t S i z e   - T y p e   D W O R D   - v a l u e   $ v a l u e   - F o r c e                 W r i t e - H o s t   " [ + ]   S e t t i n g   t h e   w o r k a r o u n d   i n   t h e   r e g i s t r y . . . D o n e "         }         C a t c h   {                 $ e r r   =   $ _ . E x c e p t i o n . M e s s a g e                 W r i t e - E r r o r   $ e r r         }         #   R e s t a r t i n g   D N S   S e r v i c e         W r i t e - H o s t   " [ * ]   R e s t a r t i n g   W i n d o w s   D N S   S e r v i c e . . . "         t r y   {                 r e s t a r t - s e r v i c e   D N S                 W r i t e - H o s t   " [ + ]   D N S   S e r v i c e   i s   r e s t a r t e d "         }         C a t c h   {                 $ e r r   =   $ _ . E x c e p t i o n . M e s s a g e                 W r i t e - E r r o r   $ e r r         }         C h e c k R e g D N S }   #   E n d   S e t D N S R e g W o r k a r o u n d C h e c k F o r D N S S e r v e r C h e c k I f U p d a t e I s I n s t a l l e d D o   {         G e t - M e n u         $ H u m a n I n p u t   =   R e a d - H o s t   " P l e a s e   m a k e   a   s e l e c t i o n "         s w i t c h   ( $ H u m a n I n p u t )   {                 ' 1 '   {                         W r i t e - H o s t   ' Y o u   c h o s e   o p t i o n   # 1 '                         C h e c k R e g D N S                 }   ' 2 '   {                         W r i t e - H o s t   ' Y o u   c h o s e   o p t i o n   # 2 '                         S e t D N S R e g W o r k a r o u n d                 }   ' Q '   {                         r e t u r n                 }         }         p a u s e } u n t i l   ( $ H u m a n I n p u t   - e q   ' q ' )
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则