system hacking ๐Ÿ“ฑ/shellocde

shellcode (3)

Kortsec1 2020. 12. 18. 22:01

์ง์ ‘ ๋”ฐ๋ผํ•˜๋ฉด์„œ ํ•ด๋ด…์‹œ๋‹ค...

 

 

 

 

์ง€๋‚œ๋ฒˆ ๋งŒ๋“ค์—ˆ๋˜ shellcode์—์„œ 0x00์„ ์ œ๊ฑฐํ•ด ๋ด…์‹œ๋‹ค.

 

<hello_8>

 

ํฌ๊ฒŒ ๋‘๊ฐ€์ง€์˜ ๋ถ€๋ถ„์—์„œ ๋„๋ฐ”์ดํŠธ๊ฐ€ ํฌํ•จ๋˜๋„ค์š”.

  1. mov {reg}, {value}
  2. mov {reg}, 0

 

์ฒซ๋ฒˆ์งธ ๋ฌธ์ œ๋Š” ์ž…๋ ฅ๋˜๋Š” ๊ฐ’์„ ๋ ˆ์ง€์Šคํ„ฐ์˜ ํฌ๊ธฐ์— ๋งž์ถ”๊ธฐ ์œ„ํ•ด ๋„ ๋ฐ”์ดํŠธ๋ฅผ ํฌํ•จ์‹œํ‚ค๋ฉด์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

 

eax๋ ˆ์ง€์Šคํ„ฐ๋กœ ์˜ˆ๋ฅผ ๋“ค์–ด๋ณด์ž๋ฉด,

mov eax, 4 : eax(32bit = 4byte)์— ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด์„ , ๊ฐ’์ด 0x4๊ฐ€ ์•„๋‹Œ 0x00000004๊ฐ€ ๋˜๋Š”๊ฒ๋‹ˆ๋‹ค.

์ด๋ฅผ ๋ฐ”๋กœ์žก๊ธฐ์œ„ํ•ด ์ตœ์†Œํ•œ์˜ ๊ณต๊ฐ„์„ ์ด์šฉํ•˜๋Š”๋ฐ, ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ์—๋Š” al(1byte)์„ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค.

 

eax๋ ˆ์ง€์Šคํ„ฐ ์•ˆ์—์„œ๋„ ๊ตฌ์—ญ์ด ๋‚˜๋‰˜์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

31                              16                 8                 0

  ah        al       

 

์—ฌ๊ธฐ์„œ ๋ช…์‹ฌํ•ด์•ผํ•  ๋ถ€๋ถ„์ด ์žˆ์Šต๋‹ˆ๋‹ค.

eax์— ์–ด๋– ํ•œ data๊ฐ€ ๋“ค์–ด์žˆ๋Š”์ง€ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ดˆ๊ธฐํ™”๋ฅผ ํ•œ๋ฒˆ ํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

<์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๋ชจ์Šต>

eax : 0x00000004

 

31                              16                 8                 0

  ah        al       
0000 0000 0000 0000 0000 0000 0000 0100

 

 

 

<์ด์ „๊ฐ’์„ ๊ณ ๋ คํ•˜์ง€ ๋ชปํ–ˆ์„ ๋•Œ>

eax : 0xbffffe04 ...??

 

31                              16                 8                 0

  ah        al       
1011 1111 1111 1111 1111 1110 0000 0100

 

 

 

 

eax๋ฅผ 0์œผ๋กœ ๋งŒ๋“ค์–ด์ค„ ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Š” ๋‘๋ฒˆ์งธ ๋ฌธ์ œ์ ๊ณผ ๊ฐ™์ด ์‚ดํŽด๋ณด๋„๋ก ํ•˜๊ณ 

 

์šฐ์„ , al์„ ์ด์šฉํ•˜์—ฌ ๋‹ค์‹œ ์ฝ”๋”ฉ์„ ํ•ด๋ณด์ฃ 

 

<hello_9>

 

 

0์„ ์ „๋‹ฌํ•˜๋Š” ๊ณผ์ •์—์„œ ๊ธฐ๊ณ„์–ด ์† 0x00์€ ํ•„์ˆ˜์ ์ธ ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด 0์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ 0์œผ๋กœ ๋งŒ๋“ค์–ด์ค„ ๋ฐฉ๋ฒ•์ด ์—†์„๊นŒ์š”?

 

 

xor์„ ์ด์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

xor eax, eax ์ด๋Ÿฐ์‹์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด eax์—๋Š” 0์ด ๋‚จ์•„์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

xor์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ๋งˆ๋ฌด๋ฆฌ ํ•ด ๋ด…์‹œ๋‹ค.

 

<hello_10>

 

๊น”~๋”ํ•˜๊ฒŒ ๋„๋ฐ”์ดํŠธ๊ฐ€ ์‚ฌ๋ผ์กŒ์Šต๋‹ˆ๋‹ค.

์ตœ์ข… shellcode๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•ด ๋ณผ๊นŒ์š”? (lob gate ๋ฌธ์ œ๋กœ ํ…Œ์ŠคํŠธ ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค)

 

 

<hello_11>

 

์„ฑ๊ณต์ ์œผ๋กœ helloworld!๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ํฌ์ŠคํŒ… ๋ถ€ํ„ฐ๋Š” ๋ณธ๊ฒฉ์ ์œผ๋กœ shell์„ ์‹คํ–‰์‹œํ‚ค๋Š” ์‰˜์ฝ”๋“œ๋ฅผ ์ œ์ž‘ํ•ด ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 

to be continued..

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

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