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 : 4543     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   ÇöÀç ÇØÅ· ´ëȸ°¡ ³¡³µ³ª ¾È³¡³µ³ª ¸ð¸£°Ù´Âµ¥ ÀÌ Áú¹®Àº °øÁ¤¼º¿¡´Â ¹ÌÄ¡Áö ¾Ê½À´Ï´Ù.[3]     Àü»ç
01/04 3850
  [ÆĵµÄÜ2011] karma100 °ú goe200 Áú¹®ÀÔ´Ï´Ù.[6]     I'm Not GoN
01/17 4542
33   [ÆĵµÄÜ2011] fc4 ÀÌÈķκÎÅÍ bof ±â¹ý..[2]     µÎ·ç¹¶¼ú
01/17 5223
32   [ÆĵµÄÜ2011] karma200 Áú¹® ¹× ³ÌµÎ¸®[5]     trynerr
01/20 3917
31   [ÄÚµå°ÔÀÌÆ®2011] ÄÚµå°ÔÀÌÆ® 2011 À»º¸°í...[4]     asdwho
03/06 4062
30   [ÄÚµå°ÔÀÌÆ®2011] ÄÚµå°ÔÀÌÆ® ¹®Á¦..[5]     µÎ·ç¹¶¼ú
03/06 5421
29   [ÄÚµå°ÔÀÌÆ®2011] Æ÷·»½Ä100 Áú¹®[5]     W.H.
03/06 4473
28   [ÄÚµå°ÔÀÌÆ®2011] crypto 300[2]     xzvsda
03/07 4033
27   [ÄÚµå°ÔÀÌÆ®2011] network100 ¹®Á¦ Áú¹®ÀÌ ÀÖ½À´Ï´Ù.!!¤¾[2]     BkeMan
03/07 3776
26   [ÄÚµå°ÔÀÌÆ®2011] vuln 100 ¹¹ÁÒ;;;[1]     supershop
03/07 3863
25   [ÄÚµå°ÔÀÌÆ® 2011] issue 3¹ø¹®Á¦..[3]     asdwho
03/08 4218
24   ´ëȸ¶õ..............................[3]     akwjs566
03/14 3816
23   [ÄÚµå°ÔÀÌÆ® 2011] binary 100¹®Á¦¿¡¼­..[1]     asdwho
03/18 4608
22   pCTF ¿¡¼­¿ä. 2¹ø¹®Á¦.[4]     Ǭ¼ö¿ÕÀÚ
04/27 4096
21   ÇØÅ·´ëȸ[2]     ¿­Á¤
05/14 3963
20   Çѱ¹Á¤º¸¿Ã¸²ÇǾƵå[6]     alswovkdlxj
05/20 4618
19   ÇØÅ·´ëȸ...[5]     rudwo4685
06/17 4703
18 ºñ¹Ð±ÛÀÔ´Ï´Ù  2012 µ¿°è ÇØÅ·Ä·ÇÁ ¹®Á¦¿¡¼­..[1]     asdwho
02/23 2
17   ÇØÄ¿½ºÄð ¸ÞÀο¡ ¿Ã¶ó¿ÍÀÕ´Â ÄÚµå°ÔÀÌÆ® 2012 ¹æ¾î±â¼ú¾ÆÀ̵ð¾î ÄÁÅ×½ºÆ®¿¡ ´ëÇؼ­..Áú¹®[1]     windowhan
03/11 3733
16   ÇØÅ·´ëȸ¸¦ ³ª°¡·Á°í ÇÕ´Ï´Ù[3]     anona
03/15 4048
1 [2]

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