๊ธฐ๋ณธ ๋ฐ์ด๋๋ฆฌ ์ต์คํ๋ก์ ๋ฐฉ๋ฒ๋ก
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์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.
ELF ๊ธฐ๋ณธ ์ ๋ณด
๋ฌด์ธ๊ฐ๋ฅผ ์ต์คํ๋ก์ํ๊ธฐ ์ ์ ELF ๋ฐ์ด๋๋ฆฌ์ ๊ตฌ์กฐ ์ผ๋ถ๋ฅผ ์ดํดํ๋ ๊ฒ์ด ํฅ๋ฏธ๋กญ์ต๋๋ค:
์ต์คํ๋ก์ ๋๊ตฌ
์คํ ์ค๋ฒํ๋ก์ฐ ๋ฐฉ๋ฒ๋ก
๋ง์ ๊ธฐ์ ์ด ์๊ธฐ ๋๋ฌธ์ ๊ฐ ๊ธฐ์ ์ด ์ ์ฉํ ๋์ ์คํด์ ๊ฐ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋์ผํ ๋ณดํธ๊ฐ ์๋ก ๋ค๋ฅธ ๊ธฐ์ ์ ์ํฅ์ ๋ฏธ์น ์ ์๋ค๋ ์ ์ ์ ์ํ์ญ์์ค. ๊ฐ ๋ณดํธ ์น์ ์์ ๋ณดํธ๋ฅผ ์ฐํํ๋ ๋ฐฉ๋ฒ์ ์ฐพ์ ์ ์์ง๋ง ์ด ๋ฐฉ๋ฒ๋ก ์์๋ ์ฐพ์ ์ ์์ต๋๋ค.
ํ๋ฆ ์ ์ด
ํ๋ก๊ทธ๋จ์ ํ๋ฆ์ ์ ์ดํ๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ต๋๋ค:
- ์คํ ์ค๋ฒํ๋ก์ฐ: ์คํ์์ ๋ฐํ ํฌ์ธํฐ ๋๋ EBP -> ESP -> EIP๋ฅผ ๋ฎ์ด์ฐ๊ธฐ.
- ์ค๋ฒํ๋ก์ฐ๋ฅผ ์ ๋ฐํ๊ธฐ ์ํด ์ ์ ์ค๋ฒํ๋ก์ฐ๋ฅผ ์ ์ฉํด์ผ ํ ์๋ ์์ต๋๋ค.
- ๋๋ ์์ ์ฐ๊ธฐ + ์คํ์ ์ํ ์ฐ๊ธฐ ์์น ์ง์ ์ ํตํด.
- ํฌ๋งท ๋ฌธ์์ด:
printf๋ฅผ ์ ์ฉํ์ฌ ์์์ ๋ด์ฉ์ ์์์ ์ฃผ์์ ์ฐ๊ธฐ. - ๋ฐฐ์ด ์ธ๋ฑ์ฑ: ์๋ชป ์ค๊ณ๋ ์ธ๋ฑ์ฑ์ ์ ์ฉํ์ฌ ์ผ๋ถ ๋ฐฐ์ด์ ์ ์ดํ๊ณ ์์์ ์ฐ๊ธฐ๋ฅผ ์ป๊ธฐ.
- ์ค๋ฒํ๋ก์ฐ๋ฅผ ์ ๋ฐํ๊ธฐ ์ํด ์ ์ ์ค๋ฒํ๋ก์ฐ๋ฅผ ์ ์ฉํด์ผ ํ ์๋ ์์ต๋๋ค.
- bof to WWW via ROP: ๋ฒํผ ์ค๋ฒํ๋ก์ฐ๋ฅผ ์ ์ฉํ์ฌ ROP๋ฅผ ๊ตฌ์ฑํ๊ณ WWW๋ฅผ ์ป์ ์ ์์ต๋๋ค.
์คํ์ ์ํ ์ฐ๊ธฐ ์์น ์ง์ ๊ธฐ์ ์ ๋ค์์์ ์ฐพ์ ์ ์์ต๋๋ค:
์์ํ ๋ฃจํ
๊ณ ๋ คํด์ผ ํ ์ ์ ์ผ๋ฐ์ ์ผ๋ก ์ทจ์ฝ์ ์ ํ ๋ฒ ์ต์คํ๋ก์ํ๋ ๊ฒ๋ง์ผ๋ก๋ ์ถฉ๋ถํ์ง ์์ ์ ์์ต๋๋ค. ํนํ ์ผ๋ถ ๋ณดํธ๋ฅผ ์ฐํํด์ผ ํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ๋จ์ผ ์ทจ์ฝ์ ์ ๋์ผํ ๋ฐ์ด๋๋ฆฌ ์คํ์์ ์ฌ๋ฌ ๋ฒ ์ต์คํ๋ก์ํ ์ ์๋ ์ต์ ์ ๋ํด ๋ ผ์ํ๋ ๊ฒ์ด ํฅ๋ฏธ๋กญ์ต๋๋ค:
mainํจ์์ ์ฃผ์ ๋๋ ์ทจ์ฝ์ ์ด ๋ฐ์ํ๋ ์ฃผ์๋ฅผ ROP ์ฒด์ธ์ ์์ฑ.- ์ ์ ํ ROP ์ฒด์ธ์ ์ ์ดํ๋ฉด ํด๋น ์ฒด์ธ์์ ๋ชจ๋ ์์ ์ ์ํํ ์ ์์ต๋๋ค.
exitGOT์ ์ฃผ์์ (์ข ๋ฃ ์ ์ ๋ฐ์ด๋๋ฆฌ๊ฐ ์ฌ์ฉํ๋ ๋ค๋ฅธ ํจ์์ ์ฃผ์) ์ทจ์ฝ์ ์ผ๋ก ๋์๊ฐ๊ธฐ ์ํ ์ฃผ์๋ฅผ ์์ฑ.- .fini_array, ์ฌ๊ธฐ์์ ์ทจ์ฝ์ ์ ๋ค์ ํธ์ถํ ํจ์์ **
__libc_csu_fini**๋ฅผ ํธ์ถํ ๋ค๋ฅธ ํจ์๋ฅผ ์ ์ฅํฉ๋๋ค.
์ต์คํ๋ก์ ๋ชฉํ
๋ชฉํ: ๊ธฐ์กด ํจ์ ํธ์ถ
- ret2win: ํ๋๊ทธ๋ฅผ ์ป๊ธฐ ์ํด ํธ์ถํด์ผ ํ๋ ์ฝ๋์ ํจ์๊ฐ ์์ต๋๋ค (ํน์ ๋งค๊ฐ๋ณ์์ ํจ๊ป์ผ ์ ์์).
- PIE ์์ด ์ผ๋ฐ์ ์ธ bof์์๋ ์คํ์ ์ ์ฅ๋ ๋ฐํ ์ฃผ์์ ์ฃผ์๋ฅผ ์์ฑํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
- PIE๊ฐ ์๋ bof์์๋ ์ด๋ฅผ ์ฐํํด์ผ ํฉ๋๋ค.
- canary๊ฐ ์๋ bof์์๋ ์ด๋ฅผ ์ฐํํด์ผ ํฉ๋๋ค.
- ret2win ํจ์๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ํธ์ถํ๊ธฐ ์ํด ์ฌ๋ฌ ๋งค๊ฐ๋ณ์๋ฅผ ์ค์ ํด์ผ ํ๋ ๊ฒฝ์ฐ:
- ๋ชจ๋ ๋งค๊ฐ๋ณ์๋ฅผ ์ค๋นํ ์ ์๋ ์ถฉ๋ถํ ๊ฐ์ ฏ์ด ์๋ ๊ฒฝ์ฐ ROP **์ฒด์ธ ์ฌ์ฉ.
- SROP (์ด ์์คํ ํธ์ถ์ ํธ์ถํ ์ ์๋ ๊ฒฝ์ฐ) ๋ง์ ๋ ์ง์คํฐ๋ฅผ ์ ์ดํ๊ธฐ ์ํด.
- ์ฌ๋ฌ ๋ ์ง์คํฐ๋ฅผ ์ ์ดํ๊ธฐ ์ํด ret2csu ๋ฐ ret2vdso์์ ๊ฐ์ ฏ ์ฌ์ฉ.
- Write What Where๋ฅผ ํตํด ๋ค๋ฅธ ์ทจ์ฝ์ (๋น bof)์ ์
์ฉํ์ฌ
winํจ์๋ฅผ ํธ์ถํ ์ ์์ต๋๋ค. - ํฌ์ธํฐ ๋ฆฌ๋๋ ์ : ์คํ์ ํธ์ถ๋ ํจ์์ ๋ํ ํฌ์ธํฐ ๋๋ ํฅ๋ฏธ๋ก์ด ํจ์(system ๋๋ printf)์์ ์ฌ์ฉ๋ ๋ฌธ์์ด์ ๋ํ ํฌ์ธํฐ๊ฐ ํฌํจ๋ ๊ฒฝ์ฐ ํด๋น ์ฃผ์๋ฅผ ๋ฎ์ด์ธ ์ ์์ต๋๋ค.
- ASLR ๋๋ PIE๊ฐ ์ฃผ์์ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค.
- ์ด๊ธฐํ๋์ง ์์ ๋ณ์: ๋น์ ์ ๊ฒฐ์ฝ ์ ์ ์์ต๋๋ค.
๋ชฉํ: RCE
์์ฝ๋๋ฅผ ํตํด, nx๊ฐ ๋นํ์ฑํ๋ ๊ฒฝ์ฐ ๋๋ ์์ฝ๋์ ROP ํผํฉ:
- (์คํ) ์์ฝ๋: ๋ฐํ ํฌ์ธํฐ๋ฅผ ๋ฎ์ด์ฐ๊ธฐ ์ ํ์ ์คํ์ ์์ฝ๋๋ฅผ ์ ์ฅํ ๋ค์ ์ ํํ์ฌ ์คํํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค:
- ์ด๋ค ๊ฒฝ์ฐ๋ , canary๊ฐ ์๋ ๊ฒฝ์ฐ ์ผ๋ฐ์ ์ธ bof์์๋ ์ด๋ฅผ ์ฐํ(์ ์ถ)ํด์ผ ํฉ๋๋ค.
- ASLR ์์ด ๋ฐ nx ์์ด ์คํ์ ์ฃผ์๋ก ์ ํํ ์ ์์ต๋๋ค. ์ฃผ์๋ ์ ๋ ๋ณ๊ฒฝ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
- ASLR๊ฐ ์๋ ๊ฒฝ์ฐ ret2esp/ret2reg์ ๊ฐ์ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ์ ํํด์ผ ํฉ๋๋ค.
- nx๊ฐ ์๋ ๊ฒฝ์ฐ, **
memprotect**๋ฅผ ํธ์ถํ๊ธฐ ์ํด ์ผ๋ถ ROP์ ์ฌ์ฉํด์ผ ํ๋ฉฐ, ํ์ด์ง๋ฅผrwx๋ก ๋ง๋ค์ด์ผ ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ๊ฑฐ๊ธฐ์ ์์ฝ๋๋ฅผ ์ ์ฅํ๊ณ (์: read ํธ์ถ) ์ ํํด์ผ ํฉ๋๋ค. - ์ด๋ ์์ฝ๋๋ฅผ ROP ์ฒด์ธ๊ณผ ํผํฉํฉ๋๋ค.
์์คํ ํธ์ถ์ ํตํด
- Ret2syscall: ์์์ ๋ช
๋ น์ ์คํํ๊ธฐ ์ํด
execve๋ฅผ ํธ์ถํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค. ํน์ ์์คํ ํธ์ถ์ ๋งค๊ฐ๋ณ์์ ํจ๊ป ํธ์ถํ๊ธฐ ์ํ ๊ฐ์ ฏ์ ์ฐพ์์ผ ํฉ๋๋ค. - ASLR ๋๋ PIE๊ฐ ํ์ฑํ๋ ๊ฒฝ์ฐ, ROP ๊ฐ์ ฏ์ ์ฌ์ฉํ๊ธฐ ์ํด ์ด๋ฅผ ๋ฌด๋ ฅํํด์ผ ํฉ๋๋ค.
- SROP์ ret2execve๋ฅผ ์ค๋นํ๋ ๋ฐ ์ ์ฉํ ์ ์์ต๋๋ค.
- ์ฌ๋ฌ ๋ ์ง์คํฐ๋ฅผ ์ ์ดํ๊ธฐ ์ํด ret2csu ๋ฐ ret2vdso์์ ๊ฐ์ ฏ ์ฌ์ฉ.
libc๋ฅผ ํตํด
- Ret2lib: **
libc**์์ **system**๊ณผ ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํจ์๋ฅผ ํธ์ถํ๋ ๋ฐ ์ ์ฉํ๋ฉฐ, ์ผ๋ถ ์ค๋น๋ ์ธ์(์:'/bin/sh')๊ฐ ํ์ํฉ๋๋ค. ํธ์ถํ๋ ค๋ ํจ์๊ฐ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ก๋ํด์ผ ํฉ๋๋ค(์ผ๋ฐ์ ์ผ๋ก libc). - ์ ์ ์ผ๋ก ์ปดํ์ผ๋๊ณ PIE๊ฐ ์๋ ๊ฒฝ์ฐ,
system๋ฐ/bin/sh์ ์ฃผ์๋ ๋ณ๊ฒฝ๋์ง ์์ผ๋ฏ๋ก ์ ์ ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. - ASLR ์์ด ๋ฐ ๋ก๋๋ libc ๋ฒ์ ์ ์๊ณ ์๋ ๊ฒฝ์ฐ,
system๋ฐ/bin/sh์ ์ฃผ์๋ ๋ณ๊ฒฝ๋์ง ์์ผ๋ฏ๋ก ์ ์ ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. - ASLR๊ฐ ์์ง๋ง PIE๊ฐ ์๋ ๊ฒฝ์ฐ, libc๋ฅผ ์๊ณ ์๊ณ ๋ฐ์ด๋๋ฆฌ๊ฐ
systemํจ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, **GOT์ system ์ฃผ์๋กret**ํ๊ณ/bin/sh์ ์ฃผ์๋ฅผ ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌํ ์ ์์ต๋๋ค(์ด๋ฅผ ์์๋ด์ผ ํฉ๋๋ค). - ASLR๊ฐ ์์ง๋ง PIE๊ฐ ์๋ ๊ฒฝ์ฐ, libc๋ฅผ ์๊ณ ์๊ณ ๋ฐ์ด๋๋ฆฌ๊ฐ
system์ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ: ret2dlresolve๋ฅผ ์ฌ์ฉํ์ฌsystem์ ์ฃผ์๋ฅผ ํด๊ฒฐํ๊ณ ํธ์ถํฉ๋๋ค.- ASLR๋ฅผ ์ฐํํ๊ณ ๋ฉ๋ชจ๋ฆฌ์์
system๋ฐ'/bin/sh'์ ์ฃผ์๋ฅผ ๊ณ์ฐํฉ๋๋ค. - ASLR ๋ฐ PIE๊ฐ ํ์ฑํ๋์ด ์๊ณ libc๋ฅผ ๋ชจ๋ฅด๋ ๊ฒฝ์ฐ:
- PIE๋ฅผ ์ฐํํด์ผ ํฉ๋๋ค.
- ์ฌ์ฉ๋
libc๋ฒ์ ์ ์ฐพ์์ผ ํฉ๋๋ค(๋ช ๊ฐ์ ํจ์ ์ฃผ์๋ฅผ ์ ์ถ). - ๊ณ์ํ๊ธฐ ์ํด ASLR์ด ์๋ ์ด์ ์๋๋ฆฌ์ค๋ฅผ ํ์ธํฉ๋๋ค.
EBP/RBP๋ฅผ ํตํด
- ์คํ ํผ๋ฒ / EBP2Ret / EBP ์ฒด์ด๋: ์คํ์ ์ ์ฅ๋ EBP๋ฅผ ํตํด ESP๋ฅผ ์ ์ดํ์ฌ RET๋ฅผ ์ ์ดํฉ๋๋ค.
- ์คํ ๋ฐ์ด ์ ์คํ ์ค๋ฒํ๋ก์ฐ์ ์ ์ฉํฉ๋๋ค.
- EIP๋ฅผ ์ ์ดํ๋ ๋์ฒด ๋ฐฉ๋ฒ์ผ๋ก ์ ์ฉํ๋ฉฐ, EIP๋ฅผ ์ ์ฉํ์ฌ ๋ฉ๋ชจ๋ฆฌ์ ํ์ด๋ก๋๋ฅผ ๊ตฌ์ฑํ ๋ค์ EBP๋ฅผ ํตํด ์ ํํฉ๋๋ค.
๊ธฐํ
- ํฌ์ธํฐ ๋ฆฌ๋๋ ์ : ์คํ์ ํธ์ถ๋ ํจ์์ ๋ํ ํฌ์ธํฐ ๋๋ ํฅ๋ฏธ๋ก์ด ํจ์(system ๋๋ printf)์์ ์ฌ์ฉ๋ ๋ฌธ์์ด์ ๋ํ ํฌ์ธํฐ๊ฐ ํฌํจ๋ ๊ฒฝ์ฐ ํด๋น ์ฃผ์๋ฅผ ๋ฎ์ด์ธ ์ ์์ต๋๋ค.
- ASLR ๋๋ PIE๊ฐ ์ฃผ์์ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค.
- ์ด๊ธฐํ๋์ง ์์ ๋ณ์: ๋น์ ์ ๊ฒฐ์ฝ ์ ์ ์์ต๋๋ค.
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์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.


