ÇØÅ·Á¤º¸.. º¸¾È°ü·Ã FAQ ÇØÄ¿°¡ ħÀÔÇϱ⠰¡Àå ÁÁÀº ½Ã±â¿Í ȯ°æÀº? Àü»ê¸ÁÀ» ±¸¼ºÇÏ´Â ³×Æ®¿öÅ©ÀÇ ³¡¿¡´Â ³×Æ®¿öÅ©¸¦ ±¸¼ºÇϱâ À§ÇÑ ÄÄÇ»Å͵é(È£½ºÆ®)µéÀÌ ºÙ¾î ÀÖ ¾î¾ß ÇÏ°í ÀÌ È£½ºÆ®µéÀº ¿î¿µÃ¼Á¦¸¦ µ¹¸®°Ô ¸¶·ÃÀÌ´Ù. ÇÏÁö¸¸ OS ´Â Àΰ£ÀÌ Â§ ÇÁ·Î±×·¥ÀÎ ÀÌ»ó ¹ö±×°¡ ÀÖ°Ô ¸¶·ÃÀÌ°í ÀÌ ¹ö±×·Î ¸»¹Ì¾Ï¾Æ º¸¾È»óÀÇ ¹®Á¦°¡ À¯ ¹ßµÇ´Â °ÍÀÌ´Ù. À¯´Ð½º ½Ã½ºÅÛ°ú °°ÀÌ ¸ÖƼÀ¯ÀúµéÀÌ »ç¿ëÇÏ´Â ½Ã½ºÅÛÀº º¸¾È»ó ¿Ïº®ÇØÁú ¼ö ¾ø´Ù ´Â °ÍÀÌ ¼öÇÐÀûÀ¸·Î Áõ¸íÀÌ µÆ´Ù . ´õ±º´Ù³ª ÀÌ È£½ºÆ®¸¦ ³×Æ®¿öÅ© »ó¿¡ ¿¬°áÇسõ°Ô µÇ¸é ´õ ¹®Á¦°¡ ÀϾ°Ô µÇ´Âµ¥, È£½ºÆ® ³»ºÎ ÀÇ ¹ö±×¸¦ ÆÐÄ¡ÇÏÁö ¾ÊÀº ä ³×Æ®¿öÅ© »ó¿¡ ¿Ã·Á³õ°Ô µÇ¸é '¹äÀ» Â÷·Á ³õ¾ÒÀ¸´Ï ¹äÀ» ¸Ôµµ·Ï ÇÏ ½Ã¿À'¶ó°í ÇØÄ¿µé¿¡°Ô ³»ÁÖ´Â ¼ÀÀÌ µÈ´Ù. ±×·¡¼­ °¡Àå ¿Ïº®ÇÏ°Ô º¸¾È À» À¯ÁöÇÏ°í ½ÍÀ¸¸é ³×Æ®¿ö Å©¿¡ ¿Ã·Á³õ±â Àü¿¡ ³»ºÎ Ȧ(hole)À» ¿ÏÀüÈ÷ ÆÐÄ¡¸¦ ÇÏ°í, ±× ´ÙÀ½¿¡ ³×Æ®¿öÅ©¿¡ ¿¬°áÇسõ´Â °ÍÀÌ ÁÁ´Ù. OS¸¦ °« ÀνºÅçÇÏ°í ³­ Á÷ÈÄ¿¡´Â OSÀÇ ¹ö±×µéÀÌ ¾ÆÁ÷ ³²¾Æ ÀÖ´Â »óÅ¿©¼­ ÀÌ ¶§ ÇØÄ¿µé¿¡°Ô ħ ÀÔÀ» ¹Þ°Ô µÇ¸é ¼Ó¼ö¹«Ã¥ÀÌ µÈ´Ù. ¶ÇÇÑ ºÒÇÊ¿äÇÑ ¼­ºñ½º¸¦ ¸¹ÀÌ ÇÏ´Â °æ¿ì ÇØÄ¿µéÀÌ Ä§ÀÔÀ» Çϱ⠴õ ÁÁ¾ÆÁö°Ô µÇ¹Ç·Î, °¡±ÞÀûÀÌ¸é ºÒÇÊ¿äÇÑ ¼­ºñ½º´Â ÇÏÁö ¾Ê´Â °Í ÀÌ ÁÁ´Ù.(guest ¾ÆÀ̵ð Á¦°øÀ̳ª sonnim ¾ÆÀ̵ð Á¦°ø °°Àº °æ¿ì) º¸¾ÈÀ» °­È­ÇØÁÖ´Â µµ±¸¿¡´Â ¾î¶² °ÍÀÌ ÀÖ³ª (ȤÀº º¸¾ÈÀ» ÀÚµ¿È­ÇØÁÖ´Â ÇÁ·Î±× ·¥Àº?) ¿ì¼± º¸¾ÈÀ» ÀÚµ¿È­ÇØÁÖ´Â ÅøÀº ÀÖÀ» ¼öµµ ¾ø°í, À־µµ ¾ÈµÇ°í, ÀÖÁöµµ ¾Ê´Ù. Àü¼¼°èÀûÀ¸·Î ÄÄ Ç»ÅÍ º¸¾ÈÀº È°¹ßÇÑ ¿¬±¸ÀÇ ´ë»óÀÌ µÇ°í ÀÖ´Ù. {{{{ftp://cert.org }} }}À̳ª, {{{{ftp://coast.cs.purdue.edu }} }} µî¿¡¼­ ÁÁÀº ÅøÀ» ¾òÀ» ¼ö ÀÖ°í ¶Ç KUS ÆÀ µµ ¼­¼­È÷ Åø °³¹ßÀ» ½ÃÀÛÇÏ°í ÀÖ´Ù. º¸¾Èµµ±¸´Â Å©°Ô Á¡°Ë µµ±¸¿Í °¨½Ãµµ±¸·Î ³ª´²Áö´Âµ¥ ´Ù½Ã ·ÎÄà ȣ½ºÆ®¿ë°ú ³×Æ®¿öÅ©¿ëÀ¸·Î ³ª´­ ¼ö ÀÖ´Ù. Local host check : cops, tiger, crack monitor: tripwire, ttywatcher Network check : satan, iss, nfsbug, ypx monitor: netlog ÇØÄ¿°¡ ÄÄÇ»ÅÍ¿¡ ħÀÔÇÏ´Â ¹æ¹ý¿¡´Â ¾î¶² °ÍÀÌ ÀÖ³ª null &default passwd account or passwd guessing tftp attack ethernet sniffing /etc/hosts.equiv exploit (ƯÈ÷ SunOS 4.1.x) NFS mount attack NIS domain name guessing Sendmail Attack X window System Attack WWW Attack NFS file handle guessing DNS hack IP Spoofing ±× ¿Ü ´Ù¼ö(¿¹: rexd, AIX rlogin -froot...) ÇØÄ¿°¡ ½´ÆÛÀ¯ÀúÀÇ ±Ç¸®¸¦ ȹµæÇÏ´Â ¹æ¹ý¿¡´Â ¾î¶² °ÍÀÌ ÀÖ ³ª. OS¸¶´Ù ´Ù¸£Áö¸¸ ´ëºÎºÐ Çã¼úÇÑ set-user-id root ÇÁ·Î±×·¥µéÀ» ÀÌ¿ëÇÑ´Ù. SunOS 4.1.x¸¦ ¿¹¸¦ µé¾îº¸¸é /usr/local/bin/autoreply /usr/ucb/rdist /bin/mail race /bin/passwd race /usr/openwin/bin/loadmodule sun sendmail 4.1 sendmail 8.6.9 debug hole À§ÀÇ ¸®½ºÆ®´Â ÀϹÝÀûÀ¸·Î Àß ¾Ë·ÁÁø °ÍµéÀε¥ ±×°Íµé ¸»°íµµ suid root ÇÁ·Î±×·¥µéÀ» ÀÏ´Ü ¸ðµÎ ½ºÄµÇØ º» ÈÄ OS¿Ü¿¡ ´Ù¸¥ ¼ÒÇÁÆ®¿þ¾î ÀνºÅç °úÁ¤¿¡¼­ »ý±ä °ÍÀÌ ÀÖÀ¸¸é system callµéÀ» ÃßÀûÇÏ ¸ç Á¶»çÇÑ´Ù. Ȥ, ¼Ò½º ÆÄÀÏÀÌ °°ÀÌ ÀÖ´Ù¸é ÁÁ´Ù. ¾î´À suid root ÇÁ·Î±×·¥ÀÇ ¼Ò½º Áß¿¡¼­.. if (!(editor = getenv("EDITOR"))) editor = "vi"; if (fork()) (void) wait(&junk); else { (void) execlp(editor, editor, fname, NULL); fprintf(stderr, "Whoops! Failed to exec %s\n", editor); exit(1); } À§ÀÇ °æ¿ì¶ó¸é ÇØÄ¿´Â search path list¿¡(current directory)¸¦ ¸Ç óÀ½ ³õ°í ·çÆ® ½©À» ¸¸µå´Â vi ¶ó ´Â ÀÚ½ÅÀÇ ÇÁ·Î±×·¥À» ¸¸ µç ÈÄ À§ÀÇ suid root ÇÁ·Î±×·¥À» ½ÇÇà½ÃŲ´Ù. ±×·¯¸é ·çÆ® ±ÇÇÑÀ¸·Î ÇØ Ä¿ÀÇ ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ¾î ·çÆ® ½©ÀÌ ¸¸µé¾îÁø´Ù. /usr/openwin/bin/loadmodule, IRIX 4.0.x ÀÇ /usr/lib/vadmin/serial_port µîÀ» ±×¿Í °°Àº Á¶°ÇÀ» ÀÌ¿ëÇؼ­ °ø°ÝÇÑ´Ù. ÄÄÇ»ÅÍ¿¡ ħÀÔÀÚ°¡ ÀÖ´ÂÁö ¾î¶»°Ô ÆľÇÇϴ°¡ °ü¸®ÀÚÀÇ Áö¼ÓÀûÀÎ °ü½ÉÀÌ Áß¿äÇÏ´Ù. ´Ã ½Ã½ºÅÛ ·Î±×¸¦ È®ÀÎÇÏ°í ÆÄÀÏ ½Ã½ºÅÛÀ» ¸ð´ÏÅÍÇÑ´Ù¸é Á¶ ±ÝÀÌ¶óµµ º¯È­°¡ »ý±â´õ¶óµµ ÆľÇÀÌ °¡´ÉÇÏ´Ù. º¸¾È °ü·Ã µµ±¸¿Í ÀÚ·á´Â ¾îµð¼­ ±¸ÇÒ ¼ö ÀÖ³ª {{{{http://www.cert.org }} }} {{{{http://www.8lgm.org }} }} {{{{http://www.cert-kr.or.kr }} }} news://comp.security.unix {{{{ftp://ftp.cert.org }} }} {{{{ftp://coast.cs.purdue.edu }} }} {{{{ftp://ftp.cert-kr.or.kr }} }} ÆÄÀ̾î¿ùÀº ¾î´À ¼±±îÁö ½Å·ÚÇÒ ¼ö ÀÖ³ª ¼³Ä¡¸¦ ÇÏ´Â »ç¶÷ÀÇ º¸¾È Áö½Ä ¹× ÆÄÀ̾î¿ù ÅøŶ ¸Å´º¾ó¿¡ ´ëÇÑ ÀÌÇØ Á¤µµ¿¡ µû¶ó ÆíÂ÷°¡ ½ÉÇÏ ´Ù. »ó´ç¼öÀÇ ÆÄÀ̾î¿ùÀº À߸ø ¼Â¾÷µÈ ä ¿î¿µµÈ´Ù. ½Ã½ºÅÛ ¹× ³×Æ®¿öÅ© ¸ð´ÏÅ͸µÀ¸·Î ÀÎÇÑ ¼º´ÉÀúÇÏ¿Í °³°³ÀÎÀÇ ÇÁ¶óÀ̹ö½Ã ħÇع®Á¦ ´Â ¾î¶»°Ô ÇØ°áÇϳª? ½Ã½ºÅÛ ¸ð´ÏÅ͸µÀ¸·Î ÀÎÇÑ ¼º´É ÀúÇÏ´Â °ÅÀÇ ¾ø´Ù°í º¸¾Æµµ ÁÁ´Ù. ¼¼¼Ç ¸ð´ÏÅÍ ÅøÀÎ ttywatcher³ª ÆÄÀÏ ½Ã½ºÅÛ ¸ð´ÏÅÍ ÅøÀÎ tripwire´Â °ü¸®ÀÚ°¡ ÇÊ¿äÇÒ ¶§ Àá½Ã »ç¿ëÇϰųª cron jobÀ¸·Î ½ÇÇàµÇ±â ¶§¹®¿¡ º°´Ù¸¥ ¿µÇâÀÌ ¾ø´Ù. ±×·¯³ª ³×Æ®¿öÅ© ¸ð´ÏÅ͸µÀº ¾öû³­ ¼º´É ÀúÇϸ¦ °¡Á®¿Â´Ù. ½ãÀÇ nit ¸¦ »ç¿ëÇϸé ÇÊÅÍ ÆÐÅÏ¿¡ µû¶ó ´Þ¶óÁö±ä ÇÏÁö¸¸ 30~70% ±îÁöÀÇ ÆÐŶ ¼Õ½ÇÀÌ »ý±â¹Ç·Î(sprayÇßÀ» ¶§) ³×Æ®¿öÅ© ÂÊÀÇ ÆÛÆ÷¸Õ½º°¡ ¸¹ÀÌ ¶³¾îÁø´Ù. ±×·¡¼­ tcpdump 3.0ºÎÅÍ´Â BPF(BSD Packet Filter)¸¦ »ç¿ëÇÏ¿© ½ºÅà ±¸Á¶¸¦ »ç¿ëÇÏ´Â SunÀÇ NITº¸´Ù´Â 10~150¹è, CSPF(CMU/Stanford Packet Filter) º¸ ´Ù´Â 1.5~20¹è ºü¸¥ ¼º ´ÉÇâ»óÀ» °ÅµÎ¾ú´Ù(Comment by {{{{chan@ra.snu.ac.kr }} }}) °³ÀÎÀÇ ÇÁ¶óÀ̹ö½Ã ħÇØ ¹®Á¦´Â °ü¸®ÀÚÀÇ µµ´ö¼º¿¡ ´Þ·Á Àִµ¥ ¿Ü±¹¿¡¼­´Â ½Ã½ºÅÛ, ȤÀº ½ÃÅ¥¸® Ƽ °ü¸®ÀÚ´Â ¹Ýµå½Ã ¼±¼­¸¦ °Å Ä£´Ù°í ÇÑ´Ù. º¸¾ÈÀ» ÀϹæÀûÀ¸·Î °­È­ÇÏ´Ù º¸¸é ÄÄÇ»ÅÍÀÇ Æí¸®¼ºÀÌ ¶³¾îÁø´Ù°í Çϴµ¥, ¾î´À ¼± ±îÁö º¸¾ÈÀ» °­È­ÇÏ´Â °Ô ¹Ù¶÷Á÷ÇÑ°¡. ÀÏ·Ê·Î XÀ©µµ¿ì ½Ã½ºÅÛÀÇ º¸¾ÈÀ» °­È­ÇÏ´Â °ÍÀ¸·Î MIT-MAGIC-COOKIE ¶ó´Â ÅäÅ«¹æ½ÄÀ» ÀÌ¿ëÇÑ xauth¶ó´Â ÇÁ·Î±×·¥ÀÌ ÀÖ´Ù. ±×·¯³ª ÀÌ°ÍÀÇ »ç¿ë¹æ¹ýÀº °¡È÷ »ìÀÎÀûÀÌ´Ù. X ¾ÖÇø®ÄÉÀ̼ÇÀ» ½ÇÇà ÇÒ ¶§¸¶´Ù ÀÏÀÏÀÌ ÅäÅ«À» ³Ñ°ÜÁà¾ß Çϱ⠶§¹®ÀÌ´Ù. µû¶ó¼­ Àû´çÇÑ ¼±ÀÌ Áß¿äÇÏ´Ù. ±×¸®°í ±×°ÍÀº ÄÄÇ»ÅÍÀÇ Á߿伺¿¡ ¹ÐÁ¢ÇÑ °ü°è°¡ ÀÖ´Ù. ±¹°¡ Á¤º¸±â°üÀÇ È£½ºÆ®¿Í ÀÎÅÍ³Ý ½Ç½À¿ëÀ¸·Î »ç¿ë ÇÏ´Â ´ëÇÐÀÇ ³°Àº ¿öÅ©½ºÅ×À̼ÇÀ» ºñ±³Çؼ­ »ý°¢ÇÏ¸é µÈ´Ù. ½ÇÁ¦·Î ±¹³»ÀÇ ¸¹Àº ´ëÇÐÀÇ È£½ºÆ®µé Àº ÀüÇô º¸¾ÈÀÌ °í·ÁµÇ°í ÀÖÁö ¾Ê¾Æ¼­ Ãʺ¸ ÇØÄ¿µéÀÇ ÁÁÀº ¿¬½À ´ë»óÀÌ µÇ±âµµ ÇÑ´Ù. Àû´çÇÑ ¼±À» ½Ç¿ëÀûÀ¸·Î ±ÔÁ¤Áö¾î º»´Ù¸é "°ü¸®ÀÚÀÇ ¸ÞÀϹڽº¿¡ »ç¿ëÀÚµé·ÎºÎÅÍÀÇ ºÒÆò °ú ºÒ¸¸ ¸ÞÀÏÀÌ ½Ã½ºÅÛ ·Î±× ¸®Æ÷Æ® ¸ÞÀϺ¸´Ù ´õ ¸¹ÀÌ ½×ÀÌ´Â ¶§ÀÌ´Ù" ÃֽŠÇØÅ· À¯Çüµé ÃÖ±Ù¿¡´Â ÇØÅ·±â¼úÀÌ °íµµ·Î ¹ß´ÞµÅ ¿¹Àü¿¡´Â »ó »óÇÒ ¼öµµ ¾ø¾ú´ø °í³­µµÀÇ ÇØÅ· ±â¼úµéÀÌ Á¸Àç ÇÏ°Ô µÆ´Ù. ¿¹Àü¿¡´Â ±â²¯ÇغÁ¾ß °ü¸®ÀÚÀÇ ½Ç¼ö³ª OS¿¡¼­ ½Ç¼ö¸¦ ÇÑ ÇÁ·Î±×·¥µéÀ» ¾Ç¿ëÇØ °ü¸®ÀÚ ÀÇ ±ÇÇÑÀ» ¾ò´Â °ÍÀÌ °íÀÛÀ̾úÁö¸¸, ÀÌÁ¦´Â ³×Æ®¿öÅ© »óÀ» Èê·¯ ´Ù´Ï´Â Á¤º¸ÀÇ ±âº»´ÜÀ§ÀÎ ÆÐŶ (packet: ³×Æ®¿öÅ©»ó¿¡ Á¤º¸¸¦ ¼Û¼ö½ÅÇÒ ¶§ °¡Àå ±âº»ÀÌ µÇ´Â Á¤º¸´ÜÀ§)À» ÇϳªÇϳª Á¶ÀÛÇØ ÇØ Å· À» ÇÏ°Ô µÆ´Ù. ÀÌ·± °í³­µµ ÇØÅ·ÀÇ ¿¹´Â ÆÐŶ ½º´ÏÆÛ¸µ(packet sniffing)°ú, IP ½ºÇªÇÎ(IP Spoofing: IP »ç±â Ä¡±â), NFS(Network File System) file handle guessing, dns server cache poisoning(³×ÀÓ ¼­¹ö(IP ¿¡ ÀÏ´ëÀÏ ¸ÅÄ¡µÇ´Â ³×ÀÓ ¾îµå·¹½º¸¦ °ü¸®Çϴ ȣ½ºÆ®)¿¡ ÀáÀÔÇØ °¡Â¥ È£½ºÆ®µéÀ» ¸¸µé°í ³ª¿À´Â °Í) µîÀÌ Àִµ¥ ÀÌÁß¿¡¼­ ½º´ÏÆÛ¸µ °ú ½ºÇªÇο¡ ´ëÇؼ­¸¸ ´Ù·ï º¸±â·Î ÇÏÀÚ. °¡Àå ½É°¢ÇÑ ÇØÅ· ±â¼ú, Sniffing ÆÐŶµéÀº ÀÌ´õ³Ý ÄÉÀ̺íÀ» Ÿ°í Àü¼ÛÀÌ µÈ´Ù. ÀÌ ÆÐŶµéÀº ¾î¶² À¯Àú°¡ ¾î´À È£½ºÆ®¿¡ ·Î±äÇß´Ù ´Â Á¤º¸ µûÀ§¸¦ °¡Áö°í Àִµ¥, ÀÌ´õ³Ý µð¹ÙÀ̽º¸¦ ÄÁÆ®·ÑÇØ Èê·¯°¡´Â ÆÐŶ¿¡¼­ ¿øÇÏ´Â Á¤º¸ÀÎ À¯ÀúµéÀÇ Æнº¿öµå¸¦ ¾Ë¾Æ³»´Â °Í À¸·Î¼­ ¿äÁò °¡Àå ½É°¢ÇÑ ¹®Á¦°¡ µÇ´Â ÇØÅ· ±â¼úÀÌ´Ù. ÃÖ±Ù ÇØ Ä¿µéÀÇ °ø°ÝµéÀÇ Åë°è¸¦ ³»º» ÀڷḦ º¸¸é ½º´ÏÇο¡ ÀÇÇÑ °ø°ÝÀÌ °¡Àå ¸¹Àº °ÍÀ¸·Î ³ªÅ¸³ª°í ÀÖ ´Ù. ½º´ÏÆÛ(Sniffer)¶õ ¹«¾ùÀΰ¡? ½º´ÏÆÛ´Â ³×Å©¿öÅ©ÀÇ ÇÑ È£½ºÆ®¿¡¼­ ½ÇÇàµÇ¾î ±× ÁÖÀ§¸¦ Áö³ª´Ù´Ï´Â ÆÐŶµéÀ» ¿³º¸´Â ÇÁ·Î±×·¥ À¸·Î¼­ °èÁ¤°ú Æнº¿öµå¸¦ ¾Ë¾Æ ³»±â À§Çؼ­ ħÀÔÀڵ鿡 ÀÇÇØ ÀÚÁÖ »ç¿ëµÇ´Âµ¥ ¾Æ¹«¸® ³×Æ®¿öÅ© º¸¾È¿¡ ½Å°æÀ» ¾´ È£½ºÆ®¶óµµ ÁÖ º¯ÀÇ È£½ºÆ®°¡ °ø°Ý´çÇؼ­ ½º´ÏÇÎÀ» À§ÇØ »ç¿ëµÈ´Ù¸é ¹«·ÂÇØÁú ¼ö¹Û¿¡ ¾ø´Ù. ÀÌÇظ¦ µ½±â À§ÇØ ½ÇÁ¦ ½º´ÏÇÎ ¼¼¼ÇÀ» °¡Áö°í ¼³¸íÇÑ´Ù. mordor# ./sniffit Log started at => Mon Apr 8 20:29:04 [pid 10937] -- TCP/IP LOG -- TM: Mon Apr 8 20:29:44 -- PATH: rohan.kaist.ac.kr(1270) => gondor.kaist.ac.kr(telnet) STAT: Mon Apr 8 20:29:48, 30 pkts, 77 bytes [TH_FIN] DATA: (255)(253)^C(255)(251)^X(255)(251)^_(255)(251) (255)(251)!(255)(251)"(255)(253)^E(255)(251)#(255)(251)$(255)(250)^X : IRIS-ANSI-NET(255)(240)(255)(253)^A(255)(252)^Aaragorn : evenstar : cls : du -s -k * : elm awen -- TCP/IP LOG -- TM: Mon Apr 8 20:31:57 -- PATH: mordor.kaist.ac.kr(2389) => gondor.kaist.ac.kr(telnet) STAT: Mon Apr 8 20:32:24, 106 pkts, 128 bytes [DATA LIMIT] DATA: (255)(253)&(255)(251)&(255)(253)^C(255)(251)^X(255)(251)^_(255)(251) (255)(251)!(255)(251)"(255)(251)$(255)(253)^E(255)(251)#(255)(250)^_ : P : ^X(255)(240)(255)(250) : 9600,9600(255)(240)(255)(250)^X : XTERM(255)(240)(255)(253)^A(255)(252)^Agaladriel : shwjdtjr=JD : : setenv DISPLAY rohan.kaist.ac.kr:0.0 : ne À§´Â ½º´ÏÆÛ ÇÁ·Î±×·¥À» µ¹¸° °á°úÀÌ´Ù. gondor, mordor, rohanÀº MÇаúÀÇ Àü»ê½ÇÀÇ ±â°èµéÀε¥ ÀÌ¹Ì Ä§ÀÔÀÚ´Â mordor¿¡¼­ ·çÆ® ±ÇÇÑÀ» µû³Â¾ú°í ½º´ÏÆÛ ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ°°í ÀÖ´Ù(½º´ÏÆÛ°¡ µ¿ÀÛÇϱâ À§Çؼ­´Â ³×Å©¿öÅ© µð ¹ÙÀ̽ºÀÇ Á¶ÀÛÀÌ ÇÊ¿äÇѵ¥ ÀÌ´Â ·çÆ®(½Ã½ºÅÛ °ü¸®ÀÚ)¸¸ÀÌ ÇÒ ¼ö ÀÖ´Ù). ±×·¸´Ù¸é ¹°¸®ÀûÀÎ ³×Å©¿öÅ© ±¸µµ¿¡¼­ ÀÎÁ¢ÇØÀִ ȣ½ºÆ® µéÀº ¸ðµÎ ½º´ÏÇÎÀ» ´çÇÏ°Ô µÈ´Ù . óÀ½ ºí·°¿¡¼­ rohan¿¡¼­ gondor·Î aragornÀ̶ó´Â °èÁ¤À¸·Î telnet ·Î±äÀ» ÇÑ °ÍÀÌ ÀâÇû´Âµ¥ À̶§ Æнº¿öµå°¡ evenstarÀÓÀ» ¾Ë ¼ö ÀÖ´Ù. ±×¸®°í ·Î±ä Á÷ÈÄ¿¡ ½ÇÇàÇÑ ¸î¸î ¸í·É±îÁö ÀâÇû´Ù. ÀϹÝÀûÀ¸ ·Î ½º´ÏÆÛ ÇÁ·Î±×·¥Àº ºñ±³ Àû ÀÛÀº Å©±âÀÇ Á¦ÇÑµÈ ¹öÆÛ¸¦ »ç¿ëÇϴµ¥ ÇÊ¿ä¿¡ µû¶ó ±×°ÍÀ» ´ÃÀÌ ±âµµ ÇÑ´Ù. ÀÌ´õ³ÝÀÇ ¼³°è»ó ¾àÁ¡°ú ³×Æ®¿öÅ© ½º´ÏÆÛÀÇ ¿ø¸® °¡Àå ÀϹÝÀûÀÎ LANÀÇ ±¸¼º ¹æ¹ýÀº ÀÌ´õ³ÝÀ» »ç¿ëÇÏ´Â °ÍÀ¸·Î ÁÖº¯¿¡¼­ °¡Àå ½±°Ô Á¢ÇÏ´Â °æ¿ìÀÌ ´Ù. ÀÌ´õ³ÝÀ» ÅëÇÑ Åë½Å ¹æ¹ýÀº ¸Å¿ì °£´ÜÇÏ´Ù. A¶ó´Â È£½ºÆ®°¡ B¶ó´Â È£½ºÆ®·Î ÆÐŶÀ» º¸³»°í ½Í´Ù¸é È£½ºÆ® A´Â B¿ÍÀÇ ¹èŸÀû ÀÎ ¿¬°áÀ» ÅëÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ±× ÆÐŶÀ» ÀÌ´õ³Ý¿¡ »Ñ¸°´Ù. ±× ¸®°í ±× ÆÐŶÀº ÀϹÝÀûÀ¸·Î ¼ö½Å ÁÖ¼ÒÀÇ È£½ºÆ®¸¸ÀÌ ¹Þµµ·Ï ±â´ëµÈ ´Ù. Áï ÀϹÝÀûÀ¸·Î Àڽſ¡°Ô ¿ÀÁö ¾Ê´Â ÆÐŶÀº ¹ÞÁö ¾ÊÀ¸¹Ç·Î È£½ºÆ® B¸¸ÀÌ A°¡ º¸³»´Â ÆÐŶÀ» ¹Þ°Ô µÈ´Ù. ±×·¯³ª ±×°ÍÀº ±â´ë »çÇ×ÀÏ »Ó ¾ðÁ¦¶óµµ ±ú¾îÁú À§ÇèºÎ´ãÀ» ¾È°í ÀÖ´Â ÇÁ·ÎÅäÄÝÀÌ´Ù. ³×Å©¿öÅ© µð¹ÙÀ̽º´Â Àڽſ¡°Ô ¿ÀÁö ¾Ê°í ´Ù¸¥ È£½ºÆ®¸¦ ÇâÇØ Áö³ª°¡´Â ÆÐŶ±îÁö ¹Þ´Â »óÅ¿¡ µé¾î°¥ ¼ö Àִµ¥, ±×¶§¸¦ 'Promiscuous mode'¶ó°í ºÎ¸¥´Ù. ½º´ÏÆÛ´Â ¹Ù·Î ±× »óÅ¿¡¼­ µ¿ÀÛÇÑ´Ù. ÀÌ·¸°Ô ³× Æ®¿öÅ©ÀÇ ¼³°è»óÀÇ Ä¿´Ù¶õ ¾àÁ¡ÀÌ Àֱ⠶§¹®¿¡ ½º´ÏÆÛ¿¡ ÀÇÇÑ °ø°ÝÀº Ä¡¸íÀûÀ̸ç ÀϺΠOS¸¦ Á¦ ¿ÜÇÏ°í´Â ã¾Æ³»±â°¡ °ï¶õÇÑ °æ¿ì°¡ ¸¹°í ¸·±â À§Çؼ­µµ ¸¹Àº ºÎ´ãÀÌ µû¸¥´Ù. ½º´ÏÆÛÀÇ ¼³°è ½º´ÏÆÛ´Â ³Ê¹«³ª ½±°í, ºñ¿­ÇÏ°Ô ÇØÅ·À» ÇÒ ¼ö Àֱ⠶§¹®¿¡ ÇØÄ¿µé °£¿¡¼­´Â ½º´ÏÆÛ¸¦ ÀÌ¿ëÇÏ´Â ÇØÄ¿¸¦ 3·ù Ãë±ÞÇØ »ó´ëµµ ÇÏÁö ¾Ê´Â´Ù. ÀÌó·³ ½º´ÏÆÛ´Â ÇØÄ¿µé »çÀÌ¿¡¼­Á¶Â÷ ±Ý±â(?)½ÃµÇ´Â Ä¡ »çÇÑ ÇÁ·Î±×·¥ÀÌÁö¸¸ ±× ÀÚü·Î ´Â ¾ÆÁÖ ÈǸ¢ÇÑ ³×Å©¿öÅ© ÇÁ·Î±×·¥ÀÌ´Ù. ½ÇÁ¦·Î ´ëºÎºÐÀÇ ³×Æ®¿ö Å© ºÐ¼® ÇÁ·Î±×·¥µéÀº Promiscuous mode¿¡¼­ µ¿ÀÛÇÏ¸ç ¶Ç ±×·² ¼ö¹Û¿¡ ¾ø´Ù. ±×¸®°í ½º´ÏÆÛÀÇ ÇÙ½ÉÀ» ÀÌ·ç´Â ÄÚµå´Â ´ëºÎºÐÀÇ OS¿¡¼­ µ¶¸³µÈ ÇÁ·ÎÅäÄݷμ­ Áö¿øÀ» Çϴµ¥ SunOSÀÇ NIT, IRIXÀÇ SNOOPÀÌ ÁÁÀº ¿¹ÀÌ´Ù. À߸¸ ÀÌ¿ëÇϸé ħÀÔÀÚµéÀ» »ó´ëÇÏ´Â °ü¸®Àڵ鿡°Ô Å« ¹«±â°¡ µÉ ¼ö ÀÖ´Ù. ³×Æ®¿öÅ©¸¦ °¨ ½ÃÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â ¸» ÀÌ´Ù. netlog({{{{ftp://ftp.cert-kr.or.kr/pub/tools/etc/netlog/netlog -1.2.tar.gz }} }})¶ó´Â ÁÁÀº ÅøÀÌ ÀÌ¹Ì ÀÖ´Ù. ÀÌ ÅøÀÇ ¼º°ÝÀ» Àß ¸»ÇØÁÖµíÀÌ telnet°ú ftpÀÇ ¸ðµâÀº Á¦¿ÜµÅ ÀÖ´Ù. Æнº¿öµå ½º´ÏÇο¡ »ç¿ëµÇ´Â °ÍÀ» ¸·±â À§ÇÔÀÏ °ÍÀÌ´Ù. ½º´ÏÆÛ´Â ÀϹÝÀûÀ¸·Î ´ÙÀ½°ú °°Àº ÀÏ·ÃÀÇ µ¿ÀÛÀ» ÇÏ´Â ÄÚµå·Î ±¸¼ºµÈ´Ù. ³×Æ®¿öÅ© µð¹ÙÀ̽º¸¦ ¿­¾î¼­ Promiscuous mode·Î ¸¸µç´Ù. Áö³ª°¡´Â ¸ðµç ÆÐŶÀ» Àд´Ù. ÆÐŶÀ» ÇÊÅ͸µÇؼ­ ¹ß½Å ¹× ¼ö½Å ÁÖ¼Ò, ¼­ºñ½º(telnet, rlogin, ftp, smtp µî), ±×¸®°í °èÁ¤°ú ÆÐ ½º¿öµå°¡ Æ÷ÇÔµÈ µ¥ÀÌÅ͸¦ ±¸ºÐÇؼ­ Ãâ·ÂÇÑ´Ù. 3¹øÀÇ ±â´ÉÀ» ÇÏ´Â Äڵ尡 »ý·«µÈ ½º´ÏÆÛ ¼Ò½º¸¦ Âü°í·Î ¼Ò°³ÇÑ´Ù. IRIX¿¡¼­ SNOOPÀ» »ç¿ëÇØ Á¦ À۵Ǿú´Ù. /* sgisniff.c by poison@baikdu.kaist.ac.kr uses SNOOP(7P) tested on IRIX 5.2, 5.3 */ #include #include #include #define ETHERHDRPAD RAW_HDRPAD(sizeof(struct ether_header)) struct etherpacket { struct snoopheader snoop; char pad[ETHERHDRPAD]; struct ether_header ether; char data[ETHERMTU]; }; main() { int s; struct sockaddr_raw sr; struct snoopfilter sf; struct etherpacket ep; int cc = 60000, on = 1; char buf[100]; s = socket(PF_RAW, SOCK_RAW, RAWPROTO_SNOOP); sr.sr_family = AF_RAW; sr.sr_port = 0; strncpy(sr.sr_ifname, "ec0", sizeof sr.sr_ifname); bind(s, &sr, sizeof sr); memset((char *)&sf, 0, sizeof sf); ioctl(s, SIOCADDSNOOP, &sf); setsockopt(s, SOL_SOCKET, SO_RCVBUF, (char *) &cc, sizeof cc); ioctl(s, SIOCSNOOPING, &on); for (;;) { cc = read(s, (char *) &ep, sizeof ep); write(1, (char *)&ep, sizeof ep); sleep(2); } } ½º´ÏÆÛ, ±× ´ëÃ¥°ú ¿¹¹æ ½º´ÏÆÛ Å½Áö ½º´ÏÆÛ´Â Promiscuous mode¿¡¼­ µ¿ÀÛÇϱ⠶§¹®¿¡ ³×Å©¿öÅ© µð¹ÙÀ̽ºÀÇ »óÅ Ç÷¡±×¿¡ 'PROMISC' °¡ ÀÖ´Ù¸é ÀÏ´Ü ½º´ÏÆÛ°¡ µ¹°í ÀÖ´Ù°í »ý°¢Çصµ ÁÁ´Ù. SunOS 4.1.x °°Àº BSD °è¿­ÀÇ À¯´Ð½º³ª IRIX¿¡¼­´Â 'ifconfig'¸¦ »ç¿ëÇؼ­ ½º´ÏÆÛÀÇ Á¸À縦 È®ÀÎÇÒ ¼ö ÀÖÀ¸³ª ´ëºÎºÐÀÇ ´Ù¸¥ À¯´Ð½º(ƯÈ÷ Solaris)¿¡¼­´Â ±×°ÍÀÌ ºÒ°¡´ÉÇÏ ´Ù. [baikdu:/circ/kus/poison 2 ] uname -a SunOS baikdu 4.1.3-KL 3 sun4m [baikdu:/circ/kus/poison 3 ] ifconfig le0 le0: flags=163 inet 143.248.1.8 netmask ffffff00 broadcast 143.248.1.0 [eru:/eldar/people/poison 16 ] uname -a IRIX eru 5.3 11091812 IP22 mips [eru:/eldar/people/poison 17 ] ifconfig ec0 ec0: flags=d63 inet 134.75.100.53 netmask 0xffff0000 broadcast 134.75.255.255 SunOS 4.1.3, IRIX 5.3 ¿¡¼­ ½º´ÏÆÛ ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ°¸é¼­ ifconfig·Î È®ÀÎÇÏ¸é ´ÙÀ½°ú °° ´Ù. µÎ ±â°è¿¡¼­ ¸ðµÎ flags¸¦ ³ªÅ¸³»´Â Çà¿¡ 'PROMISC'°¡ ÀÖ´Â °ÍÀ¸·Î ½º´ÏÆÛ°¡ È®ÀεȴÙ. SunOS 4.1.x¿¡¼­ »ç¿ë °¡´ÉÇÑ cpmÀ̶ó´Â ÇÁ·Î±×·¥ÀÌ Àִµ¥ ifconfig·Î Ç÷¡±×¸¦ Á¶»çÇÏ´Â °Í°ú °°Àº ±â ´ÉÀ» °¡Áø´Ù. ÀϹÝÀûÀ¸·Î ½º´ÏÆÛ´Â ·Î±× ÆÄÀÏÀ» ¸¸µé¾î µ¥ÀÌÅ͸¦ ¸ðÀº´Ù. µû¶ó¼­ ±× ·Î±× ÆÄÀÏÀ» ãÀ» ¼ö ÀÖÀ¸¸é ½º´ÏÆÛ¸¦ ã±â°¡ ½¬¾îÁø´Ù. ¿ì¼± ´ÙÀ½°ú °°Àº °£ ´ÜÇÑ ¹æ¹ýÀÌ ÀÖ´Ù. ´Ù¸¥ È£½ºÆ®·Î ¿¬°áÀ» ÇÏ¸é ½º´ÏÆÛ ·Î±× ÆÄÀÏ¿¡ ·Î±×°¡ »õ·Î ¸¸µé¾îÁö°Ô µÇ¹Ç·Î ¹Ì¸® ¸¸µé¾î µÎ ¾ú´ø /tmp/sniff_trapÀ̶õ ÆÄÀÏÀ» ±âÁØÀ¸·Î ÇØ Ã£À» ¼ö°¡ ÀÖ´Ù. ´Ü ºü¸¥ °á°ú¸¦ À§ÇØ ·çÆ®¿¡¼­ ÇÁ·Î ¼¼½ºÀÇ ¿ì¼±±ÇÀ» ÃÖ´ë·Î ÇÑ´Ù. º¸´Ù È®½ÇÈ÷ Çϱâ À§Çؼ­ ÇöÀç ¿­·ÁÁ® ÀÖ´Â ¸ðµç ÆÄÀÏÀÇ ¸®½ºÆ®¸¦ ¾Ë ¼ö ÀÖ´Ù¸é ±× ¼Ó¿¡ ½º´ÏÆÛ ·Î±× ÆÄÀϵµ Æ÷ÇԵŠÀÖÀ» °ÍÀÌ ¹Ç·Î ½º´ÏÆÛ¸¦ ã´Âµ¥ µµ¿òÀÌ µÈ´Ù. lsof({{{{ftp://ftp.cert-kr.or.kr/pub/tools/lsof }} }}) À̶ó´Â Åø ÀÇ »ç¿ëÀ» ±ÇÇÑ´Ù. ½º´ÏÆÛ ·Î±× ÆÄÀÏÀ» ã¾Æ ¾ø¾Ý´Ù¸é ½º´ÏÆÛ ÇÁ·Î¼¼½º¸¦ ãµµ·Ï ³ë·ÂÇغ»´Ù. ½Ã½ºÅÛÀ» ¸®ºÎÆÃÇÏ¸é µÇ°ÚÁö¸¸ ±×º¸´Ù ħÀÔÀÚ¸¦ ÃßÀû ÇÏ°í ½Í´Ù¸é ±× ÇÁ·Î¼¼½º¸¦ Á÷Á¢ ã¾Æ³»´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÏ´Ù. ·ç Æ®·Î ½ÇÇàµÇ°í ÀÖ´Â ÇÁ·Î¼¼½º Áß ¿¡¼­ ¼ö»óÇÑ °ÍµéÀ» ã´Â´Ù. ./a.out, ./in.telnetd, in.uucpd µîÀ¸·Î ¼û°ÜÁö´Â °Ô º¸ÅëÀε¥ ¾Ë¾Æ³»±â ¾î·ÆÀÝ´Ù. # touch /tmp/sniff_trap # telnet gondor.kaist.ac.kr SunOS UNIX (gondor) login: blah Password: Login incorrect login:^D Connection closed by foreign host. # nice -19 find / -newer /tmp/sniff_trap -print BSD ps(/usr/ucb/ps)°¡ »ç¿ë °¡´ÉÇÏ´Ù¸é e¿É¼ÇÀ» Ãß°¡Çؼ­ ÇÁ·Î¼¼½º°¡ ½ÃÀÛµÆÀ» ¶§ÀÇ È¯°æº¯¼ö¸¦ ¾Ë¾Æ³»¾î ¾î¶² °èÁ¤ÀÌ ÇØÅ·¿¡ »ç¿ëµÆ´ÂÁö¸¦ ¾Ë¾Æ³¾ ¼ö ÀÖ´Ù. ¾î¶»°Ô ¿¹¹æÇØ¾ß Çϳª? ½º´ÏÆÛ¿¡ ´ëºñÇÏ´Â ¹æ¹ýÀÇ ¿øÄ¢Àº Æнº¿öµå°¡ ³×Æ®¿öÅ©¸¦ ÅëÇØ Àü´ÞµÇÁö ¾Ê°Ô ÇÏ´Â °ÍÀÌ´Ù. ±×°Í ÀÇ ±¸ÇöÀº ¾Ïȣȭ¸¦ ÀÌ¿ëÇϰųª (secure shell, kerberos) Æнº¿öµå¸¦ ´ë½ÅÇÏ´Â ÅäÅ«À» ÀÌ¿ë(S/key)ÇÏ ´Â °ÍÀ» ¿¹·Î µé ¼ö ÀÖ´Ù. ±×·± ºÎ·ùÀÇ ¼ÒÇÁÆ®¿þ¾îµéÀº »ó ´ç¼ö°¡ Á¦ÀÛµÅÀִµ¥ ±×Áß °ø°³ ¼ÒÇÁ Æ®¿þ¾îÀÎ ssh(Secure Shell: {{{{http://www.cs.hut.fi/ssh }} }})ÀÌ »ç¿ëÇϱ⿡ °¡Àå ¹«³­ÇÏ´Ù . ÀÌ°ÍÀº ÆÐŶÀ» ¾ÏȣȭÇØ sshd(¼­¹ö)¿¡°Ô º¸³»´Â ssh,scp(Ŭ¶óÀ̾ðÆ®)°¡ telnet, rlogin, ftp¸¦ ´ë½ÅÇÏ ´Â ÆÐÅ°ÁöÀÌ´Ù. ´ÙÀ½ ÆäÀÌÁö·Î..