35, 1/2 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   I'm Not GoN
   [ÆĵµÄÜ2011] karma100 °ú goe200 Áú¹®ÀÔ´Ï´Ù.

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


karma100 Àº FSB ¹®Á¦¿´´Âµ¥, Ȥ½Ã Ǫ´Â ¹æ½ÄÀÌ main() ÇÔ¼öÀÇ
Return Address º¯Á¶¸¦ ÅëÇÑ ¹æ¹ýÀΰ¡¿ä?

Random Stack ¶§¹®¿¡ ±×·¸°Ô ÇÏ·Á¸é ºê·çÆ® Æ÷½ÌÀÌ ÇÊ¿äÇߴµ¥ Á¤È®È÷ ¸Â¾Æ¶³¾îÁ®¾ß Çؼ­
Àß µÇÁú ¾Ê´õ±º¿ä. ´Ù¸¥ ¹æ¹ýÀÌ ÀÖ´ÂÁö ±Ã±ÝÇÕ´Ï´Ù.
printf ¸¦ È£ÃâÇÑ ÈÄ¿¡ ½ÇÇàÇÏ´Â ¸í·ÉÀ̶ó°ï

mov eax,0
leave
ret
mov dword ptr [esp], eax
call exit

ÀÌ Á¤µµ¹Û¿¡ ¾ø´ø°É·Î ±â¾ïÇϴµ¥, ÀÌ °úÁ¤¿¡¼­ ¹ß»ýÇÒ ¼ö ÀÖ´Â °ÍÀ̶ó°ï
ÀúÇÑÅÙ ret ¿¡¼­ÀÇ Return Address º¯Á¶¸¦ ÅëÇÑ ¹æ¹ý¹Û¿¡ º¸ÀÌÁö ¾Ê³×¿ä.



±×¸®°í goe200 ÀÇ °æ¿ì´Â 64ºñÆ® ½Ã½ºÅÛÀÇ FSB ¹®Á¦¿´´Âµ¥
ÀÌ°Ç main() ¿¡¼­ exit¸¦ Á÷Á¢ È£ÃâÇØÁ༭ exit@plt °¡ Á¸ÀçÇß°í
exit È£Ãâ½Ã¿¡ ÂüÁ¶ÇÏ´Â Global Offset Table À» º¯Á¶Çؼ­ Ç® ¼ö ÀÖÀ¸¸®¶ó »ý°¢Çߴµ¥
Àß »ý°¢Çغ¸´Ï GOT ÀÇ ÁÖ¼Ò¸¦ º¯Á¶ÇÑ´Ù°í Çصµ ÀÎÀÚ Àü´ÞÇϴµ¥¿¡ ¿¡·Î»çÇ×ÀÌ ÀÖÀ»°Í °°´õ±º¿ä.

¹«¾ùº¸´Ù 64ºñÆ® ½Ã½ºÅÛÀÎÁö¶ó ÁÖ¼Ò¿¡ ³Î¹®ÀÚ°¡ ±²ÀåÈ÷ ¸¹ÀÌ µé¾î°¡´Âµ¥
fgets ¿¡¼­ ÀÔ·ÂÀ» ¹ÞÀ» ¶© ³Î ¹®ÀÚ¿¡ °ü°è¾øÀÌ ±×³É ÇÑÁÙ ´Ù ¹ÞÁö¸¸,
snprintf È£ÃâÇÒ ¶§ Æ÷¸Ë ½ºÆ®¸µ ¹®ÀÚ¿­·Î ÀԷ¹ÞÀº ¹®ÀÚ¿­À» ³Ñ±â´Ï ±×¶© ³Î ¹®ÀÚ¸¦
°á±¹ Æ÷¸Ë½ºÆ®¸µ ¹®ÀÚ¿­ÀÇ ³¡À¸·Î ÀνÄÇÒ °ÍÀÌ´Ï ¹æ¹ýÀÌ ¾ø´õ±º¿ä.

¾î¶»°Ô Ǫ´ÂÁö ¾à°£ÀÇ Ç®À̹ýÀ» ¼³¸íÇØÁÖ¼ÌÀ¸¸é °¨»çÇÏ°Ú½À´Ï´Ù..^^
(Á¦°¡ ù±ÛÀ̱º¿ä)

  Hit : 4544     Date : 2011/01/17 08:17



    
blueh4g Àúµµ got º¯°æÇؼ­ exit¸¦ system °°Àº ÇÔ¼ö·Î ¹Ù²Û´Ù°í ÇÏ´õ¶óµµ ÀÎÀÚ°¡ »ó¼ö 1ÀÌ¶ó¼­ °ª º¯°æ¿¡ ¾Ö·Î»çÇ×ÀÌ ÀÖ´õ±º¿ä (...)

±×·¡¼­ ÇÔ¼ö·Î ¾Èµ¹¸®°í ropó·³ buf¿¡ ÀÎÀÚ°ª Áý¾î³Ö°í ÇØ´ç ¹®ÀÚ¿­À» ÂüÁ¶Çؼ­edi(rdi) ¿¡ ÁÖ¼Ò°ª Áý¾î³Ö´Â°É·Î »ý°¢ÇÏ°í »ðÁúÇÏ´Ù°¡ Ç®·È¾î¿ä.
´Â ÈÑÀ̲ô

»ç½Ç »ðÁúÇÏ´Ù°¡ µÇ´ÂÁö ¾ÈµÇ´ÂÁöµµ È®ÀÎ ¸øÇÏ°í ´ëȸ½Ã°£ ³¡³ª¼­ Áý¿¡¿Í¼­ ĵ¸ÆÁÖ Çϳª¸Ô°í Àä¾î¿ä (...)

ÀÚ¼¼ÇÑ°Ç ¾Æ·§ºÐÀÌ ¼³¸íÀ» ¡é
2011/01/17  
¸Û¸Û karma100ÀÇ ½Ç¸¶¸®´Â exit() ÇÔ¼ö ¾È¿¡ ÀÖ½À´Ï´Ù. exit() ÇÔ¼ö ¾ÈÂÊÀ¸·Î °è¼Ó µû¶ó°¡¸é¼­
»ìÆ캸½Ã¸é _dl_fini()¶ó´Â ÇÔ¼ö°¡ È£ÃâµÇ°í, ÀÌ ¾È¿¡¼­ call *[---]¿Í °°ÀÌ Æ÷ÀÎÅÍÂüÁ¶ÇÏ´Â ºÎºÐÀÌ
³ª¿É´Ï´Ù. ÀÌ ÂüÁ¶µÇ´Â ÁÖ¼Ò°¡ Ç×»ó ÀÏÁ¤ÇÏ°í write °¡´ÉÇϱ⠶§¹®¿¡ ÀÌ ÁÖ¼Ò¸¦ µ¤¾î¾²½Ã¸é µË´Ï´Ù.
goe200Àº Àü ¾Æ¿¹ ¹®Á¦µµ ¸ø ºÃ°í.. ÀúÈñ ÆÀ¿øÁß¿¡µµ Ǭ »ç¶÷ÀÌ ¾ø¾î¼­ ´äº¯À» ¸ø µå¸®°Ú³×¿è~
2011/01/18  
¸Û¸Û Ȥ½Ã goe200ÀÇ ¼Ò½º¸¦ °¡Áö°í °è½Ã°Å³ª ±â¾ïÇÏ°í °è½Ã¸é Çѹø ¿Ã·ÁºÁÁÖ¼¼¿ä~ 2011/01/18  
Leopardan [goe200@localhost ~]$ uname -a
Linux localhost.localdomain 2.6.35.6-45.fc14.x86_64 #1 SMP Mon Oct 18 23:57:44 UTC 2010 x86_64 x86_64 x86_64 GNU/Linux
[goe200@localhost ~]$ ls
attackme attackme.c
[goe200@localhost ~]$ cat attackme.c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char tmp[8];
int main()
{
char buf[100];
fgets(buf,100,stdin);
snprintf(tmp,8,buf);
exit(1);
}
2011/01/18  
ggabu420 ¿À ÀÚ¼¼ÇÑ ¼³¸í Á¤¸» °¨»çÇÕ´Ï´Ù.

±×»õ À­ºÐÀÌ Äڵ带 ¿Ã·ÁÁּ̳׿ä.
2011/01/18  
¸Û¸Û 64ºñÆ® vmware À̹ÌÁö ÁغñÇسõÀº°Ô ¾ø¾î¼­ »ý°¢¸¸ Çغ¸¾Ò½À´Ï´Ù
ÀÏ´Ü.. exitÀÇ GOT¸¦ ¹Ù²ã¾ßÇÏ´Â°Ç È®½ÇÇÏ°í¿ä
karma100À̳ª karma300 °°Àº °æ¿ì¿£ ascii-armor(buf¿¡ NULL ¸ø ³Ö´Â ¹®Á¦)¸¦ ¿ìȸÇϱâ
À§ÇØ È¯°æº¯¼ö³ª argv¸¦ ÀÌ¿ëÇß¾ú´Âµ¥.. Áö±ÝÀº 64ºñÆ®À̱⠶§¹®¿¡ µÑ ´Ù ¸ø¾²°Ú³×¿ä
(NULLÀ» 1°³°¡ ¾Æ´Ñ, 4~5°³ ³Ö¾î¾ßÇÏ´Ï..)

°á±¹ buf º¯¼ö¸¦ ÀÌ¿ëÇØ¾ß ÇÒ °Í °°Àºµ¥¿ä (ÁÖ¼Ò´Â ¹Ù²î¾îµµ offsetÀº ÀÏÁ¤ÇϹǷÎ)
payload´Â ´ëÃæ..

[µ¤¾î¾²°íÀÚÇÏ´Â °ª(execve ÁÖ¼ÒÀÇ ÇÏÀ§ 1 or 2¹ÙÀÌÆ®)¸¸Å­ÀÇ %NNNNx] + ["%"]
["¾Æ·¡ ABCD°¡ À§Ä¡ÇÏ°í ÀÖ´Â ½ºÅà ÁÖ¼Ò - fsb°¡ ÀϾ´Â ½ÃÁ¡ÀÇ ESP" ¸¸Å­ÀÇ $-flag] +
["$(h)n"] + ["ABCD( == exit GOTÀÇ ÁÖ¼Ò)"]

ÀÌ·¸°Ô µÉ °Í °°½À´Ï´Ù. 4~5°³ÀÇ NULLÀº ¾îÂ÷ÇÇ buf º¯¼öÀÇ ¸¹Àº ºÎºÐÀÌ NULLÀ̹ǷÎ
ÀÚ¿¬½º·´°Ô ÇØ°áµÇ°Å³ª ¹Ýº¹ ½ÇÇàÀ¸·Î ÇØ°áµÉ °Í °°³×¿ä. (¹Ýº¹ ½ÇÇට¸¶´Ù °ªÀÌ ¹Ù²î¹Ç·Î)

¸¶Áö¸·À¸·Î execveÀÇ ÀÎÀÚ´Â.. Ãâ·ÂµÇ´Â Â±â¿¡ ´ëÇØ symbolic link¸¦ °É¸é µÉ °Í °°½À´Ï´Ù
ÀÌ ºÎºÐÀº Ÿ°ÙÀ» ¹«Çѹݺ¹ ½ÇÇàÇϸ鼭 ÇØ´çÇÏ´Â Â±â µé¿¡ ´ëÇØ ¸ðµÎ symbollic link¸¦ °É¾î
µÎ¾ú´Ù°¡ ±×°ÍÀÌ ½ÇÇàµÇ±â¸¦ ±â´Ù¸®´Â ¹æ¹ýµµ ÀÖ°í.. ±× ¿Ü ´Ù¸¥ ²Ç¼ö°°Àº °Íµµ ÀÖ½À´Ï´Ù
(ÀÌ´Â ´Ð³×ÀÓ singi´ÔÇÑÅ× ¹°¾îº¸¼¼¿ä ¤¾¤¾)

ÀÌ·±½ÄÀ¸·Î °ø·«ÇÏ½Ã¸é µÉ °Í °°°í..
½ÇÁ¦·Î Çغ¸¸é »ý°¢ÇѰŶû ´Ù¸¥ °æ¿ìµµ ¸¹¾Æ¼­ Àå´ãÀº ¸øÇÏ°Ú³×¿ä ¤»¤»
¼­¹ö ÁÖ¼Ò¶û °èÁ¤ ¾Æ½Ã¸é Á» ¾Ë·ÁÁÖ¼¼¿ä~ ´Ù½Ã ¿­¾î³ù´Ù°í ÇÏ´øµ¥..
2011/01/18  
35   ÇØÅ·´ëȸ[2]     ¿­Á¤
05/14 3963
     [Çʵ¶] ÇØÅ· ´ëȸ Á¾·á ÈÄ¿¡¸¸ Áú¹®À» ¿Ã·ÁÁÖ¼¼¿ä. [1] ¸Û¸Û 11/28 4239
33   [ÆĵµÄÜ2011] fc4 ÀÌÈķκÎÅÍ bof ±â¹ý..[2]     µÎ·ç¹¶¼ú
01/17 5224
32   [ÄÚµå°ÔÀÌÆ®2011] ÄÚµå°ÔÀÌÆ® ¹®Á¦..[5]     µÎ·ç¹¶¼ú
03/06 5421
31   ÇØÅ·´ëȸ ³ª°¥·Á°í ÇÕ´Ï´Ù.[2]     yj6393
11/05 4103
30   [ÄÚµå°ÔÀÌÆ®2011] crypto 300[2]     xzvsda
03/07 4033
29   ÇØÄ¿½ºÄð ¸ÞÀο¡ ¿Ã¶ó¿ÍÀÕ´Â ÄÚµå°ÔÀÌÆ® 2012 ¹æ¾î±â¼ú¾ÆÀ̵ð¾î ÄÁÅ×½ºÆ®¿¡ ´ëÇؼ­..Áú¹®[1]     windowhan
03/11 3733
28   [ÄÚµå°ÔÀÌÆ®2011] Æ÷·»½Ä100 Áú¹®[5]     W.H.
03/06 4475
27   [ÆĵµÄÜ2011] karma200 Áú¹® ¹× ³ÌµÎ¸®[5]     trynerr
01/20 3917
26   [ÄÚµå°ÔÀÌÆ®2011] vuln 100 ¹¹ÁÒ;;;[1]     supershop
03/07 3864
25   ÀÏ¹Ý ¼ºÀÎÀÌ Âü°¡ °¡´ÉÇÑ ÇØÅ· ´ëȸ ¸ñ·ÏÀ» À϶÷ÇÒ¼ö ÀÖ´Â »çÀÌÆ®°¡ ÀÖ³ª¿ë?[2]     sungwoodat
08/08 4093
24   ºñ¹Ð¹øÈ£¸¦ hash°ªÀ¸·Î ÀúÀåÇÏ¸é ¾ÈµÇ³ª¿ä?[3]     securityjeong
03/03 3472
23   ÇØÅ·´ëȸ...[5]     rudwo4685
06/17 4704
22   Àß ¸ð¸£´Âµ¥ ÇØÅ·´ëȸ Âü¿©Çصµ µÇ·Á³ª¿ä?[1]     leorld
07/19 3920
21   ÇØÅ·´ëȸ ¹®Á¦[1]     ks610126
07/17 3894
  [ÆĵµÄÜ2011] karma100 °ú goe200 Áú¹®ÀÔ´Ï´Ù.[6]     I'm Not GoN
01/17 4543
19   ÇØÅ·´ëȸ µ¶ÇÐ °¡´ÉÇÑ°¡¿ä?[2]     herjun9903
01/19 3007
18   û¼Ò³â ÇØÅ·´ëȸ     h@cking2013
12/24 3788
17   Á¤º¸¿Ã¸²ÇǾƵå&¾Ë°í¸®Áò¿¡ ´ëÇØ Áú¹®Çմϴ٤ФФÐ[4]     h@cking2013
03/08 4546
16   ¼øõÇâ´ë ÇØÅ·´ëȸ (Áß,°í±³»ý)[1]     dnem142
07/15 4052
1 [2]

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