๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ณด์•ˆ/dreamhack

[dreamhack] basic_exploitation_000 (pwnable)

by - ์˜คํŠธ - 2021. 5. 31.

basic_exploitation_000 (pwnable)

1) ํ”„๋กœ๊ทธ๋žจ์˜ ์ทจ์•ฝ์  -> 2) ์ต์Šคํ”Œ๋กœ์ž‡ํ•ด ์…€ ์ทจ๋“ -> 3) "flag" ํŒŒ์ผ ์ฝ๊ธฐ

๋‹ค๋ฅธ ํ•ดํ‚น ๋ถ„์•ผ์™€๋Š” ๋‹ค๋ฅด๊ฒŒ pwnable์€ ํ™˜๊ฒฝ ์…‹ํŒ… & ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๋ฐ ๋ฐ˜๋‚˜์ ˆ์€ ์†Œ๋น„ํ•œ ๊ฒƒ ๊ฐ™๋‹ค 

 

1) ํ”„๋กœ๊ทธ๋žจ์˜ ์ทจ์•ฝ์  : 

๋ณ€์ˆ˜ buf๋ฅผ 128byte(0x80)๋งŒํผ ํ• ๋‹นํ•œ ํ›„ ๋ณ€์ˆ˜ buf์˜ ์ฃผ์†Œ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค

๊ทธ ๋‹ค์Œ, buf์˜ ๊ณต๊ฐ„์€ 128byte์ธ๋ฐ, 141byte๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค-> ๋ฒ„ํผ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ๋ฐœ์ƒ

 

 

2) ์ต์Šคํ”Œ๋กœ์ž‡ํ•ด ์…€ ์ทจ๋“ :

์‰˜ ์ฝ”๋“œ ์ž‘์„ฑ ํ›„ python3 app.py ๋กœ ์‹คํ–‰ํ•ด ๋ณด๋‹ˆ pwn์ด ์ธ์‹์ด ์•ˆ๋˜์–ด์„œ

pwntools, pip์„ ์„ค์น˜ํ–ˆ๋‹ค

 

์„ค์น˜ ์˜ค๋ฅ˜์™€ ์„ค์น˜ ๊ณผ์ •์€ ์ด ์‚ฌ์ดํŠธ์—์„œ ๋„์›€์„ ๋งŽ์ด ๋ฐ›์•˜๋‹ค

https://whitel0tus.tistory.com/18

 

pwntools

PRELIMINARY ์„œ๋ก  pwntools๋Š” CTF๋ฅผ ์œ„ํ•ด ์ตœ์ ํ™”๋œ ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ณตํ•˜๋Š” python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ์ฃผ์–ด์ง„ ๋ฐ”์ด๋„ˆ๋ฆฌ์— ๋Œ€ํ•ด ๋ถ„์„ํ•˜๊ณ , ํ˜ธ์ŠคํŠธ์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๋“ฑ ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค์Œ ๋ช…๋ น์–ด

whitel0tus.tistory.com

https://enant.tistory.com/18

 

์™œ ๋งจ๋‚  ๋œจ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ๋Š” dpkg/lock ์˜ค๋ฅ˜

E: Could not get lock /var/lib/dpkg/lock frontend - open (11: Resource temporarily unavailable) E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it..

enant.tistory.com

 

/x90์€ \x90์œผ๋กœ ๋ณ€๊ฒฝํ•ด์ฃผ์—ˆ๋‹ค

BOF์— ๋Œ€ํ•œ ๊ฐœ๋… ์ดํ•ด๋„ ์–ด๋ ค์šด๋ฐ ์‰˜ ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์ž‘์„ฑํ•˜๋Š” ๊ฑด ๋” ์–ด๋ ค์›Œ์„œ

* ์‰˜ ์ฝ”๋“œ๋Š” (https://chanin-diary.tistory.com/26) ์ด ๋ถ„์˜ ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค

 

pip, pwntools ๋ชจ๋‘ ์„ค์น˜ํ•œ ๋ชจ์Šต์ด๋‹ค

https://whitel0tus.tistory.com/18

 

pwntools

PRELIMINARY ์„œ๋ก  pwntools๋Š” CTF๋ฅผ ์œ„ํ•ด ์ตœ์ ํ™”๋œ ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ณตํ•˜๋Š” python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ์ฃผ์–ด์ง„ ๋ฐ”์ด๋„ˆ๋ฆฌ์— ๋Œ€ํ•ด ๋ถ„์„ํ•˜๊ณ , ํ˜ธ์ŠคํŠธ์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๋“ฑ ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค์Œ ๋ช…๋ น์–ด

whitel0tus.tistory.com

 

์˜ค๋ฅ˜.. ์˜ค๋ฅ˜.. ์˜ค๋ฅ˜..

์ •๋ง ์ดํ•ดํ•˜๊ธฐ๋„ ์–ด๋ ค์šด ๋งŽ์€ ์˜ค๋ฅ˜๋ฅผ ๋งŒ๋‚˜๋‹ค๊ฐ€ TypeError์—์„œ ๋ฌธ์ œ์ ์„ ์ฐพ์•˜๊ณ  ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ–ˆ๋‹ค

 

https://dreamhack.io/forum/qna/725

 

basic_exploitation_000 ๋ฌธ์ œ ์งˆ๋ฌธ

from pwn import * p = remote("host1.dreamhack.games", 15661) p.recvuntil("buf = (") buf_address =…

dreamhack.io

 

3) "flag" ํŒŒ์ผ ์ฝ๊ธฐ : 

๋‹ต์€ python3 app.py ์‹คํ–‰ํ•ด์„œ ๋‹ต์ด ๋‚˜์™”๊ณ 

EOF ์˜ค๋ฅ˜๋Š” ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ๊ณ ์น  ์ˆ˜ ์žˆ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค..

 

์ตœ์ข…์ ์œผ๋กœ ์ˆ˜์ •ํ•˜๊ณ  ์ˆ˜์ •ํ•ด์„œ ๋‚˜์˜จ ์ฝ”๋“œ์ด๋‹ค

 

์ผ๋‹จ ์ด ๋ฌธ์ œ๋Š” ์ œ ์Šค์Šค๋กœ ์ž‘์„ฑํ•œ ๋ผ์—…์ด๋ผ๊ณ  ๋งํ•˜๊ธฐ์—” ์˜ค๋ฅ˜๋งŒ ๊ณ ์ณค์ง€

๊ฒฐ๊ณผ์ ์œผ๋กœ ํฌ๋„ˆ๋ธ”์˜ ๊ธฐ์ดˆ ๊ฐœ๋…์ธ BOF์— ๋Œ€ํ•ด ์ดํ•ดํ•˜์ง€๋„ ๋ชปํ–ˆ๊ณ  ์‰˜ ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์ž‘์„ฑํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ์„œ

์–ด๋”” ๊ฐ€์„œ ์ด ๋ผ์—…์„ ์ž‘์„ฑํ–ˆ๋‹ค๊ณ  ๋งํ•˜๊ณ  ์‹ถ์ง€ ์•Š์„ ์ •๋„์ด๋‹ค

์‹œ๊ฐ„๋„ ์˜ค๋ž˜ ๊ฑธ๋ ค์„œ ์ค‘๊ฐ„์— ์ ‘์† ์ •๋ณด๊ฐ€ ๋ฐ”๋€Œ์–ด ์ฝ”๋“œ๋„ ์ˆ˜์ •ํ•ด์คฌ๋‹ค

 

ํฌ๋„ˆ๋ธ”์— ๋Œ€ํ•ด์„œ๋Š” ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๊ฒƒ ๋ณด๋‹ค ์ผ๋‹จ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ๋‚˜ ๊ธฐ์ดˆ์ ์ธ ์ž๋ฃŒ๋ฅผ ๋จผ์ € ๋ณด๊ณ  ๊ณต๋ถ€ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค๊ณ  ๋Š๊ผˆ๋‹ค

๊ฐ€์žฅ ๊ธฐ์ดˆ์ ์ธ ํฌ๋„ˆ๋ธ” ๋ฌธ์ œ๋„ ๋„ˆ๋ฌด ์–ด๋ ต๋‹ค..


* ์ฐธ๊ณ ํ•œ ๋ผ์—…์ž…๋‹ˆ๋‹ค

https://chanin-diary.tistory.com/26

 

dreamhack wargame basic_exploitation_000 write-up

๋ฌธ์ œ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•„์„œ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์—ด์–ด๋ณด์ž ๋ณ€์ˆ˜ buf๋ฅผ 128byte๋งŒํผ ํ• ๋‹นํ•˜๊ณ  ๋ณ€์ˆ˜ buf์˜ ์ฃผ์†Œ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋‹ค์Œ ์ž…๋ ฅ์„ ๋ฐ›๋Š”๋ฐ buf์˜ ๊ณต๊ฐ„๋ณด๋‹ค ํฐ 141byte๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. ์—ฌ๊ธฐ์„œ bof๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค

chanin-diary.tistory.com

 

'๋ณด์•ˆ > dreamhack' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[dreamhack] basic_exploitation_001 (pwnable)  (0) 2021.05.31
[dreamhack] welcome (pwnable)  (0) 2021.05.26
[dreamhack] xss-1 (web)  (0) 2021.05.24
[dreamhack] file-download-1 (web)  (0) 2021.05.24
[dreamhack] ์‹ค์Šต ํ™˜๊ฒฝ ๊ตฌ์ถ•  (0) 2021.05.24