diff --git a/lib/msf/core/db.rb b/lib/msf/core/db.rb index d7df4a737d..c3f192d7cb 100644 --- a/lib/msf/core/db.rb +++ b/lib/msf/core/db.rb @@ -3243,6 +3243,22 @@ class DBManager report_import_note(wspace, hobj) end + if h["notes"] + note = { + :workspace => wspace, + :host => (hobj || addr), + :type => "host.vuln.nexpose_keys", + :data => {}, + :mode => :unique_data + } + h["notes"].each do |v,k| + note[:data][v] ||= [] + next if note[:data][v].include? k + note[:data][v] << k + end + report_note(note) + end + if h["os_family"] note = { :workspace => wspace, diff --git a/lib/rex/parser/nexpose_xml.rb b/lib/rex/parser/nexpose_xml.rb index dd46aca463..0b36fc7c8e 100644 --- a/lib/rex/parser/nexpose_xml.rb +++ b/lib/rex/parser/nexpose_xml.rb @@ -51,6 +51,10 @@ class NexposeXMLStreamParser when "test" if attributes["status"] == "vulnerable-exploited" or attributes["status"] == "vulnerable-version" @host["vulns"][attributes["id"]] = attributes.dup + if attributes["key"] + @host["notes"] ||= [] + @host["notes"] << [attributes["id"], attributes["key"]] + end end when "vulnerability" @vuln.merge! attributes