jueves, 30 de agosto de 2018

Un sencillo script en bash para facilitar el escaneo de equipos en la red.

Cuando tengo que enseñar algo de seguridad a una persona que aún no sabe mucho, lo primero que hago es siempre enseñarle algo de Linux y scripting en Bash, ya que considero que tienes que conocer bien Linux para poder empezar. Casi siempre les enseño a hacer un script que hice yo casi cuando empecé y que hace unos días me puse a mejorarlo un poco.


El script no es más que una "automatización" de Nmap que te muestra los equipos conectados en tu red de una forma más user-friendly.


Me acuerdo que cuando lo hice,solamente le puse para que tuviese 2 opciones,y que si no introducías ninguna que te diese el aviso.


Si escribes ./au -h lo que hace es ejecutar la función usage() que se ha creado previamente con toda la información. Actualmente también lo tengo puesto para que cuando no introduzca ninguna opción también salga esta información.


Y con ./usage -a realiza el escaneo de la red. Esto es algo bastante sencillo, sí, y casi lo más curioso es que se muestren los resultados con los colores, pero es algo que sirve para empezar a ir metiendo poco a poco a la gente en esto de la seguridad y en el scripting con bash. Os dejo el código aquí, aunque aviso que no soy desarrollador y que este script es de hace unos 5-6 años con algunos pequeños cambios, por lo que sé que hay muchas partes que dolerán los ojos a los más entendidos.

clear

echo -e "\e[1;31m                 ==========        =           =
                 =        =        =           =
                 =        =        =           =
                 ==========        =           =
                 =        =        =           =
                 =        =        =           =
                 =        =        ============= \e[0m"


mask=`ifconfig | grep "inet " | grep -v "127.0.0.1" | cut -d " " -f10 | cut -d "." -f1,2,3`
maskNumber=` ifconfig | grep "inet " | grep -v "127.0.0.1" | awk '{print $4}'`
myIP=`ifconfig | grep "inet " | grep -v "127.0.0.1" | cut -d " " -f10`
echo "*****************************************************************************************"
echo
echo

#function that shows how to use the tool
function usage(){
        echo "Usage: AU options"
        echo "                  -h: Help"
        echo "                  -a: Analyzethe network"

}

if [[ -z "$1" ]]; then
        echo -e "\e[1;31m               WARNING![0m"
        echo -e "\e[1;33m       You did not enter a valid option[0m"
        usage
        echo
        echo
fi


#we have to read the option choosen by the user
case $1 in

        "-h")
                usage
                echo
                echo
;;




        "-a")
                case  $maskNumber in


                255.0.0.0) nmap -sP $mask.0
                ;;

                255.255.0.0) echo uihvufjk
                ;;
                255.255.255.0) nmap -sP $mask.0/24 > nmapMaskC.txt
                        #cat nmapMaskC.txt | grep "$mask." |  grep -v "$myIP" > computersConnected.txt
                        cat nmapMaskC.txt | grep "$mask."  | cut -d "(" -f2 | cut -d ")" -f1 | grep -v "$myIP" > computersConnected.txt

                        lines=`cat computersConnected.txt |wc -l`
                        for i in 'seq 1 $lines'
                                do
                                        lineXline=`cat computersConnected.txt | awk 'NR == $i'`

                                                while read linea ; do
                                                        echo -e "Computer: "  ${linea} "\e[1;32mCONNECTED\e[0m"
                                                        done <<< "`cat computersConnected.txt`"

                                                done
                ;;

                *)
                        echo mistake
                esac


esac
day=`date +%D`
hour=`date +%H:%M:%S`
mkdir -p /var/log/au/
echo -e "\e[1;32mThe day $day at $hour there were " > /var/log/au/au.log
echo "`cat computersConnected.txt`" >> /var/log/au/au.log
echo -e "\e[1;32mComputers Connected\e[0m" >> /var/log/au/au.log
echo
echo "You can see your log going to /var/log/au/au.log"

¿Hackeamos el Mundo?


No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...

Entrada destacada

El server me sabe a poco.

Soy un fanático del Rock y de Debian . (Creo que voy a inventar Rockbian, que suena bien y todo xD) Llevaba tiempo queriendo unir estos 2 c...