์ƒˆ์†Œ์‹

IT & Security/Linux

๋ฆฌ๋ˆ…์Šค [๋ช…๋ น์–ด ์•Œ์•„๋ณด๊ธฐ]

  • -
๋ฐ˜์‘ํ˜•

์•ˆ๋…•ํ•˜์„ธ์š”! ์˜ค๋Š˜์€ ๋ฆฌ๋ˆ…์Šค๋ฅผ ์ด์šฉํ•ด์„œ ๊ฐ„๋‹จํ•œ ๋ช…๋ น์–ด๋ฅผ ์•Œ์•„๋ณด๋„๋ก ํ•  ๊ฒƒ! ์ธ๋ฐ์š”~

์˜ค๋Š˜ ์•Œ์•„๋ณผ ๋ช…๋ น์–ด๋Š” chmod, setuid, setgid, sticky bit ์ž…๋‹ˆ๋‹ค.

์‹ค์ œ ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์—์„œ ํ„ฐ๋ฏธ๋„์„ ํ†ตํ•ด ๋ช…๋ น์–ด๋ฅผ ์‹ค์Šตํ•˜์—ฌ, ์ดํ•ด๊ฐ€ ์กฐ๊ธˆ ๋” ํŽธ๋ฆฌํ•˜๋„๋ก

๊ธ€์„ ์จ๋ณผ๊ป˜์š”~!!

 

๊ทธ์ „์— ๋จผ์ € ์•Œ๊ณ  ๊ฐ€์•ผํ•  ๊ฒƒ๋“ค์„ ์„ค๋ช… ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค!


  • chmod๋ž€? [ํŒŒ์ผ์ ‘๊ทผ ๊ถŒํ•œ]

chmod ๋ž€ change mode์˜ ์•ฝ์ž๋กœ, ๊ธฐ์กด ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ถŒํ•œ (์ฆ‰ ํŒŒ์ผ ๋ชจ๋“œ)์„ ๋ณ€๊ฒฝ ํ• ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.๋ช…๋ น์–ด ls -al์„ ์‹คํ–‰ํ•˜๋ฉด ํŒŒ์ผ์˜ ๊ฐ€์žฅ ์™ผ์ชฝ์— ํŒŒ์ผ ์ ‘๊ทผ ๊ถŒํ•œ์ด ๋‚˜ํƒ€๋‚˜๋Š”๋ฐ ์ด๊ฒƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ถŒํ•œ์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

ํŒŒ์ผ ๋ชจ๋“œ๋Š” ๊ธฐํ˜ธ(๋ฌธ์ž)๋‚˜ 8์ง„์ˆ˜๋กœ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ณ€๊ฒฝ์€ ํŒŒ์ผ ์†Œ์œ ์ž๋‚˜ ์Šˆํผ ์œ ์ €๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

์‹ค์ œ ์ด ๋ช…๋ น์–ด๋ฅผ ์ณ๋ณธ๋‹ค๋ฉด (๊ฐ€์ƒ๋จธ์‹  -> ๋ฆฌ๋ˆ…์Šค -> ํ„ฐ๋ฏธ๋„)

mkdir Test๋กœ Test๋ผ๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด์„œ 

๋ช…๋ น์–ด 777์„ ์ž…๋ ฅ์‹œ drwxrwxrwx ์ฆ‰, ๋ชจ๋“  ๊ถŒํ•œ์„ ๋ชจ๋‘๊ฐ€ ๊ฐ€์ง€๊ฒŒ ๋˜์ฃ ?

(Test.chmod๋Š” ์ฒ˜์Œ์— ๋ณด์—ฌ๋“œ๋ฆฌ๋ ค๊ตฌ ์ž˜๋ชป ๋งŒ๋“  ๋””๋ ‰ํ† ๋ฆฌ ์ž…๋‹ˆ๋‹น..ใ… ใ… )

์ด๋ ‡๊ฒŒ chmod 000 Test๋ฅผ ์ž…๋ ฅํ•˜๊ฒŒ ๋˜๋ฉด

๋ชจ๋“  ๊ถŒํ•œ์ด "-" ์ฆ‰ ์—†๋‹ค๊ณ  ๋œจ๋„ค์š”!

์ด๋ ‡๊ฒŒ ์ ‘๊ทผ ๊ถŒํ•œ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด๋ฅผ chmod ์ฆ‰ change mode ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 

  • Setuid [ํŠน์ˆ˜ ๊ถŒํ•œ]

Setuid๋ž€ ํŒŒ์ผ ๋˜๋Š” ์†Œ์œ ์ž์˜ ๊ถŒํ•œ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋Š” ๋ฆฌ๋ˆ…์Šค์˜ ํŠน์ˆ˜๊ถŒํ•œ์„ ๋งํ•˜๋Š”๋ฐ์š”!

Setuid๊ฐ€ ์„ค์ •๋œ ํŒŒ์ผ์„ ์‹คํ–‰ ํ•  ์‹œ์—๋Š”, ์ผ์‹œ์ ์œผ๋กœ ํŒŒ์ผ ์†Œ์œ ์ž์˜ ๊ถŒํ•œ์„ ์–ป๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ฆ‰ ์ž ์‹œ๋™์•ˆ ์†Œ์œ ์ž์ธ root ๊ถŒํ•œ์„ ๋นŒ๋ ค์˜ค๋Š” ๊ฒƒ์ด์ง€์š”! 

์ดํ•ด๋ฅผ ๋•๊ธฐ์œ„ํ•ด ๊ทธ๋ฆผ์œผ๋กœ ๊ทธ๋ ค๋ณด์•˜๋Š”๋ฐ!

์ดํ•ด๊ฐ€ ๋˜์…จ๋‚˜์š”?

์‹ค์ œ ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์—์„œ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์•„๊นŒ ๋งŒ๋“ค์–ด์ค€ ๋””๋ ‰ํ† ๋ฆฌ ํŒŒ์ผ(Test)์— setuid๋ฅผ ์‹คํ—˜ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

chmod๋กœ ๊ถŒํ•œ์„ ์ค„๋•Œ setuid๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์€ "์•ž์— ๋ถ™๋Š” 4000๋ฒˆ๋Œ€ ๋Œ€์—ญ"์ž…๋‹ˆ๋‹ค.

์ฆ‰ 4000 -> ์†Œ์œ ์ž ๊ถŒํ•œ ์‹คํ–‰(x) ์ž๋ฆฌ์— s๋กœ ํ‘œ์‹œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

Test๋ผ๋Š” ๋””๋ ‰ํ† ๋ฆฌ์—๊ฒŒ 4000์„ ๊ถŒํ•œ์œผ๋กœ ์ฃผ๋ฉด d--S------ ์ด๋ ‡๊ฒŒ ๋œจ๊ฒŒ๋˜์ฃ ?

๋ฐ‘์— Test์—๊ฒŒ 4777(setuid๋ถ€์—ฌ, ๋ชจ๋“  ๊ถŒํ•œ์„ ๋ชจ๋‘์—๊ฒŒ ์ฃผ๋Š”๊ฒฝ์šฐ)

์ž…๋ ฅ ์‹œ drwsrwxrwx ์ฆ‰ s๊ฐ€ ์†Œ๋ฌธ์ž๋กœ ๋œจ๊ฒŒ๋ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์™œ ๊ทธ๋Ÿด๊นŒ์š”!?

์—ฌ๊ธฐ์„œ ์•Œ ์ˆ˜ ์žˆ๋Š”๊ฒƒ์€ setuid๊ฐ€ ๊ฑธ๋ ค์žˆ์–ด๋„ ์‹คํ–‰๊ถŒํ•œ์ด ์žˆ๋Š” ํŒŒ์ผ๊ณผ ์—†๋Š” ํŒŒ์ผ์„ ๊ตฌ๋ถ„ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์†Œ๋ฌธ์ž s๋Š” setuid๊ฐ€ ๊ฑธ๋ ค ์žˆ๋Š” ์‹คํ–‰ ํŒŒ์ผ์„ ์˜๋ฏธํ•˜๊ณ 

๋Œ€๋ฌธ์ž S๋Š” setuid๊ฐ€ ๊ฑธ๋ ค์žˆ์ง€๋งŒ ์‹คํ–‰ ๊ถŒํ•œ์ด ์—†๋Š” ํŒŒ์ผ, ์ฆ‰ ์‹คํ–‰์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ํŒŒ์ผ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

 

์ฐธ๊ณ ๋กœ! setuid๋Š” ์‚ฌ์šฉ์ž ์ž…์žฅ์—์„œ ํŽธ๋ฆฌ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ root๊ถŒํ•œ์„ ์ž ์‹œ ์–ป์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์—์„œ 

๊ฐ์ข… ํ•ดํ‚น์—๋„ ์œ„ํ—˜์ด ์žˆ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค..!!


  • Setgid๋ž€?

์‚ฌ์šฉ์ž๊ฐ€ ์‹คํ–‰ ํŒŒ์ผ ์†Œ์œ ์ž ๋˜๋Š” ๊ทธ๋ฃน์˜ ๊ถŒํ•œ์œผ๋กœ ๊ฐ๊ฐ ์‹คํ–‰ ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๊ณ  ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋™์ž‘์„

๋ณ€๊ฒฝํ•  ์ˆ˜์žˆ๊ฒŒํ•˜๋Š” Unix ์•ก์„ธ์Šค ๊ถŒํ•œ ํ”Œ๋ž˜๊ทธ์ž…๋‹ˆ๋‹ค.

๋งˆ์น˜ Setuid ์ฒ˜๋Ÿผ ์œ ํšจ ๊ทธ๋ฃน ID(EGID)๋ฅผ ์‚ฌ์šฉ์ž์˜ ์‹ค์ œ ๊ทธ๋ฃน ID์—์„œ ํŒŒ์ผ ์†Œ์œ ์ž์˜ ๊ทธ๋ฃน ID๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ธ๋ฐ

ํŠน์ง•์œผ๋กœ๋Š”

setgid ๋น„ํŠธ๊ฐ€ ๋””๋ ‰ํ† ๋ฆฌ์— ์„ค์ •๋˜์–ด ์žˆ์œผ๋ฉด, ์ด ๋””๋ ‰ํ† ๋ฆฌ์— ์ƒˆ๋กœ ์„ค์ •๋œ ํŒŒ์ผ๋“ค์€ ๋””๋ ‰ํ† ๋ฆฌ ๊ทธ๋ฃน ์†Œ์œ ๊ถŒ๋ณด๋‹ค ํŒŒ์ผ ์ƒ์„ฑ์ž์˜ ๊ทธ๋ฃน ์†Œ์œ ๊ถŒ์„ ์–ป๊ฒŒ ๋œ๋‹ค๋Š” ์ ๊ณผ

์ผ๋ฐ˜ ํŒŒ์ผ ๊ทธ๋ฃน์˜ ๋ฉค๋ฒ„๊ฐ€ ํŒŒ์ผ ์†Œ์œ ์ž์˜ ๊ทธ๋ฃน๊ณผ ์ƒ๊ด€์—†์ด ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์˜ ๋ชจ๋“  ํŒŒ์ผ์— ์ ‘๊ทผ์ด ํ•„์š”ํ•œ ๊ณต์œ  ๋””๋ ‰ํ† ๋ฆฌ์— ์œ ์šฉ ํ•˜๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค.

์ด ์‚ฌ์ง„์„ ๋ณด์‹œ๋‹ค ์‹ถ์ด chmod ๋กœ ๊ถŒํ•œ์„ ๋ณ€๊ฒฝํ•ด์ฃผ๊ณ  8์ง„์ˆ˜ 2xxx๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

์œ„์™€ ๊ฐ™์ด s๊ฐ€ ๋ณด์ด๋ฉด setgid๊ฐ€ ์„ค์ •๋œ ๊ฒƒ์ž…๋‹ˆ๋‹น!!

(๊ฐ‘์ž๊ธฐ virtualBox๊ฐ€ ์—๋Ÿฌ๊ฐ€ ๋‚˜์„œ... ๊ฐ™์ด ๊ณต๋ถ€ํ•œ ๋‚จ์ž์นœ๊ตฌ ๋ธ”๋กœ๊ทธ์—์„œ ๋”ฐ์™”์–ด์š”..//์ถœ์ฒ˜๋Š” : ๋„ค์ด๋ฒ„ ๋ธ”๋กœ๊ทธ NULL)

 

  • Sticky ๋น„ํŠธ

๋งˆ์ง€๋ง‰์œผ๋กœ Sticky bit๋Š” ๊ณต์œ ๋ชจ๋“œ๋ผ๊ณ ๋„ ํ•˜๋Š”๋ฐ

ํŠน์ • ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋ˆ„๊ตฌ๋‚˜ ์ž์œ ๋กญ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.(๊ณต์šฉ ๋””๋ ‰ํ† ๋ฆฌ์— ์‚ฌ์šฉ๋จ)

ํŠน์ง•์œผ๋กœ๋Š” Sticky bit๊ฐ€ ๋””๋ ‰ํ† ๋ฆฌ์— ์ ์šฉ๋˜๋ฉด ๋””๋ ‰ํ† ๋ฆฌ ์†Œ์œ ์ž๋‚˜ ํŒŒ์ผ ์†Œ์œ ์ž ๋˜๋Š” ์Šˆํผ์œ ์ €๊ฐ€ ์•„๋‹Œ ์‚ฌ์šฉ์ž๋“ค์€ ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•˜์ง€ ๋ชปํ•˜๋„๋ก ๋ง‰๊ณ , ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ์€ ๋ˆ„๊ตฌ๋‚˜ ํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ํ•œ๋‹ค๋„ค์š”!

 

Sticky bit๋Š” chmod 8์ง„์ˆ˜ 1xxx๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ถŒํ•œ๋ณ€๊ฒฝ์„ ํ•ด์ฃผ๋ฉฐ

Setuid, Setgid์™€ ๋‹ค๋ฅด๊ฒŒ ์‹คํ–‰ ๊ถŒํ•œ ์ž๋ฆฌ์— ๊ถŒํ•œ์ด ์žˆ์œผ๋ฉด ์†Œ๋ฌธ์ž t, ์‹คํ–‰๊ถŒํ•œ์ด ์—†์œผ๋ฉด ๋Œ€๋ฌธ์ž T๋กœ ํ‘œ์‹œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ๋„ ์œ„์— ์ถœ์ฒ˜์—์„œ ๋”ฐ์˜จ๊ฒ๋‹ˆ๋‹น ใ…œใ…œ์—‰์—‰..


๋งˆ์ง€๋ง‰์œผ๋กœ ์ด์ •๋ฆฌ? ํ•ด์„œ ๊ฐ„ํŽธํ•˜๊ฒŒ ํ•œ๋ฒˆ ์ฝ์–ด๋ณด์„ธ์š”!

์ œ๊ฐ€ ์ง์ ‘ ๊ทธ๋ ค์„œ ์˜ฌ๋ฆฌ๋ ค๊ตฌ ํ–ˆ๋Š”๋ฐ (์ด๋ฏธ ์ž˜ ๋งŒ๋“ค์–ด์ง„ ๋‚จ์ž์นœ๊ตฌ ๋ธ”๋กœ๊ทธ์—์„œ ์‚ฌ์šฉ ํ•˜๋ฉด ๋ ๊ฒƒ ๊ฐ™์•„์„œ..) 

์‹œ๊ฐ„์ƒ...^0^.... ๋”ฐ์™”์Šต๋‹ˆ๋‹ค.

 

๋งˆ์ง€๋ง‰์œผ๋กœ ํŠน์ˆ˜๊ถŒํ•œ ํŒŒ์ผ ๊ฒ€์ƒ‰ ์˜ˆ์‹œ ํ•˜๋‚˜๋งŒ ๋ง์”€๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค!

find / -perm 4755 -print 2>/dev/null 

-->๊ทธ๋Œ€๋กœ ํ•ด์„ํ•˜๋ฉด : ์ฐพ๋‹ค ๋ฃจํŠธ์—์„œ ๊ถŒํ•œ 4755์„ ํ”„๋ฆฐํŠธํ•˜๊ฒ ๋‹ค . 2(์—๋Ÿฌ)๋Š” ํœด์ง€ํ†ต์— ๋„ฃ์–ด (๋บ€๋‹ค)

๋Œ€์ถฉ์š”๋Ÿฐ ๋œป์ธ๋ฐ ๋‚˜์ค‘์— ๊ธฐํšŒ๊ฐ€ ๋˜๋ฉด ๊ฒ€์ƒ‰๋ฒ•๋„ ์ œ๋Œ€๋กœ ๊ณต๋ถ€ํ•ด์„œ ์˜ฌ๋ฆฌ๋„๋ก ํ•ด๋ณผ๊ฒŒ์š”! 

๊ทธ๋Ÿผ ์ด๋งŒ ๋‹ค๋“ค ์—ด๊ณต ํ•˜์„ธ์šค!

๋ฐ˜์‘ํ˜•
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.