Basic RCE L01 - Write Up
๋น๋ฒ : codeengn
๋ก์จ HD๊ฐ CD-Rom์ ์ ๊ทผ์ด ๋์ด์ผ๋ง ์คํ์ด ๋๋ค๊ณ ....
์ฆ, ์ธ์๋ก CD-Rom์ผ๋ก ์ ๊ทผ๋ ๊ฒ์ ํ์ธํ๊ณ ๋ฐํํด์ ํ๋ฉด ์์ ๊ฐ์ด ๊ตฌ๋ถ์ด ๋์ด ์๋ค์
๊ทธ๋ผ ์ฝ๋๋ฅผ x32dbg๋ก ํด์ ํด๋ณผ๊ป์ ์คํ์ ์์ผ์ ๋ถ์์ ํด๋ณด๋ฉด..
์์ ๊ฐ์ด ๋น๋๋ค ํ๋์ฉ ๋น๊ต๋ฅผ ํด๋ณผ๊น์?
๋ณด์๋ฉด 0040100C๊น์ง๋ ํ๋กค๋ก๊ทธ์ด๊ธฐ ๋๋ฌธ์ ๋ฌด์ํ์
๋ ํฐ ์๊ด์ ์์ ๋ฏ ์ถ๋ค์
๊ทธ๋ฆฌ๊ณ push 01.402094๊น์ง์ ๋ด์ฉ๋ ํฐ ๋ฌธ์ ๋ ์์ง๋ง ํ์ ์ค๋ค๋ฉด..
call <JMP.&MessageBoxA> : ์์คํ ์์ด์ฝ, ์ผ๋ จ์ ๋จ์ถ, ์ํ ๋๋ ์ค๋ฅ ์ ๋ณด์ ๊ฐ์ ๊ฐ๋จํ ์์ฉ ํ๋ก๊ทธ๋จ๋ณ ๋ฉ์์ง๊ฐ ํฌํจ๋ ๋ชจ๋ฌ ๋ํ ์์๋ฅผ ํ์ ํ๋ง๋๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ชจ๋ฌ์ฐฝ์ผ๋ก ํ์ํด์ค
push 01.402094 : EntryPoint๋ก ์ด๋ํ๋ค์ ์ฆ, ์๋ฌด ์๋ฏธ๊ฐ ์๋ค.. ๋ผ๊ณ ๋ด๋ ๋ฌด๋ฐฉํ ๋ฏ;;
์ค์ํ ๋ถ๋ถ์ call <JMP.&GetDriveTypeA>๋ก ์ธ์๋ฅผ ๋ฐ์์์ ํ์ธ์ ํ๋ค๋ฉด..
ํธ์ถ์ ํ๋๋ฐ.. ํจ์ ํธ์ถ์ esi์ ์ ์ฅ๋๊ฒ ์ฃ ๊ตฌ๊ธํด๋ณด๋๊น..
๋ก์จ ์ฐ๋ฆฌ๋ CD-ROM์ ์ ๊ทผ ๋์ด ์์ผ๋ฉด ์ฐธ์ผ๋ก ๊ฒฐ๊ณผ๊ฐ ๋์ค๋ฏ๋ก ๊ฒฐ๊ณผ๋
5๋ก ๋ฐํ ๋์ผํ๋ฏ๋ก ๋ต์ ๋์์ง๋ง ๋ ๋ถ์ํด๋ด
์๋ค..
์ ์ฒด์ ์ธ ๋ก์ง์ ์ด๋ ๊ฒ ๋ฉ๋๋ค. ๋ฐ๋ก ์ค๋ช
ํด๋ณด๋ฉด..
esi๋ 3 ์ฆ๊ฐ, eax(GetDriveTypeA์ ๊ฐ) 2๊ฐ์์ jz ์ด์
๋ธ๋ฆฌ์ด๋ฅผ ํตํด ๊ฐ์์ผ๋ง ์ฐธ์ด ๋๋ค์
๊ทธ๋ผ ์ฆ, GetDriveTypeA์ ๊ฐ(eax) - 2 = 3์ด ๋์ผํ๋ฏ๋ก 5๊ฐ ๋์ผํ๋ค..๋ผ๋ ๊ฒฐ๋ก
๊ฒฐ๋ก ์ ํต์ฌ์ธ jz ์ด์ ์ ๋๋ฒ๊น ๊ฒฐ๊ณผ๋ง ๋ณด๊ณ ๋๋ ์๋ค ใ
์.. ์ฌ๊ธฐ๋ x32dbg๋ผ cmp์ธ๋ฐ jz๋ ๋๊ฐ์ ๋ง์ด์์
๊ฒฐ๋ก : 5
์ฐธ๊ณ ์๋ฃ
์ฐธ๊ณ ์ด๋ฏธ์ง
'๐ฌโReversing & Cryptography > ๐โCodeEnge' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Basic RCE L02 (0) | 2022.07.28 |
---|