Docly Child

3.3.2. Escaneo de puertos TCP

Tabla de contenidos:

Escaneo de puertos TCP: Tipos de puertos

A partir de este punto se empezarán a emplear técnicas de escaneado de puertos en hosts y servidores con el objetivo de identificar qué tipo de servicios están ofreciendo. El objetivo es encontrar información acerca de la versión del software empleado para hallar posibles vulnerabilidades y otros vectores de  ataque. Normalmente los proveedores de software se afanan en corregir las vulnerabilidades detectadas a través de nuevas versiones de sus productos. No obstante, si la actualización no se produce el host se expone peligrosamente.

A través de estas técnicas también es posible encontrar de forma indirecta información acerca de la arquitectura de procesador y el Sistema Operativo que opera y su versión. La información de la arquitectura, el Sistema Operativo, el software del servicio y las versiones de los dos últimos define el tipo de exploit a utilizar contra el host con el fin de tener éxito en un ataque informático clásico.

Es conveniente repasar la noción de la arquitectura cliente-servidor, el funcionamiento del protocolo TCP y la noción de puerto. Actualmente, la asignación de puertos sigue un estándar, dividiéndose estos en 3 categorías:

  1. Puertos 1 al 1023: Son utilizados para los procesos comunes del sistema y los servicios estandarizados de Internet (SSH, HTTP…). Se denominan well-known ports.
  2. Puertos 1024 al 49151: Se utilizan para el software de servicios provistos normalmente por algún tipo de marca o licencia. La IANA tiene un registro de puertos para estos proveedores, de modo que también se pueda estandarizar su uso. Se denominan registered ports.
  3. Puertos 49152 a 65535: Se utilizan para realizar conexiones hacia un equipo remoto en técnicas como NAT. Se denominan ephemeral ports.

A pesar de esta clasificación, los Sistemas Operativos de un host permiten abrir cualquier puerto y emplearlo para un servicio que no sea el estándar. Esto no resulta muy útil en los servicios de acceso público como podría ser HTTPS (servicio web seguro; puerto 443), pues el software cliente (navegadores web) está preparado para realizar la petición a conexión remota al servidor web en el puerto indicado. No obstante, se podría dar el caso de servidores en Internet que estén empleando servicios comunes en puertos no estándares con el fin de ocultar esta actividad a posibles atacantes, por lo que al realizar un escaneo de puertos en un servidor hay que considerar esta posibilidad.

A continuación, una tabla con los servicios más comunes, identificando su puerto estándar y la descripción (muy resumida) de su uso de acuerdo a la IANA. También incluye servicios que emplean el protocolo UDP (para un listado completo: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml):  

PUERTO

SIGLAS

Descripción

UDP

21

ftp

Servicio para el protocolo de transferencia de archivos.

 

22

ssh

Servicio de Secure Shell o Intérprete de órdenes seguras. Su principal función es el acceso remoto a un servidor por medio de un canal seguro.

 

23

telnet

Servicio Teletype Network. Permite acceso remoto a otra máquina. Obsoleto.  

 

25

smtp

Servicio Simple Mail Transfer Protocol, utilizado para el intercambio de mensajes de correo electrónico (servidores de correo electrónico).

 

53

domain

Servicio para la resolución de nombres de dominio en IP.

X

80

http

Servicio Hypertext Transfer Protocol. Es el protocolo utilizado para transferir información de aplicaciones web (servidores web).

 

110

pop3

Servicio Post Office Protocol. Se utiliza en clientes locales de correo para obtener mensajes de correo almacenados en un servidor remoto.

 

111

rpcbind

Servicio Network File System. Utilizado en entornos locales que permite accede a ficheros remotos como si fueran locales.

 

139

netbios

De las siglas en inglés Network Basic Input/Output System. Se utilita en tarjetas de red de Windows, y resumiendo mucho permite a las aplicaciones del host comunicarse con la red local. Está obsoleto y tiene muchas vulnerabilidades.

 

143

imap

Servicio Internet Message Protocol. Similar a POP3, permite acceder a mensajes almacenados en otro servidor.

 

443

https

Es la versión segura del protocolo HTTP.

 

445

microsoft-ds

Servicio Server Messabe Block (SMB). Utilizado en SO Windows, permite compartir archivos, impresoras y otros recursos en una red. Se le cambió en nombre por Common Internet File System (CIFS) hace unos años.

 

500

isakmp

Servicio de Internet Association and Key Management Protocol, para el intercambio de claves criptográficas. Relacionado con IPsec, que es un conjunto de protocolos que permite cifrar las comunicaciones y establecer diferentes servicios añadiendo seguridad.

OPC

513

login

Servicio de acceso remoto en Linux.

 

587

smtps

Es la versión segura del protocolo SMTP.

 

591

http-alt

Utilizado como servicio HTTP de forma alternativa por la licencia FileMaker. Es una plataforma de gestión de bases de datos.

 

631

ipp

Servicio Internet Printing Protocol. Define un protocolo de impresión y gestión de trabajos a imprimir.

 

853

domain-s

Versión segura del protocolo DNS.

 

990

ftps

Versión segura del protocolo FTP.

 

993

imaps

Versión segura del protocolo IMAP.

 

995

pop3s

Versión segura del protocolo POP3.

 

1194

openvpn

Utilizado por el software de OpenVpn para proporcionar servicios de redes privadas virtuales (VPN).

OPC

1701

l2tp

Para el servicio de Layer 2 Tunneling Protocol, heredero de los protocolos PPTP y L2F.  Es otro protocolo para cifrar de forma seguras las comunicaciones a través de túneles (VPN).  

X

1723

pptp

Servicio Point to Point Tunneling Protocol. Servicio (obsoleto) para proveer VPN.

 

1812

1813

radius

Servicio Remote Authentication Dial-In User Service. Resumiendo mucho, sirve para la autenticación y autorización de aplicaciones de acceso a una red, normalmente la perteneciente a un IPS.

OPC

2049

nsf

Network file system. Posibilita que distintos sistemas conectados a una misma red accedan a ficheros remotos como si se tratara de locales.

 

3306

mysql

Servicio de base de datos de la licencia MySQL.

 

3389

ms-wbt-server

Servicio de acceso remoto de Windows.

 

4500

ipsec-nat-t

Permite establecer servicios de cifrado y seguridad de la suit IPsec a través de  la variante traversal NAT.

X

4899

appserv-https

Servicio de administración para entornos de aplicación Appserv, que proporcionan una infraestructura para desarrollo de aplicaciones web basado en PHP.

 

4899

radmin-port

Servicio para el software de conexión remota a equipos de la marca RADMIN.

 

5432

postgresql

Servicio de base de datos de la licencia PostgreSQL.

 

5400

5900

vnc

Servicio para el software de conexión remota a equipos de la marca VNC.

 

6000

6063

x11

Protocolo base del sistema X Windows. Simplificando mucho, es un sistema de ventanas de red que permite construir interfaces de otros sistemas operativos.

 

8080

http-alt

Se utiliza este puerto como alternativa al puerto 80 en un servidor web. Para pruebas, etc.

 

9200

wap-wsp

Protocolo para aplicaciones que utilizan redes inalámbricas.

 

Como en otras técnicas, los escaneos de puertos se pueden llevar a cabo tanto en la LAN como en Internet. No obstante, hay que tener en cuenta los siguientes puntos:

  1. Calidad del adaptador de red y conexión: Es preciso asegurar que el proceso se realiza satisfactoriamente independientemente de si la conexión a la LAN o Internet es a través de WIFI o cable Ethernet (preferible). Una tarjeta de mala calidad o el empleo de hubs en el cable puede disminuir el resultado. Una buena forma de comprobarlo es emitiendo PING contra dispositivos locales. Si estos devuelven respuesta, se espera que el proceso de escaneo de puertos funcione bien tanto en LAN com en Internet.
  2. Marco legal: Hay que dejar claro que estas técnicas en Internet pueden vulnerar la legislación y considerarse delito en determinados países, pues implica la recogida de información privada. Al final, dependerá del territorio en el que se ubique el servidor o host, la propiedad de la IP, etc. (como ya se ha comentado, es complicado legislar en Internet…). No es de esperar que por usar NMAP una vez contra un servidor una compañía vaya a iniciar una investigación; además existen otras aplicaciones que lo realizan a diario de forma pública (p. ej.: Shodan, Censys…). En todo caso hay que tener en cuenta:
    • Generación de ruido: Estas técnicas suelen generar mucho ruido en el servidor, como se denomina en argot, pues no realizan una petición de servicio estándar. Este ruido aumenta si el escaneo se realiza sobre cualquier puerto de la máquina, pudiendo poner en alerta el departamento de seguridad informática. Es preferible realizar el escaneo sobre un puerto particular que de forma masiva.
    • Técnicas de ocultación: Para realizar escaneos en Internet es preferible tratar de mantener el anonimato de la IP pública. La mayoría de software de servicios en puertos emplea LOGS de servicio donde se almacenan los datos de actividad, incluyendo las IP que han solicitado una petición. Se puede emplear TOR, algún proxy o hasta una VPN. Eso sí, estos métodos pueden afectar al resultado.

Para el escaneo de puertos se va utilizar dos herramientas clásicas: hping3 y NMAP.