1
mirror of https://github.com/rapid7/metasploit-framework synced 2024-11-05 14:57:30 +01:00

Add nessus_scan_export and nessus_scan_export_status methods

This commit is contained in:
root 2015-02-05 22:18:22 +05:00
parent 23af5f8c82
commit 2744db4d11
2 changed files with 311 additions and 161 deletions

View File

@ -52,7 +52,7 @@ module Nessus
return resp
end
def user_add(username,password,permissions,type)
def user_add(username, password, permissions, type)
payload = {
:username => username,
:password => password,
@ -62,7 +62,7 @@ module Nessus
}
request = Net::HTTP::Post.new("/users")
request.set_form_data(payload)
request.add_field("X-Cookie",@token)
request.add_field("X-Cookie", @token)
resp = @connection.request(request)
resp = JSON.parse(resp.body)
return resp
@ -70,7 +70,7 @@ module Nessus
def user_delete(user_id)
request = Net::HTTP::Delete.new("/users/#{user_id}")
request.add_field("X-Cookie",@token)
request.add_field("X-Cookie", @token)
resp = @connection.request(request)
return resp.code
end
@ -82,21 +82,21 @@ module Nessus
}
request = Net::HTTP::Put.new("/users/#{user_id}/chpasswd")
request.set_form_data(payload)
request.add_field("X-Cookie",@token)
request.add_field("X-Cookie", @token)
resp = @connection.request(request)
return resp.code
end
def user_logout
request = Net::HTTP::Delete.new("/session")
request.add_field("X-Cookie",@token)
request.add_field("X-Cookie", @token)
resp = @connection.request(request)
return resp.code
end
def list_policies
request = Net::HTTP::Get.new("/policies")
request.add_field("X-Cookie",@token)
request.add_field("X-Cookie", @token)
resp = @connection.request(request)
resp = JSON.parse(resp.body)
return resp
@ -104,7 +104,7 @@ module Nessus
def list_users
request = Net::HTTP::Get.new("/users")
request.add_field("X-Cookie",@token)
request.add_field("X-Cookie", @token)
resp = @connection.request(request)
resp = JSON.parse(resp.body)
return resp
@ -112,7 +112,7 @@ module Nessus
def list_folders
request = Net::HTTP::Get.new("/folders")
request.add_field("X-Cookie",@token)
request.add_field("X-Cookie", @token)
resp = @connection.request(request)
resp = JSON.parse(resp.body)
return resp
@ -120,7 +120,7 @@ module Nessus
def list_scanners
request = Net::HTTP::Get.new("/scanners")
request.add_field("X-Cookie",@token)
request.add_field("X-Cookie", @token)
resp = @connection.request(request)
resp = JSON.parse(resp.body)
return resp
@ -128,7 +128,7 @@ module Nessus
def list_families
request = Net::HTTP::Get.new("/plugins/families")
request.add_field("X-Cookie",@token)
request.add_field("X-Cookie", @token)
resp = @connection.request(request)
resp = JSON.parse(resp.body)
return resp
@ -136,7 +136,7 @@ module Nessus
def list_plugins(family_id)
request = Net::HTTP::Get.new("/plugins/families/#{family_id}")
request.add_field("X-Cookie",@token)
request.add_field("X-Cookie", @token)
resp = @connection.request(request)
resp = JSON.parse(resp.body)
return resp
@ -144,7 +144,7 @@ module Nessus
def plugin_details(plugin_id)
request = Net::HTTP::Get.new("/plugins/plugin/#{plugin_id}")
request.add_field("X-Cookie",@token)
request.add_field("X-Cookie", @token)
resp = @connection.request(request)
resp = JSON.parse(resp.body)
return resp
@ -152,7 +152,7 @@ module Nessus
def is_admin
request = Net::HTTP::Get.new("/session")
request.add_field("X-Cookie",@token)
request.add_field("X-Cookie", @token)
resp = @connection.request(request)
resp = JSON.parse(resp.body)
if resp["permissions"] == 128
@ -164,7 +164,7 @@ module Nessus
def server_properties
request = Net::HTTP::Get.new("/server/properties")
request.add_field("X-Cookie",@token)
request.add_field("X-Cookie", @token)
resp = @connection.request(request)
resp = JSON.parse(resp.body)
return resp
@ -182,7 +182,7 @@ module Nessus
}
request = Net::HTTP::Post.new("/scans")
request.body = payload.to_json
request.add_field("X-Cookie",@token)
request.add_field("X-Cookie", @token)
request["Content-Type"] = "application/json"
resp = @connection.request(request)
resp = JSON.parse(resp.body)
@ -191,7 +191,7 @@ module Nessus
def scan_launch(scan_id)
request = Net::HTTP::Post.new("/scans/#{scan_id}/launch")
request.add_field("X-Cookie",@token)
request.add_field("X-Cookie", @token)
resp = @connection.request(request)
resp = JSON.parse(resp.body)
return resp
@ -199,7 +199,7 @@ module Nessus
def server_status
request = Net::HTTP::Get.new("/server/status")
request.add_field("X-Cookie",@token)
request.add_field("X-Cookie", @token)
resp = @connection.request(request)
resp = JSON.parse(resp.body)
return resp
@ -207,7 +207,15 @@ module Nessus
def scan_list
request = Net::HTTP::Get.new("/scans")
request.add_field("X-Cookie",@token)
request.add_field("X-Cookie", @token)
resp = @connection.request(request)
resp = JSON.parse(resp.body)
return resp
end
def scan_details(scan_id)
request = Net::HTTP::Get.new("/scans/#{scan_id}")
request.add_field("X-Cookie", @token)
resp = @connection.request(request)
resp = JSON.parse(resp.body)
return resp
@ -215,7 +223,7 @@ module Nessus
def scan_pause(scan_id)
request = Net::HTTP::Post.new("/scans/#{scan_id}/pause")
request.add_field("X-Cookie",@token)
request.add_field("X-Cookie", @token)
resp = @connection.request(request)
resp = JSON.parse(resp.body)
return resp
@ -223,7 +231,7 @@ module Nessus
def scan_resume(scan_id)
request = Net::HTTP::Post.new("/scans/#{scan_id}/resume")
request.add_field("X-Cookie",@token)
request.add_field("X-Cookie", @token)
resp = @connection.request(request)
resp = JSON.parse(resp.body)
return resp
@ -231,12 +239,37 @@ module Nessus
def scan_stop(scan_id)
request = Net::HTTP::Post.new("/scans/#{scan_id}/stop")
request.add_field("X-Cookie",@token)
request.add_field("X-Cookie", @token)
resp = @connection.request(request)
resp = JSON.parse(resp.body)
return resp
end
def scan_export(scan_id, format)
payload = {
:format => format
}
request = Net::HTTP::Post.new("/scans/#{scan_id}/export")
request.body = payload.to_json
request["Content-Type"] = "application/json"
request.add_field("X-Cookie", @token)
resp = @connection.request(request)
resp = JSON.parse(resp.body)
return resp
end
def scan_export_status(scan_id, file_id)
request = Net::HTTP::Get.new("/scans/#{scan_id}/export/#{file_id}/status")
request.add_field("X-Cookie", @token)
resp = @connection.request(request)
if resp.code == "200"
return "ready"
else
resp = JSON.parse(resp.body)
return resp
end
end
def policy_delete(policy_id)
request = Net::HTTP::Delete.new("/policies/#{policy_id}")
request.add_field("X-Cookie",@token)

View File

@ -72,7 +72,6 @@ module Msf
"nessus_logout" => "Terminate the session.",
"nessus_server_status" => "Check the status of your Nessus server.",
"nessus_server_properties" => "Nessus server properties such as feed type, version, plugin set and server UUID.",
# "nessus_server_prefs" => "Display Server Prefs.",
"nessus_report_list" => "List all Nessus reports.",
"nessus_report_get" => "Import a report from the nessus server in Nessus v2 format.",
"nessus_report_del" => "Delete a report.",
@ -88,6 +87,9 @@ module Msf
"nessus_scan_stop_all" => "Stop all Nessus Scans.",
"nessus_scan_resume" => "Resume a Nessus Scan.",
"nessus_scan_resume_all" => "Resume all Nessus Scans.",
"nessus_scan_details" => "Return detailed information of a given scan.",
"nessus_scan_export" => "Export a scan result in either Nessus, HTML, PDF, CSV, or DB format.",
"nessus_scan_export_status" => "Check the status of scan export",
"nessus_user_list" => "Show Nessus Users.",
"nessus_user_add" => "Add a new Nessus User.",
"nessus_user_del" => "Delete a Nessus User.",
@ -95,7 +97,6 @@ module Msf
"nessus_family_list" => "List all the plugin families along with their corresponding family IDs and plugin count.",
"nessus_plugin_details" => "List details of a particular plugin.",
"nessus_plugin_list" => "Display plugin details in a particular plugin family.",
#"nessus_plugin_prefs" => "Display Plugin Prefs.",
"nessus_policy_list" => "List all polciies.",
"nessus_policy_del" => "Delete a policy.",
"nessus_index" => "Manually generates a search index for exploits.",
@ -157,13 +158,12 @@ module Msf
#if we are logged in, save session details to nessus.yaml
@nessus_yaml = "#{Msf::Config.get_config_root}/nessus.yaml"
if args[0] == "-h"
print_status("Usage: ")
print_status(" nessus_save")
return
end
if args[0]
print_status("Usage: ")
print_status(" nessus_save")
print_status("nessus_save")
return
end
group = "default"
@ -182,9 +182,8 @@ module Msf
def cmd_nessus_db_scan(*args)
if args[0] == "-h"
print_status("Usage: ")
print_status(" nessus_db_scan <policy id> <scan name>")
print_status(" Example:> nessus_db_scan 1 \"My Scan\"")
print_status("nessus_db_scan <policy id> <scan name>")
print_status("Example:> nessus_db_scan 1 \"My Scan\"")
print_status()
print_status("Creates a scan based on all the hosts listed in db_hosts.")
print_status("use nessus_policy_list to list all available policies")
@ -199,8 +198,8 @@ module Msf
name = args[1]
else
print_status("Usage: ")
print_status(" nessus_db_scan <policy id> <scan name>")
print_status(" use nessus_policy_list to list all available policies")
print_status("nessus_db_scan <policy id> <scan name>")
print_status("use nessus_policy_list to list all available policies")
return
end
if check_policy(pid)
@ -245,23 +244,16 @@ module Msf
tbl << [ "Generic Commands", "" ]
tbl << [ "-----------------", "-----------------"]
tbl << [ "nessus_connect", "Connect to a nessus server" ]
tbl << [ "nessus_save", "Save nessus login info between sessions" ]
tbl << [ "nessus_logout", "Logout from the nessus server" ]
tbl << [ "nessus_help", "Listing of available nessus commands" ]
tbl << [ "nessus_server_status", "Check the status of your Nessus Server" ]
tbl << [ "nessus_admin", "Checks if user is an admin" ]
tbl << [ "nessus_server_feed", "Nessus Feed Type" ]
tbl << [ "nessus_find_targets", "Try to find vulnerable targets from a report" ]
tbl << [ "nessus_server_prefs", "Display Server Prefs" ]
tbl << [ "", ""]
tbl << [ "Reports Commands", "" ]
tbl << [ "-----------------", "-----------------"]
tbl << [ "nessus_report_list", "List all Nessus reports" ]
tbl << [ "nessus_report_get", "Import a report from the nessus server in Nessus v2 format" ]
tbl << [ "nessus_report_vulns", "Get list of vulns from a report" ]
tbl << [ "nessus_report_hosts", "Get list of hosts from a report" ]
tbl << [ "nessus_report_host_ports", "Get list of open ports from a host from a report" ]
tbl << [ "nessus_report_host_detail", "Detail from a report item on a host" ]
tbl << [ "-----------------", "-----------------"]
tbl << [ "nessus_scan_export", "Export a scan into either Nessus, HTML, PDF, CSV, or DB format." ]
tbl << [ "nessus_scan_export_status", "Check the status of scan export" ]
tbl << [ "", ""]
tbl << [ "Scan Commands", "" ]
tbl << [ "-----------------", "-----------------"]
@ -297,9 +289,8 @@ module Msf
def cmd_nessus_server_properties(*args)
if args[0] == "-h"
print_status("Usage: ")
print_status(" nessus_server_feed")
print_status(" Example:> nessus_server_feed")
print_status("nessus_server_feed")
print_status("Example:> nessus_server_feed")
print_status()
print_status("Returns information about the feed type and server version.")
return
@ -342,12 +333,12 @@ module Msf
print_status(" OR")
print_status("nessus_connect username@hostname:port ssl_verify")
print_status("Example:> nessus_connect msf@192.168.1.10:8834 ssl_verify")
print_status(" OR")
print_status("OR")
print_status("nessus_connect hostname:port ssl_verify")
print_status(" Example:> nessus_connect 192.168.1.10:8834 ssl_verify")
print_status(" OR")
print_status(" nessus_connect")
print_status(" Example:> nessus_connect")
print_status("Example:> nessus_connect 192.168.1.10:8834 ssl_verify")
print_status("OR")
print_status("nessus_connect")
print_status("Example:> nessus_connect")
print_status("This only works after you have saved creds with nessus_save")
return
end
@ -451,10 +442,8 @@ module Msf
def cmd_nessus_report_list(*args)
if args[0] == "-h"
print_status("Usage: ")
print_status(" nessus_report_list")
print_status(" Example:> nessus_report_list")
print_status()
print_status("nessus_report_list")
print_status("Example:> nessus_report_list")
print_status("Generates a list of all reports visable to your user.")
return
end
@ -499,9 +488,8 @@ module Msf
def cmd_nessus_report_get(*args)
if args[0] == "-h"
print_status("Usage: ")
print_status(" nessus_report_get <report id>")
print_status(" Example:> nessus_report_get f0eabba3-4065-7d54-5763-f191e98eb0f7f9f33db7e75a06ca")
print_status("nessus_report_get <report id>")
print_status("Example:> nessus_report_get f0eabba3-4065-7d54-5763-f191e98eb0f7f9f33db7e75a06ca")
print_status()
print_status("This command pulls the provided report from the nessus server in the nessusv2 format")
print_status("and parses it the same way db_import_nessus does. After it is parsed it will be")
@ -517,8 +505,8 @@ module Msf
end
if(args.length == 0 or args[0].empty? or args[0] == "-h")
print_status("Usage: ")
print_status(" nessus_report_get <report id> ")
print_status(" use nessus_report_list to list all available reports for importing")
print_status("nessus_report_get <report id> ")
print_status("use nessus_report_list to list all available reports for importing")
return
end
rid = nil
@ -527,8 +515,8 @@ module Msf
rid = args[0]
else
print_status("Usage: ")
print_status(" nessus_report_get <report id> ")
print_status(" use nessus_report_list to list all available reports for importing")
print_status("nessus_report_get <report id> ")
print_status("use nessus_report_list to list all available reports for importing")
return
end
if check_scan(rid)
@ -553,9 +541,8 @@ module Msf
def cmd_nessus_scan_list(*args)
if args[0] == "-h"
print_status("Usage: ")
print_status(" nessus_scan_status")
print_status(" Example:> nessus_scan_status")
print_status("nessus_scan_status")
print_status("Example:> nessus_scan_status")
print_status()
print_status("Returns a list of information about currently running scans.")
return
@ -601,9 +588,8 @@ module Msf
def cmd_nessus_template_list(*args)
if args[0] == "-h"
print_status("Usage: ")
print_status(" nessus_template_list")
print_status(" Example:> nessus_template_list")
print_status("nessus_template_list")
print_status("Example:> nessus_template_list")
print_status()
print_status("Returns a list of information about the server templates..")
return
@ -615,8 +601,8 @@ module Msf
if list.empty?
print_status("No Templates Created.")
print_status("You can:")
print_status(" List of completed scans: nessus_report_list")
print_status(" Create a template: nessus_template_new <policy id> <scan name> <target(s)>")
print_status("List of completed scans: nessus_report_list")
print_status("Create a template: nessus_template_new <policy id> <scan name> <target(s)>")
return
end
tbl = Rex::Ui::Text::Table.new(
@ -640,9 +626,8 @@ module Msf
def cmd_nessus_user_list(*args)
if args[0] == "-h"
print_status("Usage: ")
print_status(" nessus_user_list")
print_status(" Example:> nessus_user_list")
print_status("nessus_user_list")
print_status("Example:> nessus_user_list")
print_status()
print_status("Returns a list of the users on the Nessus server and their access level.")
return
@ -671,9 +656,8 @@ module Msf
def cmd_nessus_server_status(*args)
if args[0] == "-h"
print_status("Usage: ")
print_status(" nessus_server_status")
print_status(" Example:> nessus_server_status")
print_status("nessus_server_status")
print_status("Example:> nessus_server_status")
print_status()
print_status("Returns some status items for the server..")
return
@ -690,7 +674,6 @@ module Msf
def cmd_nessus_family_list(*args)
if args[0] == "-h"
print_status("Usage:")
print_status("nessus_family_list")
print_status("Example:> nessus_family_list")
print_status()
@ -729,7 +712,6 @@ module Msf
def cmd_nessus_scan_new(*args)
if args[0] == "-h"
print_status("Usage")
print_status("nessus_scan_new <UUID of Policy> <Scan name> <Description> <Targets>")
print_status("Use nessus_policy_list to list all available policies with their corresponding UUIDs")
return
@ -744,7 +726,7 @@ module Msf
description = args[2]
targets = args[3]
else
print_status("Usage:")
print_status("Usage: ")
print_status("nessus_scan_new <UUID of Policy> <Scan name> <Description> <Targets>>")
print_status("Use nessus_policy_list to list all available policies with their corresponding UUIDs")
return
@ -767,10 +749,166 @@ module Msf
print_error("The policy does not exist")
end
end
def cmd_nessus_scan_details(*args)
if args[0] == "-h"
print_status("nessus_scan_details <scan ID> <category>")
print_status("Availble categories are info, hosts, vulnerabilities, and history")
print_status("Use nessus_scan_list to list all available scans with their corresponding scan IDs")
return
end
if !nessus_verify_token
return
end
case args.length
when 2
scan_id = args[0]
category = args[1]
if category.in?(['info', 'hosts', 'vulnerabilities', 'history'])
category = args[1]
else
print_error("Invalid category. The available categories are info, hosts, vulnerabilities, and history")
return
end
else
print_status("Usage: ")
print_status("nessus_scan_details <scan ID> <category>")
print_status("Availble categories are info, hosts, vulnerabilities, and history")
print_status("Use nessus_scan_list to list all available scans with their corresponding scan IDs")
return
end
details = @n.scan_details(scan_id)
if category == "info"
tbl = Rex::Ui::Text::Table.new(
'Columns' => [
"Status",
"Policy",
"Scan Name",
"Scan Targets",
"Scan Start Time",
"Scan End Time"
])
tbl << [ details["info"]["status"], details["info"]["policy"], details["info"]["name"], details["info"]["targets"], details["info"]["scan_start"], details["info"]["scan_end"] ]
elsif category == "hosts"
tbl = Rex::Ui::Text::Table.new(
'Columns' => [
"Host ID",
"Hostname",
"% of Critical Findings",
"% of High Findings",
"% of Medium Findings",
"% of Low Findings"
])
details["hosts"].each { |host|
tbl << [ host["host_id"], host["hostname"], host["critical"], host["high"], host["medium"], host["low"] ]
}
elsif category == "vulnerabilities"
tbl = Rex::Ui::Text::Table.new(
'Columns' => [
"Plugin ID",
"Plugin Name",
"Plugin Family",
"Count"
])
details["vulnerabilities"].each { |vuln|
tbl << [ vuln["plugin_id"], vuln["plugin_family"], vuln["plugin_family"], vuln["count"] ]
}
elsif category == "history"
tbl = Rex::Ui::Text::Table.new(
'Columns' => [
"History ID",
"Status",
"Creation Date",
"Last Modification Date"
])
details["history"].each { |hist|
tbl << [ hist["history_id"], hist["status"], hist["creation_date"], hist["modification_date"] ]
}
end
print_line tbl.to_s
end
def cmd_nessus_scan_export(*args)
if args[0] == "-h"
print_status("nessus_scan_export <scan ID> <export format>")
print_status("The available export formats are Nessus, HTML, PDF, CSV, or DB")
print_status("Use nessus_scan_list to list all available scans with their corresponding scan IDs")
return
end
if !nessus_verify_token
return
end
case args.length
when 2
scan_id = args[0]
format = args[1]
else
print_status("Usage: ")
print_status("nessus_scan_export <scan ID> <export format>")
print_status("The available export formats are Nessus, HTML, PDF, CSV, or DB")
print_status("Use nessus_scan_list to list all available scans with their corresponding scan IDs")
return
end
if format.in?(['nessus','html','pdf','csv','db'])
export = @n.scan_export(scan_id, format)
if export["file"]
file_id = export["file"]
print_good("The export file ID for scan ID #{scan_id} is #{file_id}")
print_status("Use nessus_scan_export_status <file ID> to get the export status. Once the status is ready, use nessus_scan_report_download <file ID> to download the report.")
else
print_error(export)
end
else
print_error("Invalid export format. The available export formats are Nessus, HTML, PDF, CSV, or DB")
return
end
end
def nessus_scan_report_download(*args)
if args[0] == "-h"
print_status("nessus_scan_report_download <scan_id> <file ID> ")
print_status("Use nessus_scan_export_status <scan ID> <file ID> to check the export status.")
return
end
if !nessus_verify_token
return
end
case args.length
when 2
scan_id = args[0]
file_id = args[1]
report = @n.scan_report_download
end
end
def cmd_nessus_scan_export_status(*args)
if args[0] == "-h"
print_status("nessus_scan_export_status <scan ID> <file ID>")
print_status("Use nessus_scan_export <scan ID> <format> to export a scan and get its file ID")
end
if !nessus_verify_token
return
end
case args.length
when 2
scan_id = args[0]
file_id = args[1]
status = @n.scan_export_status(scan_id, file_id)
if status == "ready"
print_status("The status of scan ID #{scan_id} export is ready.")
else
print_error("There was some problem in exporting the scan. The error message is #{status}")
end
else
print_status("Usage: ")
print_status("nessus_scan_export_status <scan ID> <file ID>")
print_status("Use nessus_scan_export <scan ID> <format> to export a scan and get its file ID")
end
end
def cmd_nessus_scan_launch(*args)
if args[0] == "-h"
print_status("Usage")
print_status("nessus_scan_launch <scan ID>")
print_status("Use nessus_scan_list to list all the availabla scans with their corresponding scan IDs")
end
@ -781,7 +919,7 @@ module Msf
when 1
scan_id = args[0]
else
print_status("Usage:")
print_status("Usage: ")
print_status("nessus_scan_launch <scan ID>")
print_status("Use nessus_scan_list to list all the availabla scans with their corresponding scan IDs")
return
@ -792,12 +930,11 @@ module Msf
def cmd_nessus_scan_pause(*args)
if args[0] == "-h"
print_status("Usage: ")
print_status(" nessus_scan_pause <scan id>")
print_status(" Example:> nessus_scan_pause f0eabba3-4065-7d54-5763-f191e98eb0f7f9f33db7e75a06ca")
print_status("nessus_scan_pause <scan id>")
print_status("Example:> nessus_scan_pause f0eabba3-4065-7d54-5763-f191e98eb0f7f9f33db7e75a06ca")
print_status()
print_status("Pauses a running scan")
print_status("use nessus_scan_status to list all available scans")
print_status("Use nessus_scan_status to list all available scans")
return
end
if !nessus_verify_token
@ -822,12 +959,11 @@ module Msf
def cmd_nessus_scan_resume(*args)
if args[0] == "-h"
print_status("Usage: ")
print_status(" nessus_scan_resume <scan id>")
print_status(" Example:> nessus_scan_resume f0eabba3-4065-7d54-5763-f191e98eb0f7f9f33db7e75a06ca")
print_status("nessus_scan_resume <scan id>")
print_status("Example:> nessus_scan_resume f0eabba3-4065-7d54-5763-f191e98eb0f7f9f33db7e75a06ca")
print_status()
print_status("resumes a running scan")
print_status("use nessus_scan_status to list all available scans")
print_status("Use nessus_scan_status to list all available scans")
return
end
if !nessus_verify_token
@ -838,8 +974,8 @@ module Msf
sid = args[0]
else
print_status("Usage: ")
print_status(" nessus_scan_resume <scan id>")
print_status(" use nessus_scan_status to list all available scans")
print_status("nessus_scan_resume <scan id>")
print_status("Use nessus_scan_status to list all available scans")
return
end
resume = @n.scan_resume(sid)
@ -852,12 +988,11 @@ module Msf
def cmd_nessus_report_hosts(*args)
if args[0] == "-h"
print_status("Usage: ")
print_status(" nessus_report_hosts <report id>")
print_status(" Example:> nessus_report_hosts f0eabba3-4065-7d54-5763-f191e98eb0f7f9f33db7e75a06ca")
print_status("nessus_report_hosts <report id>")
print_status("Example:> nessus_report_hosts f0eabba3-4065-7d54-5763-f191e98eb0f7f9f33db7e75a06ca")
print_status()
print_status("Returns all the hosts associated with a scan and details about their vulnerabilities")
print_status("use nessus_report_list to list all available scans")
print_status("Use nessus_report_list to list all available scans")
return
end
if !nessus_verify_token
@ -868,8 +1003,8 @@ module Msf
rid = args[0]
else
print_status("Usage: ")
print_status(" nessus_report_hosts <report id>")
print_status(" use nessus_report_list to list all available reports")
print_status("nessus_report_hosts <report id>")
print_status("Use nessus_report_list to list all available reports")
return
end
tbl = Rex::Ui::Text::Table.new(
@ -896,12 +1031,11 @@ module Msf
def cmd_nessus_report_vulns(*args)
if args[0] == "-h"
print_status("Usage: ")
print_status(" nessus_report_vulns <report id>")
print_status(" Example:> nessus_report_vulns f0eabba3-4065-7d54-5763-f191e98eb0f7f9f33db7e75a06ca")
print_status("nessus_report_vulns <report id>")
print_status("Example:> nessus_report_vulns f0eabba3-4065-7d54-5763-f191e98eb0f7f9f33db7e75a06ca")
print_status()
print_status("Returns all the vulns associated with a scan and details about hosts and their vulnerabilities")
print_status("use nessus_report_list to list all available scans")
print_status("Use nessus_report_list to list all available scans")
return
end
if !nessus_verify_token
@ -912,8 +1046,8 @@ module Msf
rid = args[0]
else
print_status("Usage: ")
print_status(" nessus_report_vulns <report id>")
print_status(" use nessus_report_vulns to list all available reports")
print_status("nessus_report_vulns <report id>")
print_status("Use nessus_report_vulns to list all available reports")
return
end
tbl = Rex::Ui::Text::Table.new(
@ -945,12 +1079,11 @@ module Msf
def cmd_nessus_report_host_ports(*args)
if args[0] == "-h"
print_status("Usage: ")
print_status(" nessus_report_host_ports <hostname> <report id>")
print_status(" Example:> nessus_report_host_ports 192.168.1.250 f0eabba3-4065-7d54-5763-f191e98eb0f7f9f33db7e75a06ca")
print_status("nessus_report_host_ports <hostname> <report id>")
print_status("Example:> nessus_report_host_ports 192.168.1.250 f0eabba3-4065-7d54-5763-f191e98eb0f7f9f33db7e75a06ca")
print_status()
print_status("Returns all the ports associated with a host and details about their vulnerabilities")
print_status("use nessus_report_hosts to list all available hosts for a report")
print_status("Use nessus_report_hosts to list all available hosts for a report")
end
if !nessus_verify_token
return
@ -961,8 +1094,8 @@ module Msf
rid = args[1]
else
print_status("Usage: ")
print_status(" nessus_report_host_ports <hostname> <report id>")
print_status(" use nessus_report_list to list all available reports")
print_status("nessus_report_host_ports <hostname> <report id>")
print_status("Use nessus_report_list to list all available reports")
return
end
tbl = Rex::Ui::Text::Table.new(
@ -989,12 +1122,11 @@ module Msf
def cmd_nessus_report_host_detail(*args)
if args[0] == "-h"
print_status("Usage: ")
print_status(" nessus_report_host_detail <hostname> <port> <protocol> <report id>")
print_status(" Example:> nessus_report_host_ports 192.168.1.250 445 tcp f0eabba3-4065-7d54-5763-f191e98eb0f7f9f33db7e75a06ca")
print_status("nessus_report_host_detail <hostname> <port> <protocol> <report id>")
print_status("Example:> nessus_report_host_ports 192.168.1.250 445 tcp f0eabba3-4065-7d54-5763-f191e98eb0f7f9f33db7e75a06ca")
print_status()
print_status("Returns all the vulns associated with a port for a specific host")
print_status("use nessus_report_host_ports to list all available ports for a host")
print_status("Use nessus_report_host_ports to list all available ports for a host")
return
end
if !nessus_verify_token
@ -1008,8 +1140,8 @@ module Msf
rid = args[3]
else
print_status("Usage: ")
print_status(" nessus_report_host_detail <hostname> <port> <protocol> <report id>")
print_status(" use nessus_report_host_ports to list all available ports")
print_status("nessus_report_host_detail <hostname> <port> <protocol> <report id>")
print_status("Use nessus_report_host_ports to list all available ports")
return
end
tbl = Rex::Ui::Text::Table.new(
@ -1037,12 +1169,11 @@ module Msf
def cmd_nessus_scan_pause_all(*args)
scan_ids = Array.new
if args[0] == "-h"
print_status("Usage: ")
print_status(" nessus_scan_pause_all")
print_status(" Example:> nessus_scan_pause_all")
print_status("nessus_scan_pause_all")
print_status("Example:> nessus_scan_pause_all")
print_status()
print_status("Pauses all currently running scans")
print_status("use nessus_scan_list to list all running scans")
print_status("Use nessus_scan_list to list all running scans")
return
end
if !nessus_verify_token
@ -1066,12 +1197,11 @@ module Msf
def cmd_nessus_scan_stop(*args)
if args[0] == "-h"
print_status("Usage: ")
print_status(" nessus_scan_stop <scan id>")
print_status(" Example:> nessus_scan_stop f0eabba3-4065-7d54-5763-f191e98eb0f7f9f33db7e75a06ca")
print_status("nessus_scan_stop <scan id>")
print_status("Example:> nessus_scan_stop f0eabba3-4065-7d54-5763-f191e98eb0f7f9f33db7e75a06ca")
print_status()
print_status("Stops a currently running scans")
print_status("use nessus_scan_list to list all running scans")
print_status("Use nessus_scan_list to list all running scans")
return
end
if !nessus_verify_token
@ -1082,8 +1212,8 @@ module Msf
sid = args[0]
else
print_status("Usage: ")
print_status(" nessus_scan_stop <scan id>")
print_status(" use nessus_scan_status to list all available scans")
print_status("nessus_scan_stop <scan id>")
print_status("Use nessus_scan_status to list all available scans")
return
end
stop = @n.scan_stop(sid)
@ -1097,12 +1227,11 @@ module Msf
def cmd_nessus_scan_stop_all(*args)
scan_ids = Array.new
if args[0] == "-h"
print_status("Usage: ")
print_status(" nessus_scan_stop_all")
print_status(" Example:> nessus_scan_stop_all")
print_status("nessus_scan_stop_all")
print_status("Example:> nessus_scan_stop_all")
print_status()
print_status("stops all currently running scans")
print_status("use nessus_scan_list to list all running scans")
print_status("Use nessus_scan_list to list all running scans")
return
end
if !nessus_verify_token
@ -1127,12 +1256,11 @@ module Msf
def cmd_nessus_scan_resume_all(*args)
scan_ids = Array.new
if args[0] == "-h"
print_status("Usage: ")
print_status(" nessus_scan_resume_all")
print_status(" Example:> nessus_scan_resume_all")
print_status("nessus_scan_resume_all")
print_status("Example:> nessus_scan_resume_all")
print_status()
print_status("resumes all currently running scans")
print_status("use nessus_scan_list to list all running scans")
print_status("Use nessus_scan_list to list all running scans")
return
end
if !nessus_verify_token
@ -1156,13 +1284,12 @@ module Msf
def cmd_nessus_user_add(*args)
if args[0] == "-h"
print_status("Usage")
print_status("nessus_user_add <username> <password> <permissions> <type>")
print_status("Permissions are 32, 64, and 128")
print_status("Type can be either local or LDAP")
print_status("Example:> nessus_user_add msf msf 16 local")
print_status("You need to be an admin in order to add accounts")
print_status("use nessus_user_list to list all users")
print_status("Use nessus_user_list to list all users")
return
end
if !nessus_verify_token
@ -1193,7 +1320,6 @@ module Msf
def cmd_nessus_user_del(*args)
if args[0] == "-h"
print_status("Usage:")
print_status("nessus_user_del <User ID>")
print_status("Example:> nessus_user_del 10")
print_status()
@ -1236,7 +1362,6 @@ module Msf
def cmd_nessus_user_passwd(*args)
if args[0] == "-h"
print_status("Usage:")
print_status("nessus_user_passwd <User ID> <New Password>")
print_status("Example:> nessus_user_passwd 10 mynewpassword")
print_status("Changes the password of a user. You must be an admin to change passwords.")
@ -1255,7 +1380,7 @@ module Msf
user_id = args[0]
pass = args[1]
else
print_status("Usage:")
print_status("Usage: ")
print_status("nessus_user_passwd <User ID> <New Password>")
print_status("Use nessus_user_list to list all users with their corresponding user IDs")
return
@ -1279,12 +1404,11 @@ module Msf
def cmd_nessus_admin(*args)
if args[0] == "-h"
print_status("Usage: ")
print_status(" nessus_admin")
print_status(" Example:> nessus_admin")
print_status("nessus_admin")
print_status("Example:> nessus_admin")
print_status()
print_status("Checks to see if the current user is an admin")
print_status("use nessus_user_list to list all users")
print_status("Use nessus_user_list to list all users")
return
end
if !nessus_verify_token
@ -1299,7 +1423,6 @@ module Msf
def cmd_nessus_plugin_list(*args)
if args[0] == "-h"
print_status("Usage:")
print_status("nessus_plugin_list <Family ID>")
print_status("Example:> nessus_plugin_list 10")
print_status()
@ -1314,7 +1437,7 @@ module Msf
when 1
family_id = args[0]
else
print_status("Usage:")
print_status("Usage: ")
print_status("nessus_plugin_list <Family ID>")
print_status("Use nessus_family_list to display all the plugin families along with their corresponding family IDs")
return
@ -1334,9 +1457,8 @@ module Msf
def cmd_nessus_policy_list(*args)
if args[0] == "-h"
print_status("Usage: ")
print_status(" nessus_policy_list")
print_status(" Example:> nessus_policy_list")
print_status("nessus_policy_list")
print_status("Example:> nessus_policy_list")
print_status()
print_status("Lists all policies on the server")
return
@ -1359,9 +1481,8 @@ module Msf
def cmd_nessus_policy_del(*args)
if args[0] == "-h"
print_status("Usage: ")
print_status(" nessus_policy_del <policy ID>")
print_status(" Example:> nessus_policy_del 1")
print_status("nessus_policy_del <policy ID>")
print_status("Example:> nessus_policy_del 1")
print_status()
print_status("Must be an admin to del policies.")
print_status("use nessus_policy_list to list all policies")
@ -1379,8 +1500,8 @@ module Msf
policy_id = args[0]
else
print_status("Usage: ")
print_status(" nessus_policy_del <policy ID>")
print_status(" nessus_policy_list to find the id.")
print_status("nessus_policy_del <policy ID>")
print_status("nessus_policy_list to find the id.")
return
end
del = @n.policy_delete(policy_id)
@ -1400,7 +1521,6 @@ module Msf
def cmd_nessus_plugin_details(*args)
if args[0] == "-h"
print_status("Usage:")
print_status("nessus_plugin_details <Plugin ID>")
print_status("Example:> nessus_plugin_details 10264")
print_status()
@ -1415,7 +1535,7 @@ module Msf
when 1
plugin_id = args[0]
else
print_status("Usage:")
print_status("Usage: ")
print_status("nessus_plugin_details <Plugin ID>")
print_status("Use nessus_plugin_list to list all plugins and their corresponding plugin IDs belonging to a particular plugin family.")
return
@ -1436,12 +1556,11 @@ module Msf
def cmd_nessus_report_del(*args)
if args[0] == "-h"
print_status("Usage: ")
print_status(" nessus_report_del <reportname>")
print_status(" Example:> nessus_report_del f0eabba3-4065-7d54-5763-f191e98eb0f7f9f33db7e75a06ca")
print_status("nessus_report_del <reportname>")
print_status("Example:> nessus_report_del f0eabba3-4065-7d54-5763-f191e98eb0f7f9f33db7e75a06ca")
print_status()
print_status("Must be an admin to del reports.")
print_status("use nessus_report_list to list all reports")
print_status("Use nessus_report_list to list all reports")
return
end
if !nessus_verify_token
@ -1471,9 +1590,8 @@ module Msf
def cmd_nessus_server_prefs(*args)
if args[0] == "-h"
print_status("Usage: ")
print_status(" nessus_server_prefs")
print_status(" Example:> nessus_server_prefs")
print_status("nessus_server_prefs")
print_status("Example:> nessus_server_prefs")
print_status()
print_status("Returns a long list of server prefs.")
return
@ -1501,9 +1619,8 @@ module Msf
def cmd_nessus_plugin_prefs(*args)
if args[0] == "-h"
print_status("Usage: ")
print_status(" nessus_plugin_prefs")
print_status(" Example:> nessus_plugin_prefs")
print_status("nessus_plugin_prefs")
print_status("Example:> nessus_plugin_prefs")
print_status()
print_status("Returns a long list of plugin prefs.")
return