diff --git a/modules/post/windows/gather/credentials/mssql_local_hashdump.rb b/modules/post/windows/gather/credentials/mssql_local_hashdump.rb index 4a95b1d492..038fa5b491 100644 --- a/modules/post/windows/gather/credentials/mssql_local_hashdump.rb +++ b/modules/post/windows/gather/credentials/mssql_local_hashdump.rb @@ -112,16 +112,16 @@ class MetasploitModule < Msf::Post print_status("Attempting to get password hashes...") - get_hash_result = run_sql(query, instance_name) + res = run_sql(query, instance_name) - if get_hash_result.include?('0x') + if res.include?('0x') # Parse Data if hash_type == "mssql12" - crlfRepair = get_hash_result.unpack('H*')[0].gsub("200d0a","PLACEHOLDER").gsub("0d0a","").gsub("PLACEHOLDER","0d0a").gsub(/../) { |pair| pair.hex.chr } - hash_array = crlfRepair.split("\r\n").grep(/0x/) - else - hash_array = get_hash_result.split("\r\n").grep(/0x/) + res = res.unpack('H*')[0].gsub("200d0a", "_CRLF_").gsub("0d0a", "").gsub("_CRLF_", "0d0a").gsub(/../) { + |pair| pair.hex.chr + } end + hash_array = res.split("\r\n").grep(/0x/) store_hashes(hash_array, hash_type) else