- À¯´Ð½º Æнº¿öµå Å©·¢ÇÁ·Î±×·¥°ú Æнº¿öµå ¾ÏÈ£ÈÀÇ ¿ø¸®
´ëºÎºÐÀÇ Å©·¢ ÇÁ·Î±×·¥Àº crypt()ÇÔ¼ö¸¦ ÀÌ¿ëÇÕ´Ï´Ù.
°ú°ÅºÎÅÍ Áö±Ý±îÁöµµ crypt()ÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¿© ¸¸µç Æнº¿öµå´Â ¿ª¾ÏÈ£È ¾Ë°í¸®ÁòÀÌ
Á¸ÀçÇÏÁö ¾Ê±â¶§¹®¿¡ Áñ°Ü ÀÌ¿ëÇÏ´Â ºÎºÐÀ̱⵵ ÇÕ´Ï´Ù.
crypt()ÇÔ¼ö´Â ´ÜÁö salt Å°¿Í Æнº¿öµå¸¦ Á¦°øÇÏ¸é ¾ÏÈ£È ½ÃÅ´´Ï´Ù.
±×·±µ¥ ¿ª¾ÏÈ£È ¾Ë°í¸®ÁòÀÌ Á¸ÀçÇÏÁöµµ ¾Ê´Âµ¥ ¾î¶»°Ô ¾ÏÈ£È µÈ Æнº¿öµå¸¦
Å©·¢ ÇÁ·Î±×·¥µéÀÌ ÁÙÁÙÀÌ.. Ç®¾î³»´Â°¡~
ÀÌ ±ÛÀ» Àд À̴ Ȥ ÀÌ·± »ý°¢À» ÇÒ ¼öµµ ÀÖ´Ù.
"¿ª ¾ÏÈ£È ¾Ë°í¸®ÁòÀÌ ÀÖÀ¸¸é¼µÎ ¾ø´Ù°í °ÅÁþ¸» ÇÏ´Â °É²¨¾ß!!" ^^
ÇÏÁö¸¸ ±×·¸Áö ¾Ê½À´Ï´Ù. Å©·¢ÇÁ·Î±×·¥ÀÇ µ¹¾Æ°¡´Â ¿ø¸®¸¦ »ìÆ캸ÀÚ¸é ÀÌ·¸½À´Ï´Ù.
shadow Æнº¿öµå°¡ " 7tqNQGFbMOk3s " °¡ ÀÖ´Ù°í ÇսôÙ.
±×·¸´Ù¸é Å©·¢ ÇÁ·Î±×·¥Àº ´Ü¾î »çÀü ÆÄÀÏÀ» ÁغñÇ϶ó°í ¿ÜĨ´Ï´Ù!
Âü°í·Î ´Ü¾î»çÀü ÆÄÀÏÀº ÀÌ·¸°Ô µÇ¾îÀÖ½À´Ï´Ù.
a
aa
aaa
aaaa
abc
across
auto
......
.......
z
zz
zzz
zoo
..
ÀÌ·¸°Ô ¿µ¾î»çÀüÀÇ Ã¹ÆäÀÌÁö¿¡ ³ª¿À´Â ´Ü¾î¸¸ ÇÑÁÙ¿¡ ÇѴܾ ¿Ã¶ó¿Í ÀÖ½À´Ï´Ù.
±×·¯¸é Å©·¢ ÇÁ·Î±×·¥Àº crypt() ÇÔ¼ö¿¡ À§ÀÇ ÇÑÁÙ¿¡ ÇѴܾ ³Ö¾î¼ ¾ÏȣȵÈ
Æнº¿öµå¸¦ ¸¸µì´Ï´Ù.
±×¸®°í "7tqNQGFbMOk3s" ¿Í ºñ±³Çغ¾½Ã´Ù..
Ʋ¸®¸é ´ÙÀ½ ´Ü¾î·Î... Ʋ¸®¸é ´ÙÀ½´Ü¾î·Î...
ÀÌ·¸°Ô¿ä..
¸Â½À´Ï´Ù. ¹Ù·Î ³ë°¡´Ù¸¦ ¿¬»óÄÉ ÇÏ´Â Àå¸éÀÌÁÒ..
ÀÌ°Ô ¹Ù·Î Å©·¢ ÇÁ·Î±×·¥ÀÇ ±âº»ÀûÀÎ µ¿ÀÛÀÔ´Ï´Ù.
ÀÚ.. ±×·³ Á÷Á¢ Å©·¢ ÇÁ·Î±×·¥ ºñ½ÁÇÑ °ÍÀ» ¸¸µé¾î º¼±î¿ä?
¿ì¼± crypt()ÇÔ¼ö¿¡ ´ëÇؼ ã¾Æº¾½Ã´Ù.
$ man crypt
CRYPT(3) Library functions CRYPT(3)
NAME
crypt - password and data encryption
SYNOPSIS
#define _XOPEN_SOURCE
#include
char *crypt(const char *key, const char *salt);
(¹Ø¿¡´Â »ý·«)
¸Ç ¸¶Áö¸· ÁÙÀ» º¸¼¼¿ä.
char *crypt(const char *key, const char *salt);
ÀÌ ºÎºÐÀÌ crypt()ÇÔ¼öÀÇ »ç¿ë¹ýÀÔ´Ï´Ù.
salt Å°´Â ¾ÏÈ£È ÇÒ¶§ ³Ö´Â Àӽà º¯¼ö·Î °ªÀÌ ¾î¶²°ÍÀ» ³Ö´À³Ä¿¡ µû¶ó ¾ÏȣȵÈ
Æнº¿öµå°¡ ´Þ¶óÁý´Ï´Ù.
ÀϹÝÀûÀ¸·Î ¾ÏÈ£È µÈ Æнº¿öµåÀÇ ¸Ç ¾ÕºÎºÐ µÎ°³ ¹®ÀÚ°¡ salt Å°ÀÔ´Ï´Ù.
À§¿¡¼ ¼±º¸ÀÎ ¾ÏÈ£ÈµÈ Æнº¿öµå¸¦ »ìÆ캸¸é....(°è¼Ó ³ª¿Ã²¨¿¡¿ä.)
"7tqNQGFbMOk3s" ¿¡¼ salt Å°´Â "7t" ÀÔ´Ï´Ù. ¾Æ½Ã°ÚÁÒ?
½ÇÁ¦ ÇÁ·Î±×·¡¹Ö ÇÒ¶§´Â ÀÌ·¸°Ô ÇÏ¸é µÇ°ÚÁÒ?
crypt("´Ü¾î","7t");
ÀÌ·¸°Ô ÇÏ¸é µÇ¿ä..
±×·¯¸é crypt()ÇÔ¼ö´Â ¾ÏÈ£ÈµÈ Æнº¿öµå¸¦ ³» 밷½À´Ï´Ù.
À̹ø¿¡´Â ½ÇÁ¦·Î ¾ÏÈ£È µÈ Æнº¿öµå¸¦ ¸¸µå´Â ÇÁ·Î±×·¥À» ¸¸µé¾î º¸Àϲ²¿ä.
#include
main(int argc, char **argv)
{
char buf[1024];
if ( argc < 2 ) {
printf("usage: %s password salt_keyn",argv[0]);
exit(1);
}
strcpy(buf,crypt(argv[1],argv[2]));
printf("crypt [%s] => %s n",argv[1],buf);
}
ÀÌ ÇÁ·Î±×·¥Àº ´Ü¼øÈ÷ ù¹ø° Àμö·Î ´Ü¾î¸¦ ¹Þ°í µÎ¹ø° Àμö·Î´Â salt Å°¸¦ ¹Þ¾Æ¿ä.
a.c ¶ó°í À§ÀÇ ÇÁ·Î±×·¥À» À̸§À» ºÙÀÌ°í ÄÄÆÄÀÏÀ» ÇÕ´Ï´Ù.
ÁÖÀÇÇÒ Á¡Àº ÄÄÆÄÀϽÿ¡ -lcrypt ¶ó°í ¿É¼ÇÀ» Áà¾ß ÇÕ´Ï´Ù.
$ gcc -o a a.c -lcrypt
$ ./a hahaha 7t
crypt [hahaha] => 7tqNQGFbMOk3s
ÀÚ¾Æ.. º¸¼¼¿ä. hahaha ¶ó´Â ´Ü¾î¿Í salt Å°°¡ 7t ·Î crypt()ÇÔ¼ö¸¦ µ¹·È´õ´Ï
À§¿¡¼ ¼±º¸¿´´ø ¾ÏÈ£ÈµÈ Æнº¿öµå ÆÄÀÏ°ú °°ÁÒ?
ÀÌ·± ¿ø¸®¸¦ Å©·¢ÇÁ·Î±×·¥ÀÌ ÀÌ¿ëÇÏ´Â °ÍÀÔ´Ï´Ù.
hahaha ¶ó´Â ´Ü¾î´Â ¾Æ¸¶µµ »çÀü¿¡ ÀÖÀ»Áöµµ ¸ð¸¨´Ï´Ù. ¾ø´Ù¸é ÇÒ ¼ö ¾øÁö¸¸ ^^;
À̹ø¿¡´Â ¾ÆÁÖ °£´ÜÇÑ Æнº¿öµå Å©·¢ ÇÁ·Î±×·¥À» ¸¸µé¾î º¾½Ã´Ù.
¾î¶² »ç¶÷ÀÇ °èÁ¤ÀÇ Æнº¿öµå°¡ 4ÀÚ¸® ¼ýÀÚ·Î ¸¸µé¾îÁ® ÀÖ´Ù´Â Á¤º¸¸¦ ÀÔ¼ö Çß½À´Ï´Ù.
¾î·Æ°Ô ±× »ç¶÷ÀÇ ¾ÏÈ£È µÈ Æнº¿öµå°¡ "5tYu1ywBg8xf2" ¶ó´Â °ÍÀ» ¾Ë¾Ò½À´Ï´Ù.
ÀÚ.. ÀÌÁ¦ Å©·¢À» Çغ¾½Ã´Ù..
¾ÆÂü ÇÁ·Î±×·¥À» ¸¸µé¾î¼ Å©·¢À» Çؾ߰ÚÁÒ?
¸¸µé¾î º¾½Ã´Ù.
ÇÁ·Î±×·¥À» ¸¸µé±â Àü¿¡ ¾òÀº Á¤º¸¸¦ Á¾ÇÕÇغ¾½Ã´Ù.
1. ¾ÏÈ£È µÈ Æнº¿öµå : 5tYu1ywBg8xf2
2. salt Å° : 5t
3. 4ÀÚ¸®·Î µÈ Æнº¿öµåÀ̹ǷΠÆнº¿öµåÀÇ ¹üÀ§´Â 1000 ~ 9999 Áß¿¡ ÀÖÀ½
À§ Á¤º¸¸¦ Åä´ë·Î ÇÁ·Î±×·¥À» ¸¸µé¾î º¾½Ã´Ù.
Á÷Á¢ Â¥º¸¼¼¿ä.
/*
* 4 ÀÚ¸® ¼ýÀÚ Å©·¢ ÇÁ·Î±×·¥
* - bugscan
*/
#include
main(int argc, char **argv)
{
int count;
char buf[5];
for ( count=1000 ; count < 10000 ; count++ ) {
sprintf(buf,"%d",count);
if( !strcmp("5tYu1ywBg8xf2", (char *)crypt(buf, "5t")) ) {
printf("password crack success : %d n",count );
break;
}
}
}
ÀÌ ÇÁ·Î±×·¥À» count_crack.c ¶ó°í À̸§À» Áö¾î¼ ½ÇÇàÇغ¸¼¼¿ä
´ÙÀ½°ú °°ÀÌ ³ª¿À¸é ¼º°øÀÌÁÒ.
$ gcc -o count_crack count_crack.c
$ ./count_crack
password crack success : 4233
$
Á¤´äÀÌ 4233 ÀÌ´Ù. ¸¸¾à ¾È³ª¿À°Å³ª Ʋ¸®¸é ÇÁ·Î±×·¥À» Á¡°ËÇϱ⠹ٷ¡¿ä.
À§ ÇÁ·Î±×·¥ÀÇ ¾Ë°í¸®ÁòÀº »ó´çÈ÷ °£´ÜÇØ¿ä
for()¹®À» ÀÌ¿ëÇÏ¿© count °ªÀÌ 1000 ~ 9999 ±îÁö ·çÇÁ¸¦ µ¹µµ·Ï ÇßÀ¸¸ç,
crypt()ÇÔ¼ö´Â ¹®ÀÚ¿¸¸ ¹Þ±â¶§¹®¿¡ count »ó¼ö¸¦ buf ¶ó´Â ¹®ÀÚ º¯¼ö¿¡
sprintf()ÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¿© ³Ö¾î¼ »ç¿ëÇß¾î¿ä.
strcmp()ÇÔ¼ö·Î ¿ø·¡ÀÇ ¾ÏÈ£ÈµÈ Æнº¿öµå¿Í ºñ±³ÇÏ´Â ¹®ÀåÀ» »ç¿ëÇÏ¿©
ÇÁ·Î±×·¥Àº ¿Ï¼ºµÇ¾ú¾î¿ä.
Á¤¸» ´ë´ÜÇÏÁö ¾ÊÀº°¡¿ä?
À̹ø¿¡´Â ÁøÂ¥·Î ´Ü¾î»çÀüÀ» °¡Á®¿Í Å©·¢À» µ¹¸®´Â ÇÁ·Î±×·¥À» ¸¸µé¾îº¼²²¿ä.
Áغñ ´Ü´ÜÈ÷ Çϼ¼¿ä.
À̹ø¿¡´Â »õ·Î¿î ¾ÏÈ£ÈµÈ Æнº¿öµå¸¦ ¾ò¾ú½À´Ï´Ù.
"99u5LyKkDNKgk"