๐ŸŒ‡โ”‚System_Study

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

__environ

Exploit Tech: __environ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฆฌํ„ด ๋ช…๋ น์–ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด lib์™€ ์ธ์ž์—์„œ ๋‹ค์–‘ํ•œ ํ•จ์ˆ˜ ํ˜ธ์ถœ! HTML ์‚ฝ์ž… ๋ฏธ๋ฆฌ๋ณด๊ธฐํ•  ์ˆ˜ ์—†๋Š” ์†Œ์Šค ํ”„๋กœ์„ธ์Šค๋Š” ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ณ , ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ๋ถˆ๋Ÿฌ์™€ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ์—” lib ํ•จ์ˆ˜์—์„œ ์ฐธ์กฐํ•˜๋Š” ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํฌ์ธํ„ฐ์™€ ๊ด€๋ จ๋œ ๊ณต๊ฒฉ์„ ์‹ค์Šตํ•ฉ์‹œ๋‹ค. /etc/passwd ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์ฝ๊ณ  ์Šคํƒ ๋ฒ„ํผ์— ์ €์žฅํ•˜๋Š”๊ตฐ์š” ๋ฉ”์ธ ํ•จ์ˆ˜์—์„œ๋Š” stdout ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์ถœ๋ ฅํ•˜๊ณ , ๋ฐ˜๋ณตํ•ด ์ž„์˜ ์ฃผ์†Œ์— ์žˆ๋Š” ๊ฐ’์„ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ์ทจ์•ฝ์ ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋ชจ๋“  ๋ณดํ˜ธ๊ธฐ๋ฒ•์ด ์กด์žฌํ•˜๊ธฐ์— ๋ชจ๋“  OS๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ํ™˜๊ฒฝ๋ณ€์ˆ˜(environment ariable)๋Š” ๋งค๋ฒˆ ๋ณ€ํ•  ์ˆ˜ ์žˆ๋Š” ๋™์ ์ธ ๊ฐ’๋“ค์˜ ๋ชจ์ž„์œผ๋กœ, ์‹œ์Šคํ…œ์˜ ์ •๋ณด๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์ถ”๊ฐ€..

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

Background: SigReturn-Oriented Programming

๋“ค์–ด๊ฐ€๋ฉฐ.. ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ณดํ˜ธ ๊ธฐ๋ฒ• ๊ฐœ๋… ์ž์ฒด๊ฐ€ ์—†์„ ๋•Œ์—๋Š” ์…ธ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ์‹œ์Šคํ…œ ์ฝœ์„ ํ˜ธ์ถœํ•ด ์ž„์˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋ฒ•์„ ์ด์šฉํ•œ ์œ„ํ—™์ด ๊ณ„์†๋˜์ž ์…ธ์ฝ”๋“œ์˜ ์‹คํ–‰ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•œ NX ๋“ฑ์žฅ ๊ทธ๋Ÿฌ๋‚˜ ์–ผ๋งˆ๊ฐ€์ง€ ์•Š์•„ ์…ธ์ฝ”๋“ค๋ฅด ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  lib ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ด ๋ณดํ˜ธ๊ธฐ๋ฒ•์„ ์šฐํšŒํ•˜๋Š” RTL! ํ”„๋กœ๊ทธ๋žจ์˜ ์ฝ›๋ฅผ ์žฌํ™œ์šฉํ•ด ์ž„์˜ ํ•จ์ˆ˜๋ฅผ ์—ฐ์†ํ•ด ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋Š” ROP๋„ ๋“ฑ์žฅํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ฐ™์€ ์ข…๋ฅ˜์˜ ์ทจ์•ฝ์ ์ด ์žˆ๋‹คํ•ด๋„ ๊ณต๊ฒฉ ๋Œ€์ƒ์˜ ๋ณดํ˜ธ ๊ธฐ๋ฒ• ๋˜๋Š” ์‹คํ–‰ ์ฝ”๋“œ์— ๋”ฐ๋ผ ๊ณต๊ฒฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋‹ค๋ฅด๊ธฐ์— ์ด๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ๊ณ„์† ๋ณดํ˜ธ๊ธฐ๋ฒ•์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค ์ด๋ฒˆ์—” 2014๋…„ ๋ฐœํ‘œํ•œ SROP๋ฅผ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด ์‹œ๊ทธ๋„(Signal)์„ ์•Œ์•„๋ด…์‹œ๋‹ค. Signal [๋ฆฌ๋ˆ…์Šค / ์œ ๋‹‰์Šค ] ์‹œ๊ทธ๋„์ด๋ž€? ์‹œ๊ทธ๋„(SIGNAL) ์ข…๋ฅ˜, ์ƒ..

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

Master Canary

Master Canary ๋งˆ์Šคํ„ฐ ์นด๋‚˜๋ฆฌ๋ฅผ ์Šคํƒ ๋ฒ„ํผ์™€ ํ™•์ธํ•˜๋Š” ๋ฒ•! HTML ์‚ฝ์ž… ๋ฏธ๋ฆฌ๋ณด๊ธฐํ•  ์ˆ˜ ์—†๋Š” ์†Œ์Šค ์œ„ ์ฝ”๋“œ๊ฐ€ ํ•ต์‹ฌ์ธ๋“ฏ ์‹ถ์œผ๋ฉฐ, ๋ณด์‹œ๋ฉด.. 1๋ฒˆ ์˜ต์…˜์œผ๋กœ ์“ฐ๋ ˆ๋“œ๋ฅผ ์ƒ์„ฑ/2๋ฒˆ์€ size๋ฅผ ์ž…๋ ฅ ํ•ด๋‹น ์ž…๋ ฅ size๋งŒํผ ์ž…๋ ฅ์„ ๋ฐ›๋„ค์š” ์ฆ‰, bof๊ฐ€ ๋ฐœ์ƒ๋˜๊ฒ ์ฃ ? ๋งˆ์ง€๋ง‰์€ read ํ•จ์ˆ˜๋กœ 1024๋ฐ”์ดํŠธ๋งŒํผ ์ž…๋ ฅ ๋ฐ›๊ธฐ Master canary๋ฅผ ์ด์šฉํ•  ๊ฒƒ์ด๊ธฐ์—(Partial RELRO, Canary)๋ฅผ ์šฐํšŒ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์œ„์— get_shell()์˜ ํ•จ์ˆ˜๊ฐ€ ์กด์žฌํ•˜๋ฏ€๋กœ NX๋„ ์šฐํšŒ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์Šคํ„ฐ ์นด๋‚˜๋ฆฌ๋Š” ๋กœ๋”์—์„œ ํ• ๋‹นํ•œ TLS ์˜์—ญ์— ์กด์žฌํ•˜๊ณ , ํ•ด๋‹น ํŽ˜์ด์ง€๋Š” RW-๋กœ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ์˜์—ญ์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์•„๋ž˜ ๋งํฌ์— ๋Œ€ํ•˜์—ฌ ์ž์„ธํžˆ ์•Œ ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€์ถฉ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์„ค๊ณ„ํ•˜์ž๋ฉด.. 1๋ฒˆ์œผ๋กœ ..

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

Exploit Tech: Master Canary

Master Canary ๋งˆ์Šคํ„ฐ ์นด๋‚˜๋ฆฌ๋ฅผ ์Šคํƒ ๋ฒ„ํผ์™€ ํ™•์ธํ•˜๋Š” ๋ฒ•! HTML ์‚ฝ์ž… ๋ฏธ๋ฆฌ๋ณด๊ธฐํ•  ์ˆ˜ ์—†๋Š” ์†Œ์Šค ๋งˆ์Šคํ„ฐ ์นด๋‚˜๋ฆฌ๋Š” ๋กœ๋”์—์„œ ํ• ๋‹นํ•œ TLS ์˜์—ญ์— ์กด์žฌํ•˜๊ณ , ํ•ด๋‹น ํŽ˜์ด์ง€๋Š” RW-๋กœ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ์˜์—ญ์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์•„๋ž˜ ๋งํฌ์— ๋Œ€ํ•˜์—ฌ ์ž์„ธํžˆ ์•Œ ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. Background: Master Canary Stack Smashing Protector(SSP)๋Š” BOF๋กœ๋ถ€ํ„ฐ ret ๋ณดํ˜ธ ๊ธฐ๋ฒ•์œผ๋กœ์จ, ์Šคํƒ ๋ฒ„ํผ๊ฐ€ ์กด์žฌํ•˜๋Š” ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ์ž„์˜๋กœ ์ƒ์„ฑ๋œ ๊ฐ’์„ ๋ฒ„ํผ ๋งˆ์ง€๋ง‰์— ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค. SSP ๋ณดํ˜ธ ๊ธฐ๋ฒ•์„ ๋ฐฐ์šธ ๋•Œ ์Šคํƒ ์นด๋‚˜๋ฆฌ์˜ ๊ฐ’์ด ์œ„์น˜ํ•œ dystopia050119.tistory.com ๋งˆ์Šคํ„ฐ ์นด๋‚˜๋ฆฌ๋Š” main ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ์ „์— ๋žœ๋ค์˜ ์นด๋‚˜๋ฆฌ๋ฅผ ์“ฐ๋ ˆ๋“œ๋งˆ๋‹ค ์ „์—ญ ๋ณ€์ˆ˜๋กœ ์‚ฌ์šฉ๋˜๋Š” TLS์— ์ €์žฅ ์ด๋Š”..

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

Background: Master Canary

Stack Smashing Protector(SSP)๋Š” BOF๋กœ๋ถ€ํ„ฐ ret ๋ณดํ˜ธ ๊ธฐ๋ฒ•์œผ๋กœ์จ, ์Šคํƒ ๋ฒ„ํผ๊ฐ€ ์กด์žฌํ•˜๋Š” ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ์ž„์˜๋กœ ์ƒ์„ฑ๋œ ๊ฐ’์„ ๋ฒ„ํผ ๋งˆ์ง€๋ง‰์— ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค. SSP ๋ณดํ˜ธ ๊ธฐ๋ฒ•์„ ๋ฐฐ์šธ ๋•Œ ์Šคํƒ ์นด๋‚˜๋ฆฌ์˜ ๊ฐ’์ด ์œ„์น˜ํ•œ Thread Local Storage(TLS)์— ๋Œ€ํ•˜ ์ž์„ธํžˆ ๋ด…์‹œ๋‹ค. Thread Local Storage ์Šค๋ ˆ๋“œ์˜ ์ €์žฅ ๊ณต๊ฐ„ ELF ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์‚ดํŽด๋ณด๋ฉด, ๊ฐ ๋ชฉ์ ์„ ๊ฐ€์ง„ ์„น์…˜์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ๋ฅผ ์‹คํ–‰(.text), ์ดˆ๊ธฐํ™” X ์ „์—ญ ๋ณ€์ˆ˜(.data) ๋“ฑ์ด ์žˆ๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด์™€ ๋‹ฌ๋ฆฌ TLS ์˜์—ญ์€ ์Šค๋ ˆ๋“œ์˜ ์ „์—ญ ๋ณ€์ˆ˜๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๊ณต๊ฐ„์œผ๋กœ, ๋กœ๋”(Loader)์— ์˜ํ•ด ํ• ๋‹น๋จ ๋กœ๋”์—์„œ TLS ์—ฌ์—ญ์„ ํ• ๋‹นํ•˜๊ณ  ์ดˆ๊ธฐํ™”ํ•˜๋Š” ํ•จ์ˆ˜์ธ init_tls ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด๋ฉด,..

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

seccomp

seccomp ๋ฌธ์ œ ํ’€์ด ๋ณดํ˜ธ๊ธฐ๋ฒ•์€ ์ค€์ˆ˜ํ•  ์ •๋„๋กœ NX์™€ Canary.., Partial RELRO๊ฐ€ ์žˆ๋Š” ๋ชจ์Šต ASLR์€ ๋‹น์—ฐํžˆ ๊ธฐ๋ณธ์œผ๋กœ ๋˜์–ด ์žˆ๊ฒ ๋„ค์š”.. ใ…  ์ „์ด๋ž‘ ๋ณดํ˜ธ๊ธฐ๋ฒ•์ด ๋„˜ ใ…  ์ด๋ฒˆ์—” filter_list๊ฐ€ ์•„๋‹Œ strict๋ชจ๋“œ๋ผ์„œ read, write,exit..์ •๋„์˜ ์‹œ์Šคํ…œ ์ฝœ๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์•„ํ‚คํ…์ฒ˜๊ฐ€ 64๋‹ˆ๊นŒ ์ฝœ๋ฒˆํ˜ธ๊ฐ€ ์ดˆ๊ณผํ•˜์ง€ ์•Š์œผ๋ฉด ํ˜ธ์ถœ์ด๋‹ˆ๊นŒ.. 0x400..์„ ๋งž์ถ”๊ณ  seccomp์„ ์šฐํšŒํ•˜๋Š” ๊ฑด ์ž˜ ์•ˆ๋  ๋“ฏ ์‹ถ๋„ค์š” ๊ทธ๋ž˜์„œ ๋ฐฉ๋ฒ•์„ ์ฐพ๋˜ ๋„์ค‘ SECCOMP_MODE_STRICT์— ์ง‘์ค‘ ๊ตฌ๊ธ€๋งํ•œ๊ฒฐ๊ณผ Linux seccomp Linux์˜ Process Sandboxing ๊ธฐ๋ฒ•์ธ seccomp์„ ๋ถ„์„ํ•œ๋‹ค. ssup2.github.io seccomp(2) - Linux manual page sec..

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

Bypass SECCOMP-1

Bypass SECCOMP-1 ๋ฌธ์ œ ํ’€์ด ๋ณดํ˜ธ๊ธฐ๋ฒ•์€ ์ค€์ˆ˜ํ•  ์ •๋„๋กœ NX์™€ PIE, FULL ELRO๊ฐ€ ์žˆ๋Š” ๋ชจ์Šต ASLR์€ ๋‹น์—ฐํžˆ ๊ธฐ๋ณธ์œผ๋กœ ๋˜์–ด ์žˆ๊ฒ ๋„ค์š”.. ใ…  ์šฐ๋ฆฌ๊ฐ€ ๋ฐฐ์› ๋˜ sendbox๊ฐ€ ์žˆ๋Š” ๋ชจ์Šต seccomp๊ฐ€ ์นœํžˆ ๊ฑธ๋ ค์žˆ๋Š”๊ตฐ์š” ์ฝ๊ธฐ, ์“ฐ๊ธฐ, ์‹คํ–‰ ๊ถŒํ•œ์ด ์žˆ๋Š” ํŽ˜์ด์ง€๋ฅผ ํ• ๋‹นํ•˜๊ณ  ์ด์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋œ ๊ฐ’์„ ์‚ฌ์šฉํ•œ๋‹ค.. sendbox์˜ ํ•จ์ˆ˜์— allow์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ธฐ๋ฐ˜ํ•œ๋‹ค๋ฉด execve์™€ open, write๊ฐ€ ์•ˆ๋˜๋„ค์š”.. ์ ˆ๋ง์ ์ธ๋ฐ? Exploit ์„ค๊ณ„ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ์‹œ์Šคํ…œ ์ฝœ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ์ฝœ์— ๋Œ€ํ•œ ์ •๋ณด๋Š” ์•„๋ž˜ ๋งํฌ์— Linux System Call Table for x86 64 · Ryan A. Chapman Linux 4.7 (pulled from github.com/to..

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

tcache_dup2

tcache_dup2 ๋ฌธ์ œ ํ’€์ด ์ด์ „์ด๋ž‘ ๋ณดํ˜ธ๊ธฐ๋ฒ•๋„ ๋˜‘๊ฐ™๊ณ  ์ฝ”๋“œ๋งŒ ์‚ด์ง ๋ฐ”๋€ ๋ชจ์Šต์œผ๋กœ ์ด์ „๊ณผ ๊ฐ™์ด ์‹คํ–‰ํ•˜๋ฉด ๋ฌดํ•œ๋ฃจํ”„์— ๋น ์ง€๊ธฐ์— ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด p64 ๋ฐ์ดํ„ฐ ์ „์†ก ๊ณผ์ •์—์„œ ์ „์†กํ•œ ๋ฐ์ดํ„ฐ์™€ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๊ฐ€ ์ฐํžˆ๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋„ค์š” ์‹คํ–‰ํ•ด๋ณด๋ฉด์„œ ๋งŽ์ด ๋ง‰ํ˜”๋Š”๋ฐ ๊ทธ ๋ถ€๋ถ„๋งŒ ์ˆ˜๋™์œผ๋กœ ๋ฐ”๊ฟ”์„œ ํ•˜๋ฉด ๋  ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค. Exploit ์„ค๊ณ„ ๋‹ค๋ฅธ ๋ถ€๋ถ„๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๊ณ  ์ถ”๊ฐ€์ ์ธ ์ธ์ž๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ํ™•์ธํ•˜๋Š” ๋ถ€๋ถ„๊ณผ modify๊ฐ€ ์ถ”๊ฐ€๋œ ๋ชจ์Šต์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๋Ÿฌํ•œ ๋ถ€๋ถ„์€ idx๊ฐ€ 8์„ ์ดˆ๊ณผํ•˜๋ฉด ์•ˆ๋œ๋‹ค.. ์„ค๋ช…์€ ์ด์ „ ๋‚ด์šฉ์—์„œ ๋ฌด์ง€ ๋งŽ์ด ํ–ˆ์œผ๋ฏ€๋กœ ์—ฌ๊ธฐ์„  ์ด์ „ ์ฝ”๋“œ๋ฅผ ํ™œ์šฉํ•ด์„œ ์ž‘์„ฑํ•ด๋ณผ๊นŒ์š”? ๊ณต๊ฒฉ๊ธฐ๋ฒ•์˜ ์ ‘๊ทผ ๋ฐฉ์‹๋„ ์œ ์‚ฌํ•˜๋ฏ€๋กœ.. Exploit ์œ„์—์„œ ๋‹ค ์„ค๋ช…ํ–ˆ์œผ๋‹ˆ ์ถ”๊ฐ€์ ์ธ ๋ถ€๋ถ„๋งŒ ๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ•˜๊ณ  ๋„˜์–ด๊ฐ€๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„์€ DFB์˜ ๋ถ€๋ถ„์˜ ๊ธฐ๋ณธ์ด๋ฏ€๋กœ..

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

sint

sint ๋ฌธ์ œ ํ’€์ด ์ด์   ์—ฌ๊ธฐ์„  ๊ธฐ๋ณธ์ ์ธ ๋ณดํ˜ธ๊ธฐ๋ฒ•์ด ๊ฑธ๋ ค์žˆ์Šต๋‹ˆ๋‹ค NX์™€ Partial RELRO์ด์ฃ .. ๋ณด์‹œ๋ฉด.. Type Error๋ฅผ ์œ ๋ฐœํ•˜๋ผ๊ณ  ํ•˜๋Š”๋ฐ.. 38๋ฒˆ ๋ผ์ธ์˜ ๊ฒ€์‚ฌ์—์„œ 0์€ ๊ฒ€์‚ฌ๋ฅผ ์•ˆํ•˜๋Š” ๋ถ€๋ถ„์„ ํ™•์ธ ์ฆ‰, ์ž…๋ ฅ ํ•œ๋„๋ฅผ ๋„˜์„ ์ˆ˜ ์žˆ์„ ์ˆ˜ ์žˆ๊ธฐ์— payload์˜ ์ž…๋ ฅ์ด ์ž์œ ๋กœ์›Œ์ง„๋‹ค! ์ฆ‰, 0์„ ๋„ฃ๊ณ  bof๋ฅผ ์ผ์œผ์ผœ์„œ get_shell์„ ํ•˜๋Š”๊ฑฐ์ฃ  ๋˜ํ•œ signal์ด ๋ฌด์Šจ ํ•จ์ˆ˜์ผ๊นŒ ๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ˆ๊นŒ.. Segment fault ์ฆ‰ ๊ตฌ๋ฌธ ์˜ค๋ฅ˜ ๋‚˜๋ฉด get_shell์„ ์‹คํ–‰ํ•˜๋„ค์š” ๊ทธ๋Ÿผ ์ด๋ฒˆ์—๋Š” pwn๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ํ•  ์ˆ˜ ์žˆ๊ฒ ๋„ค์š”? Exploit ์„ค๊ณ„ esp๊ฐ€ 0x104๋กœ ์žกํ˜€์žˆ๋„ค์š”.. 256byte๋กœ ํ• ๋‹น๋ฌ๋Š”๋ฐ ๊ทธ๋Ÿผ 0x100์ด์—ฌ์•ผํ•˜๋Š”๋ฐ ์ตœ์ ํ™” ๋‹จ๊ณ„์—์„œ 0x104๋กœ ๋˜์—ˆ์œผ๋ฏ€๋กœ sfp์™€ ret ๋ถ€๋ถ„๋งŒ ์ฑ„์›Œ..

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