wargame ๐Ÿด‍โ˜ ๏ธ write-up 33

2. gremlin → cobolt

id : gremlinpw : hello bof world ๋จผ์ € ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.[gremlin@localhost gremlin]$ cat cobolt.c /* The Lord of the BOF : The Fellowship of the BOF - cobolt - small buffer */ int main(int argc, char *argv[]) { char buffer[16]; if(argc < 2){ printf("argv error\n"); exit(0); } strcpy(buffer, argv[1]); printf("%s\n", buffer); } gate์™€ ๋‹ฌ๋ผ์ง„ ์ ์€ buffer์˜ ํฌ๊ธฐ๊ฐ€ 256์—์„œ 16์œผ๋กœ ์—„์ฒญ ์ž‘์•„์กŒ๋‹ค๋Š” ์  ์ž…๋‹ˆ๋‹ค. bufffer๋กœ ์ง์ ‘ ์ด๋™ํ•˜์—ฌ ์‹คํ–‰์‹œํ‚ค๊ธฐ๋Š” ํž˜๋“ค..

1. gate → gremlin

id : gate pw : gate ๋กœ๊ทธ์ธ ํ•ด์ค๋‹ˆ๋‹ค. gremlin.c ์†Œ์Šค์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.[gate@localhost gate]$ cat gremlin.c /* The Lord of the BOF : The Fellowship of the BOF - gremlin - simple BOF */ int main(int argc, char *argv[]) { char buffer[256]; if(argc < 2){ printf("argv error\n"); exit(0); } strcpy(buffer, argv[1]); printf("%s\n", buffer); } buffer์˜ ํฌ๊ธฐ๊ฐ€ 256byte์ด๋‹ˆ, ์‰˜์ฝ”๋“œ๋ฅผ ๋„ฃ๊ธฐ์— ์ถฉ๋ถ„ํ• ๊ฒƒ ๊ฐ™๋„ค์š”..ใ…Ž ์‹คํ–‰๋ ๋•Œ ๋”๋ฏธ(dummy; ์“ฐ๋ ˆ๊ธฐ)๊ฐ’์ด ์ถ”๊ฐ€๋˜๋Š”์ง€ gdb๋ฅผ..

LoB ์›์ •๋Œ€ start

LoB๋ฅผ ๋ณธ๊ฒฉ์ ์œผ๋กœ ํ’€๊ธฐ์ „์— ๊ธฐ๋ณธ ์…‹ํŒ…๊ณผ ๋ช‡๊ฐ€์ง€ ์•Œ์•„๋‘๋ฉด ํŽธํ•œ ํŒ๋“ค์„ ์ •๋ฆฌํ•ด ๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. LoB๋ž€?LoB(Lord of BufferOverFlow)๋Š” ํ•ด์ปค์Šค์ฟจ์—์„œ ์ œ๊ณตํ•˜๋Š” wargame์ž…๋‹ˆ๋‹ค.์ด 20๊ฐœ์˜ level๋“ค์„ ์—ฌ๋Ÿฌ๊ฐ€์ง€ BufferOverFlow ๊ธฐ๋ฒ•์„ ํ™œ์šฉํ•˜์—ฌ ํ‘ธ๋Š” ํ˜•์‹์ด์ฃ .my-pass๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๊ฐ level์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์…‹ํŒ…์•„๋ž˜ ์ฃผ์†Œ์—์„œ LoB vmware์ด๋ฏธ์ง€ ํŒŒ์ผ์„ ๋‹ค์šด๋ฐ›์Šต๋‹ˆ๋‹ค.(vmware๋Š” ์žˆ์œผ์‹œ๊ฒ ์ฃ ..? download....)http://hackerschool.org/TheLordofBOF/TheLordOfTheBOF_redhat_bootable.zip ์••์ถ•์„ ํ’€๊ณ  ํด๋” ์†์— ๋“ค์–ด๊ฐ€๋ณด๋ฉด, ์œ„์™€๊ฐ™์€ ํŒŒ์ผ์ด ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค. ์‹คํ–‰์‹œํ‚ค๋ฉด LoB์— ์ ‘์†์ด ๋ฉ๋‹ˆ๋‹ค. ..