From 17b821aee6be91d3bf51c3ffc86c98d98f7e7f9b Mon Sep 17 00:00:00 2001 From: Toni de la Fuente Date: Thu, 26 Jul 2018 23:30:48 -0400 Subject: [PATCH] improved group error handling --- groups/group4_networking | 10 +++++----- prowler | 26 +++++++++++++++++++------- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/groups/group4_networking b/groups/group4_networking index 3faf6e0d..126e4923 100644 --- a/groups/group4_networking +++ b/groups/group4_networking @@ -8,8 +8,8 @@ # You should have received a copy of the license along with this # work. If not, see . -GROUP_ID[4]="group4" -GROUP_NUMBER[4]="4.0" -GROUP_TITLE[4]="Networking - [group4] ******************************************" -GROUP_RUN_BY_DEFAULT[4]="Y" # run it when execute_all is called -GROUP_CHECKS[4]="check41,check42,check43,check44,check45" +GROUP_ID[4]='group4' +GROUP_NUMBER[4]='4.0' +GROUP_TITLE[4]='Networking - [group4] ******************************************' +GROUP_RUN_BY_DEFAULT[4]='Y' # run it when execute_all is called +GROUP_CHECKS[4]='check41,check42,check43,check44,check45' diff --git a/prowler b/prowler index b5fcbae5..7b802047 100755 --- a/prowler +++ b/prowler @@ -99,7 +99,7 @@ while getopts ":hlkp:r:c:g:f:m:M:enbV" OPTION; do CHECK_ID=$OPTARG ;; g ) - GROUP_ID=$OPTARG + GROUP_ID_READ=$OPTARG ;; f ) FILTERREGION=$OPTARG @@ -255,6 +255,12 @@ show_all_titles() { done } +show_all_group_titles() { + for i in "${!GROUP_TITLE[@]}"; do + show_group_title $i + done +} + ### All functions defined above ... run the workflow if [[ $MODE != "csv" ]]; then prowlerBanner @@ -281,13 +287,19 @@ if [[ $CHECK_ID ]];then fi # Execute group of checks if called with -g -if [[ $GROUP_ID ]];then - if [[ $MODE == "csv" ]]; then - BANNER=0 +if [[ $GROUP_ID_READ ]];then + if [[ " ${GROUP_ID[@]} " =~ " ${GROUP_ID_READ} " ]]; then + if [[ $MODE == "csv" ]]; then + BANNER=0 + fi + execute_group_by_id $GROUP_ID_READ + cleanTemp + exit $EXITCODE + else + textFail "Use a valid check group ID i.e.: group1, extras, forensics-ready, etc." + show_all_group_titles + exit $EXITCODE fi - execute_group_by_id $GROUP_ID - cleanTemp - exit $EXITCODE fi # List only check tittles