¿Cómo escaneo un firewall para encontrar puertos salientes abiertos?

9

Estoy buscando una herramienta que pueda usar dentro de una red con firewall para escanear el firewall y encontrar puertos de salida abiertos.

Investigué un poco y encontré Firewalk, pero no se ha mantenido en 10 años, y no parecía funcionar para mí cuando lo probé.

Busqué en Google y encontré algunos sitios que dicen que puedes hacer esto con nmap, pero tampoco pude hacerlo funcionar.

¿Alguien sabe de una mejor manera que configurar una caja fuera del firewall escuchando en cada puerto y tratando de escanearlo desde el interior?

Mike Akers
fuente

Respuestas:

4

Supongamos que tiene tres subredes y un servidor en una de ellas, pero desea ver qué reglas están abiertas para las otras dos. Ejecuto un escaneo nmap contra los otros dos desde el servidor. Normalmente uso esta línea:

nmap -v -oA `hostname`_full-nmap-`/bin/date +%y%m%d` -P0 -sS -F -n --host_timeout 240000 --max_rtt_timeout 300 --initial_rtt_timeout 2000 --max_parallelism 250 192.168.123.0/24 192.168.234.0/24

También puede aplicar un enrutamiento de concepto similar a Internet, ya que nmap identificará qué puertos se filtran.

Warner
fuente
Gracias por esto; La sintaxis de fyi nmap se ha actualizado durante segundos y P0 está en desuso; comando actualizado: nmap -v -oA `hostname`_full-nmap-`/bin/date +%y%m%d` -Pn -sS -F -n --host_timeout 240 --max_rtt_timeout 3 --initial_rtt_timeout 2 --max_parallelism 250 <IPADDRESS>
jhaagsma
3

Aquí esta lo que hice:

Configure una máquina en la red bajo prueba y otra en Internet (al otro lado del firewall). Deberías estar bien usando Windows o Linux (yo usé CentOS). Tenía una IP pública pero supongo que funcionaría con un NAT 1: 1.

En la máquina de Internet, ejecuté un comando que abriría todos los puertos de mi computadora con nc. yo hice

for i in `seq 1 65000`; do nc -l $i &; sleep 1; done

El sueño está ahí para evitar que genere una cantidad excesiva de procesos netcat a la vez. Todo salió bien pero tardó 65000 segundos (durante la noche).

En la red probada, simplemente ejecuto

nmap -p- -PN <IP>

y espera los resultados.

Pedro Brito
fuente
¡Bienvenido a serverfault! He editado tu respuesta para que se ajuste más al estilo de otras respuestas; no dude en hacer clic en editar usted mismo para ver la rebaja. Tenga en cuenta que el carácter grave (`) se usa para denotar secciones de código, por lo que usarlo como un apóstrofe (') confunde el motor de rebajas :)
Falcon Momot
1

Firebind.com proporciona este servicio.

Le permite probar su conectividad de salida en un rango arbitrario de puertos UDP o TCP. Los rangos de prueba de más de 100 puertos requieren una cuenta gratuita.

AJay
fuente
55
¿Trabajas para ellos?
jscott
0

Debido a que necesita algo para responder en esos puertos, su idea de tener una máquina a cada lado del firewall es la mejor. Sin esa máquina de destino, el puerto puede estar abierto en el firewall en sí, pero debido a que no responderá (¿no debería?) Al tráfico en ese puerto, usted no lo conocería. En tal situación, no podría distinguir la diferencia entre el puerto que se cierra con el cortafuegos simplemente dejando caer los paquetes o el puerto abierto pero nada en el otro extremo para responder.

John Gardeniers
fuente