metasploit-framework/lib/nessus/README

67 lines
2.3 KiB
Plaintext
Raw Normal View History

Nessus XML RPC library and Nessus Command Line interface to XML RPC
(C) Vlatko Kosturjak, Kost. Distributed under GPL and BSD (dual licensed).
Requirements
============
Requirements are quite standard Ruby libraries for HTTPS and XML
parsing:
require 'uri'
require 'net/https'
require 'rexml/document'
nessus-cli.rb
=============
Nessus command line interface for XML-RPC.
Type ./nessus-cli.rb --help for command line options.
Examples:
---------
./nessus-cli.rb --user john --password doe --scan scan-localhost --wait --output report.xml --target localhost
./nessus-cli.rb --user user --password pass --scan localhost-scan --wait 5 -D --output report-localhost.xml --target localhost --verbose
./nessus-cli.rb --user user --password pass --scan localhost-scan --wait 5 -D --output report-localhost.xml --target 127.0.0.1 --verbose --policy mypolicy --url https://localhost:8834
Or if you want to have detached scans:
--------------------------------------
./nessus-cli.rb --user user --password pass --scan localhost-scan --target 127.0.0.1 --policy mypolicy
./nessus-cli.rb --user user --password pass --list-scans
./nessus-cli.rb --user user --password pass --pause 5329fae9-fb1d-0c67-a401-a0db12637c0d5bcd67900d34e00e
./nessus-cli.rb --user user --password pass --resume 5329fae9-fb1d-0c67-a401-a0db12637c0d5bcd67900d34e00e
./nessus-cli.rb --user user --password pass --stop 5329fae9-fb1d-0c67-a401-a0db12637c0d5bcd67900d34e00e
./nessus-cli.rb --user user --password pass --stop-all
./nessus-cli.rb --user user --password pass --report 5329fae9-fb1d-0c67-a401-a0db12637c0d5bcd67900d34e00e --output report.xml
nessus-xmlrpc.rb
================
communicate with Nessus(4.2+) over XML RPC interface
Simple example:
require 'nessus-xmlrpc'
n=NessusXMLRPC::NessusXMLRPC.new('https://localhost:8834','user','pass');
# n=NessusXMLRPC::NessusXMLRPC.new('','user','pass'); # it's same
if n.logged_in
id,name = n.policy_get_first
puts "using policy ID: " + id + " with name: " + name
uid=n.scan_new(id,"textxmlrpc","127.0.0.1")
puts "status: " + n.scan_status(uid)
while not n.scan_finished(uid)
sleep 10
end
content=n.report_file_download(uid)
File.open('report.xml', 'w') {|f| f.write(content) }
end
Take a look at nessus-cli.rb for more advanced examples.