updated module from Thomas Ring.

git-svn-id: file:///home/svn/framework3/trunk@10371 4d416f70-5f16-0410-b530-b9f4589650da
unstable
Mario Ceballos 2010-09-18 23:59:28 +00:00
parent ad4bf32a45
commit 9975827d22
1 changed files with 6 additions and 27 deletions

View File

@ -58,29 +58,8 @@ class Metasploit3 < Msf::Auxiliary
issuer_pattern = Regexp.new(datastore['ISSUER'], [Regexp::EXTENDED, 'n'])
sub = cert.subject.to_a
before_d = "#{cert.not_before}".split
if(! before_d[1] =~ /\d\d\:\d\d:\d\d/ or ! before_d[0] =~ /\d{2,4}\-\d\d-\d\d/)
# this is here out of concerns that the time / date format may vary
print_error("#{ip} - WARNING: Unexpected before date! " + before_d.inspect)
return
end
before_t = before_d[1].split(":") # get hh:mm:ss
before_d = before_d[0].split('-') # get yyyy-mm-dd
after_d = "#{cert.not_after}".split
if(! after_d[1] =~ /\d\d\:\d\d:\d\d/ or ! after_d[0] =~ /\d{2,4}\-\d\d-\d\d/)
# this is here out of concerns that the time / date format may vary
print_error("#{ip} - WARNING: Unexpected after date! " + after_d.inspect)
return
end
after_t = after_d[1].split(":") # get hh:mm:ss
after_d = after_d[0].split('-') # get yyyy-mm-dd
before = Time.utc(before_d[0],before_d[1],before_d[2],before_t[0],before_t[1],before_t[2])
after = Time.utc(after_d[0],after_d[1],after_d[2],after_t[0],after_t[1],after_t[2])
before = Time.parse("#{cert.not_before}")
after = Time.parse("#{cert.not_after}")
now = Time.now
a = now <=> before
@ -94,17 +73,17 @@ class Metasploit3 < Msf::Auxiliary
end
if ( "#{cert.issuer}" !~ /#{issuer_pattern}/)
print_error("#{ip} - '#{vhostn}' : #{cert.issuer} (BAD ISSUER)" )
print_good("#{ip} - '#{vhostn}' : #{cert.issuer} (BAD ISSUER)" )
elsif datastore['SHOWALL']
# show verbose as status
print_good("#{ip} - '#{vhostn}' : #{cert.issuer}")
print_status("#{ip} - '#{vhostn}' : #{cert.issuer}")
end
if ( a < 1 or b > 0 )
print_error("#{ip} - '#{vhostn}' : '" + before.to_s + "' - '" + after.to_s + "' (EXPIRED)'")
print_good("#{ip} - '#{vhostn}' : '" + before.to_s + "' - '" + after.to_s + "' (EXPIRED)'")
elsif
# show verbose as status
print_good("#{ip} - '#{vhostn}' : '" + before.to_s + "' A- '" + after.to_s + "'")
print_status("#{ip} - '#{vhostn}' : '" + before.to_s + "' - '" + after.to_s + "'")
end
report_note(