[29140] 2021-09-01_【漏洞预警】CVE-2021-34486:Windows事件跟踪(ETW)TimerCallbackContex

文档创建者:s7ckTeam
浏览次数:5
最后更新:2025-01-19
2021-09-01_【漏洞预警】CVE-2021-34486:Windows事件跟踪(ETW)TimerCallbackContex C V E - 2 0 2 1 - 3 4 4 8 6 W i n d o w s     ( E T W ) T i m e r C a l l b a c k C o n t e x O t s   2 0 2 1 - 0 9 - 0 1 O t s W i n d o w s     ( E T W )     E T W   W i n d o w s   A P I   使   ( n t o s k r n l . e x e )   E T W u s e - a f t e r - f r e e 0 x 3 0 P O C     K B 5 0 0 4 9 4 5   2 0 2 1     7     7     W i n d o w s   1 0   ( x 6 4 )   2 1 H 1   1 9 0 4 3 . 1 0 8 3   K B 5 0 0 3 6 3 7   2 0 2 1     6     W i n d o w s   1 0   ( x 6 4 )   2 1 H 1   1 9 0 4 3 . 1 0 5 2   K B 5 0 0 3 2 1 4   2 0 2 1     5     W i n d o w s   1 0   ( x 6 4 )   2 1 H 1   1 9 0 4 3 . 1 0 2 3   K B 5 0 0 3 1 7 3   2 0 2 1     5     W i n d o w s   1 0   ( x 6 4 )   2 1 H 1   1 9 0 4 3 . 9 8 5   n t o s k r n l . e x e   1 0 . 0 . 1 9 0 4 1 . 8 6 7 W i n d o w s   1 0   2 0 H 2     2 0 2 1     3   N t T r a c e C o n t r o l ( )   0 x 2 5     3   使 n t o s k r n l   P V O I D   L o g g e r C o n t e x t L o g g e r I d   2 .   G u i d s [ ]   t h i s   访 L o g g e r C o n t e x t P e r i o d i c C a p t u r e S t a t e T i m e r C a l l b a c k ( ) C O N T E X T I N F O   T i m e r C o n t e x t I n f o E t w U   0 x 3 0   t y p e d e f   s t r u c t   _ E T W _ U P D A T E _ P E R I O D I C _ C A P T U R E _ S T A T E { U L O N G       L o g g e r I d ; U L O N G       D u e T i m e ;     / / s y s t e m   t i m e   u n i t s   ( 1 0 0 - n a n o s e c o n d   i n t e r v a l s ) U L O N G       N u m O f G u i d s ; G U I D       G u i d s [ A N Y S I Z E _ A R R A Y ] ; }   E T W _ U P D A T E _ P E R I O D I C _ C A P T U R E _ S T A T E ,   *   P E T W _ U P D A T E _ P E R I O D I C _ C A P T U R E _ S T A T E ;                                                                 E T W _ U P D A T E _ P E R I O D I C _ C A P T U R E _ S T A T E   I n B u f f 1   =   {   2 ,   0 ,   1 ,   { G U I D ( {   0 x F 5 2 6 A D 2 F ,   0 x 5 7 F 9 ,   0 x 5 3 3 6 ,   { 0 x 9 6 ,   0 x 3 7 ,   0 x 5 C ,   0 x 2 E ,   0 x 5 4 ,   0 x F 8 ,   0 x 7 E ,   0 x 9 C }   } ) }   } ;       t y p e d e f   s t r u c t   _ C O N T E X T I N F O         {                 W O R K _ Q U E U E _ I T E M       W o r k I t e m ;                 U L O N G 6 4             U n k n o w n ;                 U S H O R T             L o g g e r I d ;                 U C H A R             P a d d i n g [ 6 ] ;         }   C O N T E X T I N F O ,   * P C O N T E X T I N F O ;         _ _ i n t 6 4   _ _ f a s t c a l l   E t w p U p d a t e P e r i o d i c C a p t u r e S t a t e ( u n s i g n e d   i n t   L o g g e r I d ,   u n s i g n e d   i n t   D u e T i m e ,   u n s i g n e d   _ _ i n t 1 6   N u m O f G u i d s ,   G U I D   * G u i d s )
P e r i o d i c C a p t u r e S t a t e T i m e r C a l l b a c k ( ) S e n d C a p t u r e S t a t e N o t i f i c a t i o n s W o r k e r ( P C O N T E X T I N F O   T i m e r C o n t e n t I n f o )   S e n d C a p t u r e S t a t e N o t i f i c a t i o n s W o r k e r ( ) G u i d s [ ] . G u i d s [ ] L o g g e r C o n t e x t   访 L o g g e r C o n t e x t - > N u m O f G u i d s   0         {                       . . . / / i f   t h e r e   i s   n o   s a v e d   t i m e r   o b j e c t   r e f e r e n c e ,   t h e n   a l l o c a t e   a   n e w   i n s t a n c e . . . i f   (   ! L o g g e r C o n t e x t _ - > E x T i m e r O b j e c t   )                 {                 T i m e r C o n t e x t I n f o   =   ( C O N T E X T I N F O   * ) E x A l l o c a t e P o o l W i t h T a g ( N o n P a g e d P o o l N x ,   0 x 3 0 u i 6 4 ,   ' U w t E ' ) ; / / a l l o c a t e   C O N T E X T I N F O   o b j e c t                 T i m e r C o n t e x t I n f o _   =   T i m e r C o n t e x t I n f o ; i f   (   ! T i m e r C o n t e x t I n f o   ) g o t o   R E T U R N _ E R R O R _ C 0 0 0 0 0 1 7 ;                 T i m e r C o n t e x t I n f o - > L o g g e r I d   =   L o g g e r I d ; / / I n B u f f 1 . L o g g e r I d                 T i m e r C o n t e x t I n f o - > U n k n o w n   =   v 2 2 ;                 T i m e r C o n t e x t I n f o - > W o r k I t e m . W o r k e r R o u t i n e   =   S e n d C a p t u r e S t a t e N o t i f i c a t i o n s W o r k e r ; / / p o i n t e r   o f   w o r k e r   f u n c t i o n                 T i m e r C o n t e x t I n f o - > W o r k I t e m . P a r a m e t e r   =   T i m e r C o n t e x t I n f o ; / / i n p u t   p a r a m e t e r   f o r   w o r k e r   f u n c t i o n                 T i m e r C o n t e x t I n f o - > W o r k I t e m . L i s t . F l i n k   =   0 i 6 4 ;                 L o g g e r C o n t e x t _ - > E x T i m e r O b j e c t   =   E x A l l o c a t e T i m e r ( ( P E X T _ C A L L B A C K ) P e r i o d i c C a p t u r e S t a t e T i m e r C a l l b a c k ,   T i m e r C o n t e x t I n f o ,   8 u ) ; / / s a v e   t i m e r   r e f                 }                 E x T i m e r O b j e c t   =   ( P E X _ T I M E R ) L o g g e r C o n t e x t _ - > E x T i m e r O b j e c t ;                 L o g g e r C o n t e x t _ - > D u e T i m e   =   0 x F F F F F F F F F F 6 7 6 9 8 0 u i 6 4   *   D u e T i m e ;                 E x S e t T i m e r ( ( U L O N G _ P T R ) E x T i m e r O b j e c t ) ; / / D u e T i m e   =   I n B u f f 1 . D u e T i m e   *   F F F F F F F F F F 6 7 6 9 8 0 h                 L O D W O R D ( L o g g e r C o n t e x t _ - > E x T i m e r S t a t e )   =   1 ; g o t o   R E T U R N _ 1 ;                 . . .         R E T U R N _ 1 : i f   (   ( _ I n t e r l o c k e d E x c h a n g e A d d 6 4 ( p L o c k ,   0 x F F F F F F F F F F F F F F F F u i 6 4 )   &   6 )   = =   2   )                         E x f T r y T o W a k e P u s h L o c k ( p L o c k ) ;                 K e A b P o s t R e l e a s e ( ( U L O N G _ P T R ) p L o c k ) ;         R E T U R N _ 2 :                 E t w p R e l e a s e L o g g e r C o n t e x t ( L o g g e r C o n t e x t _ ,   0 i 6 4 ) ; r e t u r n   ( u n s i g n e d   i n t ) r e s _ E t w p C h e c k N o t i f i c a t i o n A c c e s s ;                         }                                                   E T W _ U P D A T E _ P E R I O D I C _ C A P T U R E _ S T A T E   I n B u f f 2   =   {   2 ,   0 ,   1 ,   { G U I D ( {   0 x 6 0 D 2 0 1 F 4 ,   0 x 7 4 1 E ,   0 x 4 7 9 2 ,   { 0 x B 5 ,   0 x B 3 ,   0 x 6 7 ,   0 x 3 F ,   0 x C 6 ,   0 x C 2 ,   0 x 5 B ,   0 x 3 B }   } ) }   } ;         _ _ i n t 6 4   _ _ f a s t c a l l   E t w p U p d a t e P e r i o d i c C a p t u r e S t a t e ( u n s i g n e d   i n t   L o g g e r I d ,   u n s i g n e d   i n t   D u e T i m e ,   u n s i g n e d   _ _ i n t 1 6   N u m O f G u i d s ,   G U I D   * G u i d s ) {                       . . .                 {                 . . .         F R E E _ P O O L S _ A N D _ R E S E T :                                 G u i d s P o o l   =   ( v o i d   * ) L o g g e r C o n t e x t _ - > G u i d s P o o l ; i f   (   G u i d s P o o l   )                 {                         E x F r e e P o o l W i t h T a g ( G u i d s P o o l ,   0 ) ;                         L o g g e r C o n t e x t - > G u i d s P o o l   =   0 i 6 4 ;
D u e T i m e S e n d C a p t u r e S t a t e N o t i f i c a t i o n s W o r k e r ( ) L o g g e r C o n t e x t .   L o g g e r C o n t e x t - > N u m O f G u i d s P C O N T E X T I N F O   T i m e r C o n t e x t I n f o                         L o g g e r C o n t e x t - > G u i d s P o o l   =   0 i 6 4 ;                         L O W O R D ( L o g g e r C o n t e x t - > N u m O f G u i d s )   =   0 ;                 }                 . . .                 } i f   (   ( _ D W O R D ) N u m O f G u i d s _   )                 { w h i l e   (   1   ) / / l o o p   t o   e n s u r e   a l l   G u i d s [ ]   h a v e   n o t i f i c a t i o n - a c c e s s   r i g h t s                 {                         r e s _ E t w p C h e c k N o t i f i c a t i o n A c c e s s   =   E t w p C h e c k N o t i f i c a t i o n A c c e s s (                                                                                                 & G u i d s [ v 4 ] . D a t a 1 ,                                                                                                 ( _ _ i n t 6 4 ) & L o g g e r C o n t e x t _ - > f i e l d _ 0 [ 0 x 1 2 4 ] ) ; i f   (   r e s _ E t w p C h e c k N o t i f i c a t i o n A c c e s s   <   0   ) b r e a k ; i f   (   + + v 4   > =   ( i n t ) N u m O f G u i d s _   ) g o t o   A L L _ G U I D S _ H A V E _ N O T I F I C A T I O N _ A C C E S S _ O K ;                 }                 r e s _ E t w p C h e c k N o t i f i c a t i o n A c c e s s   =   0 x C 0 0 0 0 0 2 2 ;                 v 8   =   0 ; g o t o   F R E E _ P O O L S _ A N D _ R E S E T ;                 }         A L L _ G U I D S _ H A V E _ N O T I F I C A T I O N _ A C C E S S _ O K :                 . . .         }         v o i d   _ _ f a s t c a l l   S e n d C a p t u r e S t a t e N o t i f i c a t i o n s W o r k e r ( C O N T E X T I N F O   * T i m e r C o n t e x t I n f o )         {         . . . i f   (   T i m e r C o n t e x t I n f o   )         {                 L o g g e r C o n t e x t   =   ( L O G G E R C O N T E X T   * ) E t w p A c q u i r e L o g g e r C o n t e x t B y L o g g e r I d (                                                                                 T i m e r C o n t e x t I n f o - > U n k n o w n ,                                                                                 L O W O R D ( T i m e r C o n t e x t I n f o - > L o g g e r I d ) , 0 ) ; i f   (   L o g g e r C o n t e x t   )                 {                 p L o c k   =   & L o g g e r C o n t e x t - > L o c k ;                 E x A c q u i r e P u s h L o c k E x c l u s i v e E x ( ( U L O N G _ P T R ) & L o g g e r C o n t e x t - > L o c k ,   0 i 6 4 ) ;                 L O D W O R D ( L o g g e r C o n t e x t _ _ - > E x T i m e r S t a t e )   =   0 ; i f   (   * ( _ D W O R D   * ) & L o g g e r C o n t e x t _ _ - > f i e l d _ 0 [ 3 3 6 ]   )                 { / / t h i s   b r a n c h   i s   t h e   m a i n   f u n c t i o n a l i t y   o f   S e n d C a p t u r e S t a t e N o t i f i c a t i o n s W o r k e r ( )   w o r k e r   r o u t i n e . . .                         N u m O f G u i d s   =   L O W O R D ( L o g g e r C o n t e x t _ _ - > N u m O f G u i d s ) ; i f   (   ( _ W O R D ) N u m O f G u i d s   ) / / . . . w h i c h   w i l l   b e   e x e c u t e d   w h e n   L o g g e r C o n t e x t - > N u m O f G u i d s   >   0                         {                         . . . i f   (   ( i n t ) E t w p B u i l d N o t i f i c a t i o n P a c k e t ( v 1 0 ,   v 2 3 ,   v 1 5 ,   & v 1 9 )   > =   0   )                                                                 {                                                                         E t w p S e n d D a t a B l o c k ( v 1 2 ,   v 1 9 ) ;                                                                         E t w p U n r e f e r e n c e D a t a B l o c k ( v 1 9 ) ;
n t o s k r n l     L o g g e r C o n t e x t _ - > E x T i m e r C O N T E X T I N F O   T i m e r C o n t e x t I n f o E x S e t T i m e r ( )   E x Q u e u e W o r k I t e m ( )   B S O D     E 4   ( W O R K E R _ I N V A L I D ) S e n d C a p t u r e S t a t e N o t i f i c a t i o n s W o r k e r ( )     B S O D     1 3 A   ( K E R N E L _ M O D E _ H E A P _ C O R R U P T I O N )   B S O D     5 0   ( P A G E _ F A U L T _ I N _ N O N P A G E D _ A R E A ) L o g g e r I d   3     2     0 x 3 0     0 x 3 0     0 x 3 0     N t   S E _ D E B U G _ P R I V I L E G E   1   R t l S e t A l l B i t s ( ) t o   R T L _ B I T M A P   B i t M a p H e a d e r 线 R T L _ B I T M A P   B i t M a p H e a d e r 访   ( S M A P )   线 使 N t Q u e r y S y s t e m I n f o r m a t i o n ( S y s t e m B i g P o o l I n f o r m a t i o n ) [ 1 ] 广 使 N t Q u e r y S y s t e m I n f o r m a t i o n ( S y s t e m M o d u l e I n f o r m a t i o n ) N t Q u e r y S y s t e m I n f o r m a t i o n ( S y s t e m H a n d l e I n f o r m a t i o n ) 1 .     n t o s k r n l . e x e     N t Q u e r y S y s t e m I n f o r m a t i o n ( S y s t e m M o d u l e I n f o r m a t i o n )                                                                 }                                 . . . i f   (   L O W O R D ( L o g g e r C o n t e x t _ _ - > N u m O f G u i d s )   & &   ! L O D W O R D ( L o g g e r C o n t e x t _ _ - > E x T i m e r S t a t e )   )                                 {                                 E x S e t T i m e r ( L o g g e r C o n t e x t _ _ - > E x T i m e r ) ;                                 L O D W O R D ( L o g g e r C o n t e x t _ _ - > E x T i m e r S t a t e )   =   1 ;                                 v 2   =   1 ;                                 }                                                         . . .                         . . .                         }         / /   e n d   o f   " N u m O f G u i d s "   c o n d i t i o n                 }         / /   e n d   o f   " L o g g e r C o n t e x t _ _ - > f i e l d _ 0 [ 3 3 6 ] "   c o n d i t i o n i f   (   ( _ I n t e r l o c k e d E x c h a n g e A d d 6 4 ( p L o c k ,   0 x F F F F F F F F F F F F F F F F u i 6 4 )   &   6 )   = =   2   )                         E x f T r y T o W a k e P u s h L o c k ( p L o c k ) ;                 K e A b P o s t R e l e a s e ( ( U L O N G _ P T R ) p L o c k ) ;                 E t w p R e l e a s e L o g g e r C o n t e x t ( L o g g e r C o n t e x t _ _ ,   0 i 6 4 ) ; i f   (   v 2   ) / / v 2   i s   s e t   w h e n   m a i n   f u n c t i o n a l i t y   i s   e x e c u t e d ,   a n d   h e n c e   T i m e r C o n t e x t I n f o   p o o l   i s   s t i l l   i n - u s e d . . . r e t u r n ; g o t o   L A B E L _ 3 1 ; / / . . . o t h e r w i s e ,   T i m e r C o n t e x t I n f o   p o o l   i s   f r e e d                 }         }         L A B E L _ 3 1 :         E x F r e e P o o l W i t h T a g ( T i m e r C o n t e x t I n f o ,   0 ) ;         } E T W _ U P D A T E _ P E R I O D I C _ C A P T U R E _ S T A T E   I n B u f f 3   =   {   2 ,   0 ,   1 ,   { G U I D ( {   0 x F 5 2 6 A D 2 F ,   0 x 5 7 F 9 ,   0 x 5 3 3 6 ,   { 0 x 9 6 ,   0 x 3 7 ,   0 x 5 C ,   0 x 2 E ,   0 x 5 4 ,   0 x F 8 ,   0 x 7 E ,   0 x 9 C }   } ) }   } ;
2 .   R t l S e t A l l b i t s ( ) n t o s k r n l . e x e   3 .     N t Q u e r y S y s t e m I n f o r m a t i o n ( S y s t e m H a n d l e I n f o r m a t i o n ) 4 .   R T L _ B I T M A P   F a k e B i t M a p H e a d e r 线 N t Q u e r y S y s t e m I n f o r m a t i o n ( S y s t e m B i g P o o l I n f o r m a t i o n ) 5 .   C O N T E X T I N F O   F a k e C o n t e x t I n f o F a k e C o n t e x t I n f o - > W o r k I t e m . L i s t . F l i n k =   0 W o r k I t e m F a k e C o n t e x t I n f o - > W o r k I t e m . W o r k e r R o u t i n e = n t o s k r n l   + R t l S e t A l l B i t s ( ) F a k e C o n t e x t I n f o - > W o r k I t e m . P a r a m e t e r   =   R T L _ B I T M A P   F a k e B i t M a p H e a d e r 6 . N t T r a c e C o n t r o l ( 0 x 2 5 ) C O N T E X T I N F O   C o n t e x t I n f o 7 . N t T r a c e C o n t r o l ( 0 x 2 5 ) C O N T E X T I N F O   C o n t e x t I n f o 8 .   F a k e C o n t e x t I n f o 9 . N t T r a c e C o n t r o l ( 0 x 2 5 ) 使   F a k e C o n t e x t I n f o   S E _ D E B U G _ P R I V I L E G E 1 0 . s h e l l c o d e w i n l o g o n . e x e S Y S T E M c m d . e x e
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则