OpenVAS OTP Login Utility - Metasploit
This page contains detailed information about how to use the auxiliary/scanner/openvas/openvas_otp_login metasploit module. For list of all metasploit modules, visit the Metasploit Module Library.
Module Overview
Name: OpenVAS OTP Login Utility
Module: auxiliary/scanner/openvas/openvas_otp_login
Source code: modules/auxiliary/scanner/openvas/openvas_otp_login.rb
Disclosure date: -
Last modification time: 2017-09-25 09:10:10 +0000
Supported architecture(s): -
Supported platform(s): -
Target service / protocol: -
Target network port(s): 9391
List of CVEs: -
This module attempts to authenticate to an OpenVAS OTP service.
Module Ranking and Traits
Module Ranking:
- normal: The exploit is otherwise reliable, but depends on a specific version and can't (or doesn't) reliably autodetect. More information about ranking can be found here.
Basic Usage
This module is a scanner module, and is capable of testing against multiple hosts.
msf > use auxiliary/scanner/openvas/openvas_otp_login
msf auxiliary(openvas_otp_login) > show options
... show and set options ...
msf auxiliary(openvas_otp_login) > set RHOSTS ip-range
msf auxiliary(openvas_otp_login) > exploit
Other examples of setting the RHOSTS option:
Example 1:
msf auxiliary(openvas_otp_login) > set RHOSTS 192.168.1.3-192.168.1.200
Example 2:
msf auxiliary(openvas_otp_login) > set RHOSTS 192.168.1.1/24
Example 3:
msf auxiliary(openvas_otp_login) > set RHOSTS file:/tmp/ip_list.txt
Required Options
- RHOSTS: The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
Go back to menu.
Msfconsole Usage
Here is how the scanner/openvas/openvas_otp_login auxiliary module looks in the msfconsole:
msf6 > use auxiliary/scanner/openvas/openvas_otp_login
msf6 auxiliary(scanner/openvas/openvas_otp_login) > show info
Name: OpenVAS OTP Login Utility
Module: auxiliary/scanner/openvas/openvas_otp_login
License: Metasploit Framework License (BSD)
Rank: Normal
Provided by:
Vlatko Kosturjak <[email protected]>
Check supported:
No
Basic options:
Name Current Setting Required Description
---- --------------- -------- -----------
BLANK_PASSWORDS false no Try blank passwords for all users
BRUTEFORCE_SPEED 5 yes How fast to bruteforce, from 0 to 5
DB_ALL_CREDS false no Try each user/password couple stored in the current database
DB_ALL_PASS false no Add all passwords in the current database to the list
DB_ALL_USERS false no Add all users in the current database to the list
PASSWORD no A specific password to authenticate with
PASS_FILE no File containing passwords, one per line
RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
RPORT 9391 yes The target port (TCP)
STOP_ON_SUCCESS false yes Stop guessing when a credential works for a host
THREADS 1 yes The number of concurrent threads (max one per host)
USERNAME no A specific username to authenticate as
USERPASS_FILE no File containing users and passwords separated by space, one pair per line
USER_AS_PASS false no Try the username as the password for all users
USER_FILE no File containing usernames, one per line
VERBOSE true yes Whether to print output for all attempts
Description:
This module attempts to authenticate to an OpenVAS OTP service.
Module Options
This is a complete list of options available in the scanner/openvas/openvas_otp_login auxiliary module:
msf6 auxiliary(scanner/openvas/openvas_otp_login) > show options
Module options (auxiliary/scanner/openvas/openvas_otp_login):
Name Current Setting Required Description
---- --------------- -------- -----------
BLANK_PASSWORDS false no Try blank passwords for all users
BRUTEFORCE_SPEED 5 yes How fast to bruteforce, from 0 to 5
DB_ALL_CREDS false no Try each user/password couple stored in the current database
DB_ALL_PASS false no Add all passwords in the current database to the list
DB_ALL_USERS false no Add all users in the current database to the list
PASSWORD no A specific password to authenticate with
PASS_FILE no File containing passwords, one per line
RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
RPORT 9391 yes The target port (TCP)
STOP_ON_SUCCESS false yes Stop guessing when a credential works for a host
THREADS 1 yes The number of concurrent threads (max one per host)
USERNAME no A specific username to authenticate as
USERPASS_FILE no File containing users and passwords separated by space, one pair per line
USER_AS_PASS false no Try the username as the password for all users
USER_FILE no File containing usernames, one per line
VERBOSE true yes Whether to print output for all attempts
Advanced Options
Here is a complete list of advanced options supported by the scanner/openvas/openvas_otp_login auxiliary module:
msf6 auxiliary(scanner/openvas/openvas_otp_login) > show advanced
Module advanced options (auxiliary/scanner/openvas/openvas_otp_login):
Name Current Setting Required Description
---- --------------- -------- -----------
CHOST no The local client address
CPORT no The local client port
ConnectTimeout 10 yes Maximum number of seconds to establish a TCP connection
MaxGuessesPerService 0 no Maximum number of credentials to try per service instance. If set to zero or a non-number, this option will not be used.
MaxGuessesPerUser 0 no Maximum guesses for a particular username for the service instance. Note that users are considered unique among different services, so a user at 10.1.1.1:22 is different from one at 10.2.2.2:
22, and both will be tried up to the MaxGuessesPerUser limit. If set to zero or a non-number, this option will not be used.
MaxMinutesPerService 0 no Maximum time in minutes to bruteforce the service instance. If set to zero or a non-number, this option will not be used.
PASSWORD_SPRAY false yes Reverse the credential pairing order. For each password, attempt every possible user.
Proxies no A proxy chain of format type:host:port[,type:host:port][...]
REMOVE_PASS_FILE false yes Automatically delete the PASS_FILE on module completion
REMOVE_USERPASS_FILE false yes Automatically delete the USERPASS_FILE on module completion
REMOVE_USER_FILE false yes Automatically delete the USER_FILE on module completion
SSL false no Negotiate SSL/TLS for outgoing connections
SSLCipher no String for SSL cipher - "DHE-RSA-AES256-SHA" or "ADH"
SSLVerifyMode PEER no SSL verification method (Accepted: CLIENT_ONCE, FAIL_IF_NO_PEER_CERT, NONE, PEER)
SSLVersion Auto yes Specify the version of SSL/TLS to be used (Auto, TLS and SSL23 are auto-negotiate) (Accepted: Auto, TLS, SSL23, SSL3, TLS1, TLS1.1, TLS1.2)
ShowProgress true yes Display progress messages during a scan
ShowProgressPercent 10 yes The interval in percent that progress should be shown
TRANSITION_DELAY 0 no Amount of time (in minutes) to delay before transitioning to the next user in the array (or password when PASSWORD_SPRAY=true)
WORKSPACE no Specify the workspace for this module
Auxiliary Actions
This is a list of all auxiliary actions that the scanner/openvas/openvas_otp_login module can do:
msf6 auxiliary(scanner/openvas/openvas_otp_login) > show actions
Auxiliary actions:
Name Description
---- -----------
Evasion Options
Here is the full list of possible evasion options supported by the scanner/openvas/openvas_otp_login auxiliary module in order to evade defenses (e.g. Antivirus, EDR, Firewall, NIDS etc.):
msf6 auxiliary(scanner/openvas/openvas_otp_login) > show evasion
Module evasion options:
Name Current Setting Required Description
---- --------------- -------- -----------
TCP::max_send_size 0 no Maxiumum tcp segment size. (0 = disable)
TCP::send_delay 0 no Delays inserted before every send. (0 = disable)
Go back to menu.
Error Messages
This module may fail with the following error messages:
Check for the possible causes from the code snippets below found in the module source code. This can often times help in identifying the root cause of the problem.
<MSG> Error: <ERR.TO_S>
Here is a relevant code snippet related to the "<MSG> Error: <ERR.TO_S>" error message:
47: end
48: @connected=true
49: sock.put(data)
50: @result=sock.get_once
51: rescue ::Exception => err
52: print_error("#{msg} Error: #{err.to_s}")
53: end
54: end
55:
56: def report_cred(opts)
57: service_data = {
<MSG> OpenVAS OTP does not appear to be running: did not get response to OTP hello: <RESULT>
Here is a relevant code snippet related to the "<MSG> OpenVAS OTP does not appear to be running: did not get response to OTP hello: <RESULT>" error message:
82:
83: def do_login(user=nil,pass=nil)
84: begin
85: otp_send("< OTP/1.0 >\n",true) # send hello
86: if @result !~ /\<\ OTP\/1\.0 \>/
87: print_error("#{msg} OpenVAS OTP does not appear to be running: did not get response to OTP hello: #{@result}")
88: return :abort
89: end
90:
91: vprint_status("#{msg} Trying user:'#{user}' with password:'#{pass}'")
92: otp_send(nil,!@connected)
<MSG> OpenVAS OTP did not send User request: <RESULT>
Here is a relevant code snippet related to the "<MSG> OpenVAS OTP did not send User request: <RESULT>" error message:
89: end
90:
91: vprint_status("#{msg} Trying user:'#{user}' with password:'#{pass}'")
92: otp_send(nil,!@connected)
93: if @result !~ /User\ \:/
94: print_error("#{msg} OpenVAS OTP did not send User request: #{@result}")
95: end
96: otp_send("#{user}\n",!@connected)
97: if @result !~ /Password\ \:/
98: print_error("#{msg} OpenVAS OTP did not send Password request: #{@result}")
99: end
<MSG> OpenVAS OTP did not send Password request: <RESULT>
Here is a relevant code snippet related to the "<MSG> OpenVAS OTP did not send Password request: <RESULT>" error message:
93: if @result !~ /User\ \:/
94: print_error("#{msg} OpenVAS OTP did not send User request: #{@result}")
95: end
96: otp_send("#{user}\n",!@connected)
97: if @result !~ /Password\ \:/
98: print_error("#{msg} OpenVAS OTP did not send Password request: #{@result}")
99: end
100: otp_send("#{pass}\n",!@connected)
101: if @result =~ /SERVER <|>.*<|> SERVER/is
102: print_good("#{msg} SUCCESSFUL login for '#{user}' : '#{pass}'")
103: report_cred(
<MSG> Rejected user: '<USER>' with password: '<PASS>': <RESULT>
Here is a relevant code snippet related to the "<MSG> Rejected user: '<USER>' with password: '<PASS>': <RESULT>" error message:
114: else
115: if (@connected)
116: disconnect # Sometime openvas disconnect the client after wrongs attempts
117: @connected = false
118: end
119: vprint_error("#{msg} Rejected user: '#{user}' with password: '#{pass}': #{@result}")
120: return :fail
121: end
122: rescue ::Rex::ConnectionError
123: rescue ::Timeout::Error, ::Errno::EPIPE
124: end
Go back to menu.
Related Pull Requests
- #9001 Merged Pull Request: update modules to use inherited SSLVersion option
- #8716 Merged Pull Request: Print_Status -> Print_Good (And OCD bits 'n bobs)
- #8338 Merged Pull Request: Fix msf/core and self.class msftidy warnings
- #6655 Merged Pull Request: use MetasploitModule as a class name
- #6648 Merged Pull Request: Change metasploit class names
- #5768 Merged Pull Request: Update modules to use metasploit-credential instead of report_auth_info
- #2525 Merged Pull Request: Change module boilerplate
- #1072 Merged Pull Request: OpenVAS Aux scripts to guess password against OTP/OMP/WWW interfaces
Go back to menu.
See Also
Check also the following modules related to this module:
- auxiliary/scanner/openvas/openvas_gsad_login
- auxiliary/admin/http/allegro_rompager_auth_bypass
- auxiliary/admin/http/wp_gdpr_compliance_privesc
- auxiliary/scanner/http/allegro_rompager_misfortune_cookie
- auxiliary/scanner/sap/sap_hostctrl_getcomputersystem
- auxiliary/spoof/dns/compare_results
- auxiliary/sqli/oracle/lt_compressworkspace
- evasion/windows/applocker_evasion_workflow_compiler
- exploit/multi/browser/adobe_flash_uncompress_zlib_uaf
- exploit/multi/browser/mozilla_compareto
- exploit/multi/local/magnicomp_sysinfo_mcsiwrapper_priv_esc
- exploit/multi/misc/weblogic_deserialize_badattr_extcomp
- exploit/solaris/telnet/ttyprompt
- exploit/windows/browser/adobe_flash_uncompress_zlib_uninitialized
- exploit/windows/browser/athocgov_completeinstallation
- exploit/windows/browser/enjoysapgui_comp_download
- exploit/windows/browser/ie_iscomponentinstalled
- exploit/windows/fileformat/hhw_hhp_compiledfile_bof
- exploit/windows/fileformat/somplplayer_m3u
- post/osx/gather/password_prompt_spoof
- post/windows/gather/enum_ad_computers
- post/windows/gather/enum_computers
- post/windows/recon/computer_browser_discovery
- auxiliary/scanner/openvas/openvas_omp_login
- exploit/dialup/multi/login/manyargs
- auxiliary/gather/nis_bootparamd_domain
- exploit/osx/local/rootpipe
- exploit/osx/local/rootpipe_entitlements
Authors
- Vlatko Kosturjak <kost[at]linux.hr>
Version
This page has been produced using Metasploit Framework version 6.1.27-dev. For more modules, visit the Metasploit Module Library.
Go back to menu.