module PWN::Plugins::DAOLDAP

def self.authors

def self.authors
st.pentest@0dayinc.com>

def self.connect(opts = {})

def self.connect(opts = {})
.to_s
.to_i

:encryption]
[:auth_method]
sername].to_s
[:password].nil?
Plugins::AuthenticationHelper.mask_password
:password].to_s
LDAP.new(
cryption,
_method,
ername,
ssword
LDAP.new(
_method,
ername,
ssword
 => e

def self.disconnect(opts = {})

def self.disconnect(opts = {})
dap_obj]
 => e

def self.get_employee_by_username(opts = {})

def self.get_employee_by_username(opts = {})
dap_obj]
sername].to_s.scrub
j.base
::Filter.eq('samaccountname', username)
se: treebase, filter: filter)
 => e

def self.help

def self.help
f}.connect(
d host or IP',
d port',
d ldap base to search from (e.g. dc=domain,dc=com)',
ptional parameter to protect communication in transit, :simple_tls OR :start_tls',
required ldap auth bind method, :simple, :sasl, OR :gss_spnego'
uired username',
ional (prompts if left blank)',
f}.get_employee_by_username(
uired ldap_obj returned from #connect method',
uired username of employee to retrieve from LDAP server'
[:dn]
ct(:ldap_obj => ldap_obj)