Script escaneo nmap preconfigurado
Este script es una pequeña automatizacion de los comandos mas comunes y usales en los ctf’s de modo que no tengamos que tipear todo el comando.
Va a estar en constante evolucion , cada vez que encuentre un comando que nos ayude ire agreagndolo de a poco una vez este comprobada su utilidad para el aprendizaje que necesitamos.
El script en cuestion es una ligera modificacion del que hizo el pinguino de mario , a mi personalmente me ayuda muchisimo el ver como otros han creado sus scripts , de hecho creo que es la forma correcta de aprender ,leer codigo y modifcarlo a tus necesidades.
El modo de uso es muy simple ejecutas el script y el mismo te pide que le indiques la ip de la victima y el nombre del archivo de salida y posteriormente te crea un tambien un html porque para mi esa es la mejor manera de visualizar los resultado de nmap.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#!/bin/bash
#Configuramos los colores
rojo='\e[0;31m\033[1m'
sincolor='\033[0m'
cyan_luminoso='\033[1;36m'
# Llamamos a esta función desde el trap finalizar SIGINT (En caso de que el usuario presione control + c para salir)
finalizar() {
echo -e "\e[1;31m\nFinalizando el script\e[0m"
exit
}
trap finalizar SIGINT
#Comprobamos si es root
if [ $(id -u) -ne 0 ]; then
echo -e "${rojo}Tienes que ser root para ejecutarlo."
exit
fi
# Verificar si Nmap está instalado
if ! command -v nmap &> /dev/null; then
echo -e "${cyan_luminoso}Nmap no está instalado.${sincolor}"
read -p "¿Deseas instalar Nmap ahora? (s/n): " respuesta
if [[ $respuesta =~ ^[Ss]$ ]]; then
instalar_nmap
else
echo -e "${rojo}Nmap es necesario para ejecutar este script. Por favor, instala Nmap y vuelve a intentarlo.${sincolor}"
exit
fi
fi
# verificamos que distribucion linux este usando
instalar_nmap() {
distribucion=$(cat /etc/*-release | grep "^ID=" | awk -F'=' '{print $2}' | tr -d '"')
# Empezamos con la instalacionen para cada una de las distibuciones de linux.
case $distribucion in
ubuntu|debian)
apt-get update
apt-get install -y nmap
;;
centos|fedora)
yum update
yum install -y nmap
;;
arch)
pacman -Syu --noconfirm nmap
;;
*)
echo -e "${rojo}No se pudo determinar la distribución de Linux. Por favor, instala Nmap manualmente.${sincolor}"
exit
;;
esac
}
#Empezamos con las opciones de ejecucion de nmap , limpiamos pantalla y arrancamos.
clear
echo -e '┏┓╻┏┳┓┏━┓┏━┓ ┏━┓┏━╸┏━┓╻┏━┓╺┳╸ ┏━╸┏━┓┏━┓ ╺┳┓╻ ╻┏┳┓┏┳┓╻ ╻┏━┓
┃┗┫┃┃┃┣━┫┣━┛ ┗━┓┃ ┣┳┛┃┣━┛ ┃ ┣╸ ┃ ┃┣┳┛ ┃┃┃ ┃┃┃┃┃┃┃┗┳┛┗━┓
╹ ╹╹ ╹╹ ╹╹ ┗━┛┗━╸╹┗╸╹╹ ╹ ╹ ┗━┛╹┗╸ ╺┻┛┗━┛╹ ╹╹ ╹ ╹ ┗━┛
Script original por EL PINGUINO DE MARIO https://github.com/maalfer
\n
'
read -p "Introduce la IP a escanear: " ip
read -p "Indica el nombre de salida del archivo: " nombre
while true; do
echo -e "\n1) Puertos abiertos con versiones y servicios "
echo "2) Buscar en los 65535 sin versiones ni servicios"
echo "3) Limitamos a los 100 puertos comunes"
echo "4) Buscamos vulnerabilidades scripts nse por defecto en todos los puertos"
echo "5) Escaneo de puertos UDP"
echo "6) Hay firewall? probemos."
echo "7) For CTF'S."
echo "8) Enumeracion share samba"
echo "9) Salir"
read -p "Selecciona una opción: " opcion
case $opcion in
1)
clear && echo "Escaneando..." && nmap -A $ip -oX $nombre > $nombre.txt && echo -e "${cyan_luminoso}Guardando el archivo $nombre.txt${sincolor}" && xsltproc $nombre > $nombre.html && echo -e "${cyan_luminoso}Convertido el archivo xml a html ${sincolor}"
exit
;;
2)
clear && echo "Escaneando..." && nmap -p- -open $ip -oX $nombre > $nombre.txt && echo -e "${cyan_luminoso}Guardando el archivo $nombre.txt${sincolor}" && xsltproc $nombre > $nombre.html && echo -e "${cyan_luminoso}Convertido el archivo xml a html ${sincolor}"
exit
;;
3)
clear && echo "Escaneando..." && nmap -p- --open --top-ports 100 $ip -oX $nombre > $nombre.txt && echo -e "${cyan_luminoso}Guardando el archivo $nombre.txt${sincolor}" && xsltproc $nombre > $nombre.html && echo -e "${cyan_luminoso}Convertido el archivo xml a html ${sincolor}"
exit
;;
4)
clear && echo "Escaneando..." && nmap -p- -sV $ip -oX $nombre > $nombre.txt && echo -e "${cyan_luminoso}Guardando el archivo $nombre.txt${sincolor}" && xsltproc $nombre > $nombre.html && echo -e "${cyan_luminoso}Convertido el archivo xml a html ${sincolor}"
exit
;;
5)
clear && echo "Escaneando..." && nmap -p- -sU $ip -oX $nombre > $nombre.txt && echo -e "${cyan_luminoso}Guardando el archivo $nombre.txt${sincolor}" && xsltproc $nombre > $nombre.html && echo -e "${cyan_luminoso}Convertido el archivo xml a html ${sincolor}"
exit
;;
6)
clear && echo "Escaneando..." && nmap -sA $ip -oX $nombre > $nombre.txt && echo -e "${cyan_luminoso}Guardando el archivo $nombre.txt${sincolor}" && xsltproc $nombre > $nombre.html && echo -e "${cyan_luminoso}Convertido el archivo xml a html ${sincolor}"
exit
;;
7)
clear && echo "Escaneando..." && nmap -p- -sS -sC -sV --min-rate=5000 -n -Pn $ip -oX $nombre > $nombre.txt && echo -e "${cyan_luminoso}Guardando el archivo $nombre.txt${sincolor}" && xsltproc $nombre > $nombre.html && echo -e "${cyan_luminoso}Convertido el archivo xml a html ${sincolor}"
exit
;;
8)
clear && echo "Escaneando..." && nmap -p 139,445 --script smb-enum-shares $ip -oX $nombre > $nombre.txt && echo -e "${cyan_luminoso}Guardando el archivo $nombre.txt${sincolor}" && xsltproc $nombre > $nombre.html && echo -e "${cyan_luminoso}Convertido el archivo xml a html ${sincolor}"
exit
;;
9)
break
;;
*)
echo -e "${rojo}\nOpción incorrecta, elige el tipo de escaneo correcto."${sincolor}
;;
esac
done
Acepto sugerencias e ideas , me gustaria transformarlo y declarar funciones pero eso sera cuando sepa mas.
Comments powered by Disqus.