==Phrack Inc.== Volume 0x0b, Issue 0x39, Phile #0x07 of 0x12 |=---=[ ICMP ±â¹Ý ¿ø°Ý OS TCP/IP ½ºÅØ fingerprinting ±â¼úµé ]=---=| |=-----------------------------------------------------------------------=| |=---------------=[ Ofir Arkin & Fyodor Yarochkin ]=---------------------=| --[ICMP ±â¹Ý fingerprinting Á¢±Ù]-- TCP ±â¹ÝÀÇ ¿ø°Ý OS fingerprinting Àº ²Ï ¿À·¡µÇ°íµµ, Àß ¾Ë·ÁÁø ¹Ù´Ù. ±Ù·¡µé¾î, ÀÌ°÷¿¡¼­, ¿ì¸®´Â È£½ºÆ®·ÎºÎÅÍÀÇ ICMP ÀÀ´ä¿¡ ±â¹ÝÇØ ¿ø°Ý¿¡ ÀÖ´Â OS¸¦ ¾Ë¾Æ³»´Â ¶Ç ´Ù¸¥ ¹æ¹ýÀ» Á¦½ÃÇÏ°íÀÚ ÇÑ´Ù. ¾î¶² ½Ã½ºÅÛ ¶Ç´Â Ç÷¡Æû ±×·ì(i.g.Win*)¿¡¼­ ¾ò¾î ¿Ô´ø Á¤È®¼º¸é¿¡¼­ TCP ±â¹ÝÀÇ fingerprinting ¹æ¹ýº¸´Ù ´õ¿í Á¤È®ÇÏ´Ù. ¾Õ¼­ ¾ð±ÞÇÑ TCP ±â¹ÝÀÇ ¹æ¹ýó·³, ICMP fingerprintingÀº ¿ø°Ý OS TCP/IP ½ºÅà ÇÁ·çºê¸¦ ½ÇÇàÇϱâ À§ÇØ ¸î°¡Áö Å×½ºÆ® ÀýÂ÷¸¦ ÀÌ¿ëÇÑ´Ù. ÇÏÁö¸¸, TCP fingerprinting °ú´Â ´Ù¸£°Ô OS¸¦ ¾Ë¾Æ³»±â À§ÇØ ÇÊ¿äÇÑ Å×½ºÆ®ÀÇ ¼ö°¡ 1°³¿¡¼­ 4°³·Î ´Ù¾çÇÏ´Ù. ( ÇöÀçÀÇ °³¹ß ´Ü°è¿¡ µû¸¥°ÍÀÌ´Ù. ) ICMP fingerprinting ¹æ¹ýÀº ´Ù¾çÇÑ ¿î¿µÃ¼°è¿¡¼­ÀÇ ICMP ÀÀ´äÀÇ Â÷ÀÌÁ¡À» ¹ß°ßÇϴµ¥ ±â¹ÝÇÏ°í ÀÖ´Ù(´ë°³, ºÎÁ¤È®ÇÑ, ¶Ç´Â ÀÏ°ü¼º¾ø´Â ±¸Çö¿¡ ±âÀÎÇÑ°ÍÀÌ´Ù.) ÀÌ´Â Ofir ArkinÀÌ "½ºÄ³´×¿¡¼­ÀÇ ICMP »ç¿ë"(ICMP Usage in Scanning) À̶ó´Â ¿¬±¸ÇÁ·ÎÁ§Æ®¿¡¼­ ¹ß°ßÇÑ »ç½ÇÀÌ´Ù. Èʳ¯ ÀÌ·¯ÇÑ ¹ß°ßÀº 'X project'¶ó Ofir°¡ À̸§ ºÙÀÎ ¼±Åà Ʈ¸®(decision tree)·Î ¿ä¾àµÇ¾ú°í 'Xprobe' Åø·Î¼­ ±¸ÇöµÇ¾ú´Ù. --[ICMP fingerprintsÀÌ °®°í ÀÖ´Â Á¤º¸´ë ³ëÀÌÁî ºñÀ²]-- ÀÌ¹Ì ¹àÈù´ë·Î ICMP±â¹ÝÀÇ °ËħÀ» ÅëÇØ ´ë»ó ¸Ó½ÅÀ» ¿ø°Ý¿¡¼­ ¾Ë¾Æ³»±â À§ÇØ ¿ì¸®°¡ ÇÊ¿ä·Î ÇÏ´Â µ¥ÀÌŸ±×·¥ÀÇ ¼ö´Â ÀÛ´Ù. ¸Å¿ì ÀÛ´Ù. »ç½Ç, ¿ì¸®´Â ÇϳªÀÇ µ¥ÀÌŸ±×·¥À» º¸³»°í, ÇϳªÀÇ ÀÀ´äÀ» ÅëÇؼ­ 8°¡Áö ´Ù¸¥ ¿î¿µÃ¼°è(¶Ç´Â ÇÑ Å¬·¡½ºÀÇ ¿î¿µÃ¼°èµé)À» ¾Ë¾Æ³»°Ô ÇÒ¼ö ÀÖ´Ù. ÇöÀç °³¹ß´Ü°è¿¡¼­ ¿ì¸®ÀÇ ÅøÀÌ »ç¿ëÇÏ´Â ÃÖ´ë µ¥ÀÌŸ±×·¥ÀÇ ¼ö´Â 4°³ÀÌ´Ù. ÀÌ´Â ¿ì¸®°¡ ºÐ¼®ÇÒ ÇÊ¿ä°¡ ÀÖ´Â ÀÀ´äÀÇ ¼ö°¡ °°´Ù. ÀÌ°ÍÀÌ ICMP ±â¹ÝÀÇ fingerprintingÀÌ È¿À²ÀûÀÎ ÀÌÀ¯´Ù ICMP ±â¹ÝÀÇ °ËħÀº ¸Å¿ì ºñ¹Ð½º·´°Ô ÀÌ·ç¾îÁø´Ù. º¸ÅëÀÇ fingerprinting ¹æ¹ý°ú´Â ´Ù¸£°Ô ¾î¶² ¼ø°£¿¡µµ À߸øÇü¼ºµÈ/±úÁø/ÈÑ¼ÕµÈ µ¥ÀÌŸ±×·¥À» ¿ø°Ý OS ŸÀÔÀ» ¾Ë¾Æ³»´Âµ¥ »ç¿ëµÇÁö ¾Ê´Â´Ù. ÇöÀç ÇÙ½É ºÐ¼®Àº À¯È¿ÇÏÁö ¾ÊÀº ÆÐŶÀ» °¡°øÇÏ´Â °Í º¸´Ù´Â À¯È¿ÇÑ ÆÐŶ¿¡ ±â¹ÝÇØ ¼Û½ÅµÈ ICMP ÀÀ´äÀÇ È®Àο¡ ÁÖ¾ÈÁ¡À» µÎ°í ÀÖ´Ù. ±×·¯ÇÑ »ó´ç¼öÀÇ ÆÐŶµéÀº ³¯¸¶´Ù º¸ÅëÀÇ ³×Æ®¿÷¿¡¼­ ³ªÅ¸³ª´Â °ÍµéÀÌ°í ±Ø¼Ò¼öÀÇ IDS¸¸ÀÌ ±×·¯ÇÑ ÆÐŶµéÀ» ¹ß°ßµÇµµ·Ï Æ©´×µÇ¾î ÀÖ´Ù(¾Æ¸¶, ³ëÀÌÁ ³×Æ®¿÷ ¼³Á¤ÀÌ À߸øµÇ¾î¼­ µ¹¾Æ´Ù´Ï´Â Æ®·¡ÇÈÀ¸·Î °£ÁÖÇÒ°ÍÀÌ´Ù.) --[¿Ö ÀÌ°ÍÀÌ µ¿ÀÛÇϴ°¡?]-- ´Ù¸¥ RFC Ç¥ÁØ( ÃÖÃʺ» RFC792, Ãß°¡º» RFC1122 µîµî)À» ±¸ÇöÇÑ ICMP 󸮷çƾÀ» °¡Áø ´Ù¾çÇÑ TCP/IP ½ºÅØ ±¸Çöµé »çÀÌÀÇ Å»ýÀûÀΠȥ¶õ, ºÎºÐÀû ¶Ç´Â ºÒ¿ÏÀüÇÑ ICMP Áö¿ø( ´Ù¾çÇÑ ICMP ¿ä±¸°¡ ¸ðµç°÷¿¡¼­ Áö¿øµÇ´Â°Ô ¾Æ´Ï´Ù.), ICMP ¿¡·¯ ¸Þ¼¼Áö µ¥ÀÌŸ¸¦ °æ½ÃÇÔ(´©°¡ ÃÖÃÊÀÇ µ¥ÀÌŸ±×·¥ ¸ðµç Çʵ带 È®ÀÎÇϰڴ°¡?!), ICMP ÇÁ·ÎÅäÆú ±¸Çö¿¡ À־ÀÇ ¿ÀÇسª ½Ç¼öµé, ÀÌ·±°ÍµéÀÌ ¿ì¸®ÀÇ ¹æ¹ýÀÌ ½ÇÇà°¡´ÉÅä·Ï ÇÏ´Â °ÍÀÌ´Ù. --[¿ì¸®´Â ¹«¾ùÀ» fingerprint Çϴ°¡]-- ¿ø°Ý ¿î¿µ ü°Ô¸¦ ¾Ë¾Æ³»±â À§Çؼ­ ICMP ±â¹Ý fingerprinting¿¡¼­´Â ¸î¸î OS Ư¼ºÂ÷À̸¦ ÀÌ¿ëÇÏ°Ô µÈ´Ù. °Ë»çÇÏ´Â '°ø°Ý'(offending) µ¥ÀÌŸ±×·¥ÀÇ IP Çʵåµé : * IP ÃÑ ±æÀÌ ÇÊÆ®( IP total length field) ¾î¶² ¿î¿µÃ¼°Ô(i.g. BSD °è¿­)Àº ÃÖÃÊ IP ÃÑ ±æÀÌ Çʵ忡 20 ¹ÙÀÌÆ®( sizeof(ipheader))¸¦ Ãß°¡ÇÏ°Ô µÉ°ÍÀÌ´Ù.(ÀÌ´Â ³»ºÎÀÇ µ¥ÀÌŸ±×·¥ ó¸® ½Ç¼ö¿¡ ÀÇÇØ ¹ß»ýÇϴ°ÍÀÌ´Ù. °°Àº ÆÐŶÀÌ SOCK_RAW¸¦ ÅëÇØ ÀÐÀ»¶§ °ªÀº ÇൿÀ» º¸Àδٴ »ç½ÇÀ» ÁÖ¸ñÇضó.; ¼Û½Å ÆÐŶÀÇ ip_len field´Â 20 ¹ÙÀÌÆ®¸¸Å­ ¾î±ß³ª ÀÖ´Ù.) ¾î¶² ´Ù¸¥ ¿î¿µ ü°è´Â °ø°Ý ÆÐŶÀÇ IP ÃÑ ±æÀÌ ÇʵåÀÇ °ªÀ» 20¹ÙÀÌÆ®¸¸Å­ °¨¼Ò½Ãų °ÍÀÌ´Ù. Á¦3ÀÇ ±×·ì¿¡ ÀÖ´Â ½Ã½ºÅÛµéÀº ÀÌ ÇÊµå °ªÀ» Á¤È®ÇÏ°Ô ¹Ý¼ÛÇÒ°ÍÀÌ´Ù. * IP ID ¾î¶² ½Ã½ºÅÛµéÀº ÀÌ Çʵ带 Á¤È®ÇÏ°Ô ¹Ý¼ÛÇÏÁö ¾Ê´Â´Ù.( ÀÌ ÇʵåÀÇ ºñÆ® ¼ø¼­°¡ ¹Ù²ï´Ù). * 3 ºñÆ® Ç÷¡±× ¿Í ¿ÀÇÁ¼Â ¾î¶² ½Ã½ºÅÛµéÀº ÀÌ Çʵ带 Á¤È®ÇÏ°Ô ¹Ý¼ÛÇÏÁö ¾Ê´Â´Ù.( ÀÌ ÇʵåÀÇ ºñÆ® ¼ø¼­°¡ ¹Ù²ï´Ù). * IP ÇØ´õ üũ¼¶ ¾î¶² ¿î¿µ ü°è´Â ÀÌ Çʵ带 À߸ø°è»êÇÏ°Ô µÇ°í, ´Ù¸¥ ½Ã½ºÅÛµéÀº ´ÜÁö 0À¸·Î ¸¸µé¾î ¹ö¸°´Ù. ¶Ç´Ù¸¥ Á¦3ÀÇ ½Ã½ºÅÛµéÀº Á¤È®ÇÏ°Ô ÀÌ Çʵ带 ¹Ý¼ÛÇÑ´Ù. * UDP ÇØ´õ üũ¼¶( UDP µ¥ÀÌŸ ±×·¥Àΰæ¿ì ) UDP üũ¼¶¿¡µµ °°Àº Çö»óÀ» º¸ÀÌ°í ÀÖ´Ù. ¹Ý¼ÛµÈ ICMP ÆÐŶÀÇ IP ÇØ´õµé : * ¼±Çà ºñÆ®µé °¢°¢ÀÇ IP µ¥ÀÌŸ±×¸§Àº 'TOS ¹ÙÀÌÆ®'¶ó ºÒ¸®´Â 8 ºñÆ® Çʵ带 °®°í ÀÖ´Ù. ÀÌ´Â ¿ì¼±¼øÀ§¿Í ¼­ºñ½ºÅ¸ÀÔ(Type of Service) 󸮸¦ À§ÇÑ IP Áö¿øÀ» Ç¥ÇöÇÑ °ÍÀÌ´Ù. 'TOS ¹ÙÀÌÆ®'´Â 3°³ÀÇ Çʵå·Î ±¸¼ºµÈ´Ù. ¼±ÇàºñÆ®(RFC791)´Â 3ºñÆ® ±æÀÌ·Î IP µ¥ÀÌŸ±×·¥ÀÇ ¿ì¼±¼øÀ§¸¦ ³ªÅ¸³½´Ù. ÀÌ´Â 8´Ü°èÀÇ ¿ì¼±¼øÀ§ ·¹º§À» °¡Áö°í ÀÖ´Ù. ´õ ³ôÀº ¼øÀ§ÀÇ Æ®·¡ÇÈÀÌ ´õ ³·Àº Æ®·¡ÇÈ º¸´Ù ¸ÕÀú º¸³»Áú ¼ö ÀÖ¾î¾ß ÇÑ´Ù. µÎ¹ø° Çʵå´Â 4ºñÆ® ±æÀÌ·Î '¼­ºñ½º ŸÀÔ(Type-of-Service)' ÇʵåÀÌ´Ù. ÀÌ´Â ³×Æ®¿÷ÀÌ Ã³¸®À², Áö¿¬, ½Å·Ú¼º, ±×¸®°í IP µ¥ÀÌŸ±×·¥ÀÇ ¶ó¿ìÆÿ¡ À־ÀÇ ÄÚ½ºÆ® »çÀÌ¿¡¼­ Çù»óÇÏ´Â ¹æ¹ýÀ» ±â¼úÇÏ´Â °ÍÀ¸·Î º»´Ù. ¸¶Áö¸· Çʵå, 'MBZ(must be zero)',´Â »ç¿ëµÇÁö ¾Ê°í ¹Ýµå½Ã 0 À̾î¾ß ÇÑ´Ù. ¶ó¿ìÅ͵é°ú È£½ºÆ®µéÀº ÀÌ ¸¶Áö¸· Çʵ带 ¹«½ÃÇÑ´Ù. ÀÌ Çʵå´Â 1ºñÆ® ±æÀÌ´Ù. TOS ºñÆ®µé°ú MBZ´Â QoS¸¦ À§ÇÑ ‹K¼­ºê(DiffServ)¿¡ ÀÇÇØ ±³Ã¼µÈ´Ù. IPv4 ¶ó¿ìÅ͸¦ À§ÇÑ ÀÌÇÏ RFC1812 ¿ä±¸»çÇ×µé : "4.3.2.5 TOS¿Í ¼±Çà ICMP ¼Ò½º Quench ¿¡·¯ ¸Þ¼¼ÁöµéÀÌ Á¶±ÝÀÌ¶óµµ º¸³»Áö¸é, ICMP ¼Ò½º Quench ¸Þ¼¼Áö ¼Û½ÅÀ» ¹ß»ý½ÃŲ ÆÐŶ¿¡ IP ¼±Çà Çʵå¿Í °°Àº °ªÀ¸·Î ¼³Á¤µÈ IP ¼±Çà ÇÊµå °ªÀ» °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù. ´Ù¸¥ ¸ðµç ICMP ¿¡·¯ ¸Þ¼¼Áöµé(¸ñÀûÁö µµ´ÞºÒ°¡, ¸®´ÙÀÌ·ºÆ®, ½Ã°£ÃÊ°ú, ¼³Á¤°ª¿À·ù)Àº ¼±ÇàÇÊµå °ªÀÌ 6 ( ³»ºÎµ¿ÀÛ Á¦¾î) ¶Ç´Â 7 ( ³×Æ®¿÷ Á¦¾î)À¸·Î ¼³Á¤µÇ¾î¾ß ÇÑ´Ù. ÀÌ·¯ÇÑ ¿¡·¯ ¸Þ¼¼ÁöµéÀÇ IP ¼±Çà ÇÊµå °ªÀº ¼³Á¤ÇÒ¼ö ÀÖ´Â °ÍÀ̾î¾ß ÇÑ´Ù. Linux Ä¿³Î 2.0.x, 2.2.x, 2.4.x ´Â ¶ó¿ìÅÍ Ã³·³ µ¿ÀÛÇÏ°í, ICMP ¿¡·¯ ¸Þ¼¼Áö¿¡ ¼±Çà ºñÆ® ÇÊµå °ªÀ» 0xc0 ·Î ¼³Á¤ÇÒ °ÍÀÌ´Ù. ÀÌ¿Í °°ÀÌ µ¿ÀÛÇÏ´Â ³×Æ®¿öÅ© ÀåºñµéÀº IOS 11.x-12.x ±â¹ÝÀÇ CISCO ¶ó¿ìÅ͵é°ú Foundry NetworksÀÇ ½ºÀ§Ä¡µéÀÌ´Ù. * DF ºñÆ®µé ¹Ý¼Û ¾î¶² TCP/IP ½ºÅصéÀº ICMP ¿¡·¯ µ¥ÀÌŸ±×·¥¿¡ DF¸¦ ¹Ý¼ÛÇÏ°í, ¾î¶² °ÍÀº(Linux°°Àº) ¸ðµç ¿ÁÅØÀ» ¿ÏÀüÈ÷ º¹»çÇÏ°í, ƯÁ¤ ºñÆ®µéÀ» Á¦·Î·Î ¸¸µç°í, ¾î¶² °ÍÀº ÀÌ·¯ÇÑ ÇÊµå ¸¦ ¹«½ÃÇÏ°í, ±×µé¸¸ÀÇ °ªÀ¸·Î ¼³Á¤ÇÑ´Ù. * IP ID filend ( linux 2.4.0 - 2.4.4 Ä¿³Îµé ) Ä¿³Î 2.4.0-2.4.4 ¿¡ ±â¹ÝÇÑ Linux ¸Ó½ÅµéÀº IP Identification ÇÊµå °ª¿¡ ±×µéÀÇ ICMP Query ¿ä±¸ °ªÀ¸·Î ¼³Á¤ÇÏ°í 0 À̶ó´Â °ªÀ¸·Î ¸Þ¼¼Áö¿¡ ÀÀ´äÇÑ´Ù. ÀÌ°ÍÀº Linux Ä¿³Î 2.4.5 À̻󿡼­´Â Fix µÇ¾ú´Ù. * IP ttl Çʵå ( Ÿ°Ù¿¡ ´ëÇÑ ttl °Å¸®´Â Á¤È®µµ¸¦ º¸ÀåÇϱâ À§ÇØ ¹Ì¸® °è»êµÇ¾î¾ß ÇÑ´Ù. ) "¼Û½ÅÀÚ´Â µ¥ÀÌŸ±×·¥ÀÌ ÀÎÅͳݿ¡¼­ ¿òÁ÷Àϼö ÀÖ´Â ÃÖ´ë ½Ã°£À» ³ªÅ¸³»´Â »ýÁ¸½Ã°£ (Time to live, TTL) °ªÀ» ¼³Á¤ÇÑ´Ù." ±× ÇÊµå °ªÀº IP ÇØ´õ°¡ 󸮵Ǵ °¢°¢ÀÇ °÷¿¡¼­ °¨¼ÒµÈ´Ù. RFC791¿¡¼­ À̸£±æ ÀÌ ÇʵåÀÇ °¨¼Ò´Â µ¥ÀÌŸ±×·¥ 󸮸¦ À§ÇÑ ¼Ò¸ðµÈ ½Ã°£À» ¹Ý¿µÇÏ´Â °ÍÀ̶ó ÇÑ´Ù. ÀÌ ÇÊµå °ªÀº ÃÊ´ÜÀ§·Î ÃøÁ¤µÈ´Ù. RFC´Â ¶ÇÇÑ ÃÖ´ë½Ã°£À» 255ÃÊ·Î ¼³Á¤ÇÒ¼ö ÀÖ´Ù°í ÇÑ´Ù. 4.25ºÐ°ú °°´Ù. ¸ñÀûÁö¿¡ µµ´ÞÇϱâ Àü¿¡ ÀÌ ÇÊµå °ªÀÌ 0ÀÌ µÇ¸é µ¥ÀÌŸ ±×·¥Àº Æó±âµÇ¾î¾ß ÇÑ´Ù. ½Ã°£À» ÃøÁ¤ÇÏ´Â µµ±¸·Î¼­ ÀÌ Çʵ带 ¿¬°ü½ÃÅ°´Â °ÍÀº ¾à°£ À߸øµÈ ¸éÀÌ ÀÖ´Ù. ¾î¶² ¶ó¿ìÅÍ´Â 1Ãʺ¸´Ù µ¥ÀÌŸ±×·¥À»À» ´õ»¡¸® ó¸®ÇÏ°ïÇÏ°í ¾î¶²°ÍÀº ÀÌ Ãʺ¸´Ù ´õ ¿À·§µ¿¾È ó¸®ÇÏ°ï ÇÑ´Ù. ½ÇÁ¦ Àǵµ¾ß µ¥ÀÌŸ±×·¥ Á¸¼Ó½Ã°£¿¡ »óÇѼ±À» °®°Ô Çؼ­ Àü¼ÛµÇÁö ¾Ê´Â µ¥ÀÌŸ±×·¥ÀÇ ¹«ÇÑ ·çÇÁ°¡ ÀÎÅͳÝÀ» È¥ÀâÇÏ°Ô ÇÏÁö ¾Ê°Ô Çϱâ À§ÇÔÀÌ´Ù. µ¥ÀÌŸ±×·¥ÀÇ »ýÁ¸½Ã°£¿¡ ÇѰ踦 Áشٴ °ÍÀº ¿ì¸®¿¡°Ô ƯÁ¤½Ã°£ÀÌ Áö³ª¼­ µµÂøÇÑ ¿À·¡µÈ ÆÐŶµéÀ» ¸·´Âµ¥ µµ¿òÀ» ÁØ´Ù. ±×·¡¼­, ¿ì¸®°¡ ¹Ì¸® Àü¼ÛµÇÁö ¾ÊÀº Á¤º¸¸¦ ÀçÀü¼ÛÇÒ¶§, ¿ì¸®´Â ´õ ¿À·¡µÈ ÆÐŶÀÌ ÀÌ¹Ì Æó±âµÇ°í, ÇÁ·Î¼¼½º¿¡ °£¼·ÇÏÁö ¾ÊÀ½À» º¸Àå¹Þ´Â´Ù. ICMP°¡ °®°í ÀÖ´Â IP TTL ÇÊµå °ªÀº ´Ù¸¥ µÎ°³ÀÇ °ªµéÀ» °®´Â´Ù, Çϳª´Â ICMP Query ¸Þ¼¼Áö¸¦ À§ÇÑ °ÍÀÌ°í, ´Ù¸¥ Çϳª´Â ICMP Query ÀÀ´äÀ» À§ÇÑ°ÍÀÌ´Ù. IP TTL ÇÊµå °ªÀº ¿ì¸®°¡ ¾î¶² ¿î¿µÃ¼°èÀÎÁö ¿î¿µÃ¼°è ±×·ìÀÎÁö ¾Ë°Ô ÇØÁØ´Ù. ¶ÇÇÑ, ¿ì¸®¿¡°Ô ´Ù¸¥ È£½ºÆ®¿¡ ¹®ÀǸ¦ Çϰųª Æ®·¡ÇÈÀ» °¨Áö(Sniffing)ÇÒ¶§ ´Ù¸¥ üũ ±âÁØÀ» Ãß°¡ÇÏ´Â °¡Àå °£´ÜÇÑ ¼ö´ÜÀ» Á¦°øÇÑ´Ù. TTL ±â¹ÝÀÇ fingerprintingÀº ¹Ì¸® °è»êµÈ Ÿ°Ù±îÁöÀÇ TTL °Å¸®¸¦ ¿ä±¸ÇÑ´Ù.( ·ÎÄà ³×Æ®¿÷ ±â¹Ý ³×Æ®¿÷ÀÇ fingerprintingÀÌ ½ÇÇà ½Ã½ºÅÛÀÌ ¾Æ´Ï¶ó¸é ) ICMP ¿¡·¯ ¸Þ¼¼ÁöµéÀº ICMP Query ¿ä±¸µé¿¡ ÀÇÇØ »ç¿ëµÈ °ªÀ» »ç¿ëÇÑ´Ù. OS ŸÀÔ¿¡ µû¸¥ TTL °ü·Ã¼º¿¡ ´ëÇÑ ÁÁÀº Åë°è°¡ ¾Æ·¡¿¡ ¸ð¾ÆÁ® ÀÖ´Ù. : http://www.switch.ch/docs/ttl_default.htm ( µðÆúÆ® ttl °ª¿¡ ´ëÇÑ ¿¬±¸ ³í¹® ) * TOS Çʵå RFC 1349´Â ICMP ¸Þ¼¼Áö°¡ °¡Áö°í ÀÖ´Â ¼­ºñ½º ŸÀÔ(Type-of-Service)ÀÇ ¿ëµµ¸¦ Á¤ÀÇÇÑ´Ù. ÀÌ´Â ICMP¿¡·¯ ¸Þ¼¼Áöµé(¸ñÀûÁö ºÒµµ´Þ, ¼Ò½º Quench, ¸®´ÙÀÌ·ºÆ®, ½Ã°£ÃÊ°ú, ¼³Á¤°ª¿À·ù)°ú ICMP Query ¸Þ¼¼Áö(¹Ý¼Û, ¶ó¿ìÅÍ ¿äû, ŸÀÓ½ºÅÛÇÁ, Á¤º¸ ¿äû, ÁÖ¼Ò ¸¶½ºÅ© ¿äû) ±×¸®°í ICMP ÀÀ´ä ¸Þ¼¼Áö( ¹Ý¼Û ÀÀ´ä, ¶ó¿ìÅÍ ±¤°í, ŸÀÓ½ºÅÛÇÁ ÀÀ´ä, Á¤º¸ ÀÀ´ä, ÁÖ¼Ò ¸¶½ºÅ© ÀÀ´ä). °£´ÜÇÑ ±ÔÄ¢µéÀÌ ¾Æ·¡¿Í °°ÀÌ Á¤ÀǵǾî ÀÖ´Ù. : * ICMP ¿¡·¯ ¸Þ¼¼Áö´Â Ç×»ó µðÆúÆ® TOS(0x0000)À» °¡Áö°í º¸³»Áø´Ù. * ICMP ¿äû ¸Þ¼¼Áö´Â TOS Çʵ忡 ¾î¶² °ªÀ» °¡Áö°í º¸³»Áø´Ù. "»ç¿ëÀÚ°¡ »ç¿ëµÇ´Â TOS °ªÀ» ƯÁ¤Çϵµ·Ï Çã¿ëÇÏ´Â ¸ÞÄ«´ÏÁòÀº ICMP ¿äû ¸Þ¼¼Áö¸¦ »ý¼ºÇÏ´Â ¸¹Àº ¾îÇø®ÄÉÀ̼ǿ¡ À¯µ¿ÇÑ Æ¯Â¡ÀÌ µÉ °ÍÀÌ´Ù. " RFC´Â ICMP ¿äû ¸Þ¼¼Áö°¡ µðÆúÆ® TOS °ªÀ» °¡Áö°í Á¤»óÀûÀ¸·Î º¸³»Áø´Ù°í Çصµ °¡²ûÀº ¾î¶² ´Ù¸¥ TOS °ªÀ» °¡Áö°í º¸³»Á®¾ß ÇÏ´Â ÀÌÀ¯µéÀÌ ÀÖ´Ù°í ´õ »ó¼¼È÷ ±â¼úÇÑ´Ù. * ICMP ÀÀ´ä ¸Þ¼¼Áö´Â ´ëÀÀÇÏ´Â ICMP ¿äû ¸Þ¼¼Áö¿¡¼­ »ç¿ëµÈ°Í°ú °°Àº TOS Çʵ尪¾Ë °¡Áö°í º¸³»Áø´Ù. ¾î¶² ¿î¿µ ü°è´Â ICMP ¹Ý¼Û ÀÀ´ä ¸Þ¼¼Áö¸¦ º¸³¾¶§ RFC1349¸¦ ¹«½ÃÇÏ°í, ´ëÀÀÇÏ´Â ICMP ¿äû ¸Þ¼¼Áö¿¡¼­ »ç¿ëµÈ TOS Çʵ尪°ú °°Àº °ªÀ» º¸³»Áö ¾ÊÀ»°ÍÀÌ´Ù. ÀÀ´ä¹ÞÀº ICMP ÆÐŶÀÇ ICMP ÇØ´õµé : * ICMP ¿¡·¯ ¸Þ¼¼Áö ÇÒ´ç Å©±â: ¸ðµç ICMP ¿¡·¯ ¸Þ¼¼ÁöµéÀº IP ÇØ´õ, ICMP ÇØ´õ, ¿¡·¯¸¦ À¯¹ßÇÑ(aka °ø°Ý µ¥ÀÌŸ ±×·¥) ÃÖÃÊ µ¥ÀÌŸ±×·¥ÀÇ ¾î¶² ¾çÀÇ µ¥ÀÌŸ·Î ±¸¼ºµÈ´Ù. RFC792¿¡ µû¸£¸é ÃÖÃÊ µ¥ÀÌŸ±×·¥ÀÇ 64 ºñÆ®(8 ¿ÁÅÝ)¸¸ÀÌ ICMP ¿¡·¯ ¸Þ¼¼Áö¿¡ Æ÷ÇÔµÈ °ÍÀ¸·Î °£ÁֵȴÙ. ±×·¯³ª, RFC1122(³ªÁß¿¡ ¾ð±ÞµÉ)´Â ÇÒ´çÅ©±â¸¦ 576±îÁö ´Ã¸±°ÍÀ» ÃßõÇÑ´Ù. °ú°ÅÀÇ TCP ½ºÅØ ±¸ÇöÀÇ ´ë°³´Â ICMP ¿¡·¯ ¸Þ¼¼Áö¿¡ 8 ¿ÁÅÝÀ» Æ÷ÇÔÇÑ´Ù. Linux/HPUX 11.x Solaris, MacOS ±×¸®°í ´Ù¸¥ ½Ã½ºÅÛÀº ´õ ¸¹Àº°ÍÀ» Æ÷ÇÔÇÏ°Ô µÉ °ÍÀÌ´Ù. ´«¿¡ ¶ç°Ô Èï¹Ì·Î¿ô°ÍÀº Solaris ¿£Áö´Ï¾îµéÀº ¾Æ¸¶ RFC¸¦ Á¤È®È÷ ÀÐÁö ¾ÊÀº°Í °°Àº »ç½ÇÀÌ´Ù. ( Solaris 2.x´Â ÃÖÃÊ µ¥ÀÌŸ±×·¥¿¡ 64ºñÆ® ´ë½Å 64¿ÁÅÝ(512ºñÆ®)¸¦ Æ÷ÇÔÇÑ´Ù.) * ¹«°á¼ºÀ» ¹Ý¼ÛÇÏ´Â ICMP ¿¡·¯ ¸Þ¼¼Áö ¾Ë·ÁÁ® ÀÖ´Â ´Ù¸¥ Àΰø¹°Àº ¾î¶² ½ºÅØ ±¸ÇöÀº ICMP ¿¡·¯ ¸Þ¼¼Áö¸¦ µÇµ¹·Á º¸³¾¶§, °ø°Ý ÆÐŶÀÇ IP ÇØ´õ, ICMP ¿¡·¯ ¸Þ¼¼Áö¿¡ ¹Ý¼ÛµÇ´Â ÇϺΠÇÁ·ÎÅäÄÝ µ¥ÀÌŸ¸¦ ¹Ù²Û´Ù´Â °ÍÀÌ´Ù. TCP/IP ½ºÅà ÇÁ·Î±×·¡¸ÓµéÀÌ ¸¸µé¾î³½ ½Ç¼öµéÀÌ ¿î¿µ ü°è¸¶´Ù ´Ù¸£°í Ư¡ÀÌ Àֱ⠶§¹®¿¡, ÀÌ·± ½Ç¼ö¿¡ ´ëÇÑ ºÐ¼®Àº ½Ç·ÂÀÖ´Â °ø°ÝÀڵ鿡°Ô ¸ñÀûÁöÀÇ ¿î¿µ ü°è ŸÀÔ¿¡ ´ëÇÑ °¡Á¤À» ÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù. Ãß°¡ÀûÀÎ ºñÁý°í ºñƲ±â: * ICMP ¹Ý¼Û ¿ä«Š¿¡¼­ zero code ÇʵåÀÇ »óÀÌÁ¡ ÀÌ¿ëÇϱâ 0°ú ´Ù¸¥ ICMP code Çʵ尡 ICMP ¹Ý¼Û ¿äû ¸Þ¼¼Áö(type 8)¿Í ÇÔ²² º¸³»Áú¶§, Microsoft ±â¹ÝÀÇ ¿î¿µ ü°èÁß Çϳª°¡ ICMP ¹Ý¼Û ÀÀ´ä ¸Þ¼¼Áö·Î ¿ì¸®ÀÇ ÁúÀÇ¿¡ ´äÇÏ°Ô µÉ ¿î¿µ ü°è´Â ±×µéÀÇ ICMP ¹Ý¼Û ÀÀ´ä ¸Þ¼¼Áö¿¡ ICMP code Çʵ尪À» 0À¸·Î Çؼ­ º¸³¾ °ÍÀÌ´Ù. ´Ù¸¥ ¿î¿µ ü°è(±×¸®°í, ³×Æ®¿öÅ© ÀåÄ¡µé)Àº ¿ì¸®°¡ ICMP ¹Ý¼Û ¿äû½Ã¿¡ »ç¿ëÇß´ø ICMP code Çʵ尪À» ¹Ý¼Û ÇÏ°Ô µÉ°ÍÀÌ´Ù. Microsoft ±â¹ÝÀÇ ¿î¿µ ü°è´Â ÀÀ´ä ¿î¿µ ü°è°¡ ICMP ŸÀÔÀ» ¹Ý¼Û ÀÀ´ä(type 00·Î ¹Ù²Ùµµ·Ï Áö½ÃÇÑ RFC792¿Í´Â ¹Ý´ë·Î, üũ¼¶À» ´Ù½Ã °è»êÇÏ°í, ICMP ¹Ý¼Û ÀÀ´äÀ» º¸³½´Ù. * ICMP Query ¸Þ¼¼Áö¿¡ Æ÷ÇÔµÈ DF ºñÆ® »ç¿ë ICMP ¿¡·¯ ¸Þ¼¼ÁöÀÇ °æ¿ì¿¡, ¾î¶² tcp ½ºÅØÀº ÀÌ·¯ÇÑ ÁúÀǵéÀ» ÀÀ´äÇÒ°ÍÀÌÁö¸¸, ´Ù¸¥ ½Ã½ºÅÛÀº ±×·¸Áö ¾ÊÀ»°ÍÀÌ´Ù. * ´Ù¸¥ ICMP ¸Þ¼¼Áö : * ICMP ŸÀÓ½ºÅÛÇÁ ¿äû * ICMP Á¤º¸ ¿äû * ICMP ÁÖ¼Ò ¸¶½ºÅ© ¿äû ¾î¶² TCP/IP ½ºÅØÀº ÀÌ·± ¸Þ¼¼ÁöµéÀ» Áö¿øÇÏ°í À̵éÁß ¸î¸î¿¡ ÀÀ´äÇÑ´Ù. --[ Xprobe ±¸Çö ]-- ÇöÀç Xprobe´Â 'Project X'¿¡¼­ Ofir Arkin¿¡ ÀÇÇØ °³¹ßµÈ ±»Àº ³í¸® Æ®¸®¸¦ °®°í ÀÖ´Ù. Ãʱâ UDP µ¥ÀÌŸ ±×·¥Àº ICMP ¿¡·¯ ¸Þ¼¼Áö¸¦ À¯¹ßÇϱâ À§ÇØ ´ÝÇôÁø Æ÷Æ®·Î º¸³»Áø´Ù. : ICMP ºÎµµ´Þ/port ºÎµµ´Þ. (ÀÌ´Â ¼­ºñ½º µÇÁö ¾Ê´Â Ÿ°Ù ½Ã½ºÅÛ¿¡ ÇÊÅ͸µ ÇÏÁö ¾Ê´Â Àû¾îµµ ÇϳªÀÇ Æ÷Æ®¸¦ °¡Á®¾ß ÇÏ´Â Á¦ÇÑÀ» ¼³Á¤ÇÏ´Â °ÍÀÌ´Ù. ÀϹÝÀûÀ¸·Î, ¸»Çؼ­ ICMP ºÎµµ´Þ ÆÐŶÀ» À¯¹ßÇÏ´Â ´Ù¸¥ ¹æ¹ýÀÌ »ç¿ëµÉ ¼ö ÀÖ´Ù. ÀÌ´Â ´õ »ó¼¼È÷ ´Ù·ê°ÍÀÌ´Ù.) °Ô´Ù°¡, ¸î¸î Å×½ºÆ®(ICMP ºÎµµ´Þ ³»¿ë, DF ºñÆ®µé, TOS ...)´Â ±×µéÀÌ ¼­·Î¿¡°Ô ¿µÇâÀ» ¹ÌÄ¡Áö ¤·³ºÀ»°ÍÀ̱⠶§¹®¿¡ ÇϳªÀÇ ÁúÀdz»¿¡ °áÇÕµÉ ¼öµµ ÀÖ´Ù. ICMP ºÎµµ´Þ µ¥ÀÌŸ±×·¥ÀÇ ¼ö·É½Ã, ¼ö½Å µ¥ÀÌŸ±×·¥ÀÇ ³»¿ëµéÀº °Ë»çµÇ°í, Áø´Ü °áÁ¤ÀÌ ÀÌ·ïÁö°í, ´õ ¼¼½ÉÇÑ Å×½ºÆ®¸¦ ¿ä±¸ÇÏ°í, ³í¸® Æ®¸®¿¡ µû¶ó, ´Ù »ó¼¼ÇÑ ÁúÀǵéÀÌ º¸³»Áø´Ù. --[ ³í¸® Æ®¸® ]-- ³í¸® Æ®¸® Á¶Á÷ÀÇ ºü¸¥ Àç»ý: ÃʱâÀÇ ¸ðµç TCP/IP ½ºÅà ±¸ÇöÀº µÎ ±×·ìÀ¸·Î ³ª´¶´Ù. ¹Ý¼Û ¼±Çà ºñÆ®µéÀ» µÇµ¹·Á ÁÖ´Â °Íµé°ú ±×·¸Áö ¾ÊÀº °ÍµéÀÌ´Ù. ¹Ý¼Û ¼±Çà ºñÆ®µéÀ» »ç¿ëÇÏ´Â °Íµé(Linux 2.0.x, 2.2.x, 2.4.x, cisco IOS, 11.x-12.x, Extreme Network ½ºÀ§Ä¡ µî)Àº ICMP ¿¡·¯ ÇÒ´ç Å©±â ¸é¿¡¼­ ¸Å¿ì ´Ù¸£´Ù. (Linux´Â RFC1122¸¦ °í¼öÇؼ­ 576 ¿ÁÅرîÁö ¹Ý¼ÛÇÏ´Â ¹Ý¸é¿¡, ¼­ºê±×·ì¿¡ ÀÖ´Â ´Ù¸¥ °ÍµéÀº 64 ºñÆ®(8¿ÁÅÝ)¸¸À» ¹Ý¼ÛÇÑ´Ù). ¼¼½ÉÇÑ ¹Ý¼Û ¹«°á¼º üũ´Â cisco ¶ó¿ìÅÍ¿Í Extreme Network ½ºÀ§Ä¡¸¦ ±¸º°Çϴµ¥ »ç¿ëµÈ´Ù. ICMP ¹Ý¼Û ÀÀ´äÀÇ »ýÁ¸ ½Ã°£(Time to live) °ú IP ID ÇʵåµéÀº Linux Ä¿³ÎÀÇ ¹öÀüÀ» ÀνÄÇϴµ¥ »ç¿ëµÈ´Ù. ¶È °°Àº ¹æ¹ýÀÌ ´Ù¸¥ TCP/IP ½ºÅÃÀ» ÀνÄÇϴµ¥ »ç¿ëµÈ´Ù. À¯È¿ÇÔÀ» ¹Ý¼ÛÇÏ´Â µ¥ÀÌŸ(¹Ý¼ÛµÈ ÃÖÃÊ µ¥ÀÌŸ±×·¥ÀÇ ¿ÁÅݾç, üũ¼¶ ÀÎÁõ, µî). µÎ°³ÀÇ 'ºñ½ÁÇÑ' IP ÆÐŶµéÀ» ±¸ºÐÇϴµ¥ ´õ ¸¹Àº Á¤º¸°¡ ÇÊ¿äÇÏ´Ù¸é, Ãß°¡ÀûÀÎ ÁúÀǸ¦ º¸³½´Ù. ( ³í¸® Æ®¸®ÀÇ ´õ »ó¼¼ÇÑ ¼³¸í°ú ±×·¡ÇÈ Ç¥ÇöÀ» º¸°í ½Í´Ù¸é http://sys-security.com/html/projects/X.html¿¡ ÀÖ´Â µ¥ÀÌŸ±×·¥À» ÂüÁ¶Çضó.) ³í¸® Æ®¸®ÀÇ ½É°¢ÇÑ ¹®Á¦µéÁß¿¡ Çϳª´Â »õ·Î¿î ¿î¿µ ü°è ŸÀÔÀ» Ãß°¡Çϴ°ÍÀÌ ±Øµµ·Î Èûµé´Ù´Â °ÍÀÌ´Ù. °¡²û Àüü ³í¸® Æ®¸®°¡ ÇϳªÀÇ ±â¼úÀ» ¸¸Á·½ÃÅ°±â À§ÇØ ÀçÀÛ¼ºµÇ¾î¾ß ÇÑ´Ù. °í·Î, ¼­¸í ±â¹ÝÀÇ fingerprinting ¹æ¹ýÀÌ ¿ì¸®µéÀÇ ±íÀº °ü½ÉÀ» ²ø°í ÀÖ´Ù. --[ ¼­¸í ±â¹ÝÀÇ Á¢±Ù]-- ¼­¸í ±â¹ÝÀÇ Á¢±ÙÀº ¿ì¸®°¡ ÇöÀç ÁÖ¸ñÇÏ°í Àִ°ÍÀÌÀÚ, ¿ì¸®°¡ ¸î±â¿¡, ´õ¿í ´õ ¾ÈÁ¤Çϸç, ½Å·Ú¼ºÀÖ°í À¯¿¬ÇÑ ¿ø°Ý ICMP ±â¹ÝÀÇ fingerprint ¹æ¹ýÀÌ´Ù. ¼­¸í ±â¹ÝÀÇ ¹æ¹ýÀº ÇöÀç ¼±ÅÃÀûÀ¸·Î °¢°¢ÀÇ ¿î¿µ ü°è¿¡ Æ÷ÇԵɼö ÀÖ´Â, ´Ù¼¸°¡Áö ´Ù¸¥ Å×½ºÆ®µé¿¡ ±â¹ÝÇÏ°í ÀÖ´Ù. Ãʱ⿡´Â ´õ ÀÛÀº ¾çÀÇ Å×½ºÆ®¸¦ °¡Áö´Â ½Ã½ºÅÛÀ¸·Î Á¡°ËÇØ º¼°ÍÀÌ´Ù.(º¸Åë ICMP ºÎµµ´Þ Å×½ºÆ®·Î ½ÃÀÛÇÑ´Ù. ) ¾î¶² ÇϳªÀÇ OS ½ºÅõµ µü µå·¯ ¸Â´Â ¼ö½Å¼­¸íÀ» ¹ß°ßÇÏÁö ¸øÇϸé, ÀϺΰ¡ ¸Â´Â ½ºÅõé·Î ´Ù½Ã ±×·ìÁö¾îÁö°í, ¶Ç ´Ù¸¥ Å×½ºÆ®( ¾ð±ÞµÈ ¿øÄ¢¿¡ µû¸¥ ´õ ÀÛÀº Å×½ºÆ®¸¦ ±â¹ÝÇؼ­)°¡ ¼±ÅÃµÇ¾î ½ÇÇàµÈ´Ù. ÀÌ·¯ È®ÀÎÀÛ¾÷ÀÌ, OS ½ºÅØÀÌ ¿ÏÀüÈ÷ ¼­¸íÀ» ¹ß°ßÇÒ¶§±îÁö ¹Ýº¹µÈ´Ù. ¶Ç´Â Å×½ºÆ®µéÀ» ¼Ò¸ðÄÉÇÑ´Ù.? ÇöÀç ¾Æ·¡ Å×½ºÆ®µéÀÌ ¹èÄ¡µÇ¾î ÀÖ´Ù. : * ICMP º¸µµ´Þ Å×½ºÆ®(udpÀÇ ´ÝÈù Æ÷Æ®¸¦ ±â¹ÝÇÑ°Í, È£½ºÆ® ºÎµµ´Þ, ³×Æ®¿÷ ºÎµµ´Þ( °ÔÀÌÆ®¿þÀÌ·Î º¸ÀÌ´Â ½Ã½ºÅÛ¿¡ ´ëÇؼ­)) * ICMP ¹Ý¼Û ¿äû/ÀÀ´ä Å×½ºÆ® * ICMP ŸÀÓ½ºÅÛÇÁ ¿äû * ICMP Á¤º¸ ¿äû * ICMP ÁÖ¼Ò ¸¶½ºÅ© ¿äû --[ ¹Ì·¡ÀÇ ±¸Çö/°³¹ß]-- ¾Æ·¡ÀÇ »çÇ×µéÀÌ ¹èÄ¡µÉ °èȹÀÌ´Ù ( ¿ì¸®´Â ±×·¡µµ Ç×»ó Åä·Ð°ú Á¦¾ÈÀ» ȯ¿µÇÑ´Ù.) * Fingerprint µ¥ÀÌŸ º£À̽º(ÇöÀç Å×½ºÆ® ÁßÀÌ´Ù.) * µ¿Àû, ÀΰøÁö´É ±â¹ÝÀÇ ³í¸®( Àå±â ÇÁ·ÎÁ§Æ®´Ù. :)) * ³×Æ®¿÷ À§»ó¿¡ ±íÀÌ ÀÇÁ¸ÇÑ Å×½ºÆ®µé( ±â Å×½ºÆ® ³×Æ®¿÷ ¸ÅÆÃÀÌ ¹ß»ýÇÒ°ÍÀÌ´Ù. ) * Àåºñ °ËħÀ» Â÷´ÜÇϴ Ÿ°Ù°úÀÇ °æ·Î Å×½ºÆ®(Ÿ°Ù°úÀÇ È© °Å¸®¸¦ °è»êÇϱâ À§ÇÔÀÌ´Ù.) * ¹Ì·¡ÀÇ ±¸Çö»çÇ×µéÀº ŽÁö¸¦ ÇÇÇϱâ À§ÇØ ½ÇÁ¦ ¾îÇø®ÄÉÀÌ¼Ç µ¥ÀÌŸ¸¦ °®´Â ÆäŶÀ» »ç¿ëÇÏ°Ô µÉ°ÍÀÌ´Ù.) * ´Ù¸¥ ³×Æ®¿÷ ¸ÅÆà ´É·ÂÀÌ Æ÷Ç﵃ °ÍÀÌ´Ù.(³×Æ®¿÷ ¿ªÇÒ ÀÎÁö, ´ÝÈù UDP Æ÷Æ® ã±â, µµ´Þ¼º Å×½ºÆ® µî) --[ Ãʺ¸¸¦ À§ÇÑ ÄÚµåµé ]-- ÇöÀç ±¸ÇöµÈ ÄÚµå¿Í »ó¼¼ÇÑ ¹®¼­´Â ¾Æ·¡ À§Ä¡¿¡¼­ ±¸ÇÒ¼ö ÀÖ´Ù.: http://www.sys-security.com/html/projects/X.html http://xprobe.sourceforge.net http://www.notlsd.net/xprobe/ Ofir Arkin Fyodor Yarochkin |=[ EOF ]=---------------------------------------------------------------=|