This tool has been created out of frustration that NessieViewer is/was not available for *nix systems. Some of the functionality has been added as a result of various requests. The result is an easy tool that can read various formats and show the issues in a table format. This allows you to sort specific columns. When an issue is selected, more information will be visible in the description pane.
You can add reports either through the commandline as arguments, or through the file menu by opening them. The 'New' menu option resets the application.
This tool has been created in Groovy as a learning exercise.
The filter section allows you to filter on specific values. Filters are like a query language where clause on the data. It is possible to filter on the following elements (case insensitive):
The filter language understands the following comparing options:
- '==' equals, an element should is the given value
- '!=' not equals, an element is not the given value
- 'like', an element contains the given value
It is possible to operate with queries, a query can be negated (using the !) or two queries can be combined with 'or' (||) or 'and' (&&) operators.
The use of brackets is encouraged as it will clarify the order in which the queries are processed.
Filtering from table
You can right click on a table entry which allows you to:
- Filter on IP
- Filter on Port
- Filter on Service
- Filter on Plugin
- Modify a single entry
These will fill the specific selected filter.
The edit menu comes up when you right click on an issue. There are two ways in which the edit menu are used. First is when you have a single issue selected. It will then show all the values in the edit menu. When you have multiple issues selected and open the edit menu it will stay blank and will only change those values that you enter.
The summary menu has an overview of all IPs and for each IP it shows:
- How many open ports there are and which
- How many services are discovered and which
- What the highest vulnerability was, how many of those there are and which plugin reported them
Right-clicking on the amount of unique IPs shows you a pupup that allows you to copy the following to the clipboard:
- Unique IPs
- Unique IP/Port
In case there is a problem with a particular file that you want to load and something goes wrong AND you don't want /can't share that file with me, there are things you can do to help me locating the problem.
First of all, you need to run the jar file from the commandline:
- java -jar IF-<version>.jar [--debug]
This will show some logging within the terminal. You can even increase the amount of logging my using the additional --debug flag.
IssueFinder takes some ideas for the definition of an issue from IVIL xml. Currently it is able to parse the following formats:
- TestSSL (json format)
- Implemented Summary Screen
- Fixed Nikto parser
- Fixed Edit functionality
- Remade graphical interface into JavaFX
- Added Filter technique like Burp-Logger++
- XML parsers have been optimised to be reused when multiple files are scanned.
- Nikto parser had lost their issues.
- Added edit functionality.
- Added CVSS Base score and exploitable to findings. Display the port in 'gnmap format'. Made more 'groovy'esk changed to the code. Started smalling down the jar file by removing unneeded classes.
- Added the following parsers:
Fixed the Nikto parser
1.0.0 - Fixed some bugs, made first real release
0.1.1 - Fixed swing threading in regard to filtering
0.1.0 - Initial release
- Implement regular expressions in filters
- Number sort IP overview
- Add pasers for the following tools:
- What ever will be requested