Skip to content

Latest commit

 

History

History
 
 

nessus

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
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.