[16863] 2021-06-03_浅谈TheHive平台在安全运营工作中的落地

文档创建者:s7ckTeam
浏览次数:2
最后更新:2025-01-18
2021-06-03_浅谈TheHive平台在安全运营工作中的落地 T h e H i v e S h e l l .   F r e e B u f   2 0 2 1 - 0 6 - 0 3 H a p p y P l a y b o o k M T T D M T T R P l a y b o o k 使   -   T h e H i v e T h e H i v e T h e H i v e S I E M * T h e H i v e T h e H i v e C a s e T h e H i v e C a s e T a s k M T T D M T T R T h e H i v e C o r t e x I o C S I E M W A F F W E D R P l a y b o o k P l a y b o o k T h e H i v e T a s k P l a y b o o k T h e H i v e T h e H i v e T h e H i v e S t e p - b y - S t e p   g u i d e D o c k e r V M T h e H i v e T h e H i v e C o r t e x C a s s a n d r a M i n i o T h e h i v e 1 / e t c / t h e h i v e / a p p l i c a t i o n . c o n f a k k a : # #   A k k a   s e r v e r a k k a   {     c l u s t e r . e n a b l e   =   o n     a c t o r   {         p r o v i d e r   =   c l u s t e r     }     r e m o t e . a r t e r y   {         c a n o n i c a l   {             h o s t n a m e   =   " < M y   I P   a d d r e s s > "             p o r t   =   2 5 5 1         }     }     #   s e e d   n o d e   l i s t   c o n t a i n s   a t   l e a s t   o n e   a c t i v e   n o d e     c l u s t e r . s e e d - n o d e s   =   [         " a k k a : / / a p p l i c a t i o n @ < N o d e   1   I P   a d d r e s s > : 2 5 5 1 " ,         " a k k a : / / a p p l i c a t i o n @ < N o d e   2   I P   a d d r e s s > : 2 5 5 1 " ,         " a k k a : / / a p p l i c a t i o n @ < N o d e   3   I P   a d d r e s s > : 2 5 5 1 "     ] }
  -   C a s s a n d r a 使 使 / e t c / c a s s a n d r a / c a s s a n d r a . y a m l / e t c / c a s s a n d r a / c a s s a n d r a - t o p o l o g y . p r o p e r t i e s c a s s a n d r a / c a s s a n d r a t h e h i v e K E Y S P A C E t h e h i v e t h e h i v e T h e H i v e T h e H i v e E l a s t i c S e a r c h / e t c / t h e h i v e / a p p l i c a t i o n . c o n f c l u s t e r _ n a m e :   ' t h p ' n u m _ t o k e n s :   2 5 6 a u t h e n t i c a t o r :   P a s s w o r d A u t h e n t i c a t o r a u t h o r i z e r :   C a s s a n d r a A u t h o r i z e r r o l e _ m a n a g e r :   C a s s a n d r a R o l e M a n a g e r d a t a _ f i l e _ d i r e c t o r i e s :         -   / v a r / l i b / c a s s a n d r a / d a t a c o m m i t l o g _ d i r e c t o r y :   / v a r / l i b / c a s s a n d r a / c o m m i t l o g s a v e d _ c a c h e s _ d i r e c t o r y :   / v a r / l i b / c a s s a n d r a / s a v e d _ c a c h e s s e e d _ p r o v i d e r :         -   c l a s s _ n a m e :   o r g . a p a c h e . c a s s a n d r a . l o c a t o r . S i m p l e S e e d P r o v i d e r             p a r a m e t e r s :                 -   s e e d s :   " < i p   n o d e   1 > ,   < i p   n o d e   2 > ,   < i p   n o d e   3 > " l i s t e n _ i n t e r f a c e   :   e n s 1 6 0         #   r p c _ i n t e r f a c e :   e n s 1 6 0         #   e n d p o i n t _ s n i t c h :   S i m p l e S n i t c h $   s e r v i c e   c a s s a n d r a   s t a r t $   n o d e t o o l   s t a t u s D a t a c e n t e r :   d a t a c e n t e r 1 = = = = = = = = = = = = = = = = = = = = = = = S t a t u s = U p / D o w n | /   S t a t e = N o r m a l / L e a v i n g / J o i n i n g / M o v i n g - -     A d d r e s s                   L o a d               T o k e n s               O w n s   ( e f f e c t i v e )     H o s t   I D                                                               R a c k U N     1 9 2 . 1 6 8 . 1 9 9 . 3 5     4 4 9 . 3 3   K i B     2 5 6                     1 0 0 . 0 %                         7 2 e 9 5 d b 1 - 9 c 3 7 - 4 a 5 3 - 9 3 1 2 - 7 6 b d 0 b 2 e 6 c a 7     r a c k 1 U N     1 9 2 . 1 6 8 . 1 9 9 . 3 6     6 3 1 . 6 5   K i B     2 5 6                     1 0 0 . 0 %                         4 0 5 1 f 9 d 4 - 9 1 d e - 4 3 e 5 - 9 a 4 a - c 3 d a 4 6 4 1 7 8 3 0     r a c k 1 U N     1 9 2 . 1 6 8 . 1 9 9 . 3 7     4 3 7 . 1 3   K i B     2 5 6                     1 0 0 . 0 %                         8 8 4 4 6 2 6 f - 0 4 c 0 - 4 d d 3 - 8 5 5 e - 0 8 8 9 3 5 b 8 d c 6 5     r a c k 1 $   c q l s h   t h 0 1   - u   c a s s a n d r a c a s s a n d r a @ c q l s h >   A L T E R   U S E R   c a s s a n d r a   W I T H   P A S S W O R D   ' H e l l o W o r l d ' ; c a s s a n d r a @ c q l s h >   q u i t ; $   c q l s h   < i p   n o d e   X >   - u   c a s s a n d r a c a s s a n d r a @ c q l s h >   A L T E R   K E Y S P A C E   s y s t e m _ a u t h   W I T H   r e p l i c a t i o n   =   { ' c l a s s ' :   ' S i m p l e S t r a t e g y ' ,   ' r e p l i c a t i o n _ f a c t o r ' :   3   } ; c a s s a n d r a @ c q l s h >   C R E A T E   K E Y S P A C E   t h e h i v e   W I T H   r e p l i c a t i o n   =   { ' c l a s s ' :   ' S i m p l e S t r a t e g y ' ,   ' r e p l i c a t i o n _ f a c t o r ' :   ' 3 '   }   A N D   d u r a b l e _ w r i t e s   =   ' t r u e ' ; c a s s a n d r a @ c q l s h >   C R E A T E   R O L E   t h e h i v e   W I T H   L O G I N   =   t r u e   A N D   P A S S W O R D   =   ' H e l l o W o r l d ' ; c a s s a n d r a @ c q l s h >   G R A N T   A L L   P E R M I S S I O N S   O N   K E Y S P A C E   t h e h i v e   T O   ' t h e h i v e ' ; d b . j a n u s g r a p h   {     s t o r a g e   {
  -   M i n i o M i n i o 使 S 3 2 / o p t / m i n i o / e t c / m i n i o . c o n f / u s r / l i b / s y s t e m d / s y s t e m / m i n i o . s e r v i c e     s t o r a g e   {         # #   C a s s a n d r a   c o n f i g u r a t i o n         b a c k e n d :   c q l         h o s t n a m e :   [ " < i p   n o d e   1 > " ,   " < i p   n o d e   2 > " ,   " < i p   n o d e   3 > " ]         u s e r n a m e :   " c a s s a n d r a "         p a s s w o r d :   " H e l l o W o r l d "         c q l   {             c l u s t e r - n a m e :   t h p             k e y s p a c e :   t h e h i v e         }     }     # #   I n d e x   c o n f i g u r a t i o n     i n d e x . s e a r c h   {         b a c k e n d :   e l a s t i c s e a r c h         h o s t n a m e :   [ " < e s   n o d e   1 > " ,   " e s   n o d e   2 " ,   " e s   n o d e   3 " ]         i n d e x - n a m e :   t h e h i v e         #   a u t h         e l a s t i c s e a r c h . h t t p . a u t h . t y p e = b a s i c         e l a s t i c s e a r c h . h t t p . a u t h . b a s i c . u s e r n a m e = e l a s t i c         e l a s t i c s e a r c h . h t t p . a u t h . b a s i c . p a s s w o r d = H e l l o W o r l d         #   s s l         e l a s t i c s e a r c h . s s l . e n a b l e d = t r u e         e l a s t i c s e a r c h . s s l . t r u s t s t o r e . l o c a t i o n = / e t c / t h e h i v e / t r u s t s t o r e . j k s         e l a s t i c s e a r c h . s s l . t r u s t s t o r e . p a s s w o r d = H e l l o W o r l d     } } $   m k d i r   / o p t / m i n i o $   a d d u s e r   m i n i o $   m k d i r   - p   / s r v / m i n i o / { 1 , 2 } $   c h o w n   - R   m i n i o : m i n i o   / s r v / m i n i o $   v i m   / e t c / h o s t s 1 9 2 . 1 6 8 . 1 9 9 . 3 5     m i n i o 1 1 9 2 . 1 6 8 . 1 9 9 . 3 6     m i n i o 2 1 9 2 . 1 6 8 . 1 9 9 . 3 7     m i n i o 3 $   c d   / o p t / m i n i o $   m k d i r   / o p t / m i n i o / { b i n , e t c } $   w g e t   - O   / o p t / m i n i o / b i n / m i n i o   h t t p s : / / d l . m i n i o . i o / s e r v e r / m i n i o / r e l e a s e / l i n u x - a m d 6 4 / m i n i o $   c h o w n   - R   m i n i o : m i n i o   / o p t / m i n i o M I N I O _ O P T S = " s e r v e r   - - a d d r e s s   : 9 1 0 0   h t t p : / / m i n i o { 1 . . . 3 } / s r v / m i n i o / { 1 . . . 2 } " M I N I O _ A C C E S S _ K E Y = " a d m i n " M I N I O _ S E C R E T _ K E Y = " H e l l o W o r l d " [ U n i t ] D e s c r i p t i o n = m i n i o D o c u m e n t a t i o n = h t t p s : / / d o c s . m i n . i o W a n t s = n e t w o r k - o n l i n e . t a r g e t
M i n i o b u c k e t T h e H i v e / e t c / t h e h i v e / a p p l i c a t i o n . c o n f   -   C o r t e x   C o r t e x / e t c / c o r t e x / a p p l i c a t i o n . c o n f E l a s t i c u s e r n a m e u s e r A f t e r = n e t w o r k - o n l i n e . t a r g e t A s s e r t F i l e I s E x e c u t a b l e = / o p t / m i n i o / b i n / m i n i o [ S e r v i c e ] W o r k i n g D i r e c t o r y = / o p t / m i n i o U s e r = m i n i o G r o u p = m i n i o E n v i r o n m e n t F i l e = / o p t / m i n i o / e t c / m i n i o . c o n f E x e c S t a r t = / o p t / m i n i o / b i n / m i n i o   $ M I N I O _ O P T S R e s t a r t = a l w a y s L i m i t N O F I L E = 6 5 5 3 6 T i m e o u t S t o p S e c = 0 S e n d S I G K I L L = n o [ I n s t a l l ] W a n t e d B y = m u l t i - u s e r . t a r g e t $   s y s t e m c t l   d a e m o n - r e l o a d $   s y s t e m c t l   e n a b l e   m i n i o $   s y s t e m c t l   s t a r t   m i n i o . s e r v i c e # #   A t t a c h m e n t   s t o r a g e   c o n f i g u r a t i o n s t o r a g e   {     p r o v i d e r :   s 3     s 3   {         b u c k e t   =   " t h e h i v e "         r e a d T i m e o u t   =   1   m i n u t e         w r i t e T i m e o u t   =   1   m i n u t e         c h u n k S i z e   =   1   M B         e n d p o i n t   =   " h t t p : / / m i n i o 1 : 9 1 0 0 "         a c c e s s K e y   =   " a d m i n "         s e c r e t K e y   =   " H e l l o W o r l d "         r e g i o n   =   " u s - e a s t - 1 "     } } a l p a k k a . s 3 . p a t h - s t y l e - a c c e s s   =   f o r c e p l a y . h t t p . s e c r e t . k e y = " Q Z U m 2 U g Z Y X F 6 a x C " s e a r c h   {
A n a l y z e r s   a n d   R e s p o n d e r s C o r t e x 3 d o c k e r i z e d P y t h o n a .   D o c k e r b .   C o r t e x D o c k e r c .   / e t c / c o r t e x / a p p l i c a t i o n . c o n f a n a l y z e r s . j s o n C o r t e x A n a l y z e r s R e s p o n s e s 便 使 H o w   t o   W r i t e   a n d   S u b m i t   a n   A n a l y z e r A n a l y z e r s   -   T h e H i v e t h r e a t b o o k . p y     i n d e x   =   c o r t e x     u r i   =   " h t t p s : / / e l a s t i c s e a r c h 0 1 : 9 2 0 0 , e l a s t i c s e a r c h 0 2 : 9 2 0 0 , e l a s t i c s e a r c h 0 3 : 9 2 0 0 "     u s e r   =   " e l a s t i c "         #   u s e r n a m e u s e r     p a s s w o r d   =   " H e l l o W o r l d "     k e y S t o r e   {         p a t h   =   " / e t c / c o r t e x / t r u s t s t o r e . j k s "         p a s s w o r d   =   " H e l l o W o r l d "     }     t r u s t S t o r e   {         p a t h   =   " / e t c / c o r t e x / t r u s t s t o r e . j k s "         p a s s w o r d   =   " H e l l o W o r l d "     } } # #   U b u n t u   1 8 . 0 4 $   w g e t   - O -   h t t p s : / / d o w n l o a d . d o c k e r . c o m / l i n u x / u b u n t u / g p g   |   s u d o   a p t - k e y   a d d   - $   a d d - a p t - r e p o s i t o r y   " d e b   [ a r c h = a m d 6 4 ]   h t t p s : / / d o w n l o a d . d o c k e r . c o m / l i n u x / u b u n t u   b i o n i c   s t a b l e " $   s u d o   a p t - g e t   u p d a t e   $   s u d o   a p t - g e t   i n s t a l l   d o c k e r - c e $   u s e r m o d   - a   - G   d o c k e r   c o r t e x # #   A N A L Y Z E R S # a n a l y z e r   {     u r l s   =   [         " h t t p s : / / d o w n l o a d . t h e h i v e - p r o j e c t . o r g / a n a l y z e r s . j s o n "         #           " / e t c / c o r t e x / C o r t e x - A n a l y z e r s / a n a l y z e r s "     ] } # #   R E S P O N D E R S # r e s p o n d e r   {     u r l s   =   [         " h t t p s : / / d o w n l o a d . t h e h i v e - p r o j e c t . o r g / r e s p o n d e r s . j s o n "   #           " / e t c / c o r t e x / C o r t e x - A n a l y z e r s / r e s p o n d e r s "     ] } # ! / u s r / b i n / e n v   p y t h o n 3 #   e n c o d i n g :   u t f - 8 i m p o r t   r e q u e s t s c l a s s   T h r e a t B o o k E r r o r ( E x c e p t i o n ) :         d e f   _ _ i n i t _ _ ( s e l f ,   m e s s a g e ) :
        d e f   _ _ i n i t _ _ ( s e l f ,   m e s s a g e ) :                 E x c e p t i o n . _ _ i n i t _ _ ( s e l f ,   m e s s a g e )                 s e l f . m e s s a g e   =   m e s s a g e c l a s s   T h r e a t B o o k ( ) :         " " "         T h r e a t   i n t e l l i g e n c e :   T h r e a t   B o o k         h t t p s : / / x . t h r e a t b o o k . c n / n o d e v 4 / v b 4 / A P I         " " "         d e f   _ _ i n i t _ _ ( s e l f ,   k e y ) :                 s e l f . k e y   =   k e y                 s e l f . u a   =   " H a p p y H u n t i n g "                 s e l f . s e s s i o n   =   r e q u e s t s . S e s s i o n ( )                 s e l f . u r l s   =   {                         ' c o m p r o m i s e ' :   ' h t t p s : / / a p i . t h r e a t b o o k . c n / v 3 / s c e n e / d n s ' ,                         ' r e p u t a t i o n ' :   ' h t t p s : / / a p i . t h r e a t b o o k . c n / v 3 / s c e n e / i p _ r e p u t a t i o n '                 }         d e f   _ r e q u e s t ( s e l f ,   u r l ,   p a r a m s = { } ) :                 " " "                 R e q u e s t   a n   u r l                 " " "                 h e a d e r s   =   { ' U s e r - A g e n t ' :   s e l f . u a }                 r   =   s e l f . s e s s i o n . g e t (                         u r l = u r l ,                         p a r a m s = p a r a m s ,                         h e a d e r s = h e a d e r s                 )                 ' ' '                 {                         " r e s p o n s e _ c o d e " :   - 1 ,                         " v e r b o s e _ m s g " :   " I n v a l i d   A c c e s s   I P "                 }                 ' ' '                 i f   r . s t a t u s _ c o d e   ! =   2 0 0 :                         r a i s e   T h r e a t B o o k E r r o r (                                 ' I n v a l i d   H T T P   s t a t u s   c o d e   % i '   %   r . s t a t u s _ c o d e )                 i f   r . j s o n ( ) [ ' r e s p o n s e _ c o d e ' ]   ! =   0 :                         r a i s e   T h r e a t B o o k E r r o r ( r . j s o n ( ) )                 r e t u r n   r . j s o n ( )         d e f   p a r s e r _ r e s u l t s ( s e l f ,   r e s u l t s ) :                 f o r   k ,   v   i n   r e s u l t s . i t e m s ( ) :                         i n t e l   =   {                                 ' i o c ' :   k ,                                 ' m a l i c i o u s ' :   v [ ' i s _ m a l i c i o u s ' ] ,                                 ' c o n f i d e n c e ' :   v [ ' c o n f i d e n c e _ l e v e l ' ] ,                                 ' t a g s ' :   v [ ' j u d g m e n t s ' ]                         }                 r e t u r n   i n t e l         d e f   g e t _ r e p u t a t i o n ( s e l f ,   i o c ) :                 " " " G e t t i n g   r e p u t a t i o n   I P " " "                 u r l   =   s e l f . u r l s [ ' r e p u t a t i o n ' ]                 p a r a m s   =   {                         ' a p i k e y ' :   s e l f . k e y ,                         ' r e s o u r c e ' :   i o c                 }                 r e s u l t s   =   s e l f . _ r e q u e s t ( u r l = u r l ,   p a r a m s = p a r a m s )                 r e t u r n   s e l f . p a r s e r _ r e s u l t s ( r e s u l t s [ ' d a t a ' ] )         d e f   g e t _ c o m p r o m i s e ( s e l f ,   i o c ) :                 " " " G e t t i n g   c o m p r o m i s e   I o C " " "                 u r l   =   s e l f . u r l s [ ' c o m p r o m i s e ' ]                 p a r a m s   =   {                         ' a p i k e y ' :   s e l f . k e y ,
t h r e a t b o o k _ a n a l y z e r . p y                         ' a p i k e y ' :   s e l f . k e y ,                         ' r e s o u r c e ' :   i o c                 }                 r e s u l t s   =   s e l f . _ r e q u e s t ( u r l = u r l ,   p a r a m s = p a r a m s )                 r e t u r n   s e l f . p a r s e r _ r e s u l t s ( l i s t ( r e s u l t s [ ' d a t a ' ] . v a l u e s ( ) ) [ 0 ] ) i f   _ _ n a m e _ _   = =   ' _ _ m a i n _ _ ' :         k e y   =   ' < a p i _ k e y > '         t h r e a t   =   T h r e a t B o o k ( k e y )         #   r e p u t a t i o n         i o c   =   ' 8 . 8 . 8 . 8 '         r   =   t h r e a t . g e t _ r e p u t a t i o n ( i o c )         #   c o m p r o m i s e         i o c   =   ' z z v . n o - i p . i n f o '         r   =   t h r e a t . g e t _ c o m p r o m i s e ( i o c )         p r i n t ( r ) # ! / u s r / b i n / e n v   p y t h o n 3 #   e n c o d i n g :   u t f - 8 f r o m   t h r e a t b o o k   i m p o r t   T h r e a t B o o k f r o m   c o r t e x u t i l s . a n a l y z e r   i m p o r t   A n a l y z e r c l a s s   T h r e a t B o o k A n a l y z e r ( A n a l y z e r ) :         d e f   _ _ i n i t _ _ ( s e l f ) :                 A n a l y z e r . _ _ i n i t _ _ ( s e l f )                 s e l f . s e r v i c e   =   s e l f . g e t _ p a r a m (                         ' c o n f i g . s e r v i c e ' ,   N o n e ,   ' S e r v i c e   p a r a m e t e r   i s   m i s s i n g ' )                 s e l f . k e y   =   s e l f . g e t _ p a r a m (                         ' c o n f i g . k e y ' ,   N o n e ,   ' M i s s i n g   T h r e a t B o o k   A P I   k e y ' )                 s e l f . p o l l i n g _ i n t e r v a l   =   s e l f . g e t _ p a r a m ( ' c o n f i g . p o l l i n g _ i n t e r v a l ' ,   1 )                 s e l f . t h r e a t b o o k   =   T h r e a t B o o k ( s e l f . k e y )         d e f   s u m m a r y ( s e l f ,   r a w ) :                 t a x o n o m i e s   =   [ ]                 l e v e l   =   " i n f o "                 n a m e s p a c e   =   " T h r e a t B o o k "                 v a l u e   =   " F a l s e "                 i f   s e l f . s e r v i c e   = =   ' r e p u t a t i o n ' :                         p r e d i c a t e   =   ' R e p u t a t i o n '                 e l i f   s e l f . s e r v i c e   = =   ' c o m p r o m i s e ' :                         p r e d i c a t e   =   ' C o m p r o m i s e '                 i f   r a w :                         i f   r a w [ ' m a l i c i o u s ' ]   = =   T r u e :                                 l e v e l   =   " m a l i c i o u s "                                 v a l u e   =   " T r u e "                 t a x o n o m i e s . a p p e n d ( s e l f . b u i l d _ t a x o n o m y (                         l e v e l ,   n a m e s p a c e ,   p r e d i c a t e ,   v a l u e ) )                 r e t u r n   { " t a x o n o m i e s " :   t a x o n o m i e s }         d e f   r u n ( s e l f ) :                 i f   s e l f . s e r v i c e   = =   ' r e p u t a t i o n ' :                         d a t a   =   s e l f . g e t _ p a r a m ( ' d a t a ' ,   N o n e ,   ' D a t a   i s   m i s s i n g ' )                         r e s u l t s   =   s e l f . t h r e a t b o o k . g e t _ r e p u t a t i o n ( d a t a )                         s e l f . r e p o r t ( r e s u l t s )                 e l i f   s e l f . s e r v i c e   = =   ' c o m p r o m i s e ' :                         d a t a   =   s e l f . g e t _ p a r a m ( ' d a t a ' ,   N o n e ,   ' D a t a   i s   m i s s i n g ' )                         r e s u l t s   =   s e l f . t h r e a t b o o k . g e t _ c o m p r o m i s e ( d a t a )                         s e l f . r e p o r t ( r e s u l t s )                 e l s e :                         s e l f . e r r o r ( ' I n v a l i d   d a t a   t y p e ' )
T h r e a t B o o k _ C o m p r o m i s e . j s o n T h r e a t B o o k _ R e p u t a t i o n . j s o n i f   _ _ n a m e _ _   = =   ' _ _ m a i n _ _ ' :         T h r e a t B o o k A n a l y z e r ( ) . r u n ( ) {         " n a m e " :   " T h r e a t B o o k _ C o m p r o m i s e " ,         " v e r s i o n " :   " 1 . 0 " ,         " a u t h o r " :   " C a n o n " ,         " u r l " :   " h t t p s : / / g i t h u b . c o m / T h e H i v e - P r o j e c t / C o r t e x - A n a l y z e r s " ,         " l i c e n s e " :   " A G P L - V 3 " ,         " d e s c r i p t i o n " :   " G e t   t h e   c o m p r o m i s e   i n f o r m a t i o n   o f   I P D o m a i n   f r o m   T h r e a t B o o k . " ,         " d a t a T y p e L i s t " :   [                 " i p " ,                 " d o m a i n "         ] ,         " c o m m a n d " :   " T h r e a t B o o k / t h r e a t b o o k _ a n a l y z e r . p y " ,         " b a s e C o n f i g " :   " T h r e a t B o o k " ,         " c o n f i g " :   {                 " s e r v i c e " :   " c o m p r o m i s e "         } ,         " c o n f i g u r a t i o n I t e m s " :   [                 {                         " n a m e " :   " k e y " ,                         " d e s c r i p t i o n " :   " A P I   k e y   f o r   T h r e a t B o o k " ,                         " t y p e " :   " s t r i n g " ,                         " m u l t i " :   f a l s e ,                         " r e q u i r e d " :   t r u e                 } ,                 {                         " n a m e " :   " p o l l i n g _ i n t e r v a l " ,                         " d e s c r i p t i o n " :   " D e f i n e   t i m e   i n t e r v a l   b e t w e e n   t w o   r e q u e s t s   a t t e m p t s   f o r   t h e   r e p o r t " ,                         " t y p e " :   " n u m b e r " ,                         " m u l t i " :   f a l s e ,                         " r e q u i r e d " :   f a l s e ,                         " d e f a u l t V a l u e " :   6 0                 }         ] } {         " n a m e " :   " T h r e a t B o o k _ R e p u t a t i o n " ,         " v e r s i o n " :   " 1 . 0 " ,         " a u t h o r " :   " C a n o n " ,         " u r l " :   " h t t p s : / / g i t h u b . c o m / T h e H i v e - P r o j e c t / C o r t e x - A n a l y z e r s " ,         " l i c e n s e " :   " A G P L - V 3 " ,         " d e s c r i p t i o n " :   " G e t   t h e   r e p u t a t i o n   i n f o r m a t i o n   o f   I P   f r o m   T h r e a t B o o k . " ,         " d a t a T y p e L i s t " :   [                 " i p "         ] ,         " c o m m a n d " :   " T h r e a t B o o k / t h r e a t b o o k _ a n a l y z e r . p y " ,         " b a s e C o n f i g " :   " T h r e a t B o o k " ,         " c o n f i g " :   {                 " s e r v i c e " :   " r e p u t a t i o n "         } ,         " c o n f i g u r a t i o n I t e m s " :   [                 {                         " n a m e " :   " k e y " ,                         " d e s c r i p t i o n " :   " A P I   k e y   f o r   T h r e a t B o o k " ,                         " t y p e " :   " s t r i n g " ,                         " m u l t i " :   f a l s e ,                         " r e q u i r e d " :   t r u e                 } ,                 {                         " n a m e " :   " p o l l i n g _ i n t e r v a l " ,                         " d e s c r i p t i o n " :   " D e f i n e   t i m e   i n t e r v a l   b e t w e e n   t w o   r e q u e s t s   a t t e m p t s   f o r   t h e   r e p o r t " ,                         " t y p e " :   " n u m b e r " ,
访 I P P r o x y p r o x y c h e c k . p y                         " t y p e " :   " n u m b e r " ,                         " m u l t i " :   f a l s e ,                         " r e q u i r e d " :   f a l s e ,                         " d e f a u l t V a l u e " :   6 0                 }         ] } # ! / u s r / b i n / e n v   p y t h o n 3 #   e n c o d i n g :   u t f - 8 i m p o r t   r e q u e s t s c l a s s   P r o x y C h e c k E r r o r ( E x c e p t i o n ) :         d e f   _ _ i n i t _ _ ( s e l f ,   m e s s a g e ) :                 E x c e p t i o n . _ _ i n i t _ _ ( s e l f ,   m e s s a g e )                 s e l f . m e s s a g e   =   m e s s a g e c l a s s   P r o x y C h e c k ( ) :         " " "         T h r e a t   i n t e l l i g e n c e :   P r o x y C h e c k         h t t p : / / p r o x y c h e c k . i o / v 2 /         " " "         d e f   _ _ i n i t _ _ ( s e l f ,   k e y ) :                 s e l f . k e y   =   k e y                 s e l f . u a   =   " H a p p y H u n t i n g "                 s e l f . s e s s i o n   =   r e q u e s t s . S e s s i o n ( )                 s e l f . u r l   =   ' h t t p : / / p r o x y c h e c k . i o / v 2 / '                 s e l f . p a r a m s   =   {                         ' v _ p _ n ' :   1 ,   ' a s n ' :   1 ,   ' t i m e ' :   1 ,   ' i n f o ' :   0 ,   ' r i s k ' :   1 ,                         ' p o r t ' :   1 ,   ' s e e n ' :   1 ,   ' d a y s ' :   7 ,   ' t a g ' :   ' s i e m '                 }         d e f   _ r e q u e s t ( s e l f ,   u r l ,   p a r a m s = { } ) :                 " " "                 R e q u e s t   P r o x y C h e c k   A P I                 " " "                 h e a d e r s   =   { ' U s e r - A g e n t ' :   s e l f . u a }                 r   =   s e l f . s e s s i o n . g e t (                         u r l = u r l ,                         p a r a m s = p a r a m s ,                         h e a d e r s = h e a d e r s                 )                 i f   r . s t a t u s _ c o d e   ! =   2 0 0 :                         r a i s e   P r o x y C h e c k E r r o r (                                 ' I n v a l i d   H T T P   s t a t u s   c o d e   % i '   %   r . s t a t u s _ c o d e )                 r e t u r n   r . j s o n ( )         d e f   c h e c k _ p r o x y ( s e l f ,   d a t a ) :                 " " "                 C h e c k i n g   p r o x y   i n f o r m a t i o n   f r o m   p r o x y c h e c k . i o                 " " "                 u r l   =   s e l f . u r l   +   d a t a                 s e l f . p a r a m s [ ' k e y ' ]   =   s e l f . k e y                 r e s u l t s   =   s e l f . _ r e q u e s t ( u r l = u r l ,   p a r a m s = s e l f . p a r a m s )                 r e t u r n   s e l f . p a r s e r _ r e s u l t s ( r e s u l t s ,   d a t a )         d e f   p a r s e r _ r e s u l t s ( s e l f ,   r ,   i o c ) :                 " " "                 P a r s i n g   r e s u l t s                 " " "                 i n t e l   =   { }                 i f   r [ ' s t a t u s ' ]   = =   ' o k ' :
p r o x y c h e c k _ a n a l y z e r . p y P r o x y C h e c k . j s o n                 i f   r [ ' s t a t u s ' ]   = =   ' o k ' :                         i n t e l   =   {                                 ' i p ' :   i o c ,                                 ' c o u n t r y ' :   r [ i o c ] [ ' c o u n t r y ' ] ,                                 ' c i t y ' :   r [ i o c ] [ ' p r o x y ' ] ,                                 ' p r o x y ' :   r [ i o c ] [ ' p r o x y ' ] ,                                 ' t y p e ' :   r [ i o c ] [ ' t y p e ' ] ,                                 ' p r o v i d e r ' :   r [ i o c ] [ ' p r o v i d e r ' ]                         }                 r e t u r n   i n t e l i f   _ _ n a m e _ _   = =   ' _ _ m a i n _ _ ' :         k e y   =   ' < a p i _ k e y > '         p r o x y c h e c k   =   P r o x y C h e c k ( k e y )         i o c   =   ' 8 . 8 . 8 . 8 '         r   =   p r o x y c h e c k . c h e c k _ p r o x y ( i o c )         p r i n t ( r ) # ! / u s r / b i n / e n v   p y t h o n 3 #   e n c o d i n g :   u t f - 8 f r o m   p r o x y c h e c k   i m p o r t   P r o x y C h e c k f r o m   c o r t e x u t i l s . a n a l y z e r   i m p o r t   A n a l y z e r c l a s s   P r o x y C h e c k A n a l y z e r ( A n a l y z e r ) :         d e f   _ _ i n i t _ _ ( s e l f ) :                 A n a l y z e r . _ _ i n i t _ _ ( s e l f )                 s e l f . s e r v i c e   =   s e l f . g e t _ p a r a m (                         ' c o n f i g . s e r v i c e ' ,   N o n e ,   ' S e r v i c e   p a r a m e t e r   i s   m i s s i n g ' )                 s e l f . k e y   =   s e l f . g e t _ p a r a m (                         ' c o n f i g . k e y ' ,   N o n e ,   ' M i s s i n g   P r o x y C h e c k   A P I   k e y ' )                 s e l f . p o l l i n g _ i n t e r v a l   =   s e l f . g e t _ p a r a m ( ' c o n f i g . p o l l i n g _ i n t e r v a l ' ,   1 )                 s e l f . p r o x y c h e c k   =   P r o x y C h e c k ( s e l f . k e y )         d e f   s u m m a r y ( s e l f ,   r a w ) :                 t a x o n o m i e s   =   [ ]                 l e v e l   =   " i n f o "                 n a m e s p a c e   =   " P r o x y C h e c k "                 p r e d i c a t e   =   " P r o x y "                 v a l u e   =   " F a l s e "                 i f   r a w . g e t ( " p r o x y " )   = =   " y e s " :                         l e v e l   =   " s u s p i c i o u s "                         v a l u e   =   " T r u e "                 t a x o n o m i e s . a p p e n d ( s e l f . b u i l d _ t a x o n o m y (                         l e v e l ,   n a m e s p a c e ,   p r e d i c a t e ,   v a l u e ) )                 r e t u r n   { " t a x o n o m i e s " :   t a x o n o m i e s }         d e f   r u n ( s e l f ) :                 i f   s e l f . s e r v i c e   = =   ' p r o x y c h e c k ' :                         d a t a   =   s e l f . g e t _ p a r a m ( ' d a t a ' ,   N o n e ,   ' D a t a   i s   m i s s i n g ' )                         r e s u l t s   =   s e l f . p r o x y c h e c k . c h e c k _ p r o x y ( d a t a )                         s e l f . r e p o r t ( r e s u l t s )                 e l s e :                         s e l f . e r r o r ( ' I n v a l i d   d a t a   t y p e ' ) i f   _ _ n a m e _ _   = =   ' _ _ m a i n _ _ ' :         P r o x y C h e c k A n a l y z e r ( ) . r u n ( ) {     " n a m e " :   " P r o x y C h e c k " ,     " v e r s i o n " :   " 1 . 0 " ,
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则