๐ŸŒ‡โ”‚System_Study

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

out_of_bound

out_of_bound ๋ฌธ์ œ ํ’€์ด ๋ฐฐ์—ด์˜ ์ •ํ•ด์ง„ ์ธ๋ฑ์Šค๋ฅผ ๋„˜๋Š” Out of bound ๋ฌธ์ œ๋กœ์จ x86..์œผ๋กœ Canary์™€ NX๊ฐ€ ์กด์žฌํ•˜๋„ค์š” name[16]์™€ command์˜ ๋ฌธ์ž ๋ฐฐ์—ด์„ ๋‹ด์€ ๋ฐฐ์—ด์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. main์ด ์ค‘์‹ฌ์ด๋‹ˆ๊นŒ ํ™•์ธํ•ด๋ณด์‹œ๋ฉด name์„ ์ž…๋ ฅ ๋ฐ›๋Š”๋ฐ ํ›„์— idx๋ฅผ ์ž…๋ ฅ ํ›„ system์— command์˜ ๋ฐฐ์—ด์— ๋„ฃ์–ด์ฃผ๋Š” ๋ชจ์Šต์„ ๋ณด๋‹ˆ๊นŒ ํ™•์‹คํžˆ oob ๋ฌธ์ œ์ธ ๋“ฏํ•˜๋„ค์š” ๊ฒฐ๊ตญ ์šฐ๋ฆฌ๊ฐ€ ์‹คํ–‰ํ•  ํ•จ์ˆ˜๋Š” system("/bin/sh")์ด๋ฏ€๋กœ command์—๋Š” "/bin/sh"๊ฐ€ ์—†์œผ๋ฏ€๋กœ idx์˜ ๊ฐ’์„ ํ™œ์šฉํ•ด command์˜ 10์„ ๋„˜์–ด์„œ ์ฝ”๋“œ๋ฅผ ์ž‘๋™ํ•œ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค Exploit ์„ค๊ณ„ name ๋ณ€์ˆ˜๊ฐ€ ์„ค์ • ํ›„ command์˜ ๋ณ€์ˆ˜๊ฐ€ ์„ค์ •๋˜๋ฏ€๋กœ name๋ณ€์ˆ˜๊ฐ€ ์Šคํƒ์˜ ์œ„์น˜๋ฅผ ํ™•์ธํ•ด๋ด์š” ์Šคํƒ์€ ์Œ“์ด๊ธฐ ๋•Œ๋ฌธ์—..

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

oneshot

out_of_bound ๋ฌธ์ œ ํ’€์ด ์ด๋ฒˆ์—๋„ hook overwirte์˜ ๋ฌธ์ œ๋กœ one gadget์„ ์ด์šฉํ•ด ํ‘ธ๋Š” ๋ฌธ์ œ์ธ๋ฐ.. ๋ฌธ์ œ๋Š” ์•„์ง ์ ์šฉ๊ณผ ์‘์šฉ์„ ์ž˜ ๋ชปํ•ด์„œ.. ๊ฑฑ์ •์ž…๋‹ˆ๋‹ค ๋ณด์‹œ๋ฉด RELRO๊ฐ€ partial๋กœ ์ ์šฉ canary๋Š” ๊ธฐ์ดˆ๋ผ์„œ ์—†๋Š” ๋“ฏ ์‹ถ๊ณ  NX์™€ PIE๊ฐ€ ์ ์šฉ๋œ ๋ชจ์Šต main๋งŒ ๋ณด์‹œ๋ฉด ๋  ๋“ฏ ์‹ถ๊ณ , ์ฒ˜์Œ 16 byte ํฌ๊ธฐ์˜ msg์˜ ๋ฐฐ์—ด ์„ ์–ธ ์ €๋ฒˆ์ฒ˜๋Ÿผ stdout์˜ ์ฃผ์†Œ๋„ ์•Œ๋ ค์ฃผ๋Š” ๋ชจ์Šต์ด๋„ค์š” ์ด๊ฒƒ์„ ํ™œ์šฉํ•ด libc_base์™€ hook ์ฃผ์†Œ๋ฅผ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค ๊ทธ ์ดํ›„ ์ตœ๋Œ€ 46 ๋ฐ”์ดํŠธ ๋ฐ›์œผ๋ฏ€๋กœ bof๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค ์œ„์— ์„ ์–ธํ•œ check๋ผ๋Š” ๋ณ€์ˆ˜์˜ ๊ฐ’์ด 0๋ณด๋‹ค ํด ๊ฒฝ์šฐ ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋˜๋ฏ€๋กœ check๋ผ๋Š” ๊ฐ’์˜ stack์˜ ์œ„์น˜๋ฅผ ์•Œ์•„๋‚ด์–ด 0์ด ๋˜๋„๋ก payload ์„ค๊ณ„๊ฐ€ ํ•ต์‹ฌ! mas์— ์ž…..

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

basic_exploitation_002

basic_exploitation_002 ๋ฌธ์ œ ํ’€์ด ๋˜ x86..์ด๋„ค์š” ์ด๊ฑฐ ์ด์   ์ต์ˆ™ํ•ด์ง€๊ฒ ๋„ค ์ข‹๋‹ค NX์™€ Partial RELRO.. ๊ทธ๋Ÿฌ๋‚˜ FSB๋กœ ํ’€์–ด์•ผํ•˜๋Š” ๋ฌธ์ œ๋‹ˆ๊นŒ C์ฝ”๋“œ๋ฅผ ๋ณด์‹œ๋ฉด buf(0x80) ๋งŒํผ ํ• ๋‹น read()์—์„œ ๊ทธ๋งŒํผ ์ž…๋ ฅ๋ฐ›๊ธฐ์— BOF๋Š” ๋ฐœ์ƒ X ๊ทธ๋Ÿฌ๋‚˜ printf(buf)๋กœ FSB๋Š” ๋œ๋‹ค๋Š” ์ ๊ณผ get_shell() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜๋ฉด ๋๋‚˜๋Š” ์ ! FSB : Format String Bug ๋กœ ๊ฐœ๋ฐœ์ž์˜ ์‹ค์ˆ˜๋กœ ๋น›์–ด์ง„ ๋ฒ„๊ทธ Exploit ์„ค๊ณ„ FSB๋Š” %p %x %n %hn %N$FSB ๋“ฑ์ด ํ•ต์‹ฌ์œผ๋กœ์จ ์Šคํƒ์€ ์Œ“์ด๊ธฐ ๋•Œ๋ฌธ์— ์•„๋งˆ ๋” ๋†’์€ ๋ณ€์ˆ˜์— ์กด์žฌํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์ฃ  ๊ทธ๋Ÿผ 10๋ณด๋‹ค ํฐ ๊ฐ’์„ ์ ๋‹นํžˆ ๋„ฃ๋Š”๋‹ค๋ฉด ์–ธ์  ๊ฐ„ name์˜ ๋ณ€์ˆ˜์— ๋‹ฟ๊ณ  name์— "/bin/sh"๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ๊ทธ ๊ฐ’์„ ๋„ฃ๋Š”..

๐ŸŒ‡โ”‚System_Study/๐Ÿ”’โ”‚H4C_5๊ธฐ

[๋นก๊ณตํŒŸ 5๊ธฐ] ์‹œ์Šคํ…œ ํ•ดํ‚น ํŠธ๋ž™ W1 ๊ณผ์ œ

์ฝ”๋”ฉ ๋„์žฅ(C Unit 80) ์ •๋ฆฌ๋‚ด์šฉ GitHub - Jastes/H4C-5- Contribute to Jastes/H4C-5- development by creating an account on GitHub. github.com ์ €๋Š” ์ด์ „์— C์–ธ์–ด๋ฅผ ํ–ˆ์–ด๋„ ๋‹ค์‹œ ์ •๋ฆฌํ•˜๋ฉด์„œ ํž˜๋“œ๋„ค์š”..ใ…  ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„๋„ ์žˆ์—ˆ๊ณ  ์ฝ”๋”ฉ ๋„์žฅ์˜ ์ •๋ฆฌ๋ฅผ ๋‹ค์‹œ ์ •๋ฆฌํ•œ ๊ฒƒ์ด๋ฉฐ, ํ€ด์ฆˆ๋‚˜ ๊ทธ๋Ÿฐ ๋ถ€๋ถ„์€ ๋””์ฝ”์— ์ด๋ฏธ์ง€๋กœ ํ–ˆ์–ด์š”.. ๋‹ต์ด๋ž‘ ํ•˜๋ฉด ์ด๋ฏธ์ง€๋„ ๋„ˆ๋ฌด ๋งŽ์•„์ ธ์„œ ์ˆ˜๊ฐ•ํ•œ ์ธ์ฆ๋งŒ..(๊นƒํ—ˆ๋ธŒ์— ์žˆ์–ด์š”) Unit 80๊นŒ์ง€๋Š” ์•„๋Š”๋‚ด์šฉ์€ ๊ฐ„๋‹จํžˆ ๋ณด๊ณ  ํ•ด๊น”๋ฆฌ๋Š” ๋ถ€๋ถ„์€ ๋‹ค์‹œ ๋ณด๊ณ .. ์ˆ˜๊ฐ•์€ ํ–ˆ๋Š”๋ฐ.. ๋ฌธ์ œํ’€์ด๋ž‘ ์ •๋ฆฌ๋Š” ์•„์ง๋„.. ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค ใ…  ์•ฝ๊ฐ„ ์ •๋ฆฌ๊ฐ€ ์•ˆ๋˜์„œ.. code up(1070-1099) ์—ฌ๊ธฐ์„œ ์–ด๋ ต๋‹ค๊ณ  ๋Š๋‚€ ์ฝ”๋“œ 5๊ฐœ๋งŒ ํ•˜๋ผ๊ณ  ํ–ˆ๋Š”๋ฐ ..

๐ŸŒ‡โ”‚System_Study/๐Ÿ”’โ”‚H4C_5๊ธฐ

๋นก๊ณตํŒŸ 5๊ธฐ OT

๋ณดํ˜ธ๋˜์–ด ์žˆ๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค.

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