metasploit-framework/lib/rex/post/meterpreter/extensions/priv/passwd.rb

63 lines
1.0 KiB
Ruby

#!/usr/bin/env ruby
# -*- coding: binary -*-
module Rex
module Post
module Meterpreter
module Extensions
module Priv
###
#
# This class wraps a SAM hash entry.
#
###
class SamUser
#
# Initializes the class from a hash string like this:
#
# Administrator:500:aad3b435b51404eeaadfb435b51404ee:31d6cfe0d16de931b73c59d7e0c089c0:::
#
def initialize(hash_str)
self.user_name, self.user_id, self.lanman, self.ntlm = hash_str.split(/:/)
self.hash_string = hash_str
end
#
# Returns the hash string that was supplied to the constructor.
#
def to_s
hash_string
end
#
# The raw hash string that was passed to the class constructor.
#
attr_reader :hash_string
#
# The username from the SAM database entry.
#
attr_reader :user_name
#
# The user's unique identifier from the SAM database.
#
attr_reader :user_id
#
# The LM hash.
#
attr_reader :lanman
#
# The NTLM hash.
#
attr_reader :ntlm
protected
attr_writer :hash_string, :user_name, :user_id, :lanman, :ntlm # :nodoc:
end
end; end; end; end; end