Print Stack Canary
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 ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.
Enlarge printed stack
์คํ ์ค๋ฒํ๋ก์ฐ์ ์ทจ์ฝํ ํ๋ก๊ทธ๋จ์ด ์คํ ์ค๋ฒํ๋ก์ฐ์ ์ผ๋ถ๋ฅผ ๊ฐ๋ฆฌํค๋ puts ํจ์๋ฅผ ์คํํ ์ ์๋ ์ํฉ์ ์์ํด ๋ณด์ญ์์ค. ๊ณต๊ฒฉ์๋ canary์ ์ฒซ ๋ฒ์งธ ๋ฐ์ดํธ๊ฐ null ๋ฐ์ดํธ(\x00)์ด๊ณ ๋๋จธ์ง canary๋ ๋ฌด์์ ๋ฐ์ดํธ๋ผ๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ๊ณต๊ฒฉ์๋ canary์ ์ฒซ ๋ฒ์งธ ๋ฐ์ดํธ๊น์ง ์คํ์ ๋ฎ์ด์ฐ๋ ์ค๋ฒํ๋ก์ฐ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ ๊ณต๊ฒฉ์๋ ํ์ด๋ก๋์ ์ค๊ฐ์์ puts ๊ธฐ๋ฅ์ ํธ์ถํ์ฌ canary๋ฅผ ๋ชจ๋ ์ถ๋ ฅํฉ๋๋ค(์ฒซ ๋ฒ์งธ null ๋ฐ์ดํธ ์ ์ธ).
์ด ์ ๋ณด๋ฅผ ํตํด ๊ณต๊ฒฉ์๋ canary๋ฅผ ์๊ณ ์๋ก์ด ๊ณต๊ฒฉ์ ๊ตฌ์ฑํ๊ณ ์ ์กํ ์ ์์ต๋๋ค(๊ฐ์ ํ๋ก๊ทธ๋จ ์ธ์ ์์).
๋ช ๋ฐฑํ, ์ด ์ ์ ์ ๊ณต๊ฒฉ์๊ฐ ์์ ์ ํ์ด๋ก๋์ ๋ด์ฉ์ ์ถ๋ ฅํ์ฌ canary๋ฅผ ์ ์ถํ ์ ์์ด์ผ ํ๋ฏ๋ก ๋งค์ฐ ์ ํ์ ์ ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์๋ก์ด ํ์ด๋ก๋๋ฅผ ์์ฑํ๊ณ (๊ฐ์ ํ๋ก๊ทธ๋จ ์ธ์ ์์) ์ค์ ๋ฒํผ ์ค๋ฒํ๋ก์ฐ๋ฅผ ์ ์กํ ์ ์์ด์ผ ํฉ๋๋ค.
CTF ์์:
- https://guyinatuxedo.github.io/08-bof_dynamic/csawquals17_svc/index.html
- 64๋นํธ, ASLR ํ์ฑํ, PIE ์์, ์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ canary์ ๋ฐ์ดํธ 0x00๊น์ง ์ค๋ฒํ๋ก์ฐ๋ฅผ ์ฑ์ด ๋ค์ puts๋ฅผ ํธ์ถํ์ฌ ์ ์ถํ๋ ๊ฒ์
๋๋ค. canary๋ก ROP ๊ฐ์ ฏ์ ์์ฑํ์ฌ puts๋ฅผ ํธ์ถํ์ฌ GOT์์ puts์ ์ฃผ์๋ฅผ ์ ์ถํ๊ณ ,
system('/bin/sh')๋ฅผ ํธ์ถํ๋ ROP ๊ฐ์ ฏ์ ์์ฑํฉ๋๋ค. - https://guyinatuxedo.github.io/14-ret_2_system/hxp18_poorCanary/index.html
- 32๋นํธ, ARM, relro ์์, canary, nx, pie ์์. canary๋ฅผ ์ ์ถํ๊ธฐ ์ํด puts๋ฅผ ํธ์ถํ๋ ์ค๋ฒํ๋ก์ฐ + ROP ์ฒด์ธ์ ์ฌ์ฉํ์ฌ
system์ ํธ์ถํ๊ณ r0(์ธ์/bin/sh)์ pc(์์คํ ์ฃผ์)๋ฅผ ํํฉ๋๋ค.
Arbitrary Read
ํ์ ๋ฌธ์์ด์ด ์ ๊ณตํ๋ ์์ ์ฝ๊ธฐ๋ฅผ ์ฌ์ฉํ๋ฉด canary๋ฅผ ์ ์ถํ ์ ์์ ์ ์์ต๋๋ค. ์ด ์๋ฅผ ํ์ธํ์ญ์์ค: https://ir0nstone.gitbook.io/notes/types/stack/canaries ๋ฐ ์์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ฝ๊ธฐ ์ํด ํ์ ๋ฌธ์์ด์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ฝ์ ์ ์์ต๋๋ค:
- https://guyinatuxedo.github.io/14-ret_2_system/asis17_marymorton/index.html
- ์ด ๋์ ๊ณผ์ ๋ ํ์ ๋ฌธ์์ด์ ๋งค์ฐ ๊ฐ๋จํ๊ฒ ์ ์ฉํ์ฌ ์คํ์์ canary๋ฅผ ์ฝ์ต๋๋ค.
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 ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.


