Comandos útiles a la hora de descubrir hosts y puertos en una red.
OBTENER IP
Para obtener la direccion IP del objetivo utilizamos netdiscover o nbtscan:
netdiscover -r 192.168.1.1/24 #Para analizar una red completanetdiscover -i wlan0 → Para analizar en base a una interfaz de red
nbtscan -r 192.168.1.0/24
ESCANEO DE PUERTOS
NMAP
Procedimiento que utilizo para enumeración de puertos abiertos.
1. Analizo todos los puertos TCP sin comprobar si el host está arriba ni resolucion DNS solo sS (SYN scan). Ademas verbose para ir viendo los avances. por utlimo el output lo hago en formato grepeable. nmap -p- -sS --open -min-rate 5000 -Pn -n -vvv [IP] -oG allPorts
El formato grepeable arriba nos permite extraer los puertos con script parecido a este:
(escrito por S4vitar)
extractPorts(){ports="$(cat$1|grep-oP'\d{1,5}/open'|awk'{print $1}' FS='/'|xargs|tr''',')"ip_address="$(cat$1|grep-oP'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}'|sort-u|head-n1)"echo-e"\n[*] Extracting information...\n">extractPorts.tmpecho-e"\t[*] IP Address: $ip_address">>extractPorts.tmpecho-e"\t[*] Open ports: $ports\n">>extractPorts.tmpecho$ports|tr-d'\n'|xclip-selclipecho-e"[*] Ports copied to clipboard\n">>extractPorts.tmpcatextractPorts.tmprmextractPorts.tmp
2. Analizo los puertos abiertos de la anterior con -sC y -sV para sacar servicios y versiones.
Syn scan (-sS) no DNS resolution (-n) skip host discovery (-Pn) source port 53 (-g) port 80,8080,443,139,445 (-p) show only open ports(--open)Services scan (-sV) using default safe scripts (-sC)
Udp scan, service version, verbose x2, output all, quick udp scan
nmap -sU -sV -vv -oA /ruta/output [10.10.10.10]
Find nmap scripts
find /usr/share/nmap/scripts -type f | grep smb
MASSCAN
Es un escaner que sirve solo para comprobar si los puertos estan abiertos o cerrados. No sirve para ver detalles de los servicios.
masscan --nmap [IP]
--nmap → compatibilidad con nmap
-p → seleccion de puertos. Si quiero alguno de UDP utilizo U:52.
--rate → 150000 normalmente (es la velocidad)
--open-only → solo abiertos