Para empezar, podemos instalarlo directamente de los repositorios de Ubuntu con un:
sudo apt-get install nmapO bien podemos descargarnos la última versión de código fuente desde aquí. En esa página también aparecen las instrucciones para su instalación así que no las escribiré aquí.
Nmap requiere privilegios de root así que lo primero que haremos será un sudo su para no repetir cada sudo. EN principio es fácil de usar, no requiere mas que una llamada al programa seguido del objetivo a escanear, que puede ser un ip: 127.0.0.1 varias separadas por un espacio (127.0.0.1 192.168.0.100) o un rango de estas (192.168.0-1.*). También admite nombres de dominio (google.com, localhost).
El comando nmap localhost cargaría un análisis básico sobre nuestra máquina local cuya salida solamente marcará los puertos abiertos de uso mas común con los servicios que corren en ellos. Ahora bien, si añadimos parámetros podemos hacer que nmap nos detalle más su búsqueda. Por ejemplo, añadiremos -A para detallar el sistema operativo, las versiones y un traceroute, -T5 para habilitar un método mas rápido y ruidoso y ampliaremos el rango de puertos TCP al máximo con -p 1-65535, a ver que sucede.
nmap -A -p 1-65535 -T5 localhostLa información de salida se ha ampliado enormemente, dándonos lo indicado por medio de los flags extra. Aquí dejo una guía con todos los argumentos de nmap y su uso. Aunque la mayoría de las veces solo usaremos un puñado, conviene darles un repaso.
TÉCNICAS BÁSICAS DE
SCANEO:
·
Escanear un solo objetivo - nmap [target]
·
Escanear múltiples objetivos - nmap [target1,target2,etc]
·
Escanear una lista de objetivos - nmap -iL [list.txt]
·
Escanear un rango de hosts - nmap [range of
IP addresses]
·
Escanear una subred completa - nmap [IP address/cdir]
·
Explorar hosts aleatorios - nmap -iR [number]
·
Excluyendo los objetivos de un scan - nmap [targets] –exclude [targets]
·
Excluyendo los objetivos mediante una
lista - nmap [targets] –excludefile
[list.txt]
·
Realizar una exploración agresiva - nmap -A [target]
·
Escanear un objetivo IPv6 - nmap -6 [target]
OPCIONES AVANZADAS DE SCANNEO:
·
TCP SYN Scan - nmap -sS [target]
·
TCP connect scan - nmap -sT [target]
·
UDP scan - nmap -sU [target]
·
TCP Null scan - nmap -sN [target]
·
TCP Fin scan - nmap -sF [target]
·
Xmas Scan - nmap -sX [target]
·
Escaneo TCP ACK - nmap -sA [target]
·
Custom TCP scan - nmap -scanflags [flags]
[target]
·
Exploración protocolo IP - nmap -sO [target]
·
Enviar paquetes Ethernet - nmap -send-eth
[target]
·
Enviar paquetes IP - nmap -send-ip [target]
OPCIONES DE SCANNEO DE PUERTOS:
·
Realizar un análisis rápido - nmap -F [target]
·
Escanear puertos específicos - nmap -p [Puertos] [target]
·
Escanear puertos por nombre - nmap -p [nombre del puerto] [target]
·
Escanea los puertos de protocolo - nmap -sU-sT-p U: [puertos], T: [puertos] [target]
·
Analizar todos los puertos - nmap -p "*" [target]
·
Escanea los puertos principales - nmap -top-ports [número] [target]
·
Realice un escaneo de puertos
secuencial - nmap -r [target]
OPCIONES DE DESCUBRIMIENTO:
· Realizar solamente una exploración de ping - nmap-sP [target]
· No hacer ping - nmap -PN [target]
· TCP SYN Ping - nmap -PS [target]
· Ping TCP ACK - nmap -PA [target]
· UDP ping - nmap -PU [target]
· Ping SCTP Init - nmap -PY [target]
· Eco ICMP ping - nmap -PE [target]
· Ping ICMP Timestamp - nmap -PP [target]
· Ping ICMP de máscara de dirección - nmap -PM [target]
· Ping protocolo IP - nmap -PO [target]
· ARP ping - nmap -PR [target]
· Traceroute - nmap -traceroute [target]
· Fuerza resolución DNS inversa - nmap -R [target]
· Deshabilitar resolución DNS inversa - nmap -n [target]
· Alternative DNS lookup - nmap -system-dns [target]
· Especifique manualmente los servidores DNS - nmap -dns-servers [servers] [target]
· Crear una lista de host - nmap -SL [target]
DETECCIÓN DE VERSIÓN:
·
Detección del sistema operativo - nmap -O [target]
·
Enviar Fingerprints TCP/IP - www.nmap.org/submit/
·
Tratar de adivinar un desconocido - nmap –osscan-guess [target]
·
Servicio de detección de versión - nmap -sV [target]
·
Solución de problemas de las
exploraciones versión - nmap
-sV-version-trace [target]
·
Realizar un análisis RPC - nmap -sR [target]
Para el usuario mas acostumbrado a las unidades gráficas, o que sienta que todo esto le supera, quizá pueda facilitar el habituarse a estas opciones el uso de Zenmap, descargable desde la misma web de nmap.
Antes de concluir, voy a donar un pequeño script en bash que hace un año ideamos un par de colegas y yo y que es bastante útil a la hora de hacer escáneres masivos buscando un servicio concreto para vulnerarlo o lo que sea:
#/bin/bash
menumsg() {
echo -n "Inroduce Subnet (Ex: 192.168.1.0/24)"
read target
echo "Introduce el proceso a olisquear"
read proceso
echo "Introduce el puerto sobre el que deseas buscar el proceso"
read puerto
echo "Deseas olisquear:$target en busca de $proceso ? [y/n]"
read proceed
}
menumsg
if [ $proceed = yes ] || [ $proceed = y ] ; then
exec nmap -p $puerto $target -oG - | grep open > primerpaso
awk '{ printf $2; }' primerpaso > primeralista
echo "Primer Paso ejecutado, continuamos[y/n]?"
read continuamos
if [ $continuamos = yes ] || [ $continuamos = y ] ; then
nmap -v -p $puerto -sV -iL primeralista -oG - | grep $proceso > segundopaso
awk '{ printf $2; }' segundopaso > segundalista
cp segundalista Resultado.txt
elif [ $continuamos = no ] || [ $continuamos = n ] ; then
cp primeralista Resultado.txt
fi
elif [ $proceed = no ] || [ $proceed = n ] ; then
menumsg
fi
echo "Revisa Resultado.txt para revision"
exit
Es bastante simple de entender, no obstante, lo que hace es pedir un objetivo (Ips) un servicio y puerto. Pasa el nmap sobre ese puerto y genera, primero una lista con los resultados de puerto abierto y una segunda filtrando las ip con el proceso.
Por hoy es todo. Hasta la próxima!
menumsg() {
echo -n "Inroduce Subnet (Ex: 192.168.1.0/24)"
read target
echo "Introduce el proceso a olisquear"
read proceso
echo "Introduce el puerto sobre el que deseas buscar el proceso"
read puerto
echo "Deseas olisquear:$target en busca de $proceso ? [y/n]"
read proceed
}
menumsg
if [ $proceed = yes ] || [ $proceed = y ] ; then
exec nmap -p $puerto $target -oG - | grep open > primerpaso
awk '{ printf $2; }' primerpaso > primeralista
echo "Primer Paso ejecutado, continuamos[y/n]?"
read continuamos
if [ $continuamos = yes ] || [ $continuamos = y ] ; then
nmap -v -p $puerto -sV -iL primeralista -oG - | grep $proceso > segundopaso
awk '{ printf $2; }' segundopaso > segundalista
cp segundalista Resultado.txt
elif [ $continuamos = no ] || [ $continuamos = n ] ; then
cp primeralista Resultado.txt
fi
elif [ $proceed = no ] || [ $proceed = n ] ; then
menumsg
fi
echo "Revisa Resultado.txt para revision"
exit
Es bastante simple de entender, no obstante, lo que hace es pedir un objetivo (Ips) un servicio y puerto. Pasa el nmap sobre ese puerto y genera, primero una lista con los resultados de puerto abierto y una segunda filtrando las ip con el proceso.
Por hoy es todo. Hasta la próxima!
No hay comentarios:
Publicar un comentario