Ret2ret & Reo2pop

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ

Ret2ret

์ด ๊ธฐ์ˆ ์˜ ์ฃผ์š” ๋ชฉํ‘œ๋Š” ์Šคํƒ์— ์žˆ๋Š” ๊ธฐ์กด ํฌ์ธํ„ฐ๋ฅผ ์•…์šฉํ•˜์—ฌ ASLR์„ ์šฐํšŒํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ, ์Šคํƒ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฌธ์ž์—ด๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋ฉฐ, ๋ฌธ์ž์—ด์€ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋์— ๋„ ๋ฐ”์ดํŠธ๋กœ ๋๋‚ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์Šคํƒ์— ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ํฌ์ธํ„ฐ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ์œ„์น˜๋ฅผ ์ค„์ด๋ ค๊ณ  ์‹œ๋„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์Šคํƒ์— 0xbfffffdd๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค๋ฉด, ์ด ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋Š” ์ด๋ฅผ 0xbfffff00์œผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋งˆ์ง€๋ง‰ ์ œ๋กœ ๋ฐ”์ดํŠธ์— ์ฃผ๋ชฉ).

๊ทธ ์ฃผ์†Œ๊ฐ€ ์Šคํƒ์˜ ์…ธ์ฝ”๋“œ๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค๋ฉด, ret ๋ช…๋ น์–ด์— ์ฃผ์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๊ทธ ์ฃผ์†Œ์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๊ณต๊ฒฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • NOP ์Šฌ๋ ˆ๋“œ
  • ์…ธ์ฝ”๋“œ
  • ret์— ๋Œ€ํ•œ ์ฃผ์†Œ๋กœ EIP์—์„œ ์Šคํƒ์„ ๋ฎ์–ด์“ฐ๊ธฐ (RET ์Šฌ๋ ˆ๋“œ)
  • ๋ฌธ์ž์—ด์— ์˜ํ•ด ์ถ”๊ฐ€๋œ 0x00์ด ์Šคํƒ์˜ ์ฃผ์†Œ๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ NOP ์Šฌ๋ ˆ๋“œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

์ด ๋งํฌ๋ฅผ ๋”ฐ๋ผ๊ฐ€๋ฉด ์ทจ์•ฝํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ์˜ ์˜ˆ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๊ณ , ์ด ๋งํฌ์—์„œ๋Š” ์ต์Šคํ”Œ๋กœ์ž‡์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Ret2pop

์ˆ˜์ •ํ•˜๊ณ  ์‹ถ์ง€ ์•Š์€ ์™„๋ฒฝํ•œ ํฌ์ธํ„ฐ๋ฅผ ์Šคํƒ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ (ret2ret์—์„œ๋Š” ์ตœ์ข… ์ตœํ•˜์œ„ ๋ฐ”์ดํŠธ๋ฅผ 0x00์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค), ๋™์ผํ•œ ret2ret ๊ณต๊ฒฉ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, RET ์Šฌ๋ ˆ๋“œ์˜ ๊ธธ์ด๋Š” 1๋งŒํผ ์ค„์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค (๊ทธ๋ž˜์„œ ์ตœ์ข… 0x00์ด ์™„๋ฒฝํ•œ ํฌ์ธํ„ฐ ๋ฐ”๋กœ ์•ž์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฎ์–ด์”๋‹ˆ๋‹ค), ๊ทธ๋ฆฌ๊ณ  RET ์Šฌ๋ ˆ๋“œ์˜ ๋งˆ์ง€๋ง‰ ์ฃผ์†Œ๋Š” **pop <reg>; ret**๋ฅผ ๊ฐ€๋ฆฌ์ผœ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์™„๋ฒฝํ•œ ํฌ์ธํ„ฐ ์•ž์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์Šคํƒ์—์„œ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค (์ด ๋ฐ์ดํ„ฐ๋Š” 0x00์˜ ์˜ํ–ฅ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค) ๊ทธ๋ฆฌ๊ณ  ์ตœ์ข… ret๋Š” ์Šคํƒ์˜ ์™„๋ฒฝํ•œ ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค.

์ด ๋งํฌ๋ฅผ ๋”ฐ๋ผ๊ฐ€๋ฉด ์ทจ์•ฝํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ์˜ ์˜ˆ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๊ณ , ์ด ๋งํฌ์—์„œ๋Š” ์ต์Šคํ”Œ๋กœ์ž‡์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

References

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ