Identificando puertos TCP de egreso a nivel perimetral.

Ya sea diagnosticando problemas de conectividad o durante la realización de pruebas de penetración, existirá un momento en el cual será requerido conocer y demostrar los puertos TCP permitidos al exterior (Internet). Entre los motivos de conocer esta información se pueden encontrar:

  • Compliance / Auditoria: Confirmar que únicamente los puertos TCP autorizados de salida están permitidos, mientras el resto se mantienen bloqueados.
  • Pruebas de diagnostico: Demostrar a usuarios, proveedores o clientes que determinado puerto esta permitido. Es común que cuando se implementa un aplicativo en la nube y no se logra la conectividad requerida, de inmediato sean señalados como responsables los dispositivos perimetrales de seguridad como son el Firewall, IPS o AntiDDoS.
  • Pentest / Hacking: Identificar puertos por los cuales se pueda enviar información al exterior evitando mecanismos como DLP o filtrados de contenidos.

Por cualquiera que sea el motivo, será requerido contar con dos elementos para realizar estas pruebas:

  1. Cliente que genera solicitudes salientes.
  2. Servidor en Internet que recibe solicitudes.

Para el primer punto podemos hacer uso de cualquier “portscan”, entre ellos NMAP, pero para el segundo punto requerimos un equipos que este a la escucha de toda solicitud entrante, es aquí en donde egresser.labs.cyberis.co.uk nos puede ayudar.

Egresser no es un portal Web, se trata de un Script (cliente) y de un servidor especialmente configurado para simular que esta a la escucha en todos y cada uno de los puertos TCP existentes, esto último es la diferencia ya que tradicionalmente cualquier servidor en Internet esta a la escucha de unos cuantos puertos como lo son: TCP/25(SMTP), TCP/22(SSH), TCP/80(WWW) y TCP/443(SSL) entre otros.

El uso del Script no es mandatario, ya que como lo indique previamente, se puede hacer uso de cualquier Portscan o incluso de nuestro amigo “Telnet”.

Para poder sacar provecho del servidor en Internet de Egresser solo tienes que señalar cualquier puerto TCP que te venga a la mente a egresser.labs.cyberis.co.uk y “disparar”. A continuación resultados con diversos clientes en búsqueda de puertos abiertos a Internet.

Cliente Egresser evaluando del puerto 1 al 1024.

./egresser.pl (por defecto busca del puerto 1 al 1024)

Cliente_Egresser

NMAP evaluando del puerto 5000 al 5010.

nmap egresser.labs.cyberis.co.uk -p 5000-5010

NMAP_Puertos_5000-5010

Netcat evaluando del puerto 21000 al 21008

nc -z egresser.labs.cyberis.co.uk 21000-21008

Netcat

Telnet conectándose al puerto 69!

Requiere ejemplo?

Telnet69

Considero que es una herramienta que en algún momento en nuestra vida informática nos podrá ayudar.

Para mayor detalle, puedes visitar: https://github.com/Cyberisltd/Egresser

Nota mental: Concluyo que mi salida a Internet no tiene puerto alguno bloqueado X_x

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s