Skip to content

Commit 73697ef

Browse files
committed
RPC vulns and services reports resources and parents (service only)
1 parent d2f350f commit 73697ef

1 file changed

Lines changed: 20 additions & 11 deletions

File tree

lib/msf/core/rpc/v10/rpc_db.rb

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -472,22 +472,30 @@ def rpc_services( xopts)
472472
ret[:services] = []
473473

474474
wspace.services.includes(:host).where(conditions).offset(offset).limit(limit).each do |s|
475-
service = {}
476-
host = s.host
477-
service[:host] = host.address || "unknown"
478-
service[:created_at] = s[:created_at].to_i
479-
service[:updated_at] = s[:updated_at].to_i
480-
service[:port] = s[:port]
481-
service[:proto] = s[:proto].to_s
482-
service[:state] = s[:state].to_s
483-
service[:name] = s[:name].to_s
484-
service[:info] = s[:info].to_s
485-
ret[:services] << service
475+
ret[:services] << process_service(s)
486476
end
487477
ret
488478
}
489479
end
490480

481+
def process_service(mdm_service)
482+
service = {}
483+
host = mdm_service.host
484+
485+
service[:host] = host.address || "unknown"
486+
service[:created_at] = mdm_service[:created_at].to_i
487+
service[:updated_at] = mdm_service[:updated_at].to_i
488+
service[:port] = mdm_service[:port]
489+
service[:proto] = mdm_service[:proto].to_s
490+
service[:state] = mdm_service[:state].to_s
491+
service[:name] = mdm_service[:name].to_s
492+
service[:info] = mdm_service[:info].to_s
493+
service[:resource] = mdm_service[:resource]
494+
service[:parents] = mdm_service.parents.map { |parent| process_service(parent) }
495+
496+
service
497+
end
498+
491499

492500
# Returns information about reported vulnerabilities.
493501
#
@@ -541,6 +549,7 @@ def rpc_vulns(xopts)
541549
vuln[:host] = v.host.address || nil
542550
vuln[:name] = v.name
543551
vuln[:refs] = reflist.join(',')
552+
vuln[:resource] = v.resource
544553
ret[:vulns] << vuln
545554
end
546555
ret

0 commit comments

Comments
 (0)