objdump 2

[ํ”„๋กœ๊ทธ๋žจ ํŒจ์น˜] ๋ฐ”์ด๋„ˆ๋ฆฌ ์ฝ”๋“œ ์ˆ˜์ •ํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ ํŒจ์น˜ํ•˜๊ธฐ [@ KUICS]

์•„๋ž˜ ๋‚ด์šฉ์€ ๊ณ ๋ ค๋Œ€ํ•™๊ต ์ •๋ณด๋ณดํ˜ธ ๋™์•„๋ฆฌ KUICS์˜ ์ˆ˜์—… ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰ํ•ด๋„ ์•„๋ฌด ์ผ๋„ ์•ˆ ์ผ์–ด๋‚ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด ํ”„๋กœ๊ทธ๋žจ์ด ์ œ ๊ธฐ๋Šฅ์„ ๋‹คํ•˜๋„๋ก ํŒจ์น˜ํ•ด ๋ณผ ๊ฒ๋‹ˆ๋‹ค. 1. objdump ์ด์šฉํ•ด ๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญํ•˜๊ธฐ 2. ์›์ธ ํŒŒ์•… ์œ„ ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ๋ณด์•„, ํ”„๋กœ๊ทธ๋žจ์ด ๊ฐ‘์ž๊ธฐ ์ข…๋ฃŒ๋˜๋Š” ๊ฒƒ์€ ์™ ์ง€ 0x1188 ์œ„์น˜์—์„œ killer ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋˜๊ธฐ ๋•Œ๋ฌธ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. 3. pwntools์˜ ELF ๊ฐ์ฒด ์ด์šฉํ•ด ๋ฌธ์ œ์˜ ์ฝ”๋“œ ํŒจ์น˜ํ•˜๊ธฐ 0x1188 ์œ„์น˜์˜ 5๋ฐ”์ดํŠธ ๋งŒํผ์˜ ์ฝ”๋“œ๋ฅผ, ์•„๋ฌด ์ž‘๋™์ด ์—†๋‹ค๋Š” ์˜๋ฏธ์˜ nop์˜ ์ฝ”๋“œ๋กœ ๋Œ€์ฒดํ•จ์œผ๋กœ์จ, killer ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ์„ ์—†์• ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„  ์•„๋ž˜์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. e.address: Address of the lowest..

[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..