restructure and write openvas to db
This commit is contained in:
@ -388,7 +388,11 @@ class vulnWhispererNessus(vulnWhispererBase):
|
|||||||
|
|
||||||
|
|
||||||
def whisper_nessus(self):
|
def whisper_nessus(self):
|
||||||
if self.nessus_connect:
|
if not self.nessus_connect:
|
||||||
|
self.logger.error('Failed to use scanner at {host}:{port}'.format(host=self.hostname, port=self.nessus_port))
|
||||||
|
self.exit_code += 1
|
||||||
|
return self.exit_code
|
||||||
|
|
||||||
scan_data = self.nessus.scans
|
scan_data = self.nessus.scans
|
||||||
folders = scan_data['folders']
|
folders = scan_data['folders']
|
||||||
scans = scan_data['scans'] if scan_data['scans'] else []
|
scans = scan_data['scans'] if scan_data['scans'] else []
|
||||||
@ -499,6 +503,8 @@ class vulnWhispererNessus(vulnWhispererBase):
|
|||||||
vuln_ready['scan_time'] = norm_time
|
vuln_ready['scan_time'] = norm_time
|
||||||
|
|
||||||
vuln_ready.to_json(relative_path_name, orient='records', lines=True)
|
vuln_ready.to_json(relative_path_name, orient='records', lines=True)
|
||||||
|
self.logger.info('{records} records written to {path} '.format(records=vuln_ready.shape[0],
|
||||||
|
path=relative_path_name))
|
||||||
|
|
||||||
record_meta = (
|
record_meta = (
|
||||||
scan_name,
|
scan_name,
|
||||||
@ -513,13 +519,11 @@ class vulnWhispererNessus(vulnWhispererBase):
|
|||||||
0,
|
0,
|
||||||
)
|
)
|
||||||
self.record_insert(record_meta)
|
self.record_insert(record_meta)
|
||||||
self.logger.info('{records} records written to {path} '.format(records=vuln_ready.shape[0],
|
self.logger.info('Scan {} ({}) written to database'.format(scan_name.encode('utf8'), uuid))
|
||||||
path=file_name.encode('utf8')))
|
|
||||||
self.conn.close()
|
self.conn.close()
|
||||||
self.logger.info('Scan aggregation complete! Connection to database closed.')
|
self.logger.info('Scan aggregation complete! Connection to database closed.')
|
||||||
else:
|
|
||||||
self.logger.error('Failed to use scanner at {host}:{port}'.format(host=self.hostname, port=self.nessus_port))
|
|
||||||
self.exit_code += 1
|
|
||||||
return self.exit_code
|
return self.exit_code
|
||||||
|
|
||||||
|
|
||||||
@ -658,6 +662,15 @@ class vulnWhispererQualys(vulnWhispererBase):
|
|||||||
vuln_ready['scan_source'] = self.CONFIG_SECTION
|
vuln_ready['scan_source'] = self.CONFIG_SECTION
|
||||||
vuln_ready['scan_time'] = launched_date
|
vuln_ready['scan_time'] = launched_date
|
||||||
|
|
||||||
|
if output_format == 'json':
|
||||||
|
vuln_ready.to_json(relative_path_name, orient='records', lines=True)
|
||||||
|
|
||||||
|
elif output_format == 'csv':
|
||||||
|
vuln_ready.to_csv(relative_path_name, index=False, header=True)
|
||||||
|
|
||||||
|
self.logger.info('{records} records written to {path} '.format(records=vuln_ready.shape[0],
|
||||||
|
path=relative_path_name))
|
||||||
|
|
||||||
record_meta = (
|
record_meta = (
|
||||||
scan_name,
|
scan_name,
|
||||||
scan_reference,
|
scan_reference,
|
||||||
@ -671,14 +684,7 @@ class vulnWhispererQualys(vulnWhispererBase):
|
|||||||
0,
|
0,
|
||||||
)
|
)
|
||||||
self.record_insert(record_meta)
|
self.record_insert(record_meta)
|
||||||
|
self.logger.info('Scan {} ({}) written to database'.format(scan_name.encode('utf8'), report_id))
|
||||||
if output_format == 'json':
|
|
||||||
vuln_ready.to_json(relative_path_name, orient='records', lines=True)
|
|
||||||
|
|
||||||
elif output_format == 'csv':
|
|
||||||
vuln_ready.to_csv(relative_path_name, index=False, header=True)
|
|
||||||
|
|
||||||
self.logger.info('Report written to {}'.format(report_name))
|
|
||||||
|
|
||||||
if cleanup:
|
if cleanup:
|
||||||
self.logger.info('Removing report {} from Qualys Database'.format(generated_report_id))
|
self.logger.info('Removing report {} from Qualys Database'.format(generated_report_id))
|
||||||
@ -804,17 +810,6 @@ class vulnWhispererOpenVAS(vulnWhispererBase):
|
|||||||
self.record_insert(record_meta)
|
self.record_insert(record_meta)
|
||||||
self.logger.info('File {filename} already exists! Updating database'.format(filename=relative_path_name))
|
self.logger.info('File {filename} already exists! Updating database'.format(filename=relative_path_name))
|
||||||
|
|
||||||
record_meta = (
|
|
||||||
scan_name,
|
|
||||||
scan_reference,
|
|
||||||
launched_date,
|
|
||||||
report_name,
|
|
||||||
time.time(),
|
|
||||||
file_length,
|
|
||||||
self.CONFIG_SECTION,
|
|
||||||
report_id,
|
|
||||||
1,
|
|
||||||
)
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
vuln_ready = self.openvas_api.process_report(report_id=report_id)
|
vuln_ready = self.openvas_api.process_report(report_id=report_id)
|
||||||
@ -833,7 +828,24 @@ class vulnWhispererOpenVAS(vulnWhispererBase):
|
|||||||
vuln_ready['scan_source'] = self.CONFIG_SECTION
|
vuln_ready['scan_source'] = self.CONFIG_SECTION
|
||||||
|
|
||||||
vuln_ready.to_json(relative_path_name, orient='records', lines=True)
|
vuln_ready.to_json(relative_path_name, orient='records', lines=True)
|
||||||
self.logger.info('Report written to {}'.format(report_name))
|
self.logger.info('{records} records written to {path} '.format(records=vuln_ready.shape[0],
|
||||||
|
path=relative_path_name))
|
||||||
|
|
||||||
|
record_meta = (
|
||||||
|
scan_name,
|
||||||
|
scan_reference,
|
||||||
|
launched_date,
|
||||||
|
report_name,
|
||||||
|
time.time(),
|
||||||
|
vuln_ready.shape[0],
|
||||||
|
self.CONFIG_SECTION,
|
||||||
|
report_id,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
)
|
||||||
|
self.record_insert(record_meta)
|
||||||
|
self.logger.info('Scan {} ({}) written to database'.format(scan_name.encode('utf8'), report_id))
|
||||||
|
|
||||||
|
|
||||||
return report
|
return report
|
||||||
|
|
||||||
@ -938,6 +950,12 @@ class vulnWhispererQualysVuln(vulnWhispererBase):
|
|||||||
self.exit_code += 1
|
self.exit_code += 1
|
||||||
return self.exit_code
|
return self.exit_code
|
||||||
|
|
||||||
|
if output_format == 'json':
|
||||||
|
vuln_ready.to_json(relative_path_name, orient='records', lines=True)
|
||||||
|
|
||||||
|
self.logger.info('{records} records written to {path} '.format(records=vuln_ready.shape[0],
|
||||||
|
path=relative_path_name))
|
||||||
|
|
||||||
record_meta = (
|
record_meta = (
|
||||||
scan_name,
|
scan_name,
|
||||||
scan_reference,
|
scan_reference,
|
||||||
@ -951,11 +969,8 @@ class vulnWhispererQualysVuln(vulnWhispererBase):
|
|||||||
0,
|
0,
|
||||||
)
|
)
|
||||||
self.record_insert(record_meta)
|
self.record_insert(record_meta)
|
||||||
|
self.logger.info('Scan {} ({}) written to database'.format(scan_name.encode('utf8'), report_id))
|
||||||
|
|
||||||
if output_format == 'json':
|
|
||||||
vuln_ready.to_json(relative_path_name, orient='records', lines=True)
|
|
||||||
|
|
||||||
self.logger.info('Report written to {}'.format(report_name))
|
|
||||||
return self.exit_code
|
return self.exit_code
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user