system hacking ๐Ÿ“ฑ/shellocde

shellcode (4)

Kortsec1 2020. 12. 19. 00:40

 

์ง€๊ธˆ๊นŒ์ง€ shellcode์˜ ์›๋ฆฌ, ์ œ์ž‘์— ๊ด€ํ•œ ์ „๋ฐ˜์ ์ธ ๊ณผ์ •๋“ค์„ ํ•จ๊ป˜ ์ง„ํ–‰ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ตœ์ข…์ ์œผ๋กœ /bin/sh, shell์„ ์‹คํ–‰์‹œํ‚ค๋Š” shellcode๋ฅผ ๋งŒ๋“ค์–ด๋ณด๋ฉด์„œ ๋งˆ๋ฌด๋ฆฌ๋ฅผ ํ•ด๋ณผ๊นŒ ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

eds000n.github.io/syscalls-x86.html

 

Linux Syscall Reference

 

eds000n.github.io

 

systemcall 11๋ฒˆ execve์˜ ์ธ์ž๋ฅผ ์šฐ์„  ์‚ดํŽด๋ด…์‹œ๋‹ค.

 

reg eax ebx ecx edx
type 0xd *filename *argv[ ] *envp[ ]
value 11(syscall ๋ฒˆํ˜ธ) "/bin/sh"์˜ ์ฃผ์†Œ ๋ฐฐ์—ด ["/bin/sh", NULL] ์˜ ์ฃผ์†Œ ๋ฐฐ์—ด [NULL] ์˜ ์ฃผ์†Œ

 

filename (ebx)

์‹คํ–‰ํ•˜๊ณ ์ž ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ, "/bin/sh"

ํ”„๋กœ๊ทธ๋žจ ๊ฒฝ๋กœ๋ฅผ ์ ˆ๋Œ€๊ฒฝ๋กœ๋‚˜ ์ƒ๋Œ€๊ฒฝ๋กœ๋กœ ์ •ํ™•ํ•˜๊ฒŒ ํ‘œํ˜„ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

 

argv[ ] (ecx)

์‹คํ–‰๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ์— ์ „๋‹ฌ๋˜๋Š” argv[ ],

๋ณ„๋‹ค๋ฅธ ์ „๋‹ฌ๊ฐ’์ด ํ•„์š” ์—†์œผ๋ฏ€๋กœ argv[0](์‹คํ–‰ ํŒŒ์ผ๋ช…)์— "/bin/sh"๋ฅผ ๋„ฃ์–ด์ค๋‹ˆ๋‹ค.

๋˜ํ•œ, NULLํฌ์ธํ„ฐ๋กœ ๋๋‚˜์•ผ ํ•˜๊ธฐ๋•Œ๋ฌธ์— ์ „๋‹ฌ๊ฐ’์€ ["/bin/sh", NULL]๊ฐ€ ๋˜๊ฒ ์ฃ .

 

envp[ ] (edx)

ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•ด์ค„์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.

์ด๋˜ํ•œ ๋ณ„๋‹ค๋ฅธ ์ „๋‹ฌ๊ฐ’์ด ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ๋ฐฐ์—ด [NULL]์˜ ์ฃผ์†Œ๋ฅผ ๋„ฃ์–ด์ค์‹œ๋‹ค.

 

 

 

 

ํ•œ๋ฒˆ ์–ด์…ˆ๋ธ”๋ฆฌ ์ฝ”๋”ฉ์„ ํ•ด๋ณผ๊นŒ์š”

 

<binsh_1>

 

ํ›„.. ์ •์ƒ์ ์œผ๋กœ ์ž˜ ์‹คํ–‰์ด ๋˜๋„ค์š”.

์ถœ๋ ฅ๋œ shellcode๋ฅผ ์ง์ ‘ ๊ณต๊ฒฉ์— ์ด์šฉํ•ด ๋ณด๋ฉด ์•„๋งˆ ํ›Œ๋ฅญํ•˜๊ฒŒ ์‰˜์ด ์‹คํ–‰๋ ๊ฒ๋‹ˆ๋‹ค.

 

์ง€๊ธˆ๊นŒ์ง€ shellcode๋ฅผ ๋งŒ๋“ค์–ด๋ณด๋Š” ๊ณผ์ •์„ ํ•จ๊ป˜ ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

์ด์   ์•ž์œผ๋กœ ์‰˜์ฝ”๋“œ๋ฅผ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•ํ•  ํ•„์š”๊ฐ€ ์˜ค๋Š” ์ƒํ™ฉ์— ๋‹นํ™ฉํ•˜์ง€์•Š๊ณ  ์“ฐ์“ฐ์“ฑ ํ•˜์‹œ๋ฉด ๋Œ‘๋‹ˆ๋‹ค.

 

 

์š”๋กœ์ผ€ ์“ฐ์“ฐ์“ฑ

 

 

the end..

'system hacking ๐Ÿ“ฑ > shellocde' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

shellcode (0x2f ์—†์• ๊ธฐ)  (0) 2020.12.19
shellcode (3)  (0) 2020.12.18
shellcode (2)  (0) 2020.12.18
shellcode (1)  (0) 2020.12.17