43 lines
1.4 KiB
Ruby
43 lines
1.4 KiB
Ruby
|
# -*- coding: binary -*-
|
||
|
|
||
|
module Msf
|
||
|
module Kerberos
|
||
|
module Client
|
||
|
module Base
|
||
|
|
||
|
# Builds a kerberos Client Name Principal
|
||
|
#
|
||
|
# @param opts [Hash{Symbol => <String, Fixnum>}]
|
||
|
# @option opts [String] :client_name the client's name
|
||
|
# @option opts [Fixnum] :client_type the client's name type
|
||
|
# @return [Rex::Proto::Kerberos::Model::PrincipalName]
|
||
|
def build_client_name(opts = {})
|
||
|
name = opts[:client_name] || ''
|
||
|
name_type = opts[:client_type] || Rex::Proto::Kerberos::Model::NT_PRINCIPAL
|
||
|
|
||
|
Rex::Proto::Kerberos::Model::PrincipalName.new(
|
||
|
name_type: name_type,
|
||
|
name_string: name.split('/')
|
||
|
)
|
||
|
end
|
||
|
|
||
|
# Builds a kerberos Server Name Principal
|
||
|
#
|
||
|
# @param opts [Hash{Symbol => <String, Fixnum>}]
|
||
|
# @option opts [String] :server_name the server's name
|
||
|
# @option opts [Fixnum] :server_type the server's name type
|
||
|
# @return [Rex::Proto::Kerberos::Model::PrincipalName]
|
||
|
def build_server_name(opts = {})
|
||
|
name = opts[:server_name] || ''
|
||
|
name_type = opts[:server_type] || Rex::Proto::Kerberos::Model::NT_PRINCIPAL
|
||
|
|
||
|
Rex::Proto::Kerberos::Model::PrincipalName.new(
|
||
|
name_type: name_type,
|
||
|
name_string: name.split('/')
|
||
|
)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|