File tree Expand file tree Collapse file tree 6 files changed +52
-0
lines changed
metasploit/framework/data_service Expand file tree Collapse file tree 6 files changed +52
-0
lines changed Original file line number Diff line number Diff line change @@ -15,6 +15,7 @@ module DataProxyAutoLoader
15
15
autoload :LootDataProxy , 'metasploit/framework/data_service/proxy/loot_data_proxy'
16
16
autoload :SessionEventDataProxy , 'metasploit/framework/data_service/proxy/session_event_data_proxy'
17
17
autoload :CredentialDataProxy , 'metasploit/framework/data_service/proxy/credential_data_proxy'
18
+ autoload :NmapDataProxy , 'metasploit/framework/data_service/proxy/nmap_data_proxy'
18
19
include ServiceDataProxy
19
20
include HostDataProxy
20
21
include VulnDataProxy
Original file line number Diff line number Diff line change
1
+ module NmapDataProxy
2
+
3
+ def import_nmap_xml_file ( args = { } )
4
+ begin
5
+ data_service = self . get_data_service ( )
6
+ data_service . import_nmap_xml_file ( args )
7
+ rescue Exception => e
8
+ puts "Call to #{ data_service . class } #import_nmap_xml_file threw exception: #{ e . message } "
9
+ e . backtrace { |line | puts "#{ line } \n " }
10
+ end
11
+ end
12
+ end
Original file line number Diff line number Diff line change @@ -14,6 +14,7 @@ module DataServiceAutoLoader
14
14
autoload :RemoteLootDataService , 'metasploit/framework/data_service/remote/http/remote_loot_data_service'
15
15
autoload :RemoteSessionEventDataService , 'metasploit/framework/data_service/remote/http/remote_session_event_data_service'
16
16
autoload :RemoteCredentialDataService , 'metasploit/framework/data_service/remote/http/remote_credential_data_service'
17
+ autoload :RemoteNmapDataService , 'metasploit/framework/data_service/remote/http/remote_nmap_data_service'
17
18
include RemoteHostDataService
18
19
include RemoteEventDataService
19
20
include RemoteNoteDataService
@@ -26,4 +27,5 @@ module DataServiceAutoLoader
26
27
include RemoteLootDataService
27
28
include RemoteSessionEventDataService
28
29
include RemoteCredentialDataService
30
+ include RemoteNmapDataService
29
31
end
Original file line number Diff line number Diff line change
1
+ require 'metasploit/framework/data_service/remote/http/response_data_helper'
2
+
3
+ module RemoteLootDataService
4
+ include ResponseDataHelper
5
+
6
+ NMAP_PATH = '/api/1/msf/nmap'
7
+
8
+ def import_nmap_xml_file ( args )
9
+ self . post_data_async ( NMAP_PATH , args )
10
+ end
11
+ end
Original file line number Diff line number Diff line change
1
+ module nmapServlet
2
+
3
+ def self . api_path
4
+ '/api/1/msf/nmap'
5
+ end
6
+
7
+ def self . registered ( app )
8
+ app . post nmapServlet . api_path , &import_nmap_xml_file
9
+ end
10
+
11
+ #######
12
+ private
13
+ #######
14
+
15
+ def self . import_nmap_xml_file
16
+ lambda {
17
+
18
+ job = lambda { |opts |
19
+ get_db ( ) . import_nmap_xml_file ( opts )
20
+ }
21
+ exec_report_job ( request , &job )
22
+ }
23
+ end
24
+ end
Original file line number Diff line number Diff line change 14
14
require 'msf/core/db_manager/http/servlet/loot_servlet'
15
15
require 'msf/core/db_manager/http/servlet/session_event_servlet'
16
16
require 'msf/core/db_manager/http/servlet/credential_servlet'
17
+ require 'msf/core/db_manager/http/servlet/nmap_servlet'
17
18
18
19
class SinatraApp < Sinatra ::Base
19
20
@@ -35,4 +36,5 @@ class SinatraApp < Sinatra::Base
35
36
register LootServlet
36
37
register SessionEventServlet
37
38
register CredentialServlet
39
+ register NmapServlet
38
40
end
You can’t perform that action at this time.
0 commit comments