Advertisement
Guest User

tool.sh

a guest
May 16th, 2018
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 4.73 KB | None | 0 0
  1. ################## MISCONFIG SCAN TOOL #########################
  2.  
  3. CH=$(pwd)/source
  4. CHEMIN=$(pwd)
  5. export PATH=$PATH:$CHEMIN/docker
  6.  
  7.  
  8. function help {
  9.     echo "      help - Supported options are : -u,-p,-k,-t,-pt,-f"
  10.     echo "      Examples :"
  11.     echo "      LOCAL SCAN   : bash tool.sh -u user -p password -pt linux"
  12.     echo "      REMOTE SCAN 1 : bash tool.sh -u user -p password -t 192.168.1.6 -pt linux"
  13.     echo "      REMOTE SCAN 2 : bash tool.sh -u user -k ~/.ssh/id_rsa -t 192.168.1.6 -pt linux"
  14.     echo "      FILE 1        : bash tool.sh -f1 file1.txt (target/user/password/plateform) "
  15.     echo "      FILE 2        : bash tool.sh -f2 file2.txt (target/user/key/plateform)"
  16.     echo "      Available platforms are : apache, cis-kubernetes, cis-rhel6,cis-windowsServer2012,linux,"
  17.     echo "                                linux-patch,nginx,php,postgres,ssh,stig-rhel7,windows-baseline"
  18.  
  19. }
  20.  
  21. N=$(($#/2))
  22.  
  23. M=$(($#%2))
  24.  
  25. echo ""
  26.  
  27. if [[ $# -eq 0 ]] ; then
  28.     help
  29.     exit 0
  30. fi
  31.  
  32.  
  33. if [[ $N -gt 4 || $M -eq 1 ]] ; then
  34.     echo "Syntax error"
  35.     help
  36.     exit 0
  37. fi
  38.  
  39.  
  40. while [[ $# -gt 0 ]]
  41. do
  42. key="$1"
  43.  
  44.  
  45. case $key in
  46.     -h|--help)
  47.     help
  48.     shift # past argument
  49.     shift # past value
  50.     ;;
  51.     -t|--target)
  52.     TARGET="$2"
  53.     shift # past argument
  54.     shift # past value
  55.     ;;
  56.     -u|--user)
  57.     USER="$2"
  58.     shift # past argument
  59.     shift # past value
  60.     ;;
  61.     -p|--password)
  62.     PASSWORD="$2"
  63.     shift # past argument
  64.     shift # past value
  65.     ;;
  66.     -k|--key)
  67.     KEY="$2"
  68.     shift # past argument
  69.     shift # past value
  70.     ;;
  71.     -f1|--file1)
  72.     FILE1="$2"
  73.     shift # past argument
  74.     shift # past value
  75.     ;;
  76.     -f2|--file2)
  77.     FILE2="$2"
  78.     shift # past argument
  79.     shift # past value
  80.     ;;
  81.     -pt|--plateform)
  82.     PLATEFORM="$2"
  83.     shift # past argument
  84.     shift # past value
  85.     ;;
  86.     *)    # unknown option
  87. esac
  88. done
  89.  
  90. function print-message {    
  91.     restore='\033[0m'
  92.     yellow='\033[1;33m'
  93.     echo -e "$yellow Les résultats des audits sont exportés dans : $CHEMIN/reports $restore"
  94.     echo -e "$yellow Prière de les rendre à AB-Consulting pour avoir le rapport final  $restore"
  95. }
  96.  
  97.  
  98. function local1 {
  99.    
  100.     echo "--------------------------- Local SCAN ---------------------------"    
  101.     TARGET=$(ifconfig docker0 | grep "inet " | tr -s " " | awk '{print $2}')
  102.     docker run -e  input=1 -e user=$USER -e password=$PASSWORD -e target=$TARGET  -e plateform=$PLATEFORM  -v $CHEMIN/reports:/share/reports misconfig-scan-tool
  103. }
  104.  
  105.  
  106. function remote1 {
  107.     echo "--------------------------- REMOTE SCAN 1 ---------------------------"
  108.     docker run -e  input=2 -e user=$USER -e password=$PASSWORD -e target=$TARGET  -e plateform=$PLATEFORM  -v $CHEMIN/reports:/share/reports misconfig-scan-tool
  109. }
  110.  
  111. function remote2 {
  112.     echo "--------------------------- REMOTE SCAN 2 ---------------------------"
  113.     docker run -e input=3 -e user=$USER -e key=$KEY -e target=$TARGET  -e plateform=$PLATEFORM  -v $CHEMIN/reports:/share/reports -v $KEY:/share/private_key misconfig-scan-tool
  114. }
  115.  
  116. function file1 {
  117.     echo "--------------------------- FILE 1 ---------------------------"
  118.     while read p; do
  119.  
  120.         TARGET=$(echo $p | cut -d ',' -f1)
  121.         USER=$(echo $p | cut -d ',' -f2)
  122.         PASSWORD=$(echo $p | cut -d ',' -f3)
  123.         PLATEFORM=$(echo $p | cut -d ',' -f4)
  124.         if   [[ -n "$TARGET"  && -n "$USER" && -n "$PASSWORD" && -n "$PLATEFORM" ]]; then
  125.         docker run -e  input=2 -e user=$USER -e password=$PASSWORD -e target=$TARGET  -e plateform=$PLATEFORM  -v $CHEMIN/reports:/share/reports misconfig-scan-tool
  126.         fi
  127.     done <$FILE1
  128. }
  129.  
  130. function file2 {
  131.     echo "--------------------------- FILE 2 ---------------------------"
  132.     while read p; do
  133.  
  134.         TARGET=$(echo $p | cut -d ',' -f1)
  135.         USER=$(echo $p | cut -d ',' -f2)
  136.         KEY=$(echo $p | cut -d ',' -f3)
  137.         PLATEFORM=$(echo $p | cut -d ',' -f4)
  138.         if   [[ -n "$TARGET"  && -n "$USER" && -n "$KEY" && -n "$PLATEFORM" ]]; then
  139.         docker run -e  input=3 -e user=$USER -e key=$KEY -e target=$TARGET  -e plateform=$PLATEFORM  -v $CHEMIN/reports:/share/reports misconfig-scan-tool
  140.         fi
  141.     done <$FILE2
  142. }
  143.  
  144. if   [[ -n "$USER"  && -n "$PASSWORD" && -n "$PLATEFORM" && "$N" -eq 3 ]]; then
  145.   local1
  146. elif [[ -n "$USER"  && -n "$KEY" && -n "$PLATEFORM" && "$N" -eq 3 ]]; then
  147.   local2
  148. elif [[ -n "$USER"  && -n "$PASSWORD" && -n "$TARGET" && -n "$PLATEFORM" && "$N" -eq 4 ]]; then
  149.   remote1
  150. elif [[ -n "$USER"  && -n "$KEY" && -n "$TARGET" && -n "$PLATEFORM" && "$N" -eq 4 ]]; then
  151.   remote2
  152. elif [[ -n "$FILE1"  && "$N" -eq 1 ]]; then
  153.   file1
  154. elif [[ -n "$FILE2"  && "$N" -eq 1 ]]; then
  155.   file2
  156. else echo "Syntax Error"
  157.      help
  158. fi
  159.  
  160. print-message
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement