๐ŸŒ‡โ”‚System_Study

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

HackerSchool_level12

keyworld : gets buffer Overflow level12 - WriteUp ์œ„ ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•ด๋ณด์‹œ๋ฉด gets()๋ผ๋Š” ์ž…๋ ฅ๋ฐ›๋Š” ๋ถ€๋ถ„์ด ์–ด๋””๊นŒ์ง€ ์ž…๋ ฅ๋ฐ›๋Š”์ง€ ์„œ์ˆ ๋˜์ง€ ์•Š์•˜๊ธฐ์— ์ทจ์•ฝํ•จ! ์ฐธ๊ณ ๋กœ ์•ˆ์ „ํ•œ ๋ฐฉ์‹์€ gets_s๊ฐ€ ์žˆ๊ฒ ์ฃ . ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ณ  ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๊ฒŒ tmp๋กœ ์˜ฎ๊ฒจ์„œ ์‹คํ–‰ํ•˜์ง€์š” ์œ„ ๋ฐฉ์‹์œผ๋กœ ํ•˜์‹œ๋ฉด ๋ณดํ†ต ์ €๋Š” intel ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ์— ๋ณด๊ธฐ ๋ถˆํŽธํ•  ์ˆ˜ ์žˆ๊ธฐ์— ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ์‹๋„ ์žˆ๋Š”๊ฑฐ ๊ฐ™์€๋ฐ ๊ทธ๋ƒฅ ์ „๋ถ€ํ„ฐ ์ด๋ ‡๊ฒŒ ํ–ˆ์œผ๋‹ˆ๊นŒ ๊ทธ๋ƒฅ ํ• ๊ป˜์š” ์ฒซ๋ฒˆ์งธ ๋ฐฉ์‹์œผ๋กœ๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ํ• ๋‹น๋œ stack์˜ ํฌ๊ธฐ๋ฅผ ์•Œ ์ˆ˜ ์žˆ์œผ๋ฉฐ, 0x108(264)๋กœ ํ™•์ธ ๋˜๋ฉฐ, ๋‘๋ฒˆ์งธ๋Š” gets์˜ ํ˜•์‹์ด ์žˆ๊ธฐ ์ „์— str๋กœ ์ž…๋ ฅ๋ฐ›์€ ํ˜•์‹์ด ์ธ์ž๋กœ ๋„ฃ์–ด์ง€๋Š”๋ฐ gets์˜ ํ˜•์‹์˜ ์ธ์ž์— ๋งž๊ฒŒ ๋„ฃ๊ธฐ์— ํ™•์ธํ•ด๋ณด๋ฉด, 0xff.. ์‹ค์ œ๊ฐ’์ด๋ผ๊ธฐ์—” ..

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

HackerSchool_level11

keyword : strcpy bof keyword : printf Format String keyword : NOP level11 - Write Up(NOP) ํžŒํŠธ๊ฐ€ ์ฝ”๋“œ๋„ค์š”... ์œ„ ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด argv๋ผ๋Š” main์ธ์ž์˜ ๊ฐ’์„ ๋ฐ›์•„์„œ ์ถœ๋ ฅํ•˜๋„ค์š” setreuid๊ฐ€ ์žˆ๊ธฐ์— level12๋กœ ํ–ฅํ•˜๋Š” ๋น„๋ฒˆ์˜ ๊ถŒํ•œ์„ ์ทจ๋“ํ•  ์ˆ˜ ์žˆ๋‹ต๋‹ˆ๋‹ค. BOF์— ์ทจ์•ฝํ•œ ๋Œ€ํ‘œ์ ์ธ ํ•จ์ˆ˜๊ฐ€ strcpy์ด๋‹ˆ๊นŒ bof๋กœ main์˜ ret๋ฅผ ์กฐ์ž‘ํ•˜๋ฉด ๋˜๊ฒ ๋„ค์š” ์ฐธ๊ณ ๋กœ ์ € ํ•จ์ˆ˜์—์„œ bof ์ทจ์•ฝ์ ์„ ๋ง‰์„๋ ค๋ฉด strncpy๋กœ ํ•˜๋ฉด ๋˜์š” ใ…Ž ๊ทธ๋Ÿผ ๋ฆฌ๋ฒ„์‹ฑ์œผ๋กœ ํ™•์ธํ•ด๋ณผ๊นŒ์š”? ์Œ.. ๋ณด์‹œ๋ฉด ํ”„๋กค๋กœ๊ทธ๊ฐ€ ์œ„์™€ ๊ฐ™์ด ๋‚˜์™€์žˆ์œผ๋ฉฐ, ์˜ ์–ด์…ˆ ์ฝ”๋“œ๊ฐ€ $0x108, %esp๋กœ์จ ์•„๊นŒ ์ฝ”๋“œ์—์„œ ๋ณธ char str[256]์˜ ํฌ๊ธฐ๋ฅผ ์ €๋ ‡๊ฒŒ esp๋กœ์จ ๊ณต๊ฐ„ ํ• ๋‹นํ•œ๊ฑฐ๋„ค์š”..

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

HackerSchool_level10

keyword : Shared Memory level10-WriteUp Shared Memory ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ๋ž€ ์—ฌ๋Ÿฌ ์žฅ์น˜(์ฃผ๋กœ CPU)๋‚˜ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ณต๋™์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ Ex) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋“ฑ.. [ CS / OS ] ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ (Shared Memory) ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ๋ž€ ์—ฌ๋Ÿฌ ์žฅ์น˜(์ฃผ๋กœ CPU)๋‚˜ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ณต๋™์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.์œ„์˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ์ผ๋ฐ˜์ ์ธ ํ”„๋กœ์„ธ์Šค๋Š” ๊ฐ์ž์˜ ๋…๋ฆฝ๋œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ฐ€์ง€๊ณ  ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค. ํ•˜์ง€๋งŒ ๊ณต์œ  velog.io ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•œ๋‹ค๋ผ.. ๊ทธ๋Ÿผ ๋จผ์ € ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ ์„ค์ •๊ณผ ๊ธฐ๋Šฅ ๊ทธ๋ฆฌ๊ณ  ์ฝ”๋”ฉ์— ๋Œ€ํ•˜์—ฌ ์•Œ์•„๋ณด๊ธฐ ์ „์— ์ถ”๊ฐ€์ ์œผ๋กœ ์ •๋ณด๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ด๋ด…์‹œ๋‹ค ์ผ๋‹จ ./program์ด๋ผ๋Š” ํŒŒ์ผ์ด ์กด์žฌํ•˜๊ธฐ์— ํ™•์ธ์„ ํ•ด๋ณด๋‹ˆ๊นŒ ๊ถŒํ•œ์ด ์—†๋‹ค.. ์ฆ‰, root ๊ถŒํ•œ์—์„œ ์‹คํ–‰..

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

HackerSchool_level9

keyword : Buffer Overflow level9-WriteUp ๋ฌธ์ œ ํŒŒ์•… BOF ๋ฌธ์ œ๋ผ๊ณ  ์นœํžˆ ์•Œ๋ ค์ฃผ๋„ค์š” BOF ํ•ด๋‹น ๋ฌธ์ œ๋Š” ์ œ๊ฐ€ Dreamhack์—์„œ ์‹ค์ปท ํ•ด์„œ.. ์•ฝ๊ฐ„ ๋‹ค์‹œ ์„ค๋ช…ํ•˜๋ฉด ๋ฌผ๋ ค์„œ BOF ์„ค๋ช…(๊ผญ ๋ณด์„ธ์š”) Memory Corruption: Stack Buffer Overflow ์Šคํƒ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ(Stack Buffer Overflow) ์„ธ๊ณ„ ์ตœ์ดˆ์˜ ์›œ์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๋ชจ๋ฆฌ์Šค ์œ”๋„ ์ด ๊ณต๊ฒฉ์„ ํ†ตํ•ด ์ „ํŒŒ๋จ ๋ณด์•ˆ ๊ณต๋ถ€๋ฅผ ๋ชจ๋ฅด๋Š” ๊ฐœ๋ฐœ์ž๋„ ์•Œ๋งŒํผ ์œ ๋ช…ํ•˜๊ณ  ์—ญ์‚ฌ๊ฐ€ ์˜ค๋ž˜๋œ ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ dystopia050119.tistory.com ์‹ค์Šต_Dreamhack (๋น„๋ฒˆ ๊ฑธ๋ ค์žˆ๊ธด ํ•œ๋ฐ.. ํ’€๊ณ  ๋‚˜์„œ ํ’€์ด ๊ฒ€์ƒ‰ https ํ•˜๊ณ  Jastes๋ฅผ.. ํ•˜ํ•˜) Return Address Overwrite..

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

HackerSchool_level8

keyword : File Search level8 - WriteUp ๋ฌธ์ œ ํŒŒ์•… ์Œ.. ๊ทผ๋ฐ shadowํ•˜๋‹ˆ๊นŒ /etc/shadow ๊ฐ€ ๋– ์˜ค๋ฅด๋„ค์š” ใ…‹ใ…‹ใ…‹ ์จ‹๋“  ํŒŒ์ผ ์šฉ๋Ÿ‰ ์ฐพ์œผ๋ฉด ๋๋‚˜๊ฒ ๋„ค์š” find --help ๋ช…๋ น์–ด๋ฅผ ์ณ์„œ ๋ณด๋‹ˆ๊นŒ -size N์œผ๋กœ ๋ฐ”๋กœ ๊ตฌํ•  ์ˆ˜ ์žˆ๊ฒ ๋„ค์š” ์ถ”๊ฐ€ ์˜ต์…˜์ด.. [bckw]๋ผ๊ณ  ํ•˜๋Š”๋ฐ.. ์„ค๋ช…์ด ์ฐธ ๋ถˆ์นœ์ ˆํ•˜๋„ค์š” ๊ตฌ๊ธ€๋ง ํ•ด๋ณด์‹œ๋ฉด c๊ฐ€ byte์˜ ํฌ๊ธฐ๋ผ๊ณ  ํ•˜๋„ค์š”..(๋ญ” ์•ฝ์–ด์•ผ??) find / -size 2700c 2> /dev/null ์ €๊ธฐ ์ด๋ฏธ์ง€ ๋ณด์‹œ๋ฉด ์•Œ๊ฒ ์ง€๋งŒ ์ฒซ ๋ฒˆ์งธ๊ฑฐ๋Š” ์›น ํŽ˜์ด์ง€ ๊นƒ์ด๋‹ˆ๊นŒ ์•„๋‹๊ฑฐ๊ณ , 3-4๋ฒˆ์งธ๋Š” share..::..gz ๋ง‰ ์ด๋Ÿฌ๋Š”๋ฐ ์••์ถ•ํ˜•์‹์— ๊ณต์œ ๋‹ˆ๊นŒ ์ด๊ฑด ์Šค๋ƒ…์ƒท ๋Š๋‚Œ์ด๋„ค์š” ๊ทธ๋Ÿผ 2๋ฒˆ์งธ๊บผ๋ฅผ ๋œฏ์–ด๋ณด๋ฉด ๋˜๊ฒ ์ฃ ? ์ด๋Ÿฐ๊ฑธ ์•„์ง ์œ ์ถ”ํ•˜๊ธฐ ํž˜๋“ค๋‹ค! ํ•˜๋ฉด ์‚ฝ์งˆํ•˜๋ฉด์„œ ๋ฐฐ์šฐ..

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

HackerSchool_level7

keyword : Morse Code level7 - WriteUp ๋ฌธ์ œ ํŒŒ์•… ๋ญ.. 2-4๊นŒ์ง€ ๋‚ด์šฉ์ด ๋ญ ์ข€ ์ˆ˜์ž‘์—…์„ ๊ฑฐ์ณ์•ผํ•  ๊ฑฐ ๊ฐ™๋„ค์š” ๊ทธ๋Ÿฌ๋ฉด /bin/level7 ๋ช…๋ น์–ด๋ฅผ ์ผ๋‹จ ์‹คํ–‰ํ•ด๋ณผ๊นŒ์š” /bin/wrong.txt ํŒŒ์ผ์„ ์ถœ๋ ฅํ•˜๋Š” ๊ฑฐ ๊ฐ™์€๋ฐ ํŒŒ์ผ์ด ์—†๋Š”๊ฑฐ ๊ฐ™๋„ค์š”? ํ˜น์€ ๊ถŒํ•œ์ด ์•ˆ๋˜์„œ ๋ชป ๋ณด๊ฑฐ๋‚˜ ๊ทธ๋Ÿผ root ๊ถŒํ•œ์œผ๋กœ ์ ‘์†ํ•ด๋ด๋„.. ๋˜‘๊ฐ™์ด ๋œจ๋„ค์š” ๊ทธ๋Ÿผ ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ์•Œ์•„์„œ ์ž…๋ ฅ๋ ๊นŒ์š”..? ๊ฒฐ๋ก ์ ์œผ๋ก  ๋‹ค ์•ˆ๋˜๋„ค์š” ใ…  ์•Œ๊ณ ๋ณด๋‹ˆ๊นŒ ์‚ฌ์‹ค level7 ๋ฌธ์ œ๋Š” ๊ฐœ์ธ FTZ๋กœ ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€.. ์—†๋‹ค๊ณ  ๋œจ๋„ค์š” ๊ทธ๋Ÿผ ๋ญ ์–ด์ฉŒ๋ผ๋Š”๊ฑด์ง€ ํ•ต์‹ฌ ๋ถ€๋ถ„์„ ๋‹ค์‹œ ๋งŒ๋“ค์–ด์„œ ํ•ด์•ผ๊ฒ ์ฃ  ํ•˜.. --_--_- --____- ---_-__ --__-_- ๋จธ ์ €๋งŒ ๊ทธ๋Ÿฐ๊ฑด์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์ „ ์ปค๋ฉ˜๋“œ ์ฐฝ์— ๋ณต๋ถ™์˜ ์ด์Šˆ๊ฐ€..

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

HackerSchool_level6

keyword : process down level6 - WriteUp ๋ฌธ์ œํŒŒ์•… ๊ทธ๋ƒฅ ์ƒ๊ฐ ์—†์ด ์ ‘๊ทผํ•˜๋ฉด ์ €๋ ‡๊ฒŒ ๋œฌ๋‹ต๋‹ˆ๋‹ค.. ๊ทผ๋ฐ 1, 2, 3 ๋‹ค ๋“ค์–ด๊ฐ€๋„ ๋ญ ์—†๋„ค์š” ๋ฐ”๋กœ ์ข€ ์žˆ๋‹ค๊ฐ€ ๊บผ์ง€๊ธฐ๋งŒ ํ•˜๊ณ .. ๊ทธ๋ฆฌ๊ณ  bbs๊ฐ€ ์•Œ์•„๋ณด๋‹ˆ๊นŒ ๊ทธ๋ƒฅ ์ฑ„ํŒ… ๋ณด๋‚ด๋Š” ์„œ๋ฒ„..? ๋Š๋‚Œ์ด๋”๋ผ๊ณ ์š” ๋ฌธ์ œ ํ‘ธ๋Š”๋ฐ ์ „ํ˜€ ๋„์›€์ด ์•ˆ๋˜๋‹ˆ๊นŒ.. ์ฒ˜์Œ ๋“ค์–ด๊ฐˆ ๋•Œ ๋‚˜์˜ค๋Š” ํžŒํŠธ๋ฅผ ๋ด๋ณผ๊นŒ์š”? ์—ญ์‹œ๋‚˜.. ํ…”๋„ท ์ ‘์† ๋ฉ”๋‰ด์—์„œ ๋งŽ์ด "์‚ฌ์šฉ๋˜๋˜" ํ•ดํ‚น ๋ฐฉ๋ฒ•์ด๋ผ๊ณ  ํ•˜๋„ค์š” ์ง€๊ธˆ์€ ๋ง‰ํžŒ ๊ทธ๋‹ˆ๊นŒ ํ…”๋„ท ์ ‘์†์„ ์‹œ์ž‘ํ•  ๋•Œ ๊ฐ•์ œ๋กœ ํŠน์ •ํ–‰๋™์„ ์ทจํ•˜๋ฉด ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๊ฑธ ์‹œ์ž‘ํ•˜๊ฒ ์ฃ ? ์—ฌ๊ธฐ์„œ ํŠน์ง•์€ hint → ์ž…๋ ฅ(ํ…”๋„ท ์ ‘์† ๋ฒˆํ˜ธ) → ์ข…๋ฃŒ ์‹œ๊ทธ๋„๊ณผ ํ•จ๊ป˜ ์šฐ๋ฆฌ putty๋„ ์•ˆ๋…•~ Write_Up ์ง„์งœ ์‚ฝ์งˆ์„ ์ข€ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค... ๋ญ ๋‹ค๋“ค cmd ์“ฐ์‹ค๋•Œ ๊ฐ•์ œ ์ข…๋ฃŒ..

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

Exploit Tech: Return Oriented Programming

Return Oriented Programming ROP : ๋ฆฌํ„ด ๊ฐ€์ ฏ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต์žกํ•œ ์‹คํ–‰ ํ๋ฆ„์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ธฐ๋ฒ• ๊ณต๊ฒฉ์ž๋Š” ์ด๋ฅผ ์ด์šฉํ•ด ๋ฌธ์ œ ์ƒํ™ฉ์— ๋งž์ถฐ RTL/Return to dl-resolve/GOT overwrite ๋“ฑ์„ ์ด์šฉํ•ด ํŽ˜์ด๋กœ๋“œ๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค! ์ง€๋‚œ ์‹œ๊ฐ„์— pop rdi; ret์„ ์‚ฌ์šฉํ•ด system("/bin/sh")์„ ํ˜ธ์ถœํ•œ ๊ฒƒ๋„ ROP๋ฅผ ์ด์šฉํ•œ RTL์ž…๋‹ˆ๋‹ค. ROP ํŽ˜์ด๋กœ๋“œ๋Š” ๋ฆฌํ„ด ๊ฐ€์ ฏ์œผ๋กœ ๊ตฌ์„ฑ๋˜๋Š”๋ฐ, ret ๋‹จ์œ„๋กœ ์—ฌ๋Ÿฌ ์ฝ”๋“œ๊ฐ€ ์—ฐ์‡„์ ์œผ๋กœ ์‹คํ–‰๋˜๋Š” ๋ชจ์Šต์—์„œ ROP Chain์ด๋ผ๊ณ  ๋ถˆ๋ฆฝ๋‹ˆ๋‹ค. // Name: rop.c // Compile: gcc -o rop rop.c -fno-PIE -no-pie #include #include int main() { char buf[0x30]; s..

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

HackerSchool_level5

level5 ๋ฌธ์ œํ’€์ด(Race Condition) keyword : tmp weakness exploit ๋ฌธ์ œํŒŒ์•… /usr/bin/ ํŒŒ์ผ์—์„œ /tmp ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์ž„์‹œํŒŒ์ผ์—์„œ ์ทจ์•ฝ์ ์„ ์ฐพ๋‚˜๋ณด๋„ค์š” ์—ฌ๊ธฐ์„œ ์ž„์‹œํŒŒ์ผ์ด ์ทจ์•ฝํ•œ ์ด์œ ๋Š” ์„œ๋ฒ„๊ฐ™์€ ๋ถ€๋ถ„์—์„œ ์ž„์‹œ ์ž‘์—…์ธ ๋กœ๊ทธ ๋ฐ ์ค‘์š” ์ •๋ณด๋ฅผ ๋‹ด๋Š” ๊ณณ ๊ทธ๊ณณ์€ root ๋ฐ‘์— ๋ถ€์†๋œ tmp(์ž„์‹œ ํŒŒ์ผ)๋ผ๋Š” ๋ถ€๋ถ„์ด๊ฑฐ๋“ ์š” ๊ทธ๋‹ˆ๊นŒ root์ชฝ์—์„œ ๋ณด๋Š”๊ฒŒ ์ข‹๊ฒ ์ฃ ? ๊ทธ๋Ÿฌ๋‚˜ ํžŒํŠธ์—์„  level.tmp ์ž„์‹œํŒŒ์ผ์—์„œ ํ•˜๋ผ๋˜๋ฐ ์—†์ฃ ? ๊ทธ๋Ÿผ ๋งŒ๋“ค์–ด์•ผ๊ฒ ๋„ค์š” ๊ทผ๋ฐ ํ•˜๋‹ค๋ณด๋ฉด์„œ ์•Œ๊ฒŒ๋œ ์‚ฌ์‹ค์ธ๋ฐ ๊ฒฐ๊ตญ ์–ด์งœํ”ผ ๊ณ„์ •๋งŒ ์—ฌ๋Ÿฌ๊ฐœ๋กœ ๋‚˜๋ˆ„์–ด ๊ด€๋ฆฌ๋งŒ ํ–ˆ์ง€ ๋ฌธ์ œ ์ ‘๊ทผ์€.. ํ•ด๋‹น ๋กœ์ง์— ์žˆ์œผ๋‹ˆ๊นŒ.. ์ด๋ ‡๊ฒŒ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•œ๋ฐ.. ๋ญ ์žฌ๋ฏธ์žˆ๊ฒŒ ๋ณธ ๋ถ€๋ถ„์ด๊ณ  ๋‹ค์‹œ ๋ฌธ์ œ๋กœ ๋Œ์•„๊ฐ€์„œ level5 ๋ฌธ์ œ๋Š” ํ‘ธ๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์–ด..

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

Exploit Tech: Return to Library

Return To Library NX๋กœ ์ธํ•ด ๊ณต๊ฒฉ์ž๊ฐ€ ๋ฒ„ํผ์— ์ฃผ์ž…ํ•œ ์…ธ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ๋Š” ์–ด๋ ค์›Œ์กŒ์ง€๋งŒ, ์–ด์ „ํžˆ BOF๋Š” ๊ฐ€๋Šฅ! ๊ทธ๋ž˜์„œ ๊ณต๊ฒฉ์ž๋“ค์€ ์‹คํ–‰ ๊ถŒํ•œ์ด ๋‚จ์•„์žˆ๋Š” ์ฝ”๋“œ ์˜์—ญ์œผ๋กœ ๋ฐ˜ํ™˜ ์ฃผ์†Œ๋ฅผ ๋ฎ๋Š” ๊ณต๊ฒฉ ๊ธฐ๋ฒ•์„ ๊ณ ์•ˆํ–ˆ์ฃ  ํ”„๋กœ์„ธ์Šค์— ์‹คํ–‰ ๊ถŒํ•œ์ด ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐ”์ด๋„ˆ๋ฆฌ์˜ ์ฝ”๋“œ ์˜์—ญ & ์ฐธ์กฐ lib์˜ ์ฝ”๋“œ ์˜์—ญ ํŠนํžˆ ๊ณต๊ฒฉ์ž๋“ค์ด ์ฃผ๋ชฉํ•œ ๊ฒƒ์€ ๋‹ค์–‘ํ•œ ํ•จ์ˆ˜๊ฐ€ ๊ตฌํ˜„๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. ๋ช‡๋ช‡ lib๋Š” ๊ณต๊ฒฉ์— ์œ ์šฉํ•œ ํ•จ์ˆ˜๋“ค์ด ๊ตฌํ˜„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค ์˜ˆ๋กœ ๋ฆฌ๋ˆ…์Šค์— C๋กœ ์ž‘์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ ์ฐธ์กฐํ•œ libc์— system/execve ๋“ฑ ํ”„๋กœ์„ธ์Šค ์‹คํ–‰ ๊ด€๋ จ ํ•จ์ˆ˜๋“ค์ด ๊ตฌํ˜„๋จ Return To Libc(Return To Library) libc์˜ ํ•จ์ˆ˜๋“ค๋กœ libc์˜ ํ•จ์ˆ˜๋“ค NX๋ฅผ ์šฐํšŒํ•˜๊ณ  ์…ธ์„ ํš๋“ํ•˜๋Š” ๊ณต๊ฒฉ ๊ธฐ๋ฒ•์„ ๊ฐœ๋ฐœ ..

Jastes
'๐ŸŒ‡โ”‚System_Study' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (6 Page)