#!/bin/sh # # Nom : security-menu.sh # Description : Idem logon-menu, Un lanceur... # OS : Debian # Requires : -- # Licence : GPL # Version : 0.0.1 # Author : Adrien Pujol # Web site : http://www.crashdump.fr/ # #----- VARIABLES -------------------------------------------------------# # Emplacement sur le disque des utilitaires... export LOGWATCH="/usr/sbin/logwatch" export NMAP="/usr/bin/nmap" export FAIL2BAN="/usr/bin/fail2ban-client" export IPTABLES="/sbin/iptables" export CHKROOTKIT="/usr/sbin/chkrootkit" export RKHUNTER="/usr/bin/rkhunter" #----- FONCTIONS -------------------------------------------------------# #Fonction pour mettre en pause + texte pause() { key="" echo -n `color 31 "Pause, Appuyez sur une touche pour continuer..."` stty -icanon key=`dd count=1 2>/dev/null` stty icanon } #Fonction pour afficher les echo en couleur #31=rouge, 32=vert, 33=jaune,34=bleu, 35=rose, 36=cyan, 37= blanc color() { #echo [$1`shift`m$*[m printf '\033[%sm%s\033[m\n' "$@" } #----- MAIN MENU -------------------------------------------------------# menu() { clear echo `color 36 "--------------------------"` echo "Aemeth.org" `color 34 "Security Script"` echo `color 36 "--------------------------"` echo "" echo `color 31 "1)"` `color 34 "|Ps:"` " Liste des processus..." echo `color 31 "2)"` `color 34 "|W:"` " Qui est loggué ?" echo `color 31 "3)"` `color 34 "|Nmap:"` " Liste des ports ouverts" echo `color 31 "4)"` `color 34 "+- Fail2ban:"` " Detection de BruteForce + Bans (En détail)" echo `color 31 "5)"` `color 34 "|LogWatch:"` " Les logs ..." echo `color 31 "6)"` `color 34 "|ChkRootKit:"` " Recherche de RootKits, Vers, Backdoors, etc .." echo `color 31 "7)"` `color 34 "+- RkHunter:"` " Recherche de RootKits, Vers, Backdoors, etc .." echo `color 31 "8)"` `color 34 "|Find SUID Bit:"` " A la recherche de fichiers aillant un Bit SUID" echo `color 31 "9)"` `color 34 "+->"` "Quitter" echo "" echo "Faites votre choix:" #Lire le choix.. read CHOICE case $CHOICE in 1) #Liste des processus en cours ps auxw pause clear ;; 2) #Who ... w pause clear ;; 3) #Nmap $NMAP localhost pause clear ;; 4) #Fail2ban-client MENU clear fail2banmenu pause clear ;; 5) #Logwatch touch /tmp/logwatch_out.txt $LOGWATCH > /tmp/logwatch_out.txt more /tmp/logwatch_out.txt pause clear ;; 6) #Chkrootkit $CHKROOTKIT pause clear ;; 7) #Rkhunter rkhuntermenu pause clear ;; 8) #Find SUID Bit find / -perm +4000 pause clear ;; 9) #Quitter break ;; *) #Defaut echo "Faites un choix !" ;; esac } #----- FAIL2BAN MENU ---------------------------------------------------# fail2banmenu() { #CHOICE DE FAIL 2 BAN clear echo `color 36 "--------------------------"` echo "Aemeth.org" `color 34 "Security Script"` echo `color 36 "--------------------------"` echo "" echo `color 31 "1)"` `color 34 "|Fail2Ban:"` " Status" echo `color 31 "2)"` `color 34 "|Fail2Ban:"` " Etat Ssh" echo `color 31 "3)"` `color 34 "|Fail2Ban:"` " Etat Apache" echo `color 31 "4)"` `color 34 "|Fail2Ban:"` " Etat ProFTPd" echo `color 31 "5)"` `color 34 "|IpTables:"` " Etat Connections + Bans" echo `color 31 "6)"` `color 34 "+->"` "Retour au menu principal" echo "" echo "Faites votre choix:" #Lire le choix.. read CHOICEFAIL2BAN case $CHOICEFAIL2BAN in 1) #Status general $FAIL2BAN status pause fail2banmenu ;; 2) #Status ssh $FAIL2BAN status ssh pause fail2banmenu ;; 3) #Status apache $FAIL2BAN status apache pause fail2banmenu ;; 4) #Status proftpd $FAIL2BAN status proftpd pause fail2banmenu ;; 5) #iptables check $IPTABLES --list | grep -B5 -A5 fail pause fail2banmenu ;; 6) #Retour au menu precedent clear menu ;; *) #Defaut echo "Faites un choix !" ;; esac } #----- RKHUNTER MENU ---------------------------------------------------# rkhuntermenu() { #CHOICE DE RK HUNTER clear echo `color 36 "--------------------------"` echo "Aemeth.org" `color 34 "Security Script"` echo `color 36 "--------------------------"` echo "" echo `color 31 "1)"` `color 34 "|RkHunter:"` " Scan complet !" echo `color 31 "2)"` `color 34 "|RkHunter:"` " Scan rapide" echo `color 31 "3)"` `color 34 "|RkHunter:"` " Fichiers supprimés" echo `color 31 "4)"` `color 34 "|RkHunter:"` " Applications a l'écoute" echo `color 31 "5)"` `color 34 "|RkHunter:"` " Version locale + disponible" echo `color 31 "6)"` `color 34 "|RkHunter:"` " Mise a jour" echo `color 31 "7)"` `color 34 "+->"` "Retour au menu principal" echo "" echo "Faites votre choix:" #Lire le choix.. read CHOICERKHUNTER case $CHOICERKHUNTER in 1) #scan complet $RKHUNTER --checkall pause rkhuntermenu ;; 2) #scan rapide $RKHUNTER --checkall --quick pause rkhuntermenu ;; 3) #recherche de fichiers supprimés $RKHUNTER --checkall --check-deleted pause rkhuntermenu ;; 4) #recherche d'applications a l'écoute ! $RKHUNTER --checkall --check-listen pause rkhuntermenu ;; 5) #version locale + dispo $RKHUNTER --versioncheck pause rkhuntermenu ;; 6) #mise a jours $RKHUNTER --update pause rkhuntermenu ;; 7) #menu clear menu ;; *) #Defaut echo "Faites un choix !" ;; esac } #----- EXEC ------------------------------------------------------------# for a in 1 2 3 4 5 6 7 8 9 0 do menu done