
Un escáner de puertos es una aplicación diseñada para sondear un servidor o host en busca de puertos abiertos . Los administradores pueden usar este tipo de aplicaciones para verificar las políticas de seguridad de sus redes , y los atacantes pueden utilizarlas para identificar los servicios de red que se ejecutan en un host y explotar vulnerabilidades.
Un escaneo de puertos es un proceso que envía solicitudes de cliente a un rango de direcciones de puerto de servidor en un host, con el objetivo de encontrar un puerto activo; este no es un proceso malicioso en sí mismo. [ 1 ] La mayoría de los usos de un escaneo de puertos no son ataques, sino simples sondeos para determinar los servicios disponibles en una máquina remota.
El escaneo de puertos consiste en analizar varios hosts en busca de un puerto de escucha específico. Este último se utiliza normalmente para buscar un servicio específico; por ejemplo, un gusano informático basado en SQL puede realizar un escaneo de puertos buscando hosts que escuchen en el puerto TCP 1433. [ 2 ]
Conceptos básicos de TCP/IP
El diseño y funcionamiento de Internet se basa en el conjunto de protocolos de Internet , también conocido como TCP/IP . En este sistema, los servicios de red se identifican mediante dos componentes: una dirección IP y un número de puerto. Existen 65 535 puertos distintos y utilizables, numerados del 1 al 65 535 (el puerto cero no es utilizable). La mayoría de los servicios utilizan uno o, como máximo, un rango limitado de puertos.
Algunos escáneres de puertos solo analizan los números de puerto más comunes, o los puertos más frecuentemente asociados con servicios vulnerables, en un host determinado.
El resultado de un escaneo en un puerto generalmente se generaliza en una de tres categorías:
- Abierto o aceptado : El host envió una respuesta que indica que un servicio está escuchando en el puerto.
- Cerrado , denegado o no a la escucha : El host envió una respuesta que indica que se denegarán las conexiones al puerto.
- Filtrado , descartado o bloqueado : No hubo respuesta del host.
Los puertos abiertos presentan dos vulnerabilidades de las que los administradores deben estar atentos:
- Preocupaciones sobre la seguridad y la estabilidad asociadas al programa responsable de prestar el servicio: puertos abiertos.
- Problemas de seguridad y estabilidad relacionados con el sistema operativo que se ejecuta en el host: puertos abiertos o cerrados.
Los puertos filtrados no suelen presentar vulnerabilidades.
Supuestos
Todas las formas de escaneo de puertos se basan en la suposición de que el host objetivo cumple con la RFC . Si bien esto suele ser así, aún existe la posibilidad de que un host envíe paquetes extraños o incluso genere falsos positivos cuando la pila TCP/IP del host no cumple con la RFC o ha sido alterada. Esto es especialmente cierto para las técnicas de escaneo menos comunes que dependen del sistema operativo (escaneo FIN, por ejemplo). [ 3 ] El método de huella digital de la pila TCP/IP también se basa en este tipo de respuestas de red diferentes a un estímulo específico para adivinar el tipo de sistema operativo que está ejecutando el host.
Tipos de escaneos
Escaneo TCP
Los escáneres de puertos más simples utilizan las funciones de red del sistema operativo y generalmente son la siguiente opción a la que recurrir cuando SYN no es una opción factible (que se describe a continuación). Nmap llama a este modo escaneo de conexión, nombre derivado de la llamada al sistema Unix connect() . Si un puerto está abierto, el sistema operativo completa el protocolo de enlace TCP de tres vías, y el escáner de puertos cierra inmediatamente la conexión para evitar realizar un ataque de denegación de servicio . [ 3 ] De lo contrario, se devuelve un código de error. Este modo de escaneo tiene la ventaja de que el usuario no requiere privilegios especiales. Sin embargo, el uso de las funciones de red del sistema operativo impide el control de bajo nivel, por lo que este tipo de escaneo es menos común. Este método es "ruidoso", particularmente si se trata de un " barrido de puertos ": los servicios pueden registrar la dirección IP del remitente y los sistemas de detección de intrusiones pueden generar una alarma.
Escaneo SYN
El escaneo SYN es otra forma de escaneo TCP. En lugar de usar las funciones de red del sistema operativo, el escáner de puertos genera paquetes IP sin procesar y monitorea las respuestas. Este tipo de escaneo también se conoce como "escaneo semiabierto", porque nunca abre una conexión TCP completa. El escáner de puertos genera un paquete SYN. Si el puerto objetivo está abierto, responderá con un paquete SYN-ACK. El host del escáner responde con un paquete RST, cerrando la conexión antes de que se complete el handshake. [ 3 ] Si el puerto está cerrado pero no filtrado, el objetivo responderá instantáneamente con un paquete RST.
El uso de redes sin procesar ofrece varias ventajas, como el control total del escáner sobre los paquetes enviados y el tiempo de espera para las respuestas, además de permitir informes detallados de las mismas. Existe debate sobre qué método de escaneo es menos intrusivo para el host objetivo. El escaneo SYN tiene la ventaja de que los servicios individuales nunca llegan a establecer una conexión. Sin embargo, el RST durante el protocolo de enlace puede causar problemas en algunas pilas de red, especialmente en dispositivos sencillos como las impresoras. No existen argumentos concluyentes al respecto.
escaneo UDP
También es posible el escaneo UDP, aunque presenta desafíos técnicos. UDP es un protocolo sin conexión , por lo que no existe un equivalente a un paquete TCP SYN. Sin embargo, si se envía un paquete UDP a un puerto que no está abierto, el sistema responderá con un mensaje ICMP de puerto inalcanzable. La mayoría de los escáneres de puertos UDP utilizan este método y, ante la ausencia de respuesta, infieren que un puerto está abierto. No obstante, si un firewall bloquea un puerto , este método informará erróneamente que el puerto está abierto. Si se bloquea el mensaje de puerto inalcanzable, todos los puertos aparecerán como abiertos. Este método también se ve afectado por la limitación de velocidad de ICMP . [ 4 ]
Un enfoque alternativo consiste en enviar paquetes UDP específicos de la aplicación, con la esperanza de generar una respuesta de la capa de aplicación. Por ejemplo, enviar una consulta DNS al puerto 53 dará como resultado una respuesta si hay un servidor DNS presente. Este método es mucho más fiable para identificar puertos abiertos. Sin embargo, se limita a escanear puertos para los que hay disponible un paquete de sondeo específico de la aplicación. Algunas herramientas (por ejemplo, Nmap , Unionscan [ 5 ] ) generalmente tienen sondeos para menos de 20 servicios UDP, mientras que algunas herramientas comerciales tienen hasta 70. En algunos casos, un servicio puede estar escuchando en el puerto, pero configurado para no responder al paquete de sondeo en particular.
Escaneo ACK
El escaneo ACK es uno de los tipos de escaneo menos comunes, ya que no determina con exactitud si el puerto está abierto o cerrado, sino si está filtrado o no. Esto resulta especialmente útil al intentar detectar la existencia de un cortafuegos y sus reglas. El filtrado simple de paquetes permitirá las conexiones establecidas (paquetes con el bit ACK activado), mientras que un cortafuegos con estado más sofisticado podría no permitirlas. [ 6 ]
Escaneo de ventanas
El escaneo de ventana, poco utilizado debido a su naturaleza obsoleta, resulta bastante poco fiable para determinar si un puerto está abierto o cerrado. Genera el mismo paquete que un escaneo ACK, pero comprueba si el campo de ventana del paquete ha sido modificado. Cuando el paquete llega a su destino, un fallo de diseño intenta crear un tamaño de ventana para el paquete si el puerto está abierto, marcando el campo de ventana del paquete con 1 antes de que regrese al remitente. El uso de esta técnica de escaneo con sistemas que ya no admiten esta implementación devuelve 0 para el campo de ventana, etiquetando los puertos abiertos como cerrados. [ 7 ]
Escaneo FIN
Dado que los escaneos SYN no son lo suficientemente sigilosos, los cortafuegos, en general, buscan y bloquean paquetes SYN. [ 3 ] Los paquetes FIN pueden eludir los cortafuegos sin modificaciones. Los puertos cerrados responden a un paquete FIN con el paquete RST correspondiente, mientras que los puertos abiertos ignoran el paquete recibido. Este comportamiento es típico debido a la naturaleza de TCP y, en cierto modo, es una desventaja inevitable. [ 8 ]
Otros tipos de escaneo
Existen algunos tipos de escaneo menos comunes. Estos tienen varias limitaciones y no se utilizan ampliamente. Nmap admite la mayoría de ellos. [ 6 ]
- X-mas y Null Scan son similares al escaneo FIN , pero: [ 3 ]
- X-mas envía paquetes con las banderas FIN, URG y PUSH activadas como un árbol de Navidad.
- Null envía un paquete sin indicadores TCP establecidos.
- Escaneo de protocolos : determina qué protocolos de nivel IP (TCP, UDP, GRE , etc.) están habilitados.
- Escaneo mediante proxy : se utiliza un proxy ( SOCKS o HTTP ) para realizar el escaneo. El objetivo verá la dirección IP del proxy como la fuente. Esto también se puede hacer utilizando algunos servidores FTP .
- Escaneo inactivo : otro método de escaneo que no revela la dirección IP, aprovechando la vulnerabilidad de la identificación IP predecible .
- CatSCAN: Comprueba los puertos en busca de paquetes erróneos.
- Escaneo ICMP : determina si un host responde a las solicitudes ICMP, como eco ( ping ), máscara de red, etc.
Filtrado de puertos por parte de los proveedores de servicios de Internet
Muchos proveedores de servicios de Internet restringen la capacidad de sus clientes para realizar escaneos de puertos a destinos fuera de sus redes domésticas. Esto generalmente se incluye en los términos de servicio o la política de uso aceptable que el cliente debe aceptar. [ 9 ] [ 10 ] Algunos ISP implementan filtros de paquetes o proxies transparentes que impiden las solicitudes de servicio salientes a ciertos puertos. Por ejemplo, si un ISP proporciona un proxy HTTP transparente en el puerto 80, los escaneos de puertos de cualquier dirección parecerán tener el puerto 80 abierto, independientemente de la configuración real del host de destino.
Seguridad
La información recopilada mediante un escaneo de puertos tiene muchos usos legítimos, como el inventario de red y la verificación de su seguridad. Sin embargo, el escaneo de puertos también puede utilizarse para comprometer la seguridad. Muchos exploits se basan en escaneos de puertos para encontrar puertos abiertos y enviar patrones de datos específicos con el fin de provocar un desbordamiento de búfer . Este comportamiento puede comprometer la seguridad de una red y de los equipos que la componen, lo que puede resultar en la pérdida o exposición de información confidencial y en la imposibilidad de trabajar. [ 3 ]
El nivel de amenaza que supone un escaneo de puertos puede variar considerablemente según el método utilizado, el tipo de puerto escaneado, su número, el valor del host objetivo y el administrador que lo supervisa. Sin embargo, un escaneo de puertos suele considerarse el primer paso de un ataque y, por lo tanto, se toma en serio, ya que puede revelar mucha información sensible sobre el host. [ 11 ] A pesar de esto, la probabilidad de que un escaneo de puertos por sí solo derive en un ataque real es baja. La probabilidad de un ataque es mucho mayor cuando el escaneo de puertos se asocia a un escaneo de vulnerabilidades . [ 12 ]
Implicaciones legales
Debido a la arquitectura inherentemente abierta y descentralizada de Internet, los legisladores han tenido dificultades desde su creación para definir límites legales que permitan el enjuiciamiento efectivo de los ciberdelincuentes . Los casos relacionados con el escaneo de puertos son un ejemplo de las dificultades que se presentan al juzgar las infracciones. Si bien estos casos son poco frecuentes, en la mayoría de los casos el proceso legal implica probar que existía la intención de cometer una intrusión o un acceso no autorizado, y no solo la realización de un escaneo de puertos.
En junio de 2003, un israelí, Avi Mizrahi, fue acusado por las autoridades israelíes del delito de intento de acceso no autorizado a material informático. Había realizado un escaneo de puertos al sitio web del Mossad . Fue absuelto de todos los cargos el 29 de febrero de 2004. El juez dictaminó que este tipo de acciones no deben desalentarse cuando se realizan de manera positiva. [ 13 ]
Un joven finlandés de 17 años fue acusado de intento de intrusión informática por un importante banco finlandés. El 9 de abril de 2003, fue declarado culpable por el Tribunal Supremo de Finlandia y condenado a pagar 12.000 dólares estadounidenses por los gastos del análisis forense realizado por el banco. En 1998, había intentado acceder a la red cerrada del banco mediante un escaneo de puertos, pero no lo consiguió. [ 14 ]
En 2006, el Parlamento del Reino Unido aprobó una enmienda a la Ley de Uso Indebido de Computadoras de 1990, según la cual una persona es culpable de un delito si "fabrica, adapta, suministra u ofrece suministrar cualquier artículo a sabiendas de que está diseñado o adaptado para su uso en el curso de o en relación con un delito tipificado en las secciones 1 o 3 [de la CMA]". [ 15 ] Sin embargo, el ámbito de aplicación de esta enmienda es difuso y ha sido ampliamente criticado por expertos en seguridad. [ 16 ]
Alemania, con el Strafgesetzbuch § 202a,b,c, también tiene una ley similar, y el Consejo de la Unión Europea ha emitido un comunicado de prensa en el que afirma que planea aprobar una similar también, aunque más precisa. [ 17 ]
Estados Unidos
Moulton contra VC3
En diciembre de 1999, Scott Moulton fue arrestado por el FBI y acusado de intento de intrusión informática en virtud de la Ley de Protección de Sistemas Informáticos de Georgia y la Ley de Fraude y Abuso Informático de Estados Unidos . En ese momento, su empresa de servicios informáticos tenía un contrato vigente con el condado de Cherokee, Georgia, para el mantenimiento y la actualización de la seguridad del centro de llamadas de emergencia 911. Realizó varios escaneos de puertos en los servidores del condado de Cherokee para comprobar su seguridad y, finalmente, escaneó un servidor web supervisado por otra empresa de TI, lo que provocó una disputa que terminó en un tribunal. Fue absuelto en 2000, cuando el juez Thomas Thrash dictaminó en el caso Moulton v. VC3 ( ND Ga. 2000) [ 18 ] que no hubo daños que afectaran la integridad y disponibilidad de la red. [ 19 ]
Véase también
Referencias
- ↑ Shirey, R. (agosto de 2007). Glosario de seguridad en Internet . 2. IETF . pág. 230. doi : 10.17487/RFC4949 . RFC 4949. Recuperado el 21 de noviembre de 2023 .
- ↑ "PRB: SQL Server sin protección con contraseña SA en blanco (NULL) deja vulnerabilidad a un gusano" . support.microsoft.com . Archivado del original el 3 de marzo de 2006.
- 1 2 3 4 5 6 Erikson, Jon (2008). Hacking: El arte de la explotación (2.ª ed.). San Francisco : No Starch Press . pág. 264. ISBN 978-1-59327-144-2.
- ↑ Messer, James (2007). Secretos de la cartografía de redes: una guía completa de Nmap (2.ª ed.). Archivado del original el 16 de mayo de 2016. Recuperado el 5 de diciembre de 2011 .
- ↑ Comandos de escaneo de puertos . Archivado del original el 10/02/2023 . Consultado el 10/02/2023 .
- 1 2 "Técnicas de escaneo de puertos" . Guía de referencia de Nmap . 2001. Recuperado el 7 de mayo de 2009 .
- ↑ Messer, James (2007). Secretos de la cartografía de redes: una guía completa de Nmap (2.ª ed.). Archivado del original el 1 de febrero de 2006. Recuperado el 5 de diciembre de 2011 .
- ↑ Maimon, Uriel (1996-11-08). "Escaneo de puertos sin la bandera SYN" . Phrack número 49. Archivado del original el 14-05-2010 . Recuperado el 08-05-2009 .
- ↑ "Política de uso aceptable de Comcast" . Comcast. 1 de enero de 2009. Archivado del original el 23 de abril de 2009. Consultado el 7 de mayo de 2009 .
- ↑ "Términos y condiciones para clientes de BigPond" (PDF) . Telstra. 6 de noviembre de 2008. Archivado del original (PDF) el 26 de enero de 2009. Consultado el 8 de mayo de 2009 .
- ↑ Jamieson, Shaun (2001-10-08). "La ética y la legalidad del escaneo de puertos" . SANS . Recuperado el 2009-05-08 .
- ↑ Cukier, Michel (2005). "Cuantificación de la seguridad informática" (PDF) . Universidad de Maryland. Archivado del original (PDF) el 24 de agosto de 2009. Consultado el 8 de mayo de 2009 .
- ↑ Hon. Abraham N. Tennenbaum (29 de febrero de 2004). "Veredicto en el caso Avi Mizrahi contra el Departamento de la Fiscalía de la Policía de Israel" (PDF) . Archivado del original (PDF) el 7 de octubre de 2009. Consultado el 8 de mayo de 2009 .
- ↑ Esa Halmari (2003). "Primera sentencia del Tribunal Supremo de Finlandia sobre intento de allanamiento" . Consultado el 7 de mayo de 2009 .
- ↑ Parlamento del Reino Unido (25 de enero de 2006). «Proyecto de Ley de Policía y Justicia - Proyecto de Ley 119» . Parlamento del Reino Unido. Archivado del original el 29 de noviembre de 2011. Consultado el 5 de diciembre de 2011 .
- ↑ Leyden, John (2 de enero de 2008). "El gobierno del Reino Unido establece reglas para la prohibición de herramientas de hackers" . The Register . Consultado el 8 de mayo de 2009 .
- ↑ "Comunicado de prensa de la 3096.ª reunión del Consejo" (PDF) . Consejo de la Unión Europea. 10 de junio de 2011. Archivado (PDF) del original el 2 de septiembre de 2011. Consultado el 5 de diciembre de 2011 .
- ↑ Samson, Martin. "Scott Moulton y Network Installation Computer Services, Inc. contra VC3" . Biblioteca de Derecho y Decisiones Judiciales de Internet . Archivado del original el 2 de mayo de 2021. Consultado el 29 de abril de 2021 .
- ↑ Poulsen, Kevin (18 de diciembre de 2000). "Los escaneos de puertos son legales, dice un juez" . SecurityFocus. Archivado del original el 11 de mayo de 2008. Recuperado el 8 de mayo de 2009 .
Enlaces externos
- Teo, Lawrence (diciembre de 2000). Explicación de las sondas de red: comprensión de los escaneos de puertos y los barridos de ping. Linux Journal. Recuperado el 5 de septiembre de 2009 de Linuxjournal.com .
- escáneres de puertos
- vulnerabilidades de seguridad informática
- Software de seguridad informática
- Software de red basado en el protocolo de Internet
- analizadores de red