24СʱÈÈÃŰæ¿éÅÅÐаñ    

Znn3bq.jpeg
ÉÇÍ·´óѧº£Ñó¿ÆÑ§½ÓÊܵ÷¼Á
²é¿´: 425  |  »Ø¸´: 0
µ±Ç°Ö÷ÌâÒѾ­´æµµ¡£

sdlj8051

½ð³æ (ÖøÃûдÊÖ)

[½»Á÷] [תÌù]ÍÆ¹ãµÄESP¶¨ÂÉ---EBPµÄÃîÓÃ

Ô­Îijö´¦:
http://www.popbase.net/bbs/dispb ... ;ID=2229&page=1

Author£ºLenus
From: www.popbase.net
E-mail£ºLenus_M@163.com
--------------------------------------------------
1.ǰÑÔ
  
  ¼¸Ììǰ£¬jney2Ðֵܷ¢±íÁË¡¶ÈçºÎ×è»÷¡°ESP¶¨ÂÉ¡±¡·Ò»ÎÄ£¬¶ÔÓÚanti-ESP¶¨ÂÉÌá³öÁ˷dz£½¨ÉèÐԵķ½°¸£¬Í¨¹ýÕâÆªÎÄÕÂÎÒÃÇÖªµÀESP¶¨ÂɵÄÔ­ÀíºÍËûµÄ¾ÖÏÞÐÔ£¬µ«ÊǶÔÓÚ²»ÄÜʹÓÃESP¶¨ÂɵĿǿɲ»Õ¼ÉÙÊýŶ¡£ÔÚÕâÀïÎÒÏë¼òµ¥µÄÌá³öÒ»¸öµ±ÎÒÃÇÃæ¶ÔÎÞ·¨Ê¹ÓÃESP¶¨ÂÉʱµÄ°ì·¨¡£
--------------------------------------------------
2.ÕýÎÄ
  
  i.Á˽âEBP¼Ä´æÆ÷
  ÔڼĴæÆ÷ÀïÃæÓкܶà¼Ä´æÆ÷ËäÈ»ËûÃǵŦÄܺÍʹÓÃûÓÐÈκεÄÇø±ð£¬µ«ÊÇÔÚ³¤ÆÚµÄ±à³ÌºÍʹÓÃÖУ¬ÔÚ³ÌÐòԱϰ¹ßÖÐÒѾ­Ä¬ÈϵĸøÃ¿¸ö¼Ä´æÆ÷¸³ÉÏÁËÌØÊâµÄº¬Ò壬±ÈÈ磺EAXÒ»°ãÓÃÀ´×ö·µ»ØÖµ£¬ECXÓÃÓÚ¼ÇÊýµÈµÈ
  ÔÚwin32µÄ»·¾³ÏÂEBP¼Ä´æÆ÷ÓÃÓë´æ·ÅÔÚ½øÈëcallÒÔºóµÄESPµÄÖµ£¬±ãÓÚÍ˳öµÄʱºò»Ø¸´ESPµÄÖµ£¬´ïµ½¶ÑջƽºâµÄÄ¿µÄ¡£

  Ó¦ÓÃÒÔǰ˵¹ýµÄÒ»¶Î»°£º

  Ô­³ÌÐòµÄOEP£¬Í¨³£ÊÇÒ»¿ªÊ¼ÒÔ Push EBP ºÍMOV Ebp,EspÕâÁ½¾ä¿ªÊ¼µÄ£¬²»ÓÃÎÒ¶à˵´ó¼ÒÒ²ÖªµÀÕâÁ½¾äµÄÒâ˼ÊÇÒÔEBP´úÌæESP£¬×÷Ϊ·ÃÎʶÑÕ»µÄÖ¸Õë¡£

  ÎªÊ²Ã´ÒªÕâÑùÄØ£¿ÎªÊ²Ã´¼¸ºõÿ¸ö³ÌÐò¶¼ÊǵĿªÍ·ÄÜ£¿
ÒòΪÈç¹ûÎÒÃÇд¹ýCµÈº¯ÊýµÄʱºò¾ÍÓ¦¸ÃÇå³þ£¬³ÌÐòµÄ¿ªÊ¼ÊÇÒÔÒ»¸öÖ÷º¯Êýmain£¨£©Îª¿ªÊ¼µÄ£¬¶øº¯ÊýÔÚ·ÃÎʵĹý³ÌÖÐ×îÖØÒªµÄÊÂÇé¾ÍÊÇҪȷ±£¶ÑÕ»µÄƽºâ£¬¶øÔÚwin32µÄ»·¾³Ï±£³ÖƽºâµÄ°ì·¨ÊÇÕâÑùµÄ£º
    1.ÈÃEBP±£´æESPµÄÖµ£»
    2.ÔÚ½áÊøµÄʱºòµ÷ÓÃ
    mov esp,ebp
    pop ebp
    retn
    »òÕßÊÇ
    leave
    retn
    Á½¸öÐÎʽÊÇÒ»¸öÒâ˼¡£

ÕâÑù×öµÄºÃ´¦ÊDz»Óÿ¼ÂÇESPµÈÓÚ¶àÉÙ£¬PUSHÁ˶àÉٴΣ¬ÒªPOP¶àÉÙ´ÎÁË£¬ÒòΪÎÒÃÇÖªµÀEBPÀïÃæ·ÅµÄÊÇ¿ªÊ¼Ê±ºòµÄESPÖµ¡£

   ii.ÍÆ¹ãµÄESP¶¨ÂÉ
  
   ÔÚѰÕÒOEPµÄʱºò£¬ÍùÍù϶ÏHW ESP-4²»³É¹¦£¬³ýÁ˿ǴúÂ뽫Ӳ¼þ¶Ïµãɾ³ýÁËÒÔÍ⣬ºÜ¿ÉÄܵÄÇé¿ö¾ÍÊÇÒòΪ¿Ç´úÂëÔÚÔËÐе½OEPµÄʱºòËûµÄESPÒѾ­²»ÔÙÊÇÔÚEPʱºòµÄESP£¨12FFC4£©ÁË£¬ÕâÑùÎÒÃÇ϶ϵ±È»ÊDz»³É¹¦µÄ¡£

   ÄÇôÈçºÎÕÒµ½Ôڿǵ½´ïOEPµÄʱºòµÄ¶ÑÕ»µÄÖµ½«Êǹؼü¡£

   ÔÚÕâÀïÎÒÃÇÓ¦ÓõĹؼüÊÇ

   Push EBP
   MOV Ebp,Esp----¡·¹Ø¼üÊÇÕâ¾ä
   
   ÎÒÀ´½âÊÍһϣ¬µ±³ÌÐòµ½´ïOEPµÄʱºòPush EBPÕâ¾ä¶ÔÓÚESPµÄÖµÀ´Ëµ¾ÍÊÇESP-4£¬È»ºóÊÇESP-4¸³¸øÁËEBP£¬¶ø×öΪ±£´æESPÖµ×÷ÓõÄEBP¼Ä´æÆ÷ÔÚÕâ¸ö¡°×îÉϲãµÄ³ÌÐò¡±ÖеÄÖµ½«Ê¼ÖÕ²»»á¸Ä±ä¡£ËäÈ»Ëû¿ÉÄÜÔÚ½øÈë×ÓcallÀïÃæÒÔºó»áÔÝʱµÄ¸Ä±ä£¨ÓÃÓÚ×Ó³ÌÐòµÄ¶Ñջƽºâ£©µ«ÊÇÔÚÍ˳öÁËÒÔºóÒÀ¿¿pop ebpÕâÒ»¾ä½«»¹Ô­Ô­À´µÄEBPµÄÖµ¡£
   
   ÒÔÕâ¾ä×öÎªÍ»ÆÆ¿Ú£¬¾ÍÊÇ˵ֻҪÎÒÃÇÄܶÏÔÚ¡°×îÉϲãµÄ³ÌÐò¡±ÖУ¬¾ÍÄÜͨ¹ý¹Û²ìEBPµÄÖµµÃµ½¿ÇÔÚJMPµ½OEPµÄʱºòµÄESPµÄÖµÁË¡£

   iii.ʵս

   À´¿´¿´pespin1.1µÄ¿Ç£¬ÔÚpespin1.0µÄ¿ÇÖУ¬ÎÒÃÇʹÓÃHW 12FFC0ÄܺÜÈÝÒ×µÄÕÒµ½stolen codeµÄµØ·½£¬µ«Êǵ½pespin1.1µÄʱºò£¬ÎÒÃǾͲ»ÐÐÁË¡£ÓÃHW 12FFC0¸ù±¾¶Ï²»ÏÂÀ´¡£


µã»÷ä¯ÀÀ¸ÃÎļþ


  
    ÏÖÔÚÎÒÃǾÍʹÓÃÕâ¸öÍÆ¹ãµÄESP¶¨ÂÉ

    ÔØÈë³ÌÐòºóÀ´µ½×îºóµÄÒ»¸öÒì³£

0040ED85     2BDB             sub ebx,ebx                           //Í£ÔÚÕâÀï
0040ED87     64:8F03          pop dword ptr fs:[ebx]
0040ED8A     58               pop eax
0040ED8B     5D               pop ebp
0040ED8C     2BFF             sub edi,edi
0040ED8E     EB 01            jmp short pespin1_.0040ED91
0040ED90     C466 81          les esp,fword ptr ds:[esi-7F]

    ÎÒÓÃʹÓÃÄÚ´æ¶Ïµã°ì·¨À´µ½FOEP´¦

004010D3     0000             add byte ptr ds:[eax],al
004010D5     0000             add byte ptr ds:[eax],al
004010D7     0000             add byte ptr ds:[eax],al
004010D9     0000             add byte ptr ds:[eax],al
004010DB     0000             add byte ptr ds:[eax],al
004010DD     0000             add byte ptr ds:[eax],al
004010DF     75 1B            jnz short pespin1_.004010FC               //ÕâÀïÊÇFOEP
004010E1     56               push esi
004010E2     FF15 99F44000    call dword ptr ds:[40F499]
004010E8     8BF0             mov esi,eax
004010EA     8A00             mov al,byte ptr ds:[eax]

    ºÃÁË£¬ÕâÀï¾ÍÊÇ¡°×îÉϲãµÄ³ÌÐò¡±µÄµØ·½ÁË£¬¿´¿´¼Ä´æÆ÷

EAX 00141E22
ECX 0040C708 pespin1_.0040C708
EDX 0040C708 pespin1_.0040C708
EBX 0040C708 pespin1_.0040C708                    
ESP 0012F978
EBP 0012F9C0                                  //×¢ÒâÕâÀï
ESI 00141EE0
EDI 0040E5CD pespin1_.0040E5CD
EIP 004010DF pespin1_.004010DF

    ¿´µ½Á˰ɣ¬EBP=0012F9C0£¬ÎÒÃÇÀ´ÏëÏóÒ»ÏÂÕâ¸öÖµÊÇÔõôµÃµ½µÄ¡£

Ê×Ïȿ϶¨ÊÇͨ¹ýMOV ESP£¬EBPÕâÒ»¾ä£¬Ò²¾ÍÊÇ˵ESPÕâʱÊÇ0012F9C0µÄ£¬

È»¶øÉÏÃæ»¹ÓÐÒ»¾äPUSH EBPÒ²¾ÍÊÇ˵ESPÔÚµ½´ïOEPµÄʱºòÓ¦¸ÃÊÇ0012F9C4µÄ¡£

ºÃÁ˵õ½Õâ¸ö½áÂÛÎÒÃǾÍÄܺܿìµÄÕÒµ½stolen codeµÄËùÔÚÁË¡£

ÖØÀ´Í£ÔÚ×îºóµÄÒì³£

0040ED85     2BDB             sub ebx,ebx                           //Í£ÔÚÕâÀï
0040ED87     64:8F03          pop dword ptr fs:[ebx]
0040ED8A     58               pop eax
0040ED8B     5D               pop ebp
0040ED8C     2BFF             sub edi,edi
0040ED8E     EB 01            jmp short pespin1_.0040ED91
0040ED90     C466 81          les esp,fword ptr ds:[esi-7F]

È»ºó϶ÏHW 0012F9C0 £¬F9ÔËÐÐ

À´µ½ÕâÀï

0040D8FB     61               popad
0040D8FC     55               push ebp
0040D8FD     EB 01            jmp short pespin1_.0040D900           //Í£ÔÚÕâÀï
0040D8FF     318B ECEB01AC    xor dword ptr ds:[ebx+AC01EBEC],ecx
0040D905     83EC 44          sub esp,44
0040D908     EB 01            jmp short pespin1_.0040D90B
0040D90A     72 56            jb short pespin1_.0040D962
0040D90C     EB 01            jmp short pespin1_.0040D90F
0040D90E     95               xchg eax,ebp
0040D90F     FF15 6CF34000    call dword ptr ds:[40F36C]
0040D915     EB 01            jmp short pespin1_.0040D918

ÓÚÊǾͺܿìµÄÕÒµ½ÁËstolen codeµÄËùÔÚÁË
--------------------------------------------------
3.×ܽá
  ÉÏÃæµÄÕâ¸ö°ì·¨´ó¸Å¿ÉÒÔ×ܽáÒÔϵIJ½Ö裺
   1.Ö±½Ó»ò¼ä½ÓµÄ¶ÏÔÚ¡°×îÉϲãµÄ³ÌÐò¡±µÄµØ·½¡£
   2.µÃµ½¡°×îÉϲãµÄ³ÌÐò¡±µÄEBPµÄÖµ¡£
   2.ÀûÓóÌÐò³õʼ»¯µÄÁ½¸ö¹Ì¶¨Óï¾äÕÒµ½¿ÇJMPµ½OEPµÄ¶ÑÕ»Öµ¡£

   Õâ¸ö°ì·¨ÓкܴóµÄ¾ÖÏÞÐÔ£¬ÒòΪֻÓÐVCºÍdelphi³ÌÐòʹÓÃÕâ¸ö³õʼ»¯µÄ¿ªÍ·¡£

   µ«ÊÇÕÒµ½¡°×îÉϲãµÄ³ÌÐò¡±µÄ°ì·¨³ýÁËÄÚ´æ¶Ïµã»¹Óкܶà°ì·¨£¬ÀýÈç¶ÔÓÚVCÀ´ËµÊ¹Óà bp ExitProcessÒ²ÊÇÒ»¸öºÜºÃµÄ¶Ïµã£¬¿ÉÒÔÖ±½ÓµÃµ½EBPµÄÊýÖµ¡£
--------------------------------------------------
4.ºó»°
  Ô­À´Õâ¸ö°ì·¨ÓкÜÇ¿µÄǰÌáÌõ¼þ£¬²»ÊÇÒ»¸öºÜ¾ßÆÕ±éÐԵİ취£¬ÎÒÔ­À´Ò²²»Ïëµ¥¶ÀµÄÌá³öÀ´£¬µ«ÊǶÔÓÚjney2ÐֵܵÄanti-ESP¶¨ÂÉÀ´ËµÕâ¸ö°ì·¨È´ÊÇÒ»¸ö½â¾öÖ®µÀ¡£
  µ±È»»¹Óиü¶àµÄ°ì·¨£¬ÔÚÕâÀïÎÒÖ»Ïë˵ºÜ¶àÊÂÇéÓÐì¾ÍÓжܣ¬Ã»ÓÐʲô°ì·¨ÊÇÒ»¶¨Ã»ÓЩ¶´µÄ£¬Ö»ÊÇÏ£ÍûÕâÆªÎÄÕ¸ø´ó¼ÒÀ«¿í˼·£¬Æðµ½Å×שÒýÓñµÄ×÷Óá£

[ Last edited by sdlj8051 on 2006-10-6 at 11:29 ]
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ sdlj8051 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] Çóµ÷¼Á +3 ÎÒ°®¸ßÊý¸ßÊý°®Î 2026-04-12 3/150 2026-04-14 01:00 by Íõ¬Bè±
[¿¼ÑÐ] ²ÄÁÏ299ר˶Çóµ÷¼Á +13 +21 2026-04-09 13/650 2026-04-13 14:16 by ÕÅzhihao
[¿¼ÑÐ] »¯¹¤Ñ§Ë¶ 285Çóµ÷¼Á +29 Wisjxn 2026-04-07 29/1450 2026-04-13 13:47 by floriea
[¿¼ÑÐ] 326Çóµ÷¼Á +6 Shansyn 2026-04-10 6/300 2026-04-12 09:46 by hammer3
[¿¼ÑÐ] 299Çóµ÷¼Á +8 ZVVZ13 2026-04-08 8/400 2026-04-12 00:40 by À¶ÔÆË¼Óê
[¿¼ÑÐ] µ÷¼Á +5 ÎĵÀÐÇ̨ 2026-04-11 5/250 2026-04-11 15:01 by ¿­¿­Òª±ä˧
[¿¼ÑÐ] µ÷¼Á +4 µçÆø300Çóµ÷¼Á²» 2026-04-08 7/350 2026-04-11 10:44 by ×ÏêØ×ÏÆå
[¿¼ÑÐ] 283Çóµ÷¼Á +22 ÄǸöàà×Ó 2026-04-09 22/1100 2026-04-11 10:41 by ÄæË®³Ë·ç
[¿¼ÑÐ] ¹¤¿Æ273µ÷¼Á +6 X1999 2026-04-09 7/350 2026-04-11 10:23 by zhq0425
[¿¼ÑÐ] 281Çóµ÷¼Á +11 ¾õµÃºÃµÄ°É 2026-04-10 11/550 2026-04-11 09:35 by ÄæË®³Ë·ç
[¿¼ÑÐ] ²ÄÁÏÓ뻯¹¤µ÷¼Á +12 ·ñ¼«Ì©À´2026 2026-04-10 13/650 2026-04-11 00:28 by wangjihu
[¿¼ÑÐ] ¼ª´ó¼ÆËã»ú¼¼Êõ331·Ö£¬Ó¢ÓïÁù¼¶£¬Çóµ÷¼Á +3 ·å·å021116 2026-04-09 3/150 2026-04-10 20:01 by chemisry
[¿¼ÑÐ] 301Çóµ÷¼Á +5 149. 2026-04-10 5/250 2026-04-10 15:45 by ²ñС°×
[¿¼ÑÐ] »úеר368 ÓÐÈ¥´¦Âð +4 ÖÖ´óÊ÷ 2026-04-10 4/200 2026-04-10 15:31 by jiajinhpu
[¿¼ÑÐ] »úе»¹Óл¹ÓÐÃû¶îÂð£¿Ì«ÄÑÁË +6 ЦЦԬ 2026-04-10 6/300 2026-04-10 11:54 by ¸ßά´º
[¿¼ÑÐ] ²ÄÁÏר˶³õÊÔ·Ö332Ò»Ö¾Ô¸Î÷±±¹¤Òµ´óѧ£¬ +12 ¹ÊÈË?? 2026-04-09 12/600 2026-04-09 18:34 by Ccclqqq
[¿¼ÑÐ] Çó»úеר˶297µÚ¶þÅúµ÷¼Á +5 ʰÆâ12¡£ 2026-04-08 5/250 2026-04-09 16:43 by Ôʵ±ÊʶÈ
[¿¼ÑÐ] 334Çóµ÷¼Á +16 Riot2025 2026-04-08 17/850 2026-04-09 09:28 by wdyheheeh
[¿¼ÑÐ] 22408 266Çóµ÷¼Á +11 masss11222 2026-04-07 14/700 2026-04-08 11:06 by yulian1987
[¿¼ÑÐ] 323Çóµ÷¼Á +3 ÁÖzlu 2026-04-07 4/200 2026-04-07 23:21 by lbsjt
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û