Module: Msf::Exploit::Remote::AuthOption

Defined in:
lib/msf/core/exploit/remote/auth_option.rb

Constant Summary collapse

AUTO =

The module / specific protocol will automatically negotiate the best authentication method to use

'auto'
NTLM =

NTLM authentication is used

'ntlm'
KERBEROS =

Kerberos authentication is used

'kerberos'
KERBEROS_DEFAULT_OFFERED_ENC_TYPES =
Rex::Proto::Kerberos::Crypto::Encryption::DefaultOfferedEtypes.map do |id|
  Rex::Proto::Kerberos::Crypto::Encryption.const_name(id).gsub('_', '-')
end
PLAINTEXT =

plaintext authentication is used

'plaintext'
SCHANNEL =

SCHANNEL authentication is used.

'schannel'
NONE =

Do not authenticate with the service

'none'
SMB_OPTIONS =

The auth methods supported by the SMB protocol

[
  AUTO,
  NTLM,
  KERBEROS
]
HTTP_OPTIONS =

The auth methods supported by the HTTP protocol

[
  AUTO,
  NTLM,
  KERBEROS,
  PLAINTEXT,
  NONE
]
LDAP_OPTIONS =

The auth methods supported by the LDAP protocol

[
  AUTO,
  NTLM,
  KERBEROS,
  SCHANNEL,
  PLAINTEXT,
  NONE
]
MSSQL_OPTIONS =

The auth methods supported by the MSSQL/TDS protocol

[
  AUTO,
  NTLM,
  KERBEROS,
  PLAINTEXT
]
WINRM_OPTIONS =

The auth methods supported by the WINRM protocol

[
  AUTO,
  NTLM,
  KERBEROS,
  PLAINTEXT
]

Class Method Summary collapse

Class Method Details

.as_default_offered_etypes(value) ⇒ Array[Integer] The encryption types

Returns Array The encryption types.

Parameters:

  • value (String)

    String value with the user defined etypes, i.e. AES128,AES256,RC4_HMAC,etc

Returns:

  • (Array[Integer] The encryption types)

    Array The encryption types

See Also:



71
72
73
74
75
76
77
# File 'lib/msf/core/exploit/remote/auth_option.rb', line 71

def self.as_default_offered_etypes(value)
  return Rex::Proto::Kerberos::Crypto::Encryption::DefaultOfferedEtypes if value.blank?

  value.split(',').map(&:strip).reject(&:blank?).map do |type|
    Rex::Proto::Kerberos::Crypto::Encryption.value_for(type.upcase.gsub('-', '_'))
  end.uniq
end