½Ã½ºÅÛ ÇØÅ·

 1576, 1/79 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   vngkv123
   RTL±â¹ý Áú¹®

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


°øÀ¯¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇÒ¶§ systemÀ̳ª execve°°Àº ÇÔ¼ö¸¦ ÀÌ¿ëÇϰԵǴµ¥

systemÇÔ¼ö¸¦ ÀÌ¿ëÇÒ ¶§, ÀÎÀÚ¸¦ ebp+8°ªÀ» ÀÎÀÚ·Î ¹Þ´Â´Ù´Âµ¥

ÀÌ°Ô ½Ã½ºÅÛ ÇÔ¼ö°¡ ½ÇÇàµÉ¶§ÀÇ ebp´Â SFPÂÊÀÌ ¾Æ´Ñ RETÂÊÀ¸·Î ³»·Á¿Í Àִ°ǰ¡¿ä?

  Hit : 3028     Date : 2017/03/23 03:25



    
pwnnnt RTL ±â¹ýÀº Return to LibraryÀÇ ¾àÀÚÀÔ´Ï´Ù.
Áï, ÇÁ·Î±×·¥ÀÇ RET ¿µ¿ª¿¡ Library ÁÖ¼Ò¸¦ ³Ö¾îÁִ°ÅÁÒ. ¿©±â±îÁö´Â ½±°Ô ÀÌÇØÇϼÌÀ» °Í °°½À´Ï´Ù.

Library¸¦ Æ÷ÇÔÇÑ ¸ðµç ÇÔ¼öµéÀº 'call ¸í·É¾î'¸¦ ÅëÇØ ÇÁ·Ñ·Î±× °úÁ¤À» °ÅÄ¡°í »õ·Î¿î ½ºÅà ÇÁ·¹ÀÓÀÌ »ý°Ü³ª¸é ÀÎÀÚ¸¦ ebp+8ÀÇ ÁÖ¼Ò¿¡¼­ ¹Þ¾Æ¿É´Ï´Ù.
call ¸í·É¾î¸¦ Ç®¾î¼­ ¾²°ÔµÇ¸é push eip / jmp func() ÀÔ´Ï´Ù.

ÇÏÁö¸¸ RTL±â¹ýÀº callÀÌ ¾Æ´Ñ RET¿µ¿ª¿¡ func()ÁÖ¼Ò¸¦ ³Ö¾î È£ÃâÇϱ⠶§¹®¿¡ pop eip / jmp eip °úÁ¤À» °ÅÄ¡°Ô µË´Ï´Ù.
±×·¸±â ¶§¹®¿¡ RTL·Î ¿øÇÏ´Â ÀÎÀÚ¸¦ Àü´ÞÇØÁÖ±â À§Çؼ­´Â RET+8¿¡ ÀÎÀÚ ÁÖ¼Ò¸¦ ³ÖÀ¸¼Å¾ß µË´Ï´Ù.
±×·¯¸é ´ç¿¬È÷ RET+4¿¡´Â func()ÀÇ RET°¡ µÇ°ÚÁÒ ?
2017/03/24  
pwnnnt RET+4¿¡ ´Ù¸¥ func()ÁÖ¼Ò¸¦ ³ÖÀ¸¸é¼­ ¿¬¼ÓÇØ¼­ ÇÔ¼ö¸¦ È£ÃâÇÏ´Â ±â¹ýÀÌ RTL Chain ÀÌ µÇ´Â°Ì´Ï´Ù. 2017/03/24  
pwnnnt Ȥ½Ã À߸øµÈ Áö½ÄÀÌ ÀÖÀ¸¸é ¤¾îÁÖ¼¼¿ä ;¤±; 2017/03/24  
ÇØÄð·¯ À­ºÐµµ Á¤È®ÇÏ°Ô ¼³¸íÇØÁ̴ּµ¥,
call·Î ÇÔ¼ö¸¦ È£ÃâÇÏ´À³Ä retÀ¸·Î ÇÔ¼ö¸¦ È£ÃâÇÏ´À³ÄÀÇ ¹®Á¦ÀÔ´Ï´Ù
[dummy] + [ret] + "AAAA", "BBBB"
ÀÏ ¶§ AAAA°¡ ÀÎÀÚ·Î µé¾î°¡´À³Ä BBBB°¡ ÀÎÀÚ·Î µé¾î°¡´À³ÄÀε¥
ÇÔ¼öÀÇ ¸Ç ùÀνºÆ®·°¼ÇÀ» eip°¡ °¡¸£Å°´Â ¼ø°£ÀÇ esp¸¦ ±âÁØÀ¸·Î ÀÎÀÚ´Â ¿ø·¡ ¾îµðÀÖ¾î¾ß Çϴ°¡¸¦ ¾Ë¸é µË´Ï´Ù

push arg2
push arg1
call func
À» ½ÇÇàÇϸé ÇÔ¼öÀÇ ¸Ç ù ÀνºÆ®·°¼Ç¿¡¼­ esp´Â
[ret] [arg1] [arg2]
retÀ» °¡¸£Å°°í ÀÖ½À´Ï´Ù

RTLÀ» Çϸé
[dummy] + [ret] + "AAAA" + "BBBB" ÀÏ ¶§
RET¸í·É¾î´Â pop %eip¿Í °°À¸´Ï RETÀ» ¼öÇàÇϸé ret´Â eip·Î µé¾î°¡°í esp´Â "AAAA"¸¦ °¡¸£Å°°Ô µË´Ï´Ù. ±×¸®°í ±× ¼ø°£Àº ÇÔ¼öÀÇ ¸Ç ùÀνºÆ®·°¼Ç ÁÖ¼Ò°¡ eip¿¡ ÀÖ´Â ¼ø°£ÀÌÁÒ
±×·¡¼­ "AAAA"ÀÚ¸®°¡ [ret]¿¡ µé¾î°£ ÇÔ¼öÀÇ ¸®ÅϾîµå·¹½ºÀÚ¸®, "BBBB"°¡ ù¹øÂ°ÀÎÀÚ ÀÚ¸®°¡ µË´Ï´Ù
2017/03/24  
pwnnnt ±»±»,, ¸íÄèÇÑ ´äº¯ÀÔ´Ï´Ù.
¿ª½Ã ÇØÄð·¯´Ô bb
2017/03/24  
vngkv123 ¿À º½À´Ï´Ù ¿©·¯ºÐ Ç×»ó °¨»çÇÕ´Ï´Ù 2017/03/24