From 35b7093762fcf42f7243f259f502cba27a8ad400 Mon Sep 17 00:00:00 2001 From: Shaun McCullough Date: Mon, 27 Nov 2017 10:02:53 -0500 Subject: [PATCH] Added an argument for username and password, which takes precendece over nessus. Fixed #5 --- bin/vuln_whisperer | 6 +++++- vulnwhisp/vulnwhisp.py | 17 ++++++++++++++--- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/bin/vuln_whisperer b/bin/vuln_whisperer index 2ae9dcf..9f72115 100644 --- a/bin/vuln_whisperer +++ b/bin/vuln_whisperer @@ -18,12 +18,16 @@ def main(): help='Path of config file') parser.add_argument('-v', '--verbose', dest='verbose', action='store_true', default=True, help='Prints status out to screen (defaults to True)') + parser.add_argument('-u', '--username', dest='username', required=False, default=None, help='The NESSUS username') + parser.add_argument('-p', '--password', dest='password', required=False, default=None, help='The NESSUS password') args = parser.parse_args() try: vw = vulnWhisperer(config=args.config, - verbose=args.verbose) + verbose=args.verbose, + username=args.username, + password=args.password) vw.whisper_nessus() sys.exit(1) diff --git a/vulnwhisp/vulnwhisp.py b/vulnwhisp/vulnwhisp.py index 6648928..87b5679 100755 --- a/vulnwhisp/vulnwhisp.py +++ b/vulnwhisp/vulnwhisp.py @@ -16,13 +16,14 @@ import logging class vulnWhisperer(object): - def __init__(self, config=None, db_name='report_tracker.db', purge=False, verbose=None, debug=False): + def __init__(self, config=None, db_name='report_tracker.db', purge=False, verbose=None, debug=False, username=None, password=None): self.verbose = verbose self.nessus_connect = False self.develop = True self.purge = purge + if config is not None: try: self.config = vwConfig(config_in=config) @@ -31,8 +32,18 @@ class vulnWhisperer(object): if self.nessus_enabled: self.nessus_hostname = self.config.get('nessus', 'hostname') self.nessus_port = self.config.get('nessus', 'port') - self.nessus_username = self.config.get('nessus', 'username') - self.nessus_password = self.config.get('nessus', 'password') + + if password: + self.nessus_password = password + else: + self.nessus_password = self.config.get('nessus', 'password') + + + if username: + self.nessus_username = username + else: + self.nessus_username = self.config.get('nessus', 'username') + self.nessus_writepath = self.config.get('nessus', 'write_path') self.nessus_dbpath = self.config.get('nessus', 'db_path') self.nessus_trash = self.config.getbool('nessus', 'trash')