.o0 Phrack 0o. 7±Ç 55È£ ÆÄÀÏ 5/16 Àç¹ÌÀÖ°í À¯ÀÍÇÑ ¸®´ª½º Ä¿³Î ¾Ç¿ë -------------------------------------------------------------------------------- ÀúÀÚ : halfilife@infonexus.com [guild corporation] ¹ø¿ª : Á¤¼¼ÁØ (hooamail@hanmail.net) ¼Ò°³ ---- LoadableÇÑ ¸ðµâÀº µð¹ÙÀ̽º µå¶óÀ̹ö¸¦ ÇÊ¿äÇÑ ¸¸Å­(on a as-needed basis) loadÇϵµ·Ï Çϱ⶧¹®¿¡ ¸®´ª½ºÀÇ ¾ÆÁÖ À¯¿ëÇÑ Æ¯Â¡ÀÌ´Ù. ÇÏÁö¸¸, ³ª»Û¸éµµ ÀÖ´Ù : ±×°Ç Ä¿³Î ÇØÅ·À» ³Ê¹« ½±°Ô ¸¸µç´Ù. ÀÚ±â Ä¿³ÎÀ» ´õÀÌ»ó ¹ÏÁö¸øÇÑ´Ù¸é ¾î¶»°Ô µÇ°Ú´Â°¡? ÀÌ ±ÛÀº Ä¿³Î ¸ðµâÀÌ ½±°Ô ¾Ç¿ëµÉ ¼ö ÀÖ´Â °£´ÜÇÑ ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ½Ã½ºÅÛ ÄÝ(System calls) ----------------------- ½Ã½ºÅÛ ÄÝ. ÀÌ°ÍÀº »ç¿ëÇÒ ¼ö ÀÖ´Â functionÀÇ °¡Àå ³·Àº ·¹º§À̸ç, Ä¿³Î ¾ÈÂÊ¿¡¼­ ¼öÇàµÈ´Ù. ÀÌ ±Û¿¡¼­ ¿ì¸° ¾î¶»°Ô ±×°ÍµéÀÌ ¾ÆÁÖ °£´ÜÇÑ tty hijacker/monitor¸¦ ¸¸µéµµ·Ï ¾Ç¿ëµÉ ¼ö ÀÖ´ÂÁö ³íÀÇÇÒ °ÍÀÌ´Ù. Ä¿³ÎÀ» ¸ÁÄ¡´Â °ÍÀ̱⠶§¹®¿¡, ¸ðµç ÄÚµå´Â ¸®´ª½º¿ëÀ¸·Î ¼³°è,ÀÛ¼ºµÉ °ÍÀÌ¸ç ±×¹Û¿¡ ´Ù¸¥ °÷¿¡¼­´Â ÄÄÆÄÀÏÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù. tap, ttywatcher°°Àº TTY HijackerµéÀº Solaris, SunOS, ±×¸®°í STREAMS°¡ ÀÖ´Â ´Ù¸¥ ½Ã½ºÅÛµéÀº ÈçÇÏÁö¸¸, ¸®´ª½º´Â ¾ÆÁ÷±îÁö ¾µ¸¸ÇÑ tty hijacker°¡ ¾ø´Ù. (³ëÆ®: ÇÊÀÚ´Â telnetsnoop°°ÀÌ pty¿¡ ±â¹ÝÇÑ ÄÚµå´Â hijacker¶ó »ý°¢ÇÏÁö ¾ÊÀ¸¸ç À¯¿ëÇÏ´Ù°íµµ »ý°¢Áö ¾Ê´Â´Ù. ¿Ö³ÄÇÏ¸é »ç¿ëÀÚµéÀ» ¸ð´ÏÅÍÇϱâ À§ÇØ ¸¹Àº ½Ã°£À» ÁغñÇؾßÇϱ⠶§¹®ÀÌ´Ù.) ¸®´ª½º´Â ÇöÀç STREAMS°¡ ¾ø±â ¶§¹®¿¡(LinSTREAMS´Â Á×Àº°Í °°´Ù.) streamÀ» ¸ð´ÏÅÍÇϱâ À§Çؼ­´Â µÑÁß ÇϳªÀÇ ¹æ¹ýÀ¸·Î ´Ù°¡°¡¾ß ÇÑ´Ù. ÀÔ·Â stream¿¡ keystrokeÀ» ³Ö±â À§ÇØ TIOCSTI ioctlÀ» ¾µ¼ö Àֱ⠶§¹®¿¡, keystrokeÀ» ä¿ì´Â °Ç ¹®Á¦¾ø´Ù. ¹°·Ð, Á¤´äÀº write(2) ½Ã½ºÅÛ ÄÝÀ» writeÀÇ ³»¿ëÀ» ±â·ÏÇÏ´Â ¿ì¸® ÄÚµå·Î redirect½ÃÅ°´Â °ÍÀÌ´Ù. ¸¸¾à ±×°ÍÀÌ ¿ì¸® tty¸¦ ÇâÇÏ°Ô µÈ´Ù¸é. ; ¿ì¸° ÁøÁ¤ÇÑ write(2) ½Ã½ºÅÛ ÄÝÀ» È£ÃâÇÒ ¼ö ÀÖ´Ù. µð¹ÙÀ̽º µå¶óÀ̹ö´Â ºÐ¸í ÃÖ°íÀÇ ¹æ¹ýÀÌ µÉ °ÍÀÌ´Ù. ±â·ÏµÈ µ¥ÀÌŸ¸¦ ¾ò±â À§ÇØ µð¹ÙÀ̽º·ÎºÎÅÍ ÀÐÀ» ¼ö ÀÖÀ¸¸ç, ¾î¶² tty¸¦ ±â·ÏÇÒÁö ¾Ë·ÁÁÖ±â À§ÇØ ioctlÀ» Ãß°¡½Ãų ¼öµµ ÀÖ´Ù. ½Ã½ºÅÛ ÄÝÀÇ Redirection ----------------------- ½Ã½ºÅÛ ÄÝÀ» ¿ì¸® ÄÚµå·Î redirect ÇÏ´Â °ÍÀº ²Ï ½±´Ù. ±×°ÍÀº ´ëü·Î DOSó·³ °ÅÁÖ ÄÚµå(resident code)¸¦ Á¾°á½ÃÅ°°í Áö¼Ó½ÃÅ°´Â µ¿ÀÛÀ» ÇÑ´Ù. º¯¼ö¿¡ Áö³­ ÁÖ¼Ò¸¦ ÀúÀåÇÏ°í, »õ·Î¿î Áö½ÃÁ¡(new one pointing)À» ¿ì¸® ÄÚµå·Î ¼³Á¤ÇÑ´Ù. ¿ì¸® ÀÏÀ» ¼öÇàÇÏ°í³ª¼­ ³¡³ª¸é ¿ø·¡ Äڵ带 È£ÃâÇÑ´Ù. ÀÌ°Í¿¡ ´ëÇÑ ¸Å¿ì °£´ÜÇÑ ¿¹Á¦°¡ hacked_setuid.c¿¡ Æ÷ÇԵǾî ÀÖÀ¸¸ç, ¿©·¯ºÐÀÌ insmodÇÒ ¼ö ÀÖ´Â °£´ÜÇÑ loadable ¸ðµâÀÌ´Ù. ±×¸®°í ±× ¸ðµâÀÌ ÀÏ´Ü Ä¿³Î¿¡ »ðÀԵǸé setuid(4755)´Â uid/euid/gid/egid¸¦ 0À¸·Î ¼³Á¤ÇÒ °ÍÀÌ´Ù. (¸ðµç Äڵ忡 µ¡ºÙ¿©Áø ÆÄÀÏÀ» º¸¶ó). syscall¿¡ ´ëÇÑ ÁÖ¼ÒµéÀº sys_call_table ¹è¿­¿¡ Æ÷ÇÔµÅÀÖ´Ù. syscallÀ» ¿ì¸® Äڵ带 °¡¸®Å°°í ÀÖ´Â ÁöÁ¡À¸·Î redirectÇÏ´Â °ÍÀº ºñ±³Àû ½±´Ù. ÀÌ ÀÛ¾÷À» Çѹø Çϸé, ¸¹Àº ÀϵéÀÌ °¡´ÉÇØÁø´Ù... Linspy ³ëÆ® ----------- ÀÌ ¸ðµâÀº ¸Å¿ì ´õ·¯¿öÁö±â(to spot) ½±´Ù. ÇؾßÇÒ °ÍÀº cat /proc/modules »ÓÀÌ°í, ³¯Â¥¸¸Å­ ¾Ë±â½±°Ô º¸¿©ÁØ´Ù. ÀÌ°ÍÀ» °íÄ¥¼ö´Â ÀÖÁö¸¸, ÇÒ Àǵµ´Â ¾ø´Ù. linspy¸¦ »ç¿ëÇϱâ À§ÇØ major´Â 40ÀÌ°í minor´Â 0ÀÎ ltap µð¹ÙÀ̽º¸¦ »ý¼º½Ãų ÇÊ¿ä°¡ ÀÖ´Ù. ±× ÈÄ¿¡ run make¸¦ ÇÏ°í, linspy µð¹ÙÀ̽º¸¦ insmodÇ϶ó. Çѹø »ðÀԵǸé ltread [tty]¸¦ ½ÇÇà½Ãų ¼ö ÀÖ°í, ¸ðµç°Ô ÀßµÇ¸é »ç¿ëÀÚ È­¸é Ãâ·Â ÀڷḦ º¼ °ÍÀÌ´Ù. ¸¸ÀÏ Àß µÇÁö ¾Ê´Â´Ù¸é... À½, ¾Ç¸ùÀ¸·Î ³²°ÜµÎ°Ú´Ù. ÄÚµå [ Äڵ带 unarchive ÇϱâÀ§ÇØ Æ÷ÇÔµÈ extract.c À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇ϶ó ] -------------------------------------------------------------------------------- * ¸¶Áö¸· ¼Ò½º ÄÚµå ºÎºÐÀº ¾Ç¿ëÀÇ ¼ÒÁö°¡ Àֱ⠶§¹®¿¡ ÀÓÀÇ·Î »èÁ¦ÇÏ¿´½À´Ï´Ù. ÀÌ ºÎºÐ¿¡ ´ëÇÑ ÀÚ·á´Â ¿ø¹® µîÀ» Á÷Á¢ °Ë»öÇÏ¿© Âü°íÇÏ½Ã±æ ¹Ù¶ó°Ú½À´Ï´Ù.