๐โSystem_Study/๐โDreamhack_Hacking
SigReturn-Oriented Programming ์ด๊ฑด.. gadget??์ด ์๊ณ signal์ ํ์ฉํ sigreturn์ด ์กด์ฌํ๋ค์ Partial RELRO๋ก ROP ๋๋ ๋์ฃ gadget(NX ์ฐํ)ํจ์๋ฅผ ์ฌ์ฉํ์ฌ read๋ 1024byte๋งํผ ๋ฐ๊ธฐ์ bof ์์ค์ฝ์ ํธ์ถ ๋ ์ง์คํฐ ์กฐ์ ์
ธ ํ๋์ผ๋ก ๊ฐ ์ ์์ต๋๋ค. ์ต์ค ์ค๊ณ sigreturn ํธ์ถ SROP๋ฅผ ํ๊ธฐ ์ํด sigreturn ์์ค์ฝ์ ํธ์ถํด์ผ์ฃ ์์ ์์ ์์ค์ฝ์ ํธ์ถํ ์ ์๋๋ก gadget ํจ์๋ฅผ ์ ๊ณตํฉ๋๋ค. ํด๋น ํจ์ ๋ด๋ถ ์ฝ๋ ๊ฐ์ ฏ ์ฃผ์๋ฅผ ์์๋ด๊ณ ์์ค์ฝ ๋ฒํธ(sig_id?)์ syscall์ ํตํด sigreturn์ ํธ์ถํฉ๋๋ค. execve ํธ์ถ sigreturn์ ์คํ ์์ญ์ ๊ฐ์ ๋ ์ง์คํฐ๋ก ๋ณต์ฌํฉ๋๋ค. ๋ฐ๋ผ์ 1024 ..
๐โSystem_Study/๐โDreamhack_Hacking
Exploit Tech: __environ ํ๋ก๊ทธ๋จ์์ ๋ฆฌํด ๋ช
๋ น์ด๋ฅผ ์ํํ๋ฉด lib์ ์ธ์์์ ๋ค์ํ ํจ์ ํธ์ถ! HTML ์ฝ์
๋ฏธ๋ฆฌ๋ณด๊ธฐํ ์ ์๋ ์์ค ํ๋ก์ธ์ค๋ ํ๊ฒฝ ๋ณ์ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ , ํ์ํ ๋๋ง๋ค ๋ถ๋ฌ์ ์ฌ์ฉํฉ๋๋ค. ์ด๋ฒ์ lib ํจ์์์ ์ฐธ์กฐํ๋ ํ๊ฒฝ ๋ณ์ ํฌ์ธํฐ์ ๊ด๋ จ๋ ๊ณต๊ฒฉ์ ์ค์ตํฉ์๋ค. /etc/passwd ํ์ผ์ ๋ด์ฉ์ ์ฝ๊ณ ์คํ ๋ฒํผ์ ์ ์ฅํ๋๊ตฐ์ ๋ฉ์ธ ํจ์์์๋ stdout ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฃผ์๋ฅผ ์ถ๋ ฅํ๊ณ , ๋ฐ๋ณตํด ์์ ์ฃผ์์ ์๋ ๊ฐ์ ์ฝ์ ์ ์๋ ์ทจ์ฝ์ ์ด ์กด์ฌํฉ๋๋ค. ํ๊ฒฝ ๋ณ์ ๋ชจ๋ ๋ณดํธ๊ธฐ๋ฒ์ด ์กด์ฌํ๊ธฐ์ ๋ชจ๋ OS๊ฐ ์ฌ์ฉํ๋ ํ๊ฒฝ๋ณ์(environment ariable)๋ ๋งค๋ฒ ๋ณํ ์ ์๋ ๋์ ์ธ ๊ฐ๋ค์ ๋ชจ์์ผ๋ก, ์์คํ
์ ์ ๋ณด๋ฅผ ๊ฐ๊ณ ์๋ ๋ณ์์
๋๋ค. ์ด๋ ์ฌ์ฉ์๊ฐ ์ง์ ์ถ๊ฐ..
๐โSystem_Study/๐โDreamhack_Hacking
๋ค์ด๊ฐ๋ฉฐ.. ๋ฐ์ด๋๋ฆฌ ๋ณดํธ ๊ธฐ๋ฒ ๊ฐ๋
์์ฒด๊ฐ ์์ ๋์๋ ์
ธ์ฝ๋๋ฅผ ํตํด ๋ค์ํ ์์คํ
์ฝ์ ํธ์ถํด ์์ ๋ช
๋ น์ด๋ฅผ ์คํํ์์ต๋๋ค. ์ด ๊ธฐ๋ฒ์ ์ด์ฉํ ์ํ์ด ๊ณ์๋์ ์
ธ์ฝ๋์ ์คํ ๋ฐฉ์ง๋ฅผ ์ํ NX ๋ฑ์ฅ ๊ทธ๋ฌ๋ ์ผ๋ง๊ฐ์ง ์์ ์
ธ์ฝ๋ค๋ฅด ์คํํ์ง ์๊ณ lib ํจ์๋ฅผ ํธ์ถํด ๋ณดํธ๊ธฐ๋ฒ์ ์ฐํํ๋ RTL! ํ๋ก๊ทธ๋จ์ ์ฝ๋ฅผ ์ฌํ์ฉํด ์์ ํจ์๋ฅผ ์ฐ์ํด ํธ์ถํ ์ ์๋ ROP๋ ๋ฑ์ฅํ์์ต๋๋ค. ์๋ก ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์์ ๊ฐ์ ์ข
๋ฅ์ ์ทจ์ฝ์ ์ด ์๋คํด๋ ๊ณต๊ฒฉ ๋์์ ๋ณดํธ ๊ธฐ๋ฒ ๋๋ ์คํ ์ฝ๋์ ๋ฐ๋ผ ๊ณต๊ฒฉํ๋ ๋ฐฉ๋ฒ์ด ๋ค๋ฅด๊ธฐ์ ์ด๋ฅผ ๊ณ ๋ คํ์ฌ ๊ณ์ ๋ณดํธ๊ธฐ๋ฒ์ด ์ถ๊ฐ๋ฉ๋๋ค ์ด๋ฒ์ 2014๋
๋ฐํํ SROP๋ฅผ ์์๋ณด๊ธฐ ์ํด ์๊ทธ๋(Signal)์ ์์๋ด
์๋ค. Signal [๋ฆฌ๋
์ค / ์ ๋์ค ] ์๊ทธ๋์ด๋? ์๊ทธ๋(SIGNAL) ์ข
๋ฅ, ์..
๐โSystem_Study/๐โDreamhack_Hacking
Master Canary ๋ง์คํฐ ์นด๋๋ฆฌ๋ฅผ ์คํ ๋ฒํผ์ ํ์ธํ๋ ๋ฒ! HTML ์ฝ์
๋ฏธ๋ฆฌ๋ณด๊ธฐํ ์ ์๋ ์์ค ์ ์ฝ๋๊ฐ ํต์ฌ์ธ๋ฏ ์ถ์ผ๋ฉฐ, ๋ณด์๋ฉด.. 1๋ฒ ์ต์
์ผ๋ก ์ฐ๋ ๋๋ฅผ ์์ฑ/2๋ฒ์ size๋ฅผ ์
๋ ฅ ํด๋น ์
๋ ฅ size๋งํผ ์
๋ ฅ์ ๋ฐ๋ค์ ์ฆ, bof๊ฐ ๋ฐ์๋๊ฒ ์ฃ ? ๋ง์ง๋ง์ read ํจ์๋ก 1024๋ฐ์ดํธ๋งํผ ์
๋ ฅ ๋ฐ๊ธฐ Master canary๋ฅผ ์ด์ฉํ ๊ฒ์ด๊ธฐ์(Partial RELRO, Canary)๋ฅผ ์ฐํ๊ฐ ๊ฐ๋ฅํฉ๋๋ค. ๋ํ ์์ get_shell()์ ํจ์๊ฐ ์กด์ฌํ๋ฏ๋ก NX๋ ์ฐํ๊ฐ ๊ฐ๋ฅํฉ๋๋ค. ๋ง์คํฐ ์นด๋๋ฆฌ๋ ๋ก๋์์ ํ ๋นํ TLS ์์ญ์ ์กด์ฌํ๊ณ , ํด๋น ํ์ด์ง๋ RW-๋ก ์กด์ฌํฉ๋๋ค. ํด๋น ์์ญ์ ์ดํดํ๊ธฐ ์ํด์๋ ์๋ ๋งํฌ์ ๋ํ์ฌ ์์ธํ ์ ํ์๊ฐ ์์ต๋๋ค. ๋์ถฉ ์๋๋ฆฌ์ค๋ฅผ ์ค๊ณํ์๋ฉด.. 1๋ฒ์ผ๋ก ..
๐โSystem_Study/๐โDreamhack_Hacking
Master Canary ๋ง์คํฐ ์นด๋๋ฆฌ๋ฅผ ์คํ ๋ฒํผ์ ํ์ธํ๋ ๋ฒ! HTML ์ฝ์
๋ฏธ๋ฆฌ๋ณด๊ธฐํ ์ ์๋ ์์ค ๋ง์คํฐ ์นด๋๋ฆฌ๋ ๋ก๋์์ ํ ๋นํ TLS ์์ญ์ ์กด์ฌํ๊ณ , ํด๋น ํ์ด์ง๋ RW-๋ก ์กด์ฌํฉ๋๋ค. ํด๋น ์์ญ์ ์ดํดํ๊ธฐ ์ํด์๋ ์๋ ๋งํฌ์ ๋ํ์ฌ ์์ธํ ์ ํ์๊ฐ ์์ต๋๋ค. Background: Master Canary Stack Smashing Protector(SSP)๋ BOF๋ก๋ถํฐ ret ๋ณดํธ ๊ธฐ๋ฒ์ผ๋ก์จ, ์คํ ๋ฒํผ๊ฐ ์กด์ฌํ๋ ํจ์ ๋ด๋ถ์์ ์์๋ก ์์ฑ๋ ๊ฐ์ ๋ฒํผ ๋ง์ง๋ง์ ์ฝ์
ํฉ๋๋ค. SSP ๋ณดํธ ๊ธฐ๋ฒ์ ๋ฐฐ์ธ ๋ ์คํ ์นด๋๋ฆฌ์ ๊ฐ์ด ์์นํ dystopia050119.tistory.com ๋ง์คํฐ ์นด๋๋ฆฌ๋ main ํจ์๊ฐ ํธ์ถ์ ์ ๋๋ค์ ์นด๋๋ฆฌ๋ฅผ ์ฐ๋ ๋๋ง๋ค ์ ์ญ ๋ณ์๋ก ์ฌ์ฉ๋๋ TLS์ ์ ์ฅ ์ด๋..
๐โ๐ Expansion_Society/๐โMy_History
- ํ๋ ์ธ๋ก ์ ์ ๊ธฐ๋๋ ๋ฌธ์ ์ ๊ณ ์ฐฐ - ๊ฐ์ 2022๋
MBC ์ ์ฉ๊ธฐ ํ์น ๋ถํ์ ์์ ๊ฒฉ์ธ 20๋ ๋ํต๋ น์ ๋ฏธ๊ตญ ์๋ฐฉ ์ค ๋ถ์ด์ง ๋ฐ์ธ์ ์์ ์ด์๋ ์ ๋ถ ์ธก์ ์
์์ ์ผ๋ก ์๋ง์ ๋ฌ์ ํ๋ฏธ ๊ด๊ณ๋ฅผ ํผ์์์ผฐ๋ค๋ ์ํน์ฒ๋ผ ์ ๋ถ ์ธก์ ํธํ๋ณด๋๋ ์ณ์ ๋ฏธ๋์ด์ ๋ํ ์์ ์ ๊ณผ๊ฑฐ๋ถํฐ ๊พธ์คํ ๋
ผ์๋์ด ์๋ค. ์ฆ '์ธ๋ก ์ ์์ง' ์ด ๋ฌด์์ธ๊ฐ? ๋ค์ ํ ๋ฒ ๋ณธ๊ฒฉ์ ์ธ ๋
ผ์๊ฐ ํ์ฑํ๋๋ค๊ณ ๋ณผ ์ ์๋ค. ์ฐ๋ฆฌ์๊ฒ ์ ์ฉํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ์ธ๋ก ์ ๊ฒฝ๊ณํ๊ณ ๋นํ์ ์ผ๋ก ์์ฉํ๋ผ๋ ์ง์ ๋ ๋ง๋ค. ๋์งํธ ๋ฆฌํฐ๋ฌ์์ ์ค์์ฑ์ด ๋ฌด์์ธ์ง ์ด ๊ธ์ ํตํด ์กฐ๊ธ ๋ ์์๋ณด๊ณ ์ ํ๋ค. ๋ชฉ์ฐจ ์ธ๋ก ์ ๊ธฐ๋ฅ๊ณผ ๊ฐ์น ๊ฐ๊ด์ฑ ์ ํ ์ง๋ฐฐ์ ์ธ ์จ๋ผ์ธ ํ๋ซํผ ํ์์ ์ฌ๊ณ ํ์ฐ ์ธ๋ก ์ ๊ธฐ๋ฅ๊ณผ ๊ฐ์น ํฌํฐ๋ฆฌ์ฆ ๋
ผ์ ์ธ๋ก ์ ๊ณ ๋๋ถํฐ ์ด์ด์ ธ ์จ ์ค์ํ ์ฌํ ๋ด ์ ๋ณด ๊ณต..
๐โSystem_Study/๐โDreamhack_Hacking
Stack Smashing Protector(SSP)๋ BOF๋ก๋ถํฐ ret ๋ณดํธ ๊ธฐ๋ฒ์ผ๋ก์จ, ์คํ ๋ฒํผ๊ฐ ์กด์ฌํ๋ ํจ์ ๋ด๋ถ์์ ์์๋ก ์์ฑ๋ ๊ฐ์ ๋ฒํผ ๋ง์ง๋ง์ ์ฝ์
ํฉ๋๋ค. SSP ๋ณดํธ ๊ธฐ๋ฒ์ ๋ฐฐ์ธ ๋ ์คํ ์นด๋๋ฆฌ์ ๊ฐ์ด ์์นํ Thread Local Storage(TLS)์ ๋ํ ์์ธํ ๋ด
์๋ค. Thread Local Storage ์ค๋ ๋์ ์ ์ฅ ๊ณต๊ฐ ELF ๋ฐ์ด๋๋ฆฌ๋ฅผ ์ดํด๋ณด๋ฉด, ๊ฐ ๋ชฉ์ ์ ๊ฐ์ง ์น์
์์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. ์ฝ๋๋ฅผ ์คํ(.text), ์ด๊ธฐํ X ์ ์ญ ๋ณ์(.data) ๋ฑ์ด ์๊ฒ ์ต๋๋ค. ์ด์ ๋ฌ๋ฆฌ TLS ์์ญ์ ์ค๋ ๋์ ์ ์ญ ๋ณ์๋ฅผ ์ ์ฅํ๊ธฐ ์ํ ๊ณต๊ฐ์ผ๋ก, ๋ก๋(Loader)์ ์ํด ํ ๋น๋จ ๋ก๋์์ TLS ์ฌ์ญ์ ํ ๋นํ๊ณ ์ด๊ธฐํํ๋ ํจ์์ธ init_tls ํจ์์
๋๋ค. ์ฝ๋๋ฅผ ์ดํด๋ณด๋ฉด,..