๐โSystem_Study/๐ชโPwnable.kr
brain fuck_WriteUp ๋ณด์๋ฉด.. ๋ด๊ฐ C๋ก ๊ฐ๋ฐํ ๋ฉ์ฒญํ ์ ๋ฎฌ๋ ์ด์
ํ๋ก๊ทธ๋จ์ ๋ง๋ค์์ด์.. [] ๋ช
๋ น์ด ์์ง ๊ตฌํํ์ง ์์์ง๋ง ๋๋จธ์ง ๊ธฐ๋ฅ์ ์ ์์ ์ผ๋ก ์๋ํ๋ ๋ฏ? ๋ฒ๊ทธ๋ฅผ ์ฐพ์์ ์
ธ์ ์ป์ด๋ณด์์.. ๋ผ๊ณ ํ๋ค์(์ง๊ฐ ๋ง๋ ๊ฑฐ๋ฅผ?) ํ์ผ์ ๋ฐ์์ ์ด์ด๋ณด๋๊น.. ์คํํ์ผ์ด๊ณ ๋ฆฌ๋ฒ์ฑ ํ ๋ถ๋ถ์ด ๋๋ฌด ๋ง์์ IDA ์ฌ์ฉ! ์ฐธ๊ณ ๋ก ์ ๋ ๋ฆฌ๋ฒ์ฑ ๋
๋
์ด๋ผ์ ๋๋ฝ๊ฒ ๋ชปํ๊ฑฐ๋ ์ ๊ทธ๋์ ๊ธธ์ด์ง๋ฉด.. ํ๊ท ใ
์ ์ฝ๋๋ฅผ ์ดํด๋ณด๋ฉด ์ฐ๋ฆฌ ๋๋ฆผ์ด ๋ฌธ์ ๋ ๋น์ทํ๋ค์ ์น์ํด ํ์ผ ๋ถ๋ฌ์ค๊ณ ๋ฐ๋ณต๋ฌธ์์ do_brainfuck์ ์งํํ๋๋ฐ ๋๋จธ์ง๋ ํ์์ ์ธ ๋ด์ฉ์ด๊ณ ์ด ๋ถ๋ถ์ด ํต์ฌ! ๋ณด์๋ฉด ํฌ์ธํฐ์ ์์น ๊ฐ๊ฐ ๋ถ๋ถ์ ํตํด ํ๋ฆ์ ์ ์ดํ๋ ๊ฒ์ด๊ตฌ๋.. ๋ํ . ์ ํตํด ํด๋น ์ฃผ์์ ์๋ ๊ฐ์ ์ถ๋ ฅํ๋๊ฑฐ๊ตฌ๋(๋ง์ ์ฝ๊ฐ ํด๊น๋ฆฌ๊ฒ..
๐โSystem_Study/๐ชโPwnable.kr
loveletter_WriteUp ๋ณด์๋ฉด.. ๋ง์ง๋ง.. ์ค์ํ๊ฑด ์ฌ๋..์ด์ผ? -์ต์ง์ ์๋ จ ๋นํ์
จ์๊น์? ๋ณด๋๊น ๋ฌธ์ ์ด๋ฆ์ด๋ ๊ฒฐ๊ณผ๋ ์ ์ฌํ๋๋ฐ ์๊ฐํ๋ฉด์ ํฉ์๋ค. ํ์ผ์ ๋ฐ์์ ์ด์ด๋ณด๋๊น.. ์คํํ์ผ์ด๊ณ ๋ฆฌ๋ฒ์ฑ ํ ๋ถ๋ถ์ด ๋๋ฌด ๋ง์์ IDA ์ฌ์ฉ! ๋ณด์๋ฉด.. 256(0x100)์ memset๋ ํ์๊ณ (UAF X).. s ๋ณ์์ 0x100๋งํผ fgets๋ก ์
๋ ฅ์ ๋ฐ๊ธฐ์ bof๊ฐ ์๋๊ฒ ๋ค์ ๊ทธ ์ดํ 18๋ฒ์งธ protect์ ์ธ์๋ฅผ ์ ๋ฌํฉ๋๋ค. ๋ํ 21๋ฒ๋ถํฐ 25๋ฒ๊น์ง ๊ฐ ์ธ์๋ฅผ ์ง๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ์ฌํ์ฌ idx์ ์ ์ฌํฉ๋๋ค ๊ทธ๋ฆฌ๊ณ memcpy์์ prolog์ epilog๋ ๊ฐ๊ฐ ํ์ธํด๋ด
์๋ค. ํด๋น ๋ฌธ์์ด์ ๋ฐํํ๋๊ตฐ์! ๋ํ ๋ง์ง๋ง์ผ๋ก prolog์ protect ๊ทธ๋ฆฌ๊ณ epilog๋ฅผ ์ ๋ถ puts๋ก ์น..
๐โSystem_Study/๐ชโPwnable.kr
echo1_WriteUp ๋ณด์๋ฉด.. echo service๋ฅผ ํ๊ณ ์์ผ๋ฉฐ, ํด๋น ๋ค์ด๋ก๋ ํด์ ํ์ธํด๋ณด๋ผ๊ณ ์๋ ค์ค๋๋ค. ํ์ผ์ ๋ฐ์์ ์ด์ด๋ณด๋๊น.. ์คํํ์ผ์ด๊ณ ๋ฆฌ๋ฒ์ฑ ํ ๋ถ๋ถ์ด ๋๋ฌด ๋ง์์ IDA ์ฌ์ฉ! ์ฐธ๊ณ ๋ก echo๋ ๊ทธ๋ฅ return์ด๋ผ๊ณ ์๊ฐํ์๋ฉด ๋ ๊ฑฐ ๊ฐ์ต๋๋ค. ์ฐธ๊ณ ๋ก ์ ๋ ๋ฆฌ๋ฒ์ฑ ๋
๋
์ด๋ผ์ ๋๋ฝ๊ฒ ๋ชปํ๊ฑฐ๋ ์ ๊ทธ๋์ ๊ธธ์ด์ง๋ฉด.. ํ๊ท ใ
์ ์ฝ๋๋ฅผ ์ดํด๋ณด๋ฉด 15๋ฒ ์ค์์ ์ด๋ฆ์ ๋ฌผ์ด๋ณด๋ฉฐ ์ ์ฅ์ v7์ ์ ์ฅํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์
๋ ฅ์ ๋ ๋ฐ๋ณต๋ฌธ์ ํตํด echo๋ฅผ ํ๋ค๊ณ ํ๋๋ฐ ๋ง์ ์คํํ๊ฑฐ๋ ์๋ func์ ๋ณด์๋ฉด ์ ์ ๋๋๊ฑด 24๋ฒ์ BOF echo๋ฟ์
๋๋ค. ๋ณด์๋ฉด s๋ ํ ๋น์ 0x20๋งํผํ์ผ๋ ์
๋ ฅ์ 0x80๊น์ง ํ๋ ๋ชจ์ต์ ๋ณด์ฌ์ค๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก bof๊ฐ ๋ฐ์ํ๊ฒ ๋๋๊ฑฐ๊ฒ ์ฃ ? ์์ ๋ณด์๋ฉด Par..
๐โSystem_Study/๐ชโPwnable.kr
fd_WriteUp ๋ณด์๋ฉด.. ์๋ง! ๋ฆฌ๋
์ค ํ์ผ ๋์คํฌ๋ฆฝํฐ(fd)์ ๋ํ์ฌ ์์๋ณด๊ณ ์ถ์ด์~ ๋ผ๊ณ ํ๋ค์(ํจ๋๋ฆฝ..) ssh๋ก ์ฐ๊ฒฐํด์ ํ๋๊ฑด๋ฐ ํ์ผ ๋ฐ์์ ํ๋๊ฒ ์ข๊ฒ ์ฃ ? ๊ทธ๋์ ๋ฐ๋ ๋ฐฉ์์ด SCP๋ก์จ.. ๋ฆฌ๋
์ค scp ์ฌ์ฉ๋ฒ - ์ ํ์ํค ๋ค์ ๋ฌธ์์ด ํฌํจ... zetawiki.com ์ ๋ช
๋ น์ด๋ ์ด๋ฏธ์ง๋ฅผ ๋ณด์๊ณ ํ์๋ฉด ๋ฉ๋๋ค.. (์ฐธ๊ณ ๋ก ํ์ผ ์ ์ฒด๋ฅผ ๋ฐ๋๊ฒ.. ์ ์๋์ ๋ฐ๋ก ๋ฐ๋ก ํ๋๋ฐ ใ
) ํด๋น C file์ ์ดํด๋ณด๋ฉด.. 6๋ฒ์งธ๋ฅผ ๋ณด์๋ฉด ์ธ์์์ 2๊ฐ ์ด์์ผ๋ก ์ ๋ฃ์ผ๋ฉด ์๋ฌ๋ฅผ ํ ํ๊ณ .. ๊ทธ๋ฌ๋ฏ๋ก argv์ ํ๋๋ง ๋ฃ์ต๋๋ค(์ด์งํผ argv[1]์ path์ด๊ธฐ ๋๋ฌธ์ด์ฃ ) len์์ read์ ํจ์๋ฅผ ์
๋ ฅํ ๊ฑฐ๊ธฐ์ read์ fd๋ 0์ด์ฌ์ผ ์
๋ ฅ์ ๋ฐ์ต๋๋ค. ์ฌ๊ธฐ์ fd(atoi๋ก ascii to ..
๐โSystem_Study/๐ชโPwnable.kr
passcode_WriteUp ๋ณด์๋ฉด.. ์๋ง๊ฐ ํจ์ค ๊ธฐ๋ฐ์ ๋ก๊ทธ์ธ ์์คํ
์ ๋ง๋ค๋ผ๊ณ ํด์ ์ปดํ์ผ ํ ๋๋ ๋ฌธ์ ๊ฐ ์์์ด์ ๋ฌผ๋ก ์ปดํ์ผํ๋๋ฐ ์ค๋ฅ๊ฐ ์ข ๋จ๋๋ฐ ๊ทธ๊ฑธ ๋๊ฐ ์ ๊ฒฝ์ฐ๊ฒ ์ด์.. ๋ผ๊ณ ํฉ๋๋ค. ํ์ผ์ ๋ฐ์์ ์ด์ด๋ณด๋๊น.. ์ ์ฝ๋๋ฅผ ์ดํด๋ณด๋ฉด ์ ์๋ฅผ ์
๋ ฅ๋ฐ๋๋ฐ ์ฃผ์์ ๋ช
์(&)๊ฐ ๋์ง ์์์ต๋๋ค. ๊ทธ๋ผ ์
๋ ฅ๋ฐ์์ ๋ ์
๋ ฅ๊ฐ์ด ์๋ ํด๋น ์์น์ ๊ฐ์ด ์ฝ์ด๋๋ฆฐ๋ค๋ ์ฌ์ค์ ์ ์ ์์ต๋๋ค. ๋ณดํธ๊ธฐ๋ฒ์ ๋ณด๋๊น.. ํ RTL๊ณผ ๊ฐ์ ๊ณต๊ฒฉ๊ธฐ๋ฒ์ ํด์ผํ ๊ฑฐ ๊ฐ์ต๋๋ค. ๋ํ NX๊ฐ ๊ฑธ๋ ค์๊ธฐ์ ์ธ๋ถ์ ์ ๋ณด๋ ๋ชป ๋ถ๋ฌ์ค๊ฒ ๊ตฐ์ Exploit design ๊ทธ๋ผ welcome๊ณผ login์ ํ ๋ฒ ์ดํด๋ด
์๋ค. (์ฐธ๊ณ ๋ก ์์นํ ์ฃผ์๋ ์๋์์ ํ์ธํจ) C์ฝ๋๊ฐ ์์ผ๋๊น ๋ณด๋ฉด์ ์ธ์๋ฅผ ํ์ธํ๋ฉด name์ด๋ผ๋ 0x70 passco..
๐โSystem_Study/๐ชโPwnable.kr
collision_WriteUp ๋ณด์๋ฉด.. ์ด๋ฒ์ ์๋น ๊ฐ MD5 hash์ ์ด์ฉํด์ ์ถฉ๋๋ ํ๋ฃจ๋ฅผ ๋ง๋ค์์ด? ๋๋ ์ด๋ฐ๊ฑธ ์ํด์! ๋ผ๋ ๊ฑฐ ๊ฐ์๋ฐ.. ๋ญ.. ํด๋น C file์ ์ดํด๋ณด๋ฉด.. hashcode์ 0x21DD09EC๋ก ์ ์ฅ๋์ด ์์ผ๋ฉฐ, ํต์ฌ์ check_password์
๋๋ค. ๋๋จธ์ง๋ ์ธ์๋ฅผ 2๊ฐ.. ์ฆ 1์ด์ ๋ฃ์ผ์๊ณ ์ฒซ ์ธ์๋ฅผ ๋ฃ์์๋ ๊ธธ์ด๊ฐ 20์ค..๋ก ๋ง์ถฐ์ผํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ check_password์ ๋ณ์กฐ๋ ์ธ์์ ์ hashcode์ ๋น๊ตํฉ๋๋ค. ์ฆ, ์ธ์๊ฐ์ด 20์ด์ฌ์ผํ๋ฉฐ, hashcode์ check_password์ ํจ์๋ฅผ ๊ฑฐ์น ๊ฐ์ด ๊ฐ์์ผํฉ๋๋ค. Exploit design ์ ์ฝ๋๋ฅผ ์ดํด๋ณด๋ฉด, IP(argv[1]์ ์ธ์๊ฐ)์ ๋ฐ์์ 5๊ฐ๋ก ์ชผ๊ฐ์ ๋๊ฐ์ ๊ฐ์ 5๋ฒ int(4by..
๐โSystem_Study/๐ชโPwnable.kr
fd_WriteUp ๋ณด์๋ฉด.. ํํ(์๋น ?)๊ฐ ์ ๋ฌผ์ ๋ณด์ฅํด์ ๊ฐ์ ธ์์ด์! ์ด์ด๋ณผ๊น์? ๋ผ๊ณ ํฉ๋๋ค. ๋ฐ์ ์ด๊ฒ์ ์์
์ ๋๋๋ฆฌ๋ ๊ฑฐ๊ณ ๋๊ฐ ํ์ํ๊ฑด ์ด์ง์๋ผ๊ณ ํฉ๋๋ค... ํ์ผ์ ๋ฐ์์ ์ด์ด๋ณด๋๊น.. ๋ฐ์ด๋๋ฆฌ ํ์์ผ๋ก ๊ทธ๋ฅ ์ด๋ฉด ๋ง ๊นจ์ ธ์ ๋์ค๊ฒ ์ฃ ๊ทธ๋ผ ์ด๊ฑธ ๋ณต์ํด๋ด
์๋ค. ์ด๊ฑด ๊ทธ๋ผ.. ๋ฆฌ๋ฒ์ฑ ๋ฌธ์ ์ด๊ฒ ๊ตฐ์(์ ๋ชปํ๋๋ฐ ใ
) ์ผ๋จ hex๋ก ๋ฐ๋ก ํ์ธํด๋ด
์๋ค. ELF(๋ฆฌ๋
์ค ์คํ)์ด ๋๊ฐ๊ฐ ์ค๋ณต๋๋ฉฐ ๋ฐ์ UPX!๋ผ๊ณ ํ๋๊ฒ ์กด์ฌํฉ๋๋ค. ๊ทธ๋ผ ์์ถ์ด ๋์๊ตฌ๋.. ๋ผ๊ณ ๋๋์ด ์ค๋๊ตฐ์ ๊ทธ๋ผ UPX๊ฐ ๋ฌด์์ธ์ง ์์๋ณผ๊น์? UPX(Ultimate Packer for eXecutables)๋ก์จ ์ฌ๋ฌ OS์์ ์๋ง์ ํ์ผ ํฌ๋งท์ ์ง์ํ๋ ์คํ ์์ค ์คํ ํ์ผ ์์ถ ํ๋ก๊ทธ๋จ์
๋๋ค. GitHub - upx/upx: UP..
๐โSystem_Study/๐ชโPwnable.kr
bof_WriteUp ๋๋๊ฐ ๋งํ์ด์ bof๊ฐ ์ผ๋ง๋ ์ผ๋ฐ์ ์ธ ์ํํธ์จ์ด ์ทจ์ฝ์ ์ด๋ผ๊ณ ์ ๋ง๋์? ๋ผ๋๋ฐ.. ์๋ฌด๋๋ ๋ณด์ ์ทจ์ฝ์ ์ฒซ ์ค์ต์ด bof์ธ ๊ฒ์ ๋ณด๋ฉด ์ ๋ ๊ณต๊ฐํฉ๋๋ค.(๋ชจ๋ ๊ฒ ์ฌ๊ธฐ์ ์์..) ๋ณด์๋ฉด ์ ๋ฐ์์ผ๋ก ๋ค์ด๋ก๋ ๋ฐ์ผ๋ฉด ๋ฉ๋๋ค. ๋ณดํธ๊ธฐ๋ฒ์ด.. bof๋ง ์ฐ๋ผ๊ณ ํ์๋๊ตฐ์.. ์ฝ๋๋ฅผ ๋ณด์๋ฉด func์ ํค ๊ฐ์ ๋ฏธ๋ฆฌ ๋ฃ๊ณ 8๋ฒ ๋ผ์ธ์.. ์กฐ๊ฑด๋ฌธ์์ ๋น๊ตํฉ๋๋ค. ๊ทผ๋ฐ ์์์ gets์์ ํฌ๋ฉง ์ค์ ๊ณผ ํฌ๊ธฐ๋ฅผ ๋ช
์ํ์ง ์์๊ธฐ ๋๋ฌธ์ bof๊ฐ ๋ฐ์ํฉ๋๋ค. Memory Corruption: Stack Buffer Overflow ์คํ ๋ฒํผ ์ค๋ฒํ๋ก์ฐ(Stack Buffer Overflow) ์ธ๊ณ ์ต์ด์ ์์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ๋ชจ๋ฆฌ์ค ์๋ ์ด ๊ณต๊ฒฉ์ ํตํด ์ ํ๋จ ๋ณด์ ๊ณต๋ถ๋ฅผ ๋ชจ๋ฅด๋ ๊ฐ๋ฐ์๋ ์๋งํผ ์ ๋ช
ํ๊ณ ์ญ์ฌ..