Metadata-Version: 1.1
Name: nessrest
Version: 0.11
Summary: An interface to the Nessus 6 REST API
Home-page: https://github.com/tenable/nessrest
Author: Scott Walsh, Ben Bergman, Matthew Everson, Matthew Woelk
Author-email: swalsh@tenable.com
License: Copyright (c) 2014, Tenable Network Security, Inc.
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
  - Redistributions of source code must retain the above copyright notice,
    this list of conditions and the following disclaimer.
  - Redistributions in binary form must reproduce the above copyright notice,
    this list of conditions and the following disclaimer in the documentation
    and/or other materials provided with the distribution.
  - Neither the name of Tenable Network Security, Inc. nor the names of its
    contributors may be used to endorse or promote products derived from this
    software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, TITLE,
NON-INFRINGEMENT, INTEGRATION, PERFORMANCE, AND ACCURACY AND ANY IMPLIED
WARRANTIES ARISING FROM STATUTE, COURSE OF DEALING, COURSE OF PERFORMANCE, OR
USAGE OF TRADE, ARE DISCLAIMED. IN NO EVENT SHALL TENABLE NETWORK SECURITY,
INC., OR ANY SUCCESSOR-IN-INTEREST, BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Description: # ness6rest.py - a REST interface to Nessus 6
        
        ### Dependencies:
        
        * Nessus 6.0.1
        * Python 2.7+ or 3.3+
        * requests module (install via pip)
        * The dependencies can be satisfied via `pip install -r requirements.txt`
        
        ### Features:
        
        * Logins
        
          ```python
          scan = nessrest.Scanner(url="https://nessusscanner:8834", login="username", password="password")
        
          creds = [credentials.Windows(username="administrator", password="foobar"),
                   credentials.Windows(username="administrator", password="barfoo"),
                   credentials.SSH(username="nessususer", password="foobar")]
        
          scan.policy_add_creds(credentials=creds)
          ```
        * Build policies
        
          ```python
          scan.upload(upload_file="file.audit")
          scan._policy_add_audit(category="Windows", filename="file.audit")
          scan.policy_add(name="Scripted Scan", plugins="21156")
          ```
        
        * Launch scans
        
          ```python
          scan.scan_add(targets="192.168.0.1")
          scan.scan_run()
          ```
        
        * Parse scan results
        
          ```python
          scan.scan_results()
          ```
        
        * Download KB for target
        
          ```python
          kbs = scan.download_kbs()
        
          for hostname in kbs.keys():
              f = open(hostname, "w")
              f.write(kbs[hostname])
              f.close()
          ```
        
        * Output for ticketing/wiki format
        
        ### Feature Requests:
        
        * Deleting of scan/schedule/policy
        * Ability to change "tag" from CLI via config/CLI arg
        * Enforce supported versions of Nessus
        
        ### Notes:
        * Proxies are not supported, although transparent proxies should work... transparently
        
        # nessrest - an example client
        
        ### Dependencies:
        * argparse module (install via pip)
        
        ### Suggested installation:
        
        * Find the path to your "site-packages" with: `python -c "import sys; print(sys.path)"`
        * Symlink `ness6rest.py` in the Git repo in the "site-packages" or "dist-packages" directory.
        * Test by issuing `import ness6rest` inside the Python interactive
          interperter.
        
        ### InsecureRequestWarning
        
        If you're running Nessus with a self-signed certificate, and you wish to squelch the InsecureRequestWarnings that the requests library uses, you can add the following line after the import requests line in ness6rest.py:
        `requests.packages.urllib3.disable_warnings()`
        
        This will disable invalid cerficate warnings and should be used with caution.
        
        ### Configuration file:
        
        * Copy `ness_rest.conf.example` to `ness_rest.conf` and configure for your scanner.
        * There are several valid paths for the location of the config file(in order):
        * The path passed from the CLI with `--config`
        * A permanent config file is searched for in the following locations:
            * `$HOME/.ness_rest.conf`
            * `$HOME/.ness_rest/ness_rest.conf`
            * `/etc/ness_rest.conf`
            * `/etc/ness_rest/ness_rest.conf`
            * `$PWD/ness_rest.conf`
        
        ### Building modules:
        
        * To build a package to install via `pip` or `easy_install`, execute:
            * `python setup.py sdist`
        * The resulting build will be in `$PWD/dist/ness6rest-<version>.tar.gz`
        
        ### Changelog:
        * 2014-10-31: Support added for Nessus 6.0.1
        
Keywords: nessus nessrest ness_rest
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
