VNC Authentication None Detection
🗓️ 01 Sep 2024 00:00:00Reported by Matteo Cantoni, jduck, metasploit.comType
packetstorm🔗 packetstormsecurity.com👁 614 Views
| Reporter | Title | Published | Views | Family All 38 |
|---|---|---|---|---|
| RealVNC Authentication Bypass | 26 Aug 201100:00 | – | zdt | |
| Exploit for Improper Authentication in Vnc Realvnc | 8 Mar 202608:00 | – | githubexploit | |
| CVE-2006-2369 | 26 Aug 201100:00 | – | circl | |
| RealVNC Password Authentication Bypass (CVE-2006-2369) | 25 May 200600:00 | – | checkpoint_advisories | |
| CVE-2006-2369 | 15 May 200616:00 | – | cve | |
| CVE-2006-2369 | 15 May 200616:00 | – | cvelist | |
| CVE-2006-2369 | 15 May 200616:00 | – | debiancve | |
| RealVNC - Authentication Bypass (Metasploit) | 26 Aug 201100:00 | – | exploitdb | |
| RealVNC 4.1.0 < 4.1.1 - VNC Null Authentication Bypass | 16 May 200600:00 | – | exploitdb | |
| RealVNC 4.1.0 < 4.1.1 - VNC Null Authentication Bypass (Metasploit) | 15 May 200600:00 | – | exploitdb |
10
`##
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##
class MetasploitModule < Msf::Auxiliary
include Msf::Exploit::Remote::Tcp
include Msf::Auxiliary::Report
include Msf::Auxiliary::Scanner
def initialize
super(
'Name' => 'VNC Authentication None Detection',
'Description' => 'Detect VNC servers that support the "None" authentication method.',
'References' => [
['CVE', '2006-2369'], # a related instance where "None" could be offered and used when not configured as allowed.
['URL', 'https://en.wikipedia.org/wiki/RFB'],
['URL', 'https://en.wikipedia.org/wiki/Vnc'],
],
'Author' => [
'Matteo Cantoni <goony[at]nothink.org>',
'jduck'
],
'License' => MSF_LICENSE
)
register_options(
[
Opt::RPORT(5900)
]
)
end
def run_host(target_host)
connect
vnc = Rex::Proto::RFB::Client.new(sock, allow_none: true)
unless vnc.handshake
print_error("#{target_host}:#{rport} - Handshake failed: #{vnc.error}")
return
end
ver = "#{vnc.majver}.#{vnc.minver}"
print_status("#{target_host}:#{rport} - VNC server protocol version: #{ver}")
svc = report_service(
host: rhost,
port: rport,
proto: 'tcp',
name: 'vnc',
info: "VNC protocol version #{ver}"
)
type = vnc.negotiate_authentication
unless type
print_error("#{target_host}:#{rport} - Auth negotiation failed: #{vnc.error}")
return
end
# Show the allowed security types
sec_type = []
vnc.auth_types.each do |t|
sec_type << Rex::Proto::RFB::AuthType.to_s(t)
end
print_status("#{target_host}:#{rport} - VNC server security types supported: #{sec_type.join(', ')}")
if (vnc.auth_types.include? Rex::Proto::RFB::AuthType::None)
print_good("#{target_host}:#{rport} - VNC server security types includes None, free access!")
report_vuln(
{
host: rhost,
service: svc,
name: name,
info: "Module #{fullname} identified the VNC 'none' security type: #{sec_type.join(', ')}",
refs: references,
exploited_at: Time.now.utc
}
)
end
ensure
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
01 Sep 2024 00:00Current
6.9Medium risk
Vulners AI Score6.9
CVSS 27.5
EPSS0.91522