pwnable.kr 25 - otp๋กœ ๊ณผ์ œํ•ด๊ฒฐ. Linux์˜ ํŒŒ์ผ ํฌ๊ธฐ ์ œํ•œ

pwnable.kr 25 - otp๋กœ ๊ณผ์ œํ•ด๊ฒฐ. Linux์˜ ํŒŒ์ผ ํฌ๊ธฐ ์ œํ•œ
์ด ๊ธฐ์‚ฌ์—์„œ๋Š” ์‚ฌ์ดํŠธ์˜ 25๋ฒˆ์งธ ์ž‘์—…์„ ํ•ด๊ฒฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. pwnable.kr.

์กฐ์ง ์ •๋ณดํŠนํžˆ ์ •๋ณด ๋ฐ ์ปดํ“จํ„ฐ ๋ณด์•ˆ ๋ถ„์•ผ์—์„œ ์ƒˆ๋กœ์šด ๊ฒƒ์„ ๋ฐฐ์šฐ๊ณ  ๋ฐœ์ „ํ•˜๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด ๋‹ค์Œ ๋ฒ”์ฃผ์— ๋Œ€ํ•ด ๊ธ€์„ ์“ฐ๊ณ  ์ด์•ผ๊ธฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

  • PWN;
  • ์•”ํ˜ธํ™”(Crypto);
  • ๋„คํŠธ์›Œํฌ ๊ธฐ์ˆ (๋„คํŠธ์›Œํฌ);
  • ๋ฆฌ๋ฒ„์Šค(๋ฆฌ๋ฒ„์Šค ์—”์ง€๋‹ˆ์–ด๋ง);
  • ์Šคํ…Œ๊ฐ€๋…ธ๊ทธ๋ž˜ํ”ผ(Stegano);
  • WEB ์ทจ์•ฝ์  ๊ฒ€์ƒ‰ ๋ฐ ์ด์šฉ.

์ด ์™ธ์—๋„ ์ปดํ“จํ„ฐ ํฌ๋ Œ์‹, ๋งฌ์›จ์–ด ๋ฐ ํŽŒ์›จ์–ด ๋ถ„์„, ๋ฌด์„  ๋„คํŠธ์›Œํฌ ๋ฐ LAN ๊ณต๊ฒฉ, ์นจํˆฌ ํ…Œ์ŠคํŠธ ์ˆ˜ํ–‰ ๋ฐ ์ต์Šคํ”Œ๋กœ์ž‡ ์ž‘์„ฑ์— ๋Œ€ํ•œ ๊ฒฝํ—˜์„ ๊ณต์œ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด ๊ธฐ์‚ฌ, ์†Œํ”„ํŠธ์›จ์–ด ๋ฐ ๊ธฐํƒ€ ์ •๋ณด์— ๋Œ€ํ•ด ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ๋„๋ก ์ „๋ณด ์ฑ„๋„ ะธ ๋ฌธ์ œ๋ฅผ ๋…ผ์˜ํ•˜๋Š” ๊ทธ๋ฃน IIKB ์˜์—ญ์—์„œ. ๋˜ํ•œ ๊ท€ํ•˜์˜ ๊ฐœ์ธ์ ์ธ ์š”์ฒญ, ์งˆ๋ฌธ, ์ œ์•ˆ ๋ฐ ๊ถŒ์žฅ ์‚ฌํ•ญ ํ•˜๋‚˜ํ•˜๋‚˜ ์‚ดํŽด๋ณด๊ณ  ๋‹ต๋ณ€๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค..

๋ชจ๋“  ์ •๋ณด๋Š” ๊ต์œก ๋ชฉ์ ์œผ๋กœ๋งŒ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์„œ์˜ ์ €์ž๋Š” ์ด ๋ฌธ์„œ๋ฅผ ์—ฐ๊ตฌํ•œ ๊ฒฐ๊ณผ ์–ป์€ ์ง€์‹๊ณผ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ ๊ฒฐ๊ณผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•œ ๋ชจ๋“  ์‚ฌ๋žŒ์˜ ์†ํ•ด์— ๋Œ€ํ•ด ์ฑ…์ž„์„ ์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

OTP ์ž‘์—… ํ•ด๊ฒฐ

๋‘ ๋ฒˆ์งธ ์„น์…˜์„ ๊ณ„์† ์ง„ํ–‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ๊ฒƒ๋ณด๋‹ค ๋” ๋ณต์žกํ•˜๋‹ค๊ณ  ๋ฐ”๋กœ ๋ง์”€๋“œ๋ฆฌ๊ฒ ์ง€๋งŒ ์ด๋ฒˆ์—๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ(https://t.me/RalfHackerPublicChat)์™€ ์—ฌ๊ธฐ(https://t.me/RalfHackerChannel)์—์„œ ํ† ๋ก ํ•˜๋Š” ๊ฒƒ์„ ์žŠ์ง€ ๋งˆ์„ธ์š”. ์˜ ์‹œ์ž‘ํ•˜์ž.

otp ์„œ๋ช…์ด ์žˆ๋Š” ์•„์ด์ฝ˜์„ ํด๋ฆญํ•˜์„ธ์š”. ์—ฐ๊ฒฐํ•  ์ฃผ์†Œ์™€ ํฌํŠธ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

pwnable.kr 25 - otp๋กœ ๊ณผ์ œํ•ด๊ฒฐ. Linux์˜ ํŒŒ์ผ ํฌ๊ธฐ ์ œํ•œ

์ ‘์†ํ•ด์„œ ์„œ๋ฒ„๋ฅผ ๋‘˜๋Ÿฌ๋ด…๋‹ˆ๋‹ค.

pwnable.kr 25 - otp๋กœ ๊ณผ์ œํ•ด๊ฒฐ. Linux์˜ ํŒŒ์ผ ํฌ๊ธฐ ์ œํ•œ

์šฐ๋ฆฌ๊ฐ€ ์ฝ์„ ์ˆ˜ ์—†๋Š” ํ”Œ๋ž˜๊ทธ, ํ”„๋กœ๊ทธ๋žจ ๋ฐ ํ•ด๋‹น ์†Œ์Šค ์ฝ”๋“œ. ์†Œ์Šค๋ฅผ ์‚ดํŽด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

pwnable.kr 25 - otp๋กœ ๊ณผ์ œํ•ด๊ฒฐ. Linux์˜ ํŒŒ์ผ ํฌ๊ธฐ ์ œํ•œ

์ •๋ฆฌํ•ด๋ณด์ž. ํ”„๋กœ๊ทธ๋žจ์€ ์•”ํ˜ธ๋ฅผ ์ธ์ˆ˜๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

pwnable.kr 25 - otp๋กœ ๊ณผ์ œํ•ด๊ฒฐ. Linux์˜ ํŒŒ์ผ ํฌ๊ธฐ ์ œํ•œ

๋‹ค์Œ์œผ๋กœ otp ๋ณ€์ˆ˜์— ์ž„์˜์˜ 16๋ฐ”์ดํŠธ๊ฐ€ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

pwnable.kr 25 - otp๋กœ ๊ณผ์ œํ•ด๊ฒฐ. Linux์˜ ํŒŒ์ผ ํฌ๊ธฐ ์ œํ•œ

tmp ํด๋”์— ์ž„์˜์˜ ์ด๋ฆ„์„ ๊ฐ€์ง„ ํŒŒ์ผ์ด ์ƒ์„ฑ๋˜๊ณ (์ฒ˜์Œ 8๋ฐ”์ดํŠธ๋Š” otp) ์—ฌ๊ธฐ์— ์ž„์˜์˜ 8๋ฐ”์ดํŠธ๊ฐ€ ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค(๋‘ ๋ฒˆ์งธ 8๋ฐ”์ดํŠธ๋Š” otp).

pwnable.kr 25 - otp๋กœ ๊ณผ์ œํ•ด๊ฒฐ. Linux์˜ ํŒŒ์ผ ํฌ๊ธฐ ์ œํ•œ

์–ด๋–ค ์ด์œ ์—์„œ์ธ์ง€ ์ƒ์„ฑ๋œ ํŒŒ์ผ์˜ ๊ฐ’์„ ์ฝ์–ด์„œ ์ž…๋ ฅํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.

pwnable.kr 25 - otp๋กœ ๊ณผ์ œํ•ด๊ฒฐ. Linux์˜ ํŒŒ์ผ ํฌ๊ธฐ ์ œํ•œ

์—ฌ๊ธฐ์„œ ์ทจ์•ฝ์ ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ƒ์„ฑ๋œ ๋ฒˆํ˜ธ๋ฅผ ํŒŒ์ผ์— ์ค‘๊ฐ„์— ์ €์žฅํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํŒŒ์ผ ํฌ๊ธฐ๋ฅผ 0์œผ๋กœ ์ œํ•œํ•˜๋ฉด ์“ฐ๊ธฐ ๋ฐ ์ฝ๊ธฐ ์‹œ 0์ด ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ๋น„๊ต๋ฉ๋‹ˆ๋‹ค.

# ulimit -f 0

pwnable.kr 25 - otp๋กœ ๊ณผ์ œํ•ด๊ฒฐ. Linux์˜ ํŒŒ์ผ ํฌ๊ธฐ ์ œํ•œ

์ด์ œ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

pwnable.kr 25 - otp๋กœ ๊ณผ์ œํ•ด๊ฒฐ. Linux์˜ ํŒŒ์ผ ํฌ๊ธฐ ์ œํ•œ

์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ƒ๊ด€์—†์Šต๋‹ˆ๋‹ค. ๋™์ผํ•œ Python์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

python -c "import os, signal; signal.signal(signal.SIGXFSZ, signal.SIG_IGN); os.system('./otp 0')" 

pwnable.kr 25 - otp๋กœ ๊ณผ์ œํ•ด๊ฒฐ. Linux์˜ ํŒŒ์ผ ํฌ๊ธฐ ์ œํ•œ

์šฐ๋ฆฌ๋Š” ๊นƒ๋ฐœ๊ณผ ์‰ฌ์šด 100์ ์„ ์–ป์Šต๋‹ˆ๋‹ค. ๊ณ„์†ํ•ด์„œ ๋‹ค์Œ ๊ธฐ์‚ฌ์—์„œ๋Š” ์›น์— ๋Œ€ํ•ด ๋‹ค๋ฃฐ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ์šฐ๋ฆฌ์™€ ํ•จ๊ป˜ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ํ…”๋ ˆ๊ทธ๋žจ.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€