66 Commits

Author SHA1 Message Date
9d003d12b4 improved error logging and excepcions 2020-04-08 12:01:47 +02:00
a3e85b7207 Update vulnwhisp.py
Code triggers a crash:
ERROR:root:main:local variable 'vw' referenced before assignment
ERROR: local variable 'vw' referenced before assignment

Proposed fix deals with the issue.
After fix:
INFO:vulnWhispererOpenVAS:process_openvas_scans:Processing complete
2020-02-28 00:33:38 +01:00
e1ca9fadcd fixed issue where when actioning all actions, if one failed it exited the program 2020-02-21 15:50:14 +01:00
adb7700300 added on Jira local download an extra field with affected assets in json format for further processing in Splunk/ELK 2020-02-21 11:00:07 +01:00
2fb089805c [JIRA] added local file save with assets not resolving hostname 2019-06-18 10:53:55 +02:00
6cf2a94431 Support tenable API keys (#176)
* support tenable API keys

* more flexible config support

* add nessus API key support

* fix whitespace
2019-05-02 10:26:51 +02:00
162636e60f Fix newlines in MAC Address field output (#178)
* fix newlines in all MAC Address field

* remove newline

* only cleanse if col exists
2019-05-02 08:58:18 +02:00
8433055f17 Fix more unicode issues 2019-04-12 11:40:01 +10:00
1ef7289b8d reduntant replace, formatting 2019-04-08 18:44:30 +10:00
7370f5b608 Merge branch 'beta-1.8' of https://github.com/HASecuritySolutions/VulnWhisperer into beta-1.8 2019-04-05 23:37:41 +02:00
0a877ce267 fix nessus download 'imported' scans 2019-04-05 23:37:04 +02:00
1ef67d48be Feature error codes (#165)
* Use error codes for failed scans

* Fix indentations

* Fix more indentation

* Continue after failed download

* Add tests for failed scans

* Add more tests

* move definition

* Update nessus.py

This function was used by function `print_scans` which at the same time was an unused one that had been deleted in the PR itself.
2019-04-05 11:36:13 +02:00
71352aee57 Add external API mocking and travis tests (#164)
* Fix closing logging handlers

* Fix *some* unicode issues for nessus and qualys

* Prevent multiple requests to nessus scans endpoint

* More unicode fixes

* Remove unnecessary call

* Fix whitespace

* Add mock module and argument

* Add test config and data

* Fix whitespace again

* Disable qualys_web until data is available

* Use logging module

* Delete report_tracker.db

* Cleanup mock calls

* Add httpretty to requirements

* Refactor into a class

* Updates travis tests

* Fix exit codes

* Remove print statements

* Remove test

* Add test directory as submodule
2019-04-05 10:57:39 +02:00
f33644b814 fix reported tracking for jira 2019-04-02 11:58:44 +02:00
fa0b3c867b added tracking of scans processed by jira, will only process if new scans now (backwards compatibility 2019-04-01 15:55:02 +02:00
e32c9bf55d Fix *some* unicode issues for nessus and qualys (#160)
* Fix *some* unicode issues for nessus and qualys

* More unicode fixes
2019-04-01 10:06:16 +02:00
9619a47d7a Fix Tenable and Nessus scan listing (#162)
* Prevent multiple requests to nessus scans endpoint

* Remove unnecessary call
2019-04-01 10:04:12 +02:00
b36e31566e fix #142 2019-02-25 22:02:20 +01:00
c2d80c7fce made host resolution optional from the config file with dns_resolv var 2019-02-15 16:24:52 +01:00
bc3367e310 exception of empty scans 2019-02-12 18:01:46 +01:00
8c53987270 tracking of processing was in debug instead of info logging 2019-02-12 16:56:00 +01:00
ccf2e4b1d1 fix #147 2019-02-12 16:51:26 +01:00
4ea384c9cc fix issue #110 (one line) 2019-02-08 10:56:32 +01:00
0ea144bf87 Qualysapi fix (#146)
* moved qualysapi to branch master-update

* fixing bug of qualys scan without vulnerabilities: vulnWhispererQualysVuln[1361] ERROR Could not process scan/1549159480.84792: 'severity'

* change to fixed qualysapi branch

* fix bug and changed to qualysapi fork master branch

* updated submodule to master branch
2019-02-06 17:00:43 +01:00
3a09f60543 Add ansible provisioning (#122)
* first ansible skeleton

* first commit of ansible installation of vulnwhisperer outside docker

* first ansible skeleton

* first commit of ansible installation of vulnwhisperer outside docker

* refactor the ansible role a bit

* update readme, add fail validation step to provision.yml and fix
typo when calling a logging funciton
2018-11-14 10:14:12 +01:00
8bd3c5cab9 Jira extras (#120)
* changing config template paths for qualys

* Update frameworks_example.ini

Will leave for now qualys local folder as "qualys" instead of changing to one for each module, as like this it will still be compatible with the current logstash and we will be able to update master to drop the qualysapi fork once the new version is uploaded to PyPI repository.
PR from qualysapi repo has already been merged, so the only missing is the upload to PyPI.

* initialize variable fullpath to avoid break

* fix get latest scan entry from db and ignore 'potential' not verified vulns

* added host resolv + cache to speed already resolved, jira logging

* make sure that vulnerability criticality appears as a label on ticket + automatic actions

* jira bulk report of scans, fix on nessus logging, jira time resolution and list all ticket reported assets

* added jira ticket data download + change default time window from 6 to 12 months

* small fixes

* jira logstash files

* fix variable confusion (thx Travis :)
2018-11-08 09:24:24 +01:00
cf879b4731 merge with testing 2018-11-05 15:16:22 +01:00
e3e416fe44 Rework logging using the stdlib machinery (#116)
* Rework logging using the stdlib machinery
Use the verbose or debug flag to enable/disable logging.DEBUG
Remove the vprint function from all classes
Remove bcolors from all code
Cleanup [INFO], [ERROR], {success} and similar

* fix some errors my local linter missed but travis catched

* add coloredlogs and --fancy command line flag
2018-11-04 05:39:27 -06:00
911b9910a8 fix issue jira-qualys criticality comparison 2018-10-17 14:17:49 +02:00
9383c12495 Added jira section to config file and fail check for config variable (#105)
* clean OS X .DS_Store files

* fix nessus end of line carriage, added JIRA args

* JIRA module fully working

* jira module working with nessus

* added check on already existing jira config, update README

* qualys_vm<->jira working, qualys_vm database entries with qualys_vm, improved checks

* JIRA module updates ticket's assets and comments update

* added JIRA auto-close function for resolved vulnerabitilies

* fix if components variable empty issue

* fix creation of new ticket after updating existing one

* final fixes, added extra line in template

* added vulnerability criticality as label in order to be able to filter

* jira module gets now minimum criticality from config file

* added jira config to frameworks_example.ini

* fail check for config variable in case it is left empty
2018-10-13 14:01:51 -05:00
4422db586d Jira module fully working (#104)
* clean OS X .DS_Store files

* fix nessus end of line carriage, added JIRA args

* JIRA module fully working

* jira module working with nessus

* added check on already existing jira config, update README

* qualys_vm<->jira working, qualys_vm database entries with qualys_vm, improved checks

* JIRA module updates ticket's assets and comments update

* added JIRA auto-close function for resolved vulnerabitilies

* fix if components variable empty issue

* fix creation of new ticket after updating existing one

* final fixes, added extra line in template

* added vulnerability criticality as label in order to be able to filter
2018-10-12 09:30:14 -05:00
8336b72314 Docker-compose fully working with vulnwhisperer integrated (#90)
* ignore nessus requests warnings

* docker-compose fully working with vulnwhisperer integrated

* remove comments docker-compose

* documenting docker-compose

* Readme corrections

* fix after recheck everything works out of the box

* fix exits that break the no specified section execution mode

* fix docker qualysapi issue, updated README

* revert change on deps/qualysapi/qualysapi/util.py (no effect)

* temporarily changed Dockerfile link to the working one
2018-08-17 08:51:28 -04:00
7f2c59f531 Qualys Vulnerability Management integration (#74)
* Add Qualys vulnerability scans

* Use non-zero exit codes for failures

* Convert to strings for Logstash

* Update logstash config for vulnerability scans

* Update README

* Grab all scans statuses

* Add Qualys vulnerability scans

* Use non-zero exit codes for failures

* Convert to strings for Logstash

* Update logstash config for vulnerability scans

* Update README

* Grab all scans statuses

* Fix error: "Cannot convert non-finite values (NA or inf) to integer"

When trying to download the results of Qualys Vulnerability Management scans, the following error pops up:

[FAIL] - Could not process scan/xxxxxxxxxx.xxxxx - Cannot convert non-finite values (NA or inf) to integer

This error is due to pandas operating with the scan results json file, as the last element from the json doesn't fir with the rest of the response's scheme: that element is "target_distribution_across_scanner_appliances", which contains the scanners used and the IP ranges that each scanner went through.

Taking out the last line solves the issue.

Also adding the qualys_vuln scheme to the frameworks_example.ini
2018-07-05 10:34:02 -07:00
38d2eec065 Tenable.io support (#70)
* Basic tenable.io support

* Add tenable config section

* Use existing variable

* Fix indent

* Fix paren

* Use ternary syntax

* Update Logstash config for tenable.io
2018-06-26 13:03:08 -04:00
9b10711d34 Nessus bugfixes (#68)
* Handle cases where no scans are present

* Prevent infinite login loop with incorrect creds

* Print actual config file path

* Don't overwrite Nessus Synopsis with Description
2018-06-13 02:56:06 -04:00
d1d679b12f Update vulnwhisp.py 2018-05-04 10:03:58 -04:00
e4e9ed7f28 Preserving newlines & carriage returns (#48)
* Preserve newlines & carriage returns

* Convert '\n' & '\r' to newlines & carriage returns
2018-04-10 08:54:21 -04:00
3984c879cd Update vulnwhisp.py 2018-03-05 07:03:49 -05:00
f6745b00fd Completion of OpenVAS module 2018-03-04 15:06:09 -05:00
21b2a03b36 Completion of OpenVAS module 2018-03-04 14:33:18 -05:00
a658b7abab Allow template defined config form IDs 2018-03-04 08:43:35 -05:00
53b0b27cb2 Addition of OpenVas -- ready for alpha 2018-03-03 15:53:23 -05:00
a0de072394 Automatically create filepath and directory if it does not exist 2018-02-25 21:15:50 -05:00
3d34916e4c Adding name of scan and scan reference 2017-12-30 23:54:47 -05:00
bec9cdd4d0 Addition of VulnWhisperer-Qualys logstash files 2017-12-30 20:21:08 -05:00
d7fc63c952 Better database handling 2017-12-30 14:40:49 -05:00
de62400730 Update to write path logic 2017-12-30 14:39:59 -05:00
0ba3cdf579 Update to count tracker 2017-12-30 14:07:02 -05:00
e03860d087 Check for new records 2017-12-30 13:12:58 -05:00
dc7ad082be Bug fix for counter in Nessus and format fix for qualys 2017-12-30 11:27:19 -05:00