๋๋๋์ ํดํน ์ง์
์ฅ๋ฒฝ, ํ ๋ฎ์ถฐ๋๋ ค์!
ํดํน๋ํ(CTF) ์ถ์ ์ด ์ฒ์์ด์๋ผ๊ตฌ์?
ํ๋์ ์ทจ์ฝ์ ์ด๋ก (Buffer OverFlow)์ ๊ธฐ์ด ๋ฌธ์ ๋ฅผ โ์๋ฒฝํ๊ฒโ ์ดํดํ๊ณ ํ์ด๋ด๊ธฐ
ํดํน๋ํ(CTF)์ ์ถ์ ๋๋ ์์คํ
ํดํน(Pwnable) ๋ฌธ์ ๋ฅผ ํธ๋ ๋ฐ ํ์ํ ๋ชจ๋ ์ง์ ์ ๋ฆฌ
ํดํน๋ํ(CTF)์ ๋ฌธ์ ์ํฉ๊ณผ ํ์ด์ผ ํ๋ ๋ฌธ์ ์ดํดํ๊ธฐ
์์ฒด ์ด์ ์ค์ธ Wargame ์ฌ์ดํธ๋ฅผ ํตํด
์ค์ ํดํน๋ํ ํ๊ฒฝ ๊ทธ๋๋ก 24์๊ฐ ์ค์ตํ ์ ์์ด์.
๋ฌด๋ฃ ์คํฌ๋ฆฝํธ & ๋ธ๋ก๊ทธ ํฌ์คํ
์ ๊ณต โ
๊ฐ์์ ๋ชจ๋ ๋ด์ฉ์ ๋ด์ ์คํฌ๋ฆฝํธ์ ๋ธ๋ก๊ทธ ํฌ์คํ
์ ์ ๊ณตํด๋๋ ค์.
- ๋ฌด๋ฃ ์ ์์ฑ
: ๋งํฌ
- ๋ฌด๋ฃ ๊ฐ์์๋ฃ : ์ฒซ๋ฒ์งธ ๊ฐ์์๋ฃ์์ ๋ค์ด(pdf)
- ๋ฌด๋ฃ ์คํฌ๋ฆฝํธ : ๋งค ์์
๊ฐ์๋
ธํธ ํ์ธ
ํ๊ธฐ ๊ฑฑ์ ์์ด, ํธ์ํ ์์
๊ณผ ์ค์ต์๋ง ์ง์คํ์๋ฉด ๋ฉ๋๋ค.
๋ฑ ํ๋์ ๋ฌธ์ ๋ง, ์๋ฒฝํ๊ฒ ํ์ด์.
ํด์ปค๋ก์์ ๋ญ๋ง๊ณผ ๊ฟ์ ๊ฐ์ง๊ณ ์์ง๋ง ๋์ ์ง์
์ฅ๋ฒฝ์ ์ข์ ํ ๋ถ๋ค์ ์ ์๊ณ ์์ต๋๋ค. ํดํน์ ์ ๋ง ์ฒ์ ์ ํ ์ฌ๋๋ ์ค์ค๋ก ๋ฌธ์ ์ ๋ชจ๋ ๊ณผ์ ์ ์ฒดํํ๊ณ ํ์ด๋ผ ์ ์๋๋ก ํ๋ ๊ฒ์ด ์ด๋ฒ ๊ฐ์์ ํน์ง์
๋๋ค.
ํดํน๋ํ(CTF)๋ฅผ ์ฒ์ ๋์ ํด๋ณด๊ณ ์ถ์ ํดํน ๊ฟ๋๋ฌด
์์คํ
ํดํน(Pwnable)๊ณผ ๊ณต๊ฒฉ(Exploitation)์ ๋ํด ํ์ตํ๊ณ ์ถ์ ๋ถ
๋ณด์์ ๊ด์ฌ ์์ง๋ง ๋์ ์ง์
์ฅ๋ฒฝ์ ์ด๋ ค์์ ๊ฒช์๋ ๋ถ
โํ๋์ ๋ฌธ์ ๋ง ํผ๋ค๊ณ ์?โ
๋ค. ๋ฑ ๋ฌธ์ ํ๋๋ง ํ๋๋ค. ํ ๋ฌธ์ ๋ฅผ ํ ์ ์๋ค๋ ๊ฑด ์ด์ ๊ด๋ จ๋ ์์ญ ์๋ฐฑ ๊ฐ์ ๋ฌธ์ ๋ฅผ ํ ์ ์๋ค๋ ๊ฑธ ์๋ฏธํฉ๋๋ค. ํดํน ๋ฌธ์ ๋ ๋จ์ ์๊ธฐ ๋ฌธ์ ๊ฐ ์๋๊ธฐ์ ํ๋์ ๋ฌธ์ ๋ผ๋ ์๋ฒฝํ ์ฒดํํ๋ ๊ฒ์ด ์ณ์ ๋ฐฉ๋ฒ์
๋๋ค.
โ์๋ฒฝํ๊ฒ ํผ๋ค๊ณ ์?โ
๋ฑ ํ๋์ ๋ฌธ์ ๋ง ํธ๋ ๋์ C์ธ์ด, ์ปดํจํฐ ๊ตฌ์กฐ, ์ทจ์ฝ์ ์ด๋ก , ์ต์คํ๋ก์ ์ฝ๋ ์์ฑ ๋ฑ ํดํน ๋ฌธ์ ๋ฅผ ํ์ด๋ด๊ธฐ ์ํด ํ์ํ ๋ชจ๋ ์ง์์ ๋ค๋ฃน๋๋ค. ์ด๋ฅผ ํตํด ๊ด๋ จ ์ง์์ ์๋ฒฝํ ์ฒดํํ ์ ์๋๋ก ๋๊ณ ์ดํ ์ฌํ ๋ด์ฉ์ ํ์ตํ ๋์๋ ํํํ ๊ธฐ๋ฐ์ด ๋์ด์ค ๊ฒ์
๋๋ค.
๐ก ์ฒ์ฌ๋ค์ ์ํ ๊ฐ์๊ฐ ์๋, ๋ณด์์ ๊ด์ฌ์๋ ๋ถ๋ค์๊ฒ ์ง์
์ฅ๋ฒฝ์ ๋ฎ์ถฐ์ฃผ๋ ์์
์
๋๋ค.
๋ฐฐ์ฐ๋ ๋ด์ฉ์
ํ์ธํด๋ณด์ธ์.
๋ฆฌ๋
์ค์ ๋์ ๋๋ฒ๊ฑฐ(GDB)๋ฅผ ์ด์ฉํด ํ๋ก๊ทธ๋จ์ ๋ถ์ํฉ๋๋ค.
๋ถ์ํ๋ ํ๋ก๊ทธ๋จ์ ๋ด์ฅ๋ ์ทจ์ฝ์ ์ ์ธ์ธํ ๋ถ์ํฉ๋๋ค.
์ทจ์ฝ์ ๊ณผ ๊ณต๊ฒฉ ๊ธฐ๋ฒ์ ์๋ฆฌ๋ฅผ ์ดํดํ๊ธฐ ์ํด ์ปดํจํฐ ๊ตฌ์กฐ๋ฅผ ํ์ตํฉ๋๋ค.
๊ทธ๋์, ์ด ๊ฐ์์์๋!
- โ
ํดํน๋ํ(CTF) ์์คํ
ํดํน(Pwnable) ๋ฌธ์ ํ์ด๋ฅผ ์งํํฉ๋๋ค.
- โ
๋ฉ๋ชจ๋ฆฌ ๋ณดํธ ๊ธฐ๋ฒ๊ณผ ์ฌํ ํดํน ๊ณต๊ฒฉ ๊ธฐ๋ฒ ํ์ต์ ์ํ ๊ธฐ๋ฐ ์ง์์ ์ต๋ํฉ๋๋ค.
โข KITRI BoB(Best Of the Best) ์ทจ์ฝ์ ๋ถ์ ํธ๋ ์๋ฃ
โข ํ๊ตญ๊ณผํ๊ธฐ์ ์(KAIST) ์ ๋ณด๋ณดํธ๋ํ์ ์์ฌ๊ณผ์
โข ์ค์๋ํ๊ต ์ฐ์
๋ณด์ํ๊ณผ ์กธ์
Q&A ๐ฌ
Q. ํดํน์ ํ๋ ค๋ฉด ๊ผญ C์ธ์ด๋ฅผ ํ ์ค ์์์ผ ํ๋์?
๋ค. ํ์ง๋ง ๋ณธ ๊ฐ์๋ ์ง์ ์ ์ผ๋ก C์ธ์ด๋ฅผ ์ฌ์ฉํ๋ ๋ด์ฉ์ ์์ต๋๋ค. ์ค์ตํ๋ ํ๋ก๊ทธ๋จ์ ์์ค์ฝ๋๋ฅผ ๋ถ์ํ ์ ์์ ์ ๋๋ก ๊ธฐ์ด C์ธ์ด์ ๋ด์ฉ์ ๋ค๋ฃจ๋ ๋๋ฌด ๊ฑฑ์ ๋ง์ธ์.
Q. ๊ฐ์๋ฅผ ๋ฃ๊ธฐ ์ ์์์ผ ํ ์ง์์ด ์๋์?
๋ณธ ๊ฐ์๋ ์ข ๋ ์ฌํ์ ์ธ ํดํน๊ณต๋ถ๋ฅผ ์ํ ์๋ฒฝํ ๊ธฐ๋ฐ์ง์์ ์ต๋ํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ํดํน์ด๋ C์ธ์ด๋ ๋จ ํ๋ฒ๋ ๊ณต๋ถํด ๋ณด์ง ์์ ๋ถ๋ค์ ์ํด ์ค๋น๋ ๊ฐ์์
๋๋ค.
ํดํน์ ์ฒ์ ๊ณต๋ถํ๋ ์ฌ๋๋ค์ด ์ปดํจํฐ๋ฅผ ๋ถํ
ํ๊ณ ์๋ถํฐ ์ค์ Wargame ์ฌ์ดํธ์ ํดํน ๋ฌธ์ ๋ฅผ ํ์ด๋ด๊ธฐ ์ ๊น์ง์ ๋ชจ๋ ๊ณผ์ ์ ํจ๊ปํ๋ ํธํ ๋ง์์ผ๋ก ๊ฐ์์๋ง ์ง์คํด์ฃผ์๋ฉด ๋ฉ๋๋ค.
Q. ํ๊ฒฝ ์ค์ ์ด ๋๋ฌด ์ค๋ ๊ฑธ๋ฆฌ๊ณ ์ด๋ ค์์. ์๋ฌด๊ฒ๋ ์์ ๋ชปํ๋๋ฐ ์ ๋ ์ฌ๋ฅ์ด ์๋ ๋ด์.
์ ๋ ์๋๋๋ค. ์๋ฌด๊ฒ๋ ์์ํ์ง ๋ชปํ๋ค๋จ. ํ๊ฒฝ์ค์ (Configuration)์ ์์คํ
ํดํน์ ์ํด ๋งค์ฐ ์ค์ํ ์ง์์
๋๋ค. ์ค์ ๋ก ํดํน, ํนํ๋ ์์คํ
ํดํน์์๋ ๋ชฉํํ๋ ๊ณต๊ฒฉ ํ๊ฒ ํ๋ก๊ทธ๋จ(๋ฐ์ด๋๋ฆฌ)์ ์คํ ํ๊ฒฝ์ ๊ตฌ์ถํ๋ ๊ฒ์ด ๋งค์ฐ ์ค์ํด์.
๊ตญ๋ด์ธ ๋ฉ์ด์ ํดํน๋ํ์์๋ ์ ๋ฐํ ๊ณต๊ฒฉ์ ์ํด VM(Virtual Machine)์ด๋ ๋์ปค(docker)๋ฅผ ํตํ ํ๊ฒฝ์ค์ (Configuration)์ ๋ฌธ์ ํ์ด ์ค 4~50% ์ด์์ ์๊ฐ์ ์จ์ผ ํ๋ ๋งํผ ํ๊ฒฝ ์ค์ ์ ์์คํ
ํดํน์ ์ํด ๋ฐ๋์ ๊ฑฐ์น๊ณ ์ต์ํด์ ธ์ผ ํ ๊ณผ์ ๊ณผ ์ง์์
๋๋ค.
๐ข ์๊ฐ ์ ํ์ธํด์ฃผ์ธ์
- ๊ฐ์์์๋ Ubuntu 22.04 LTS ์ด์์ฒด์ ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- VMware, pwntools ๋ฑ ๊ธฐํ ํดํน ํด์ ์ฌ์ฉํ๋ฉฐ, ์ค์ต์ ์ํด์๋ 8GB ์ด์์ RAM ๋ฐ ์ถฉ๋ถํ ๋์คํฌ ๊ณต๊ฐ์ ๊ฐ์ถ PC๊ฐ ํ์ํฉ๋๋ค.
- ์ฌ์ ์ VMware ์ค์น ๋ฐ ๊ฐ์ํ๊ฒฝ ๊ตฌ์ถ์ด ํ์ํฉ๋๋ค. (์ค์น ์๋ด)
- C ์ธ์ด ๋ฌธ๋ฒ์ ๋ชฐ๋ผ๋ ์๊ฐ์ด ๊ฐ๋ฅํ๋, ์๊ณ ์์ผ๋ฉด ์กฐ๊ธ ๋ ์์ํฉ๋๋ค.
- ๋งค ์์
๋ง๋ค ๊ฐ์ ์คํฌ๋ฆฝํธ์ ๋ฌด๋ฃ ๋ธ๋ก๊ทธ ํฌ์คํ
์ด ์ ๊ณต๋๋ ๋ณ๋ ํ๊ธฐ ์์ด ๊ฐ์์๋ง ์ง์คํ์๋ฉด ๋ฉ๋๋ค.