House of Force
Last updated
Last updated
AWS ํดํน ๋ฐฐ์ฐ๊ณ ์ค์ตํ๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE) GCP ํดํน ๋ฐฐ์ฐ๊ณ ์ค์ตํ๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE)
์ด ๊ธฐ๋ฒ์ (์ฌ๊ธฐ)์์ ํจ์น๋์์ผ๋ฉฐ ๋ค์ ์ค๋ฅ๋ฅผ ์์ฑํฉ๋๋ค: malloc(): corrupted top size
ํ ์คํธํ๋ ค๋ฉด ์ฌ๊ธฐ์ ์ฝ๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ด ๊ณต๊ฒฉ์ ๋ชฉํ๋ ํน์ ์ฃผ์์ ์ฒญํฌ๋ฅผ ํ ๋นํ ์ ์๋ ๊ฒ์ ๋๋ค.
ํ ํ ๋น์ ํฌ๊ธฐ๋ฅผ ์ ์ดํ ์ ์๋ ์ค๋ฒํ๋ก์ฐ๊ฐ ํ์ํฉ๋๋ค.
ํ ํ ๋น์ ํฌ๊ธฐ๋ฅผ ์ ์ดํ ์ ์์ด์ผ ํฉ๋๋ค.
๊ณต๊ฒฉ์๊ฐ ํน์ ์ฃผ์ P์ ์ฒญํฌ๋ฅผ ํ ๋นํ์ฌ ์ฌ๊ธฐ์ ๊ฐ์ ๋ฎ์ด์ฐ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์์ํฉ๋๋ค. ๋จผ์ top ์ฒญํฌ ํฌ๊ธฐ๋ฅผ -1
๋ก ๋ฎ์ด์๋๋ค(์ค๋ฒํ๋ก์ฐ๋ฅผ ์ฌ์ฉํ ์๋ ์์). ์ด๋ ๊ฒ ํ๋ฉด malloc์ด Top ์ฒญํฌ๋ฅผ ํญ์ ์ถฉ๋ถํ ๊ณต๊ฐ์ด ์๋ ์ํ๋ก mmap๋ฅผ ์ฌ์ฉํ์ง ์๊ฒ ๋ฉ๋๋ค.
๊ทธ๋ฐ ๋ค์ top ์ฒญํฌ์ ์ฃผ์์ ํ ๋นํ ๋์ ๊ณต๊ฐ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํฉ๋๋ค. ์ด๋ ํด๋น ํฌ๊ธฐ๋ก malloc์ด ์ํ๋์ด top ์ฒญํฌ๊ฐ ํด๋น ์์น๋ก ์ด๋ํ๋๋ก ํ๊ธฐ ์ํจ์ ๋๋ค. ์ด ์ฐจ์ด/ํฌ๊ธฐ๋ ์ฝ๊ฒ ๊ณ์ฐํ ์ ์์ต๋๋ค:
๋ฐ๋ผ์ target - old_top - 4*sizeof(long)
ํฌ๊ธฐ๋ฅผ ํ ๋นํ๋ฉด (4๊ฐ์ long์ ์๋จ ์ฒญํฌ์ ๋ฉํ๋ฐ์ดํฐ์ ์๋ก ํ ๋น๋ ์ฒญํฌ์ ๋ฉํ๋ฐ์ดํฐ ๋๋ฌธ์
๋๋ค) ์๋จ ์ฒญํฌ๋ฅผ ๋ฎ์ด์ฐ๊ณ ์ ํ๋ ์ฃผ์๋ก ์ด๋์ํฌ ์ ์์ต๋๋ค.
๊ทธ๋ฐ ๋ค์, ๋์ ์ฃผ์์์ ์ฒญํฌ๋ฅผ ์ป๊ธฐ ์ํด ๋ค๋ฅธ malloc์ ์ํํ์ญ์์ค.
์ด ์๋๋ฆฌ์ค์ ๋ชฉํ๋ ret2win์ผ๋ก, ํธ์ถ๋ ํจ์์ ์ฃผ์๋ฅผ ret2win ํจ์์ ์ฃผ์๋ก ์์ ํด์ผ ํฉ๋๋ค.
์ด์ง ํ์ผ์๋ ์๋จ ์ฒญํฌ ํฌ๊ธฐ๋ฅผ ์์ ํ ์ ์๋ ์ค๋ฒํ๋ก์ฐ๊ฐ ์์ผ๋ฉฐ, ์ด๋ฅผ -1 ๋๋ p64(0xffffffffffffffff)๋ก ์์ ํฉ๋๋ค.
๊ทธ๋ฐ ๋ค์ ๋ฎ์ด์ธ ํฌ์ธํฐ๊ฐ ์กด์ฌํ๋ ์์น๋ก ์ฃผ์๋ฅผ ๊ณ์ฐํ๊ณ , ํ์ฌ ์๋จ ์ฒญํฌ ์์น๋ถํฐ ํด๋น ์์น๊น์ง์ ์ฐจ์ด๊ฐ malloc
์ผ๋ก ํ ๋น๋ฉ๋๋ค.
๋ง์ง๋ง์ผ๋ก ์ํ๋ ๋์์ ํฌํจํ๋ ์๋ก์ด ์ฒญํฌ๊ฐ ํ ๋น๋๋ฉฐ, ์ด ๋์์ด ret2win ํจ์์ ์ํด ๋ฎ์ด์ฐ์ ๋๋ค.
Input your name:
์๋ ํ์์ ์ฃผ์๋ฅผ ๋์ถํ ์ ์๋ ์ด๊ธฐ ์ทจ์ฝ์ ์ด ์์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ Org:
๋ฐ Host:
๊ธฐ๋ฅ์์ org name์ ์์ฒญํ ๋ s
ํฌ์ธํฐ์ 64B๋ฅผ ์ฑ์ธ ์ ์์ผ๋ฉฐ, ์ด๋ ์คํ์์ v2์ ์ฃผ์ ๋ค์ ๋ฐ๋ฅด๋๋ฐ, ๊ทธ ๋ค์์๋ ์ง์ ๋ host name์ด ๋ฐ๋ฆ
๋๋ค. ๊ทธ ํ strcpy๊ฐ s์ ๋ด์ฉ์ 64B ํฌ๊ธฐ์ ์ฒญํฌ๋ก ๋ณต์ฌํ๊ฒ ๋๋ฏ๋ก host name์ ์
๋ ฅ๋ ๋ฐ์ดํฐ๋ก ์๋จ ์ฒญํฌ์ ํฌ๊ธฐ๋ฅผ ๋ฎ์ด์ธ ์ ์์ต๋๋ค.
์ด์ ์์ ์ฐ๊ธฐ๊ฐ ๊ฐ๋ฅํ๋ฏ๋ก, atoi
์ GOT๋ฅผ printf์ ์ฃผ์๋ก ๋ฎ์ด์๋๋ค. ๊ทธ๋ฐ ๋ค์ %24$p
๋ก IO_2_1_stderr
์ ์ฃผ์๋ฅผ ๋์ถํ ์ ์์ต๋๋ค. ์ด libc ๋์ถ๋ก atoi
์ GOT๋ฅผ ๋ค์ system
์ฃผ์๋ก ๋ฎ์ด์ฐ๊ณ /bin/sh
๋ฅผ ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌํ์ฌ ํธ์ถํ ์ ์์ต๋๋ค.
์ด ๋ค๋ฅธ writeup์์ ์ ์๋ ๋์ฒด ๋ฐฉ๋ฒ์ free
๋ฅผ puts
๋ก ๋ฎ์ด์ฐ๊ณ , ๋์ค์ ํด์ ๋ ํฌ์ธํฐ์ atoi@got
์ ์ฃผ์๋ฅผ ์ถ๊ฐํ์ฌ ๋์ถํ๊ณ ์ด ๋์ถ๋ก ๋ค์ atoi@got
๋ฅผ system
์ผ๋ก ๋ฎ์ด์ฐ๊ณ /bin/sh
๋ก ํธ์ถํ ์ ์์ต๋๋ค.
ํฌ์ธํฐ๋ฅผ ์ง์ฐ์ง ์๊ณ ํด์ ๋ ์ฒญํฌ๋ฅผ ์ฌ์ฌ์ฉํ ์ ์๋ UAF๊ฐ ์์ต๋๋ค. ์ผ๋ถ ์ฝ๊ธฐ ๋ฐฉ๋ฒ์ด ์๊ธฐ ๋๋ฌธ์ GOT์ free ํจ์์ ํฌ์ธํฐ๋ฅผ ์ฐ๊ณ ๋์ค์ read ํจ์๋ฅผ ํธ์ถํ์ฌ libc ์ฃผ์๋ฅผ ๋์ถํ ์ ์์ต๋๋ค.
๊ทธ๋ฐ ๋ค์, UAF๋ฅผ ์
์ฉํ์ฌ House of force๋ฅผ ์ฌ์ฉํ์ฌ ์ผ์ชฝ ๊ณต๊ฐ์ ํฌ๊ธฐ๋ฅผ -1๋ก ๋ฎ์ด์ฐ๊ณ , free ํํฌ์ ๋๋ฌํ ์ ์๋ ์ถฉ๋ถํ ํฐ ์ฒญํฌ๋ฅผ ํ ๋นํ ๋ค์, free ํํฌ๋ฅผ ํฌํจํ๋ ๋ค๋ฅธ ์ฒญํฌ๋ฅผ ํ ๋นํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ํํฌ์ system
์ ์ฃผ์๋ฅผ ์ฐ๊ณ , ์ฒญํฌ์ "/bin/sh"
๋ฅผ ์ฐ๊ณ , ๊ทธ ๋ฌธ์์ด ๋ด์ฉ์ ํฌํจํ๋ ์ฒญํฌ๋ฅผ ํด์ ํฉ๋๋ค.