๐โSystem_Study/๐โDreamhack_Hacking
์ ๋ด์ฉ์ ํ์๋ก ์์ง๋ฅผ ํด์ผ์ง๋ง ์ด ๋ฌธ์ ๋ฅผ ์ดํดํ ์ ์์ผ๋ฉฐ, ์ค๊ณ ๋ฐ ๊ธฐ๋ณธ์ด ๋ฉ๋ต๋๋ค. Tcache Poisoning ๋ฌธ์ ํ์ด Full RELRO์ NX๊ฐ ๊ฑธ๋ ค์๋ ๋ชจ์ต์
๋๋ค. ์ฆ, hook overwrite ๊ณต๊ฒฉ์ ๊ณ ๋ คํ ๋ฒ ํ๊ตฐ์ Tcache Poisoning์ ํ์ฉ์ผ๋ก tcache๋ฅผ ์กฐ์ํด ์์ ์ฃผ์์ ์ฒญํฌ๋ฅผ ํ ๋น์ํค๋ ๊ณต๊ฒฉ ๊ธฐ๋ฒ์
๋๋ค. ์ค๋ณต์ํจ ๋ฐฉ๋ฒ์ผ๋ก ์์์ ์ฌ์ฉํ ๋ฌ๋งํฌ์ธํฐ๋ ์ ๋ฐฉ์์ ํ์ฉ์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค.๋ฐ๋ผ์ ๊ณต๊ฒฉ์๋ ์ค๋ณต์ผ๋ก ์ฐ๊ฒฐ๋(FIFO ํ์์ ๋๋ธ ์ฐ๊ฒฐ ๋ฆฌ์คํธํ์..๊ทธ๋์ ๊ณต๋ถํ๋ผ๊ณ ํ์๊น์?) frist /bin ๋ฑ์ด ์์ ๊ฐ์ ํ์์ ์ฒญํฌ๊ฐ ์์ ๊ฐ์ ํ์์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค.๋ฐ๋ผ์ ์ค๋ณต์ผ๋ก ์ฐ๊ฒฐ๋ ์ฒญํฌ๋ฅผ ์ฌํ ๋น ์, ๊ทธ ์ฒญํฌ๋ ํ ๋น๋ ์ฒญํฌ์ด๋ฉด์ ๋์์ ํด์ ๋ ์ฒญํฌ..
๐โSystem_Study/๐โDreamhack_Hacking
RELRO(RELocation Read-Only) ๋ฑ์ฅ๋ฐฐ๊ฒฝ - ELF๋ GOT๋ฅผ ํ์ฉํด ๋ฐ๋ณต๋๋ lib์ ํจ์์ ํธ์ถ ๋น์ฉ ↓ - GOT์ ๊ฐ์ ์ฑ์ฐ๋ ๋ฐฉ์์ ์ฌ๋ฌ๊ฐ์ง ๊ทธ์ค์ ์ฐ๋ฆฐ Lazy Binding์ผ๋ก ์ทจ์ฝ์ ์ฐํ : ํจ์๊ฐ ์ฒ์ ํธ์ถ๋ ๋ ํจ์์ ์ฃผ์๋ฅผ ๊ตฌํ๊ณ , ์ด๋ฅผ GOT์ ๋ ๋ฐฉ์ - Lazy binding ํ๋ ๋ฐ์ด๋๋ฆฌ๋ ์คํ ์ค ๊ณ์ ์
๋ฐ์ดํธ๋ฅผ ํด์ผํด GOT์ ์ฐ๊ธฐ โ : RTL, Chain RTL, ROP๋ก ์ด์ด์ง ๋ํ ELF์ ๋ฐ์ดํฐ ์ธ๊ทธ๋จผํธ์๋ ํ๋ก์ธ์ค์ ์ด๊ธฐํ ๋ฐ ์ข
๋ฃ์ ๊ด๋ จ๋ .init_array .fini_array ๋ก์จ, ์ด ์์ญ๋ค์ ํ๋ก์ธ์ค์ ์์๊ณผ ์ข
๋ฃ์ ์คํํ ํจ์๋ค์ ์ฃผ์ ์ ์ฅ ์ฌ๊ธฐ์ ๊ณต๊ฒฉ์๊ฐ ์์๋ก ๊ฐ์ ์ธ ์ ์๋ค๋ฉด, ํ๋ก์ธ์ค์ ์คํ ํ๋ฆ์ด ์กฐ์๋ ์ ์์ต๋๋ค. ์ด๋ฅผ ..
๐โSystem_Study/๐โDreamhack_Hacking
basic_exploitation_003 ๋ฌธ์ ํ์ด ๋ x86..์ด๋ค์ ์ด๊ฑฐ ์ด์ ์ต์ํด์ง๊ฒ ๋ค ์ข๋ค NX์ Partial RELRO.. ๊ทธ๋ฌ๋ FSB๋ก ํ์ด์ผํ๋ ๋ฌธ์ ๋๊น C์ฝ๋๋ฅผ ๋ณด์๋ฉด head_buf๊ฐ ์ ์ ํ๊ฒ ret๋ถ๋ถ์ get_shell()์ฃผ์๋ก ๋ณ๊ฒฝํ๋ฉด ๋ ๊ฑฐ ๊ฐ์๋ฐ.. sprintf ๋ ๊ธธ์ด๋ฅผ ๋ฐ๋ก ์ง์ ํ์ง ์๊ธฐ ๋๋ฌธ์ bof๊ฐ ๋ฐ์ํ๋ค. BOF๋ฌธ์ ์ด์ง๋ง.. ์
๋ ฅํ ์ ์๋ ๊ธ์ง ์๊ฐ read๋ก 0x80์ผ๋ก ์ ํ ๋์ด ์์ต๋๋ค ์ ํฌ๋ 0x90์ ๋๊ฒจ์ผํ๋๋ฐ.. Exploit ์ค๊ณ ret ์ฃผ์๋ฅผ ํ์
ํ๊ณ %Nc๋ก ret์ get_shell()์ฃผ์๋ฅผ ์
๋ ฅํ๋ฉด ๋๋๊ฒ ๋ค์ Exploit stack_buf์ ์ฃผ์๋ sprintf๋ก ๋๋๊น ์์ ๊ฐ์ด ํ์ธ๋ ๋ฉ๋๋ค heap_buf์ ์ฃผ์๋ read์์ ํ..
๐โSystem_Study/๐โDreamhack_Hacking
hook ๋ฌธ์ ํ์ด ์ด๋ฒ์๋ hook overwirte์ ๋ฌธ์ ๋ก ์ด์ ๋ฌธ์ ์์ ๋ดค๋ ํ์๊ณผ๋ ์ฝ๊ฐ ๋ค๋ฅด๋ค์ ์๋ฌด๋๋ one_gadget์ฒ๋ผ์ ๋ชปํ๋ ๋ฏ ์ถ๋ค์ PIE๊ฐ ์กด์ฌํ์ง ์๊ณ RELRO๊ฐ FULL.. ์๋นํ ํ๋ค๊ฒ ๋ค์ PIE๊ฐ ์ ์ฉ X์ธ๊ฒ์ ๋ดค์ ๋ code ์์ญ์์ ์ฃผ์๋ฅผ ํ์ฉํ ๋ฏ? ๊ทผ๋ฐ one_gadget์ผ๋ก ํด๋ ๋ ๊ฑฐ ๊ฐ๊ธดํ๋ฐ ์ด๋ฆ์ ๋ฐ๋ผ์ ํด๋ด
์๋ค log์ ํ์
์ ํฌ์ธํฐ ํ๋์ size_t ํ์
์ ๋ณ์ ์ ์ธ์ด ๋์ด์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ stdout.. ์ฃผ์๋ฅผ ์ถ๋ ฅํ๋๋ฐ ๋ฐ์ ptr์ด ๋๋ธํฌ์ธํฐ์ธ์ ์ ๋ฏธ๋ฃจ์ด๋ณด์์ ๋.. ์์ ๋ดค๋ ๋๋ธํฌ์ธํฐ ptr๋ถ๋ถ์์ ๋ฐฐ์ด์ผ๋ก ์ ์ฉ๋๋ฏ๋ก ptr[0]์ ๋ค์ด๊ฐ ๊ฐ์ ์ฐธ์กฐํ๋ ๊ฐ์ ptr[1]์ ๋์
ํ ๋ชจ์ต์ธ ๊ฒ ๊ฐ์ต๋๋ค ์ฆ, **ptr = ptr[1]์ธ ๋๋..
๐โSystem_Study/๐โDreamhack_Hacking
fho ๋ฌธ์ ํ์ด ๋ชจ๋ ๋ณดํธ ๊ธฐ๋ฒ์ด ์ ์ฉ๋์ด ์๋ค์.. ์์ฐ ๋ค์ด๊ฐ๊ธฐ ์ ์ ์์๋๋ฉด ์ข์ ์ฉ์ด ํค์๋ Hooking: ์ด๋ค ํจ์, ํ๋ก๊ทธ๋จ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์คํํ๋ ค ํ ๋ ์ด๋ฅผ ๊ฐ๋ก์ฑ์ ๋ค๋ฅธ ์ฝ๋๊ฐ ์คํ๋๊ฒ ํ๋ ๊ธฐ๋ฒ. ๋๋ฒ๊น
, ๋ชจ๋ํฐ๋ง, ํธ๋ ์ด์ฑ์ ์ฌ์ฉ๋ ์ ์์ผ๋ฉฐ, ๊ณต๊ฒฉ์์ ์ํด ํค๋ก๊น
์ด๋ ๋ฃจํธํท ์ ์์ ์ฌ์ฉ๋ ์ ์์. Hook Overwrite: ๋ฐ์ด๋๋ฆฌ์ ์กด์ฌํ๋ ํ
์ ๋ฎ์ด์จ์ ํน์ ํจ์๋ฅผ ํธ์ถํ ๋, ์
์์ ์ธ ์ฝ๋๊ฐ ์คํ๋๊ฒ ํ๋ ๊ณต๊ฒฉ ๊ธฐ๋ฒ. ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ๊ด๋ จ๋ malloc, free, realloc๋ฑ์ ํจ์๊ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฐ๊ธฐ ๊ฐ๋ฅํ ํ
ํฌ์ธํฐ๋ฅผ ๊ฐ์ง๊ณ ์์ด์ ๊ณต๊ฒฉ์ ์ฌ์ฉ๋ ์ ์์. Full RELRO๋ฅผ ์ฐํํ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์. one_gadget: ์คํํ๋ฉด ์
ธ์ด ํ๋๋๋ ์ฝ๋ ๋ญ์น...
๐โSystem_Study/๐โDreamhack_Hacking
basic_rop_x86 ๋ฌธ์ ํ์ด NX์ Partial RELRO๊ฐ ๊ฑธ๋ ค์๋ค์ ๊ทธ๋ฆฌ๊ณ ์ฝ๋๋ฅผ ์ ๊ทผํด๋ณด๋ฉด Canary๋ ์ ์ฉ๋์ด ์์ง ์๋ค์ ๋คํ์ด์์ ์ฝ๋๋ฅผ ๋ณด์๋ฉด ์ด์ ๋ด์ฉ์ด๋ ์ ์ฌํ ๋ฐฉ๋ฒ์ด๋ค์ read()ํจ์์ bof๊ฐ ๋ฐ์ํ๋๊น์ ๊ทธ๋ผ ์ค์ ๋ก ์ด๋ค ์์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น๋์๋์ง๋ ํ์ธํด๋ด
์๋ค. ์ค์ ๋ก๋ 0x44๋ก ์กํ์๋ค์ Exploit ์ค๊ณ ๊ทธ๋ผ ์ ํฌ๋ ์ด์ ์ ํ๋ ๊ฑฐ์ฒ๋ผ system()ํจ์์ ์ฃผ์๋ฅผ ์์๋ด์ด ์ต์ข
์ ์ผ๋ก system("/bin/sh") ํธ์ถ! ๊ทธ๋ฌ๊ธฐ ์ํด read()ํจ์์ write()๋ฅผ ์ฌ์ฉํ ๊ฒ์
๋๋ค. ์ค์ ์ฃผ์๋ฅผ leakํ๋ ๋ฐฉ์์ ์ด์ ์ ๋ฐฐ์ ์ผ๋ฏ๋ก ์๋ตํ๊ฒ ์ต๋๋ค. ๊ทธ ๋ค์์ผ๋ก ์ ํฌ๋ rop chain์ ์ด์ฉํด overwirte ํด์ฃผ๊ณ ์ด๋ฒ์ bss ์์ญ์ ํ์ฉํ์ฌ ์ ๊ทผํ ๊ฑฐ์..
๐โSystem_Study/๐โDreamhack_Hacking
out_of_bound ๋ฌธ์ ํ์ด ๋ฐฐ์ด์ ์ ํด์ง ์ธ๋ฑ์ค๋ฅผ ๋๋ Out of bound ๋ฌธ์ ๋ก์จ x86..์ผ๋ก Canary์ NX๊ฐ ์กด์ฌํ๋ค์ name[16]์ command์ ๋ฌธ์ ๋ฐฐ์ด์ ๋ด์ ๋ฐฐ์ด์ด ์กด์ฌํฉ๋๋ค. main์ด ์ค์ฌ์ด๋๊น ํ์ธํด๋ณด์๋ฉด name์ ์
๋ ฅ ๋ฐ๋๋ฐ ํ์ idx๋ฅผ ์
๋ ฅ ํ system์ command์ ๋ฐฐ์ด์ ๋ฃ์ด์ฃผ๋ ๋ชจ์ต์ ๋ณด๋๊น ํ์คํ oob ๋ฌธ์ ์ธ ๋ฏํ๋ค์ ๊ฒฐ๊ตญ ์ฐ๋ฆฌ๊ฐ ์คํํ ํจ์๋ system("/bin/sh")์ด๋ฏ๋ก command์๋ "/bin/sh"๊ฐ ์์ผ๋ฏ๋ก idx์ ๊ฐ์ ํ์ฉํด command์ 10์ ๋์ด์ ์ฝ๋๋ฅผ ์๋ํ๋ค๋ ์ ์
๋๋ค Exploit ์ค๊ณ name ๋ณ์๊ฐ ์ค์ ํ command์ ๋ณ์๊ฐ ์ค์ ๋๋ฏ๋ก name๋ณ์๊ฐ ์คํ์ ์์น๋ฅผ ํ์ธํด๋ด์ ์คํ์ ์์ด๊ธฐ ๋๋ฌธ์..