3.3.2. Escaneo de puertos TCP
Tabla de contenidos:
- 3.3.2.1. Laboratorios en red (2): Metasploitable
- 3.3.2.2. Escaneo de puerto en LAN
- 3.3.2.3. HPING3
- 3.3.2.4. NMAP
- 3.3.2.4.1. Zenmap
- 3.3.2.4.2. Nmap Scripting
- 3.3.2.5. Escaneo de puertos avanzado
- 3.3.2.5.1. Escaneo de puertos en Internet
- 3.3.2.5.2. Escaneo de puertos con proxy: Técnicas de ocultación
- 3.3.2.5.3. Escaneo de puertos con Firewall: Técnicas de evasión
- 3.3.2.5.4. Escaneo de puertos con Firewall: IDLE Scan
- 3.3.2.5.5. Escaneo de puertos con sistema de detección de intrusos
- 3.3.2.5.6. Túnel SSH Dinámico
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:
- 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.
- 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.
- 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:
- 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.
- 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.