์ „์ฒด ๊ธ€

๐ŸŒ‡โ”‚System_Study/๐Ÿ“•โ”‚Dreamhack_Hacking

basic_rop_x64

basic_rop_x64 WriteUp ๋ฌธ์ œ ํ’€์ด NX์™€ Partial RELRO๊ฐ€ ๊ฑธ๋ ค์žˆ๋„ค์š” ๋‹คํ–‰์ธ ์ ์€ Canary๊ฐ€ ์—†๊ธฐ์— ๊ทธ ๋ถ€๋ถ„์€ ์ƒ๋žตํ•ด๋„ ๋œ๋‹ค.. ๋‹‰๊ฐ’ํ• ๊ฑฐ๋‹ˆ๊นŒ ROP๋กœ ํ’€์–ด์•ผ๊ฒ ๋„ค์š” ์ฝ”๋“œ๋ฅผ ๋ณด์‹œ๋ฉด ์ด์ „ ๋‚ด์šฉ์ด๋ž‘ ์œ ์‚ฌํ•œ ๋ฐฉ๋ฒ•์ด๋„ค์š” read()ํ•จ์ˆ˜์— bof๊ฐ€ ๋ฐœ์ƒํ•˜๋‹ˆ๊นŒ์š” ๊ทธ๋Ÿผ ์‹ค์ œ๋กœ ์–ด๋–ค ์‹์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹น๋˜์—ˆ๋Š”์ง€๋„ ํ™•์ธํ•ด๋ด…์‹œ๋‹ค. buf์—์„  0x40์ด์ง€๋งŒ read์—์„  0x400์ด๋‚˜ ๋ฐ›๊ธฐ์— bof๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ ๋ณดํ˜ธ๊ธฐ๋ฒ•์„ ๊ณ ๋ คํ•ด์„œ NX์ด๋ฏ€๋กœ ์™ธ๋ถ€ ์‰˜ ์ฝ”๋“œ ์‹คํ–‰ X, ๊ทธ๋ ‡๋‹ค๊ณ  ์—ฌ๊ธฐ์„œ system๊ฐ™์€ ํ•จ์ˆ˜๋„ ์ฝ”๋“œ์— ์กด์žฌ X์ด๋ฏ€๋กœ Return Overwrite Programming์„ ํ•ด์•ผ๊ฒ ๋„ค์š”(๋‹คํ–‰์ด Lazy Binding์ด๋‹ˆ๊นŒ...) ๊ทธ๋Ÿผ ํ•ด๋‹น ํ•จ์ˆ˜๋ฅผ ๋ฐ›๊ธฐ์œ„ํ•ด ํ•ด๋‹น lib์ธ libc.so.6์— ๋Œ€..

๐ŸŒ‡โ”‚System_Study/๐Ÿ“•โ”‚Dreamhack_Hacking

Background: PIE

์„œ๋ก  ASLR์ด ์ ์šฉ๋˜๋ฉด ๋ฐ”์ด๋„ˆ๋ฆฌ๊ฐ€ ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ์Šคํƒ, ํž™, ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋“ฑ์ด ๋ฌด์ž‘์œ„ ์ฃผ์†Œ์— ๋งคํ•‘๋˜๋ฏ€๋กœ, ๊ณต๊ฒฉ์ž๊ฐ€ ์ด ์˜์—ญ๋“ค์„ ๊ณต๊ฒฉ์— ํ™œ์šฉํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ง€๋‚œ ์ฝ”์Šค์˜ ์‹ค์Šต addr์„ ๋– ์˜ฌ๋ ค ๋ณด๋ฉด, ๋‹ค๋ฅธ ์˜์—ญ์˜ ์ฃผ์†Œ๋Š” ๊ณ„์† ๋ณ€ํ™”ํ•˜๋Š”๋ฐ mainํ•จ์ˆ˜์˜ ์ฃผ์†Œ๋Š” ๋งค๋ฒˆ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค. Mitigation: NX & ASLR ์‹œ์Šคํ…œ ๋ณด์•ˆ์€ ์ง€๋‚œ ์ˆ˜๋…„๊ฐ„ ๋ฐœ์ „ํ•ด์˜จ ๊ณต๊ฒฉ ๊ธฐ๋ฒ•๊ณผ ๋ณดํ˜ธ ๊ธฐ๋ฒ•์˜ ๋ฐœ์ „ ์–‘์ƒ์„ ๋ณด์‹œ๋ฉด.. ์–ด๋–ค ๋ณดํ˜ธ ๊ธฐ๋ฒ•์ด ๋“ฑ์žฅํ•˜๋ฉด ์šฐํšŒ ๊ธฐ์ˆ ๋„ ๋“ฑ์žฅํ•ฉ๋‹ˆ๋‹ค.. ์ด๋ ‡๊ฒŒ ์–ด๋–ค ๊ณต๊ฒฉ์ด ์˜ฌ์ง€ ๋ชจ๋ฅด๊ธฐ์— ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ์ž๋“ค dystopia050119.tistory.com ์ด๋Ÿฐ ํŠน์ง•์„ ์ด์šฉํ•ด ๊ณต๊ฒฉ์ž๋Š” ๊ณ ์ •๋œ ์ฃผ์†Œ์˜ ์ฝ”๋“œ ๊ฐ€์ ฏ์„ ํ™œ์šฉํ•œ ROP๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Position-Independent Executable(..

๐ŸŒ‡โ”‚System_Study/๐Ÿช™โ”‚Pwnable.kr

[Rookiss]brain fuck

brain fuck_WriteUp ๋ณด์‹œ๋ฉด.. ๋‚ด๊ฐ€ C๋กœ ๊ฐœ๋ฐœํ•œ ๋ฉ์ฒญํ•œ ์• ๋ฎฌ๋ ˆ์ด์…˜ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค์—ˆ์–ด์š”.. [] ๋ช…๋ น์ด ์•„์ง ๊ตฌํ˜„ํ•˜์ง„ ์•Š์•˜์ง€๋งŒ ๋‚˜๋จธ์ง€ ๊ธฐ๋Šฅ์€ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ๋“ฏ? ๋ฒ„๊ทธ๋ฅผ ์ฐพ์•„์„œ ์…ธ์„ ์–ป์–ด๋ณด์•„์š”.. ๋ผ๊ณ  ํ•˜๋„ค์š”(์ง€๊ฐ€ ๋งŒ๋“ ๊ฑฐ๋ฅผ?) ํŒŒ์ผ์„ ๋ฐ›์•„์„œ ์—ด์–ด๋ณด๋‹ˆ๊นŒ.. ์‹คํ–‰ํŒŒ์ผ์ด๊ณ  ๋ฆฌ๋ฒ„์‹ฑ ํ•  ๋ถ€๋ถ„์ด ๋„ˆ๋ฌด ๋งŽ์•„์„œ IDA ์‚ฌ์šฉ! ์ฐธ๊ณ ๋กœ ์ €๋Š” ๋ฆฌ๋ฒ„์‹ฑ ๋Š…๋Š…์ด๋ผ์„œ ๋“œ๋Ÿฝ๊ฒŒ ๋ชปํ•˜๊ฑฐ๋“ ์š” ๊ทธ๋ž˜์„œ ๊ธธ์–ด์ง€๋ฉด.. ํ๊ทœ ใ…  ์œ„ ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด๋ฉด ์šฐ๋ฆฌ ๋“œ๋ฆผ์ด ๋ฌธ์ œ๋ž‘ ๋น„์Šทํ•˜๋„ค์š” ์นœ์ˆ™ํ•ด ํŒŒ์ผ ๋ถˆ๋Ÿฌ์˜ค๊ณ  ๋ฐ˜๋ณต๋ฌธ์—์„œ do_brainfuck์„ ์ง„ํ–‰ํ•˜๋Š”๋ฐ ๋‚˜๋จธ์ง€๋Š” ํ˜•์‹์ ์ธ ๋‚ด์šฉ์ด๊ณ  ์ด ๋ถ€๋ถ„์ด ํ•ต์‹ฌ! ๋ณด์‹œ๋ฉด ํฌ์ธํ„ฐ์˜ ์œ„์น˜ ๊ฐ€๊ฐ ๋ถ€๋ถ„์„ ํ†ตํ•ด ํ๋ฆ„์„ ์ œ์–ดํ•˜๋Š” ๊ฒƒ์ด๊ตฌ๋‚˜.. ๋˜ํ•œ . ์„ ํ†ตํ•ด ํ•ด๋‹น ์ฃผ์†Œ์˜ ์žˆ๋Š” ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š”๊ฑฐ๊ตฌ๋‚˜(๋ง์„ ์•ฝ๊ฐ„ ํ•ด๊น”๋ฆฌ๊ฒŒ..

๐ŸŒ‡โ”‚System_Study/๐Ÿช™โ”‚Pwnable.kr

[Rookiss]loveletter

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

[Rookiss]echo1

echo1_WriteUp ๋ณด์‹œ๋ฉด.. echo service๋ฅผ ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ํ•ด๋‹น ๋‹ค์šด๋กœ๋“œ ํ•ด์„œ ํ™•์ธํ•ด๋ณด๋ผ๊ณ  ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ํŒŒ์ผ์„ ๋ฐ›์•„์„œ ์—ด์–ด๋ณด๋‹ˆ๊นŒ.. ์‹คํ–‰ํŒŒ์ผ์ด๊ณ  ๋ฆฌ๋ฒ„์‹ฑ ํ•  ๋ถ€๋ถ„์ด ๋„ˆ๋ฌด ๋งŽ์•„์„œ IDA ์‚ฌ์šฉ! ์ฐธ๊ณ ๋กœ echo๋Š” ๊ทธ๋ƒฅ return์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋ฉด ๋  ๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ ์ €๋Š” ๋ฆฌ๋ฒ„์‹ฑ ๋Š…๋Š…์ด๋ผ์„œ ๋“œ๋Ÿฝ๊ฒŒ ๋ชปํ•˜๊ฑฐ๋“ ์š” ๊ทธ๋ž˜์„œ ๊ธธ์–ด์ง€๋ฉด.. ํ๊ทœ ใ…  ์œ„ ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด๋ฉด 15๋ฒˆ ์ค„์—์„œ ์ด๋ฆ„์„ ๋ฌผ์–ด๋ณด๋ฉฐ ์ €์žฅ์„ v7์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ž…๋ ฅ์„ ๋‘ ๋ฐ˜๋ณต๋ฌธ์„ ํ†ตํ•ด echo๋ฅผ ํ•œ๋‹ค๊ณ  ํ•˜๋Š”๋ฐ ๋ง‰์ƒ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ์•„๋‹˜ func์„ ๋ณด์‹œ๋ฉด ์ •์ž‘ ๋˜๋Š”๊ฑด 24๋ฒˆ์˜ BOF echo๋ฟ์ž…๋‹ˆ๋‹ค. ๋ณด์‹œ๋ฉด s๋Š” ํ• ๋‹น์„ 0x20๋งŒํผํ–ˆ์œผ๋‚˜ ์ž…๋ ฅ์€ 0x80๊นŒ์ง€ ํ•˜๋Š” ๋ชจ์Šต์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ bof๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜๋Š”๊ฑฐ๊ฒ ์ฃ ? ์œ„์— ๋ณด์‹œ๋ฉด Par..

๐ŸŒ‡โ”‚System_Study/๐Ÿช™โ”‚Pwnable.kr

[Toddle]fd

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

[Toddle]passcode

passcode_WriteUp ๋ณด์‹œ๋ฉด.. ์—„๋งˆ๊ฐ€ ํŒจ์Šค ๊ธฐ๋ฐ˜์˜ ๋กœ๊ทธ์ธ ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค๋ผ๊ณ  ํ•ด์„œ ์ปดํŒŒ์ผ ํ• ๋•Œ๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์—ˆ์–ด์š” ๋ฌผ๋ก  ์ปดํŒŒ์ผํ•˜๋Š”๋ฐ ์˜ค๋ฅ˜๊ฐ€ ์ข€ ๋œจ๋Š”๋ฐ ๊ทธ๊ฑธ ๋ˆ„๊ฐ€ ์‹ ๊ฒฝ์“ฐ๊ฒ ์–ด์š”.. ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ์„ ๋ฐ›์•„์„œ ์—ด์–ด๋ณด๋‹ˆ๊นŒ.. ์œ„ ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด๋ฉด ์ •์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋ฐ ์ฃผ์†Œ์˜ ๋ช…์‹œ(&)๊ฐ€ ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์ž…๋ ฅ๋ฐ›์•˜์„ ๋•Œ ์ž…๋ ฅ๊ฐ’์ด ์•„๋‹Œ ํ•ด๋‹น ์œ„์น˜์˜ ๊ฐ’์ด ์ฝ์–ด๋“œ๋ฆฐ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณดํ˜ธ๊ธฐ๋ฒ•์„ ๋ณด๋‹ˆ๊นŒ.. ํ•˜ RTL๊ณผ ๊ฐ™์€ ๊ณต๊ฒฉ๊ธฐ๋ฒ•์„ ํ•ด์•ผํ• ๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ NX๊ฐ€ ๊ฑธ๋ ค์žˆ๊ธฐ์— ์™ธ๋ถ€์˜ ์ •๋ณด๋Š” ๋ชป ๋ถˆ๋Ÿฌ์˜ค๊ฒ ๊ตฐ์š” Exploit design ๊ทธ๋Ÿผ welcome๊ณผ login์€ ํ•œ ๋ฒˆ ์‚ดํŽด๋ด…์‹œ๋‹ค. (์ฐธ๊ณ ๋กœ ์œ„์น˜ํ•œ ์ฃผ์†Œ๋Š” ์•„๋ž˜์—์„œ ํ™•์ธํ•จ) C์ฝ”๋“œ๊ฐ€ ์žˆ์œผ๋‹ˆ๊นŒ ๋ณด๋ฉด์„œ ์ธ์ž๋ฅผ ํ™•์ธํ•˜๋ฉด name์ด๋ผ๋Š” 0x70 passco..

Jastes
Jastes