BenchIT is a simple Python script for security auditing purposes. It is the most useful for auditing systems by analyzing files collected from remote hosts. It allows you to check certain system settings stored in configuration files by using regular expressions. The simplest check will determine if a pattern matches. However, with capturing groups it is also possible to determine whether the actual value matches the expected or the default value. Results are summarized in a HTML report and also stored in a CSV file.
Regular expressions must be stored in a CSV file containing the following columns separated by a semicolon (;):
* Boolean value which determines whether we expect a match or not (“True”).
* Name of the file (“sshd_config”).
* Regular expression to evaluate (“^Protocol[ \t]+(\d)$”).
* Number of the chaper in the given CIS guideline (“9.2.1”).
* Title of the chapter in the given CIS guideline (“Set SSH Protocol to 2”).
* Short summary of the chapter (“SSH supports two different protocols…”).
* Default value of the setting (“2,1”).
* Expected value of the setting (“2”).
– GnuWin32 with ports of the necessary tools
– Q to execute SQL-like queries on CSV files
– The following Python libraries:
++ dominate, configobj
Use and download from git:
git clone https://github.com/sgabe/benchit && cd benchit
python benchit.py -h