golismero: open source framework for security testing
What’s GoLismero?
GoLismero is an open source framework for security testing. It’s currently geared towards web security, but it can easily be expanded to other kinds of scans.
The most interesting features of the framework are:
- Real platform independence. Tested on Windows, Linux, *BSD and OS X.
- No native library dependencies. All of the frameworks have been written in pure Python.
- Good performance when compared with other frameworks written in Python and other scripting languages.
- Very easy to use.
- Plugin development is extremely simple.
- The framework also collects and unifies the results of well-known tools: sqlmap, xsser, openvas, dnsrecon, theharvester…
- Integration with standards: CWE, CVE, and OWASP.
- Designed for cluster deployment in mind (not available yet).
Installing
Debian/Ubuntu
sudo bash
apt-get install python2.7 python2.7-dev python-pip python-docutils git perl nmap sslscan
cd /opt
git clone https://github.com/golismero/golismero.git
cd golismero
pip install -r requirements.txt
pip install -r requirements_unix.txt
ln -s /opt/golismero/golismero.py /usr/bin/golismero
exit
If you have an API key for Shodan, or an OpenVAS server or SpiderFoot server you want to integrate with GoLismero, run the following commands:
mkdir ~/.golismero
touch ~/.golismero/user.conf
chmod 600 ~/.golismero/user.conf
nano ~/.golismero/user.conf
At the editor, add the following sections to the file, as appropriate:
[shodan:Configuration]
apikey = <INSERT YOUR SHODAN API KEY HERE>[openvas]
host = <INSERT THE OPENVAS HOST HERE>
user = <INSERT THE OPENVAS USERNAME HERE>
*password = <INSERT THE OPENVAS PASSWORD HERE>[spiderfoot]
url = <INSERT THE SPIDERFOOT URL HERE>
Usage
Basic usage
This command will launch GoLismero with all default options and show the report on standard output:
golismero scan <target>
If you omit the default command “scan” GoLismero is smart enough to figure out what you’re trying to do, so this works too:
golismero <target>
You can also set a name for your audit with –audit-name:
golismero scan <target> –audit-name <name>
And you can produce reports in different file formats. The format is guessed from the file extension, and you can write as many files as you want:
golismero scan <target> -o <output file name>
Additionally, you can import results from other tools with the -i option. You can use -i several times to import multiple files.
golismero import nikto_output.csv nmap_output.xml -db database.db
This allows you to scan the target in one step, and generate the report later. For example, to scan without generating a report:
golismero scan <target> -db database.db -no
And then generate the report from the database at a later time (or from a different machine!):
golismero report report.html -db database.db
You can also specify multiple output files:
golismero report report.html report.txt report.rst -db example.db
Available plugins
To display the list of available plugins:
golismero plugins
You can also query more information about specific plugins:
golismero info <plugin>
Select a specific plugin
Use the -e option to enable only some specific plugins, and -d to disable plugins (you can use -e and -d many times):
golismero scan <target> -e <plugin>
You can also select multiple plugins using wildcards. For example, you can select all bruteforce plugins like this:
golismero scan <target> -e brute*
Reporting and eye candy
GoLismero currently produces reports on the console, in plain text files, in restructured text format and in HTML format. In all cases, the reports are self-contained in a single file for easier transport – that means the HTML report is a single .html file with everything bundled in, and you can just attach it in an email to send it to someone else.
If no output files are specified, GoLismero reports on the console by default. But you can choose both at the same time too! For example, let’s write an HTML report and also see the output on the console, using the special filename “-“:
golismero scan <target> -o – -o report.html
Here’s what the HTML report summary looks like on Chrome:
The table of contents, on Firefox:
And the details for each vulnerability, on Internet Explorer:
It’s also compatible with mobile devices, like for example an iPad:
As you surely noticed, the layout remains consistent across all platforms. The HTML report is completely self-contained in a single .html file, making it very easy to share.
Putting it all together
In this example, we’ll put everything we’ve seen above into practice in a single command. We’ll import results from a Nmap scan, run a scan of our own but be using only the DNS analysis plugins, save the results in a database file of our choosing and produce reports in HTML and restructured text format.
golismero -i nmap_output.xml -e dns* -db database.db -o report.rst -o report.html
Notice how the default “scan” command was omitted but GoLismero figured it out on its own.
This is how you’d do it if you want to break it into multiple commands instead:
golismero import -db database.db nmap_output.xml
golismero scan -db database.db -e dns* -no
golismero report -db database.db report.rst report.html
Source: https://github.com/golismero/