# Bucles bash sobre IPs > Lo que ahorra horas: enumerar **toda la red** de golpe a partir de la salida greppable de Nmap. Usa Operadores Bash. ## Ping sweep (descubrir hosts sin nmap) ```bash for i in $(seq 1 254); do ping -c1 -W1 10.11.1.$i >/dev/null && echo "10.11.1.$i UP"; done ``` ```cmd for /L %i in (1,1,254) do @ping -n 1 -w 200 10.5.5.%i >nul && echo 10.5.5.%i up ``` (PowerShell rápido → Port scanner PowerShell). Útil tras un foothold para mapear la red interna antes de Tunneling. ## Filtrar resultados de nmap (greppable) ```bash grep "445/open" smb.txt | cut -d' ' -f2 # IPs con ese puerto grep -c "445/open" smb.txt # cuántos hosts lo tienen grep "Status: Up" scan.gnmap | cut -d' ' -f2 # hosts vivos ``` ## Bucle sobre IPs (anatomía) ```bash for ip in $(grep "445/open" smb.txt | cut -d' ' -f2); do echo "=== $ip ===" enum4linux -a $ip < /dev/null 2>/dev/null | grep -i alfred done ``` - `< /dev/null` → evita que se cuelgue en prompts `Password:`. - Si falta `done`, bash se queda en `for>` (Ctrl+C). ## Enumerar SMB de todos y luego grep ```bash for ip in $(grep "445/open" smb.txt | cut -d' ' -f2); do enum4linux -a $ip < /dev/null > enum_$ip.txt 2>&1; done grep -l "alfred" enum_*.txt # en QUÉ host está el usuario grep -iE 'remark|flag|OS\{' enum_HOST.txt # flag en comentarios de shares ``` ## Flags en comentarios de shares de toda la red ```bash for ip in $(grep "445/open" smb.txt | cut -d' ' -f2); do echo "=== $ip ==="; rpcclient -U "" -N $ip -c "netshareenumall" 2>/dev/null | grep -i "flag\|OS{"; done ``` Relacionado: SMB · Enumeración · OSCP MOC