Escáner de puertos

Aplicación diseñada para sondear puertos abiertos

Un escáner de puertos es una aplicación diseñada para investigar un servidor o host en busca de puertos abiertos . Los administradores pueden utilizar esta aplicación para verificar las políticas de seguridad de sus redes y los atacantes para identificar los servicios de red que se ejecutan en un host y explotar vulnerabilidades.

Un escaneo de puertos o portscan es un proceso que envía solicitudes de clientes a un rango de direcciones de puertos de servidor en un host, con el objetivo de encontrar un puerto activo; este no es un proceso nefasto en sí mismo. [1] La mayoría de los usos de un escaneo de puertos no son ataques, sino más bien simples sondas para determinar los servicios disponibles en una máquina remota.

El escaneo de puertos consiste en escanear varios hosts en busca de un puerto de escucha específico. Esto último se utiliza normalmente para buscar un servicio específico; por ejemplo, un gusano informático basado en SQL puede escanear puertos en busca de hosts que escuchen en el puerto TCP 1433. [2]

Conceptos básicos de TCP/IP

El diseño y el funcionamiento de Internet se basan en el conjunto de protocolos de Internet , también denominado comúnmente TCP/IP . En este sistema, los servicios de red se referencian mediante dos componentes: una dirección de host y un número de puerto. Hay 65535 números de puerto distintos y utilizables, numerados del 1 al 65535. (El puerto cero no es un número de puerto utilizable). La mayoría de los servicios utilizan uno o, como máximo, un rango limitado de números de puerto.

Algunos escáneres de puertos escanean únicamente los números de puerto más comunes, o los puertos más comúnmente 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:

  1. Abierto o Aceptado : el host envió una respuesta indicando que un servicio está escuchando en el puerto.
  2. Cerrado , denegado o no escucha : el host envió una respuesta indicando que se denegarán las conexiones al puerto.
  3. Filtrado , descartado o bloqueado : no hubo respuesta del anfitrión.

Los puertos abiertos presentan dos vulnerabilidades de las que los administradores deben tener cuidado:

  1. Preocupaciones de seguridad y estabilidad asociadas con el programa responsable de entregar el servicio: Puertos abiertos.
  2. Preocupaciones de seguridad y estabilidad asociadas 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 de destino cumple con RFC . Aunque este es el caso la mayor parte del tiempo, 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 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 identificación de la pila TCP/IP también se basa en estos tipos de diferentes respuestas de red 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 (descrito a continuación). Nmap llama a este modo connect scan, llamado así por la llamada al sistema connect() de Unix. Si un puerto está abierto, el sistema operativo completa el protocolo de enlace de tres vías TCP 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 es un " portsweep ": los servicios pueden registrar la dirección IP del remitente y los sistemas de detección de intrusos pueden generar una alarma.

Escaneo SYN

El escaneo SYN es otra forma de escaneo TCP. En lugar de utilizar 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 en realidad nunca abre una conexión TCP completa. El escáner de puertos genera un paquete SYN. ​​Si el puerto de destino 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 protocolo de enlace. [3] Si el puerto está cerrado pero sin filtrar, el destino responderá instantáneamente con un paquete RST.

El uso de redes sin procesar tiene varias ventajas, ya que le otorga al escáner un control total de los paquetes enviados y del tiempo de espera para las respuestas, y permite generar informes detallados de las respuestas. Existe un debate sobre qué escaneo es menos intrusivo para el host de destino. El escaneo SYN tiene la ventaja de que los servicios individuales nunca reciben una conexión. Sin embargo, el RST durante el protocolo de enlace puede causar problemas para algunas pilas de red, en particular dispositivos simples como impresoras. No hay argumentos concluyentes en ninguno de los dos sentidos.

Escaneo UDP

El escaneo UDP también es posible, aunque existen desafíos técnicos. UDP es un protocolo sin conexión , por lo que no hay 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 de escaneo y utilizan la ausencia de una respuesta para inferir que un puerto está abierto. Sin embargo, si un puerto está bloqueado por un firewall , este método informará falsamente que el puerto está abierto. Si el mensaje de puerto inalcanzable está bloqueado, todos los puertos aparecerán abiertos. Este método también se ve afectado por la limitación de velocidad ICMP . [4]

Un enfoque alternativo es 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 confiable para identificar puertos abiertos. Sin embargo, está limitado a escanear puertos para los que está 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 más inusuales, ya que no determina exactamente si el puerto está abierto o cerrado, sino si el puerto está filtrado o no filtrado. Esto es especialmente útil cuando se intenta investigar la existencia de un firewall y sus conjuntos de reglas. El filtrado de paquetes simple permitirá conexiones establecidas (paquetes con el bit ACK activado), mientras que un firewall con estado más sofisticado podría no permitirlo. [6]

Escaneo de ventanas

El escaneo de ventanas, que rara vez se utiliza debido a su naturaleza obsoleta, es bastante poco confiable para determinar si un puerto está abierto o cerrado. Genera el mismo paquete que un escaneo ACK, pero verifica si el campo de ventana del paquete ha sido modificado. Cuando el paquete llega a su destino, una falla 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

Como los escaneos SYN no son lo suficientemente subrepticios, los cortafuegos, en general, escanean y bloquean paquetes en forma de paquetes SYN. ​​[3] Los paquetes FIN pueden eludir los cortafuegos sin modificación. Los puertos cerrados responden a un paquete FIN con el paquete RST apropiado, mientras que los puertos abiertos ignoran el paquete en cuestión. Este es un comportamiento típico debido a la naturaleza de TCP y, en cierto modo, es una falla inevitable. [8]

Otros tipos de escaneo

Existen algunos tipos de escaneo menos habituales, que 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 protocolo: determina qué protocolos de nivel IP (TCP, UDP, GRE , etc.) están habilitados.
  • Análisis de proxy : se utiliza un proxy ( SOCKS o HTTP ) para realizar el análisis. 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 sin revelar la dirección IP, aprovechando la falla de identificación IP predecible.
  • CatSCAN: comprueba los puertos en busca de paquetes erróneos.
  • Escaneo ICMP : determina si un host responde a solicitudes ICMP, como eco ( ping ), máscara de red, etc.

Filtrado de puertos por parte de los ISP

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 suele estar contemplado en los términos del servicio o en la política de uso aceptable que el cliente debe aceptar. [9] [10] Algunos ISP implementan filtros de paquetes o servidores proxy transparentes que impiden las solicitudes de servicio salientes a determinados puertos. Por ejemplo, si un ISP proporciona un servidor 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, incluido el inventario de la red y la verificación de la seguridad de una red. Sin embargo, el escaneo de puertos también se puede utilizar para comprometer la seguridad. Muchos exploits se basan en escaneos de puertos para encontrar puertos abiertos y enviar patrones de datos específicos en un intento de activar una condición conocida como desbordamiento de búfer . Este comportamiento puede comprometer la seguridad de una red y las computadoras que se encuentran en ella, lo que resulta en la pérdida o exposición de información confidencial y la capacidad de realizar el trabajo. [3]

El nivel de amenaza que genera un escaneo de puertos puede variar en gran medida según el método utilizado para escanear, el tipo de puerto escaneado, su número, el valor del host objetivo y el administrador que supervisa el host. Pero un escaneo de puertos a menudo se considera un primer paso para un ataque y, por lo tanto, se toma en serio porque puede revelar mucha información confidencial sobre el host. [11] A pesar de esto, la probabilidad de que un escaneo de puertos solo sea seguido por un ataque real es pequeña. La probabilidad de un ataque es mucho mayor cuando el escaneo de puertos está asociado con un escaneo de vulnerabilidades . [12]

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 procesamiento efectivo de los cibercriminales . Los casos que involucran actividades de escaneo de puertos son un ejemplo de las dificultades que se encuentran al juzgar las violaciones. Aunque estos casos son poco frecuentes, la mayoría de las veces el proceso legal implica probar que existía la intención de cometer un robo o un acceso no autorizado, en lugar de simplemente realizar un escaneo de puertos.

En junio de 2003, las autoridades israelíes acusaron a un israelí, Avi Mizrahi, de intentar acceder sin autorización a material informático. Había escaneado el 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 forma positiva. [13]

Un finlandés de 17 años fue acusado de intentar entrar ilegalmente en un importante banco finlandés. El 9 de abril de 2003, el Tribunal Supremo de Finlandia lo condenó por el cargo y le ordenó pagar 12.000 dólares estadounidenses por los gastos del análisis forense realizado por el banco. En 1998, había escaneado los puertos de la red del banco en un intento de acceder a la red cerrada, pero no lo logró. [14]

En 2006, el Parlamento del Reino Unido votó una enmienda a la Ley de 1990 sobre uso indebido de ordenadores, de modo que es culpable de un delito quien "fabrica, adapta, suministra u ofrece suministrar cualquier artículo sabiendo que está diseñado o adaptado para su uso en el curso de un delito o en relación con él, según los artículos 1 o 3 [de la Ley de uso indebido de ordenadores]". [15] Sin embargo, el área de efecto de esta enmienda es confusa y es ampliamente criticada por los expertos en seguridad como tal. [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 indicando que planean aprobar una ley 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 de Georgia para mantener y actualizar la seguridad del centro 911. Realizó varios escaneos de puertos en los servidores del condado de Cherokee para comprobar su seguridad y, finalmente, escaneó los puertos de un servidor web monitoreado por otra empresa de TI, lo que provocó una pelea que terminó en un tribunal. Fue absuelto en 2000, cuando el juez Thomas Thrash dictaminó en Moulton v. VC3 ( ND  Ga. 2000) [18] que no había daños que afectaran la integridad y disponibilidad de la red. [19]

Véase también

Referencias

  1. ^ Shirey, R. (agosto de 2007). Glosario de seguridad en Internet. 2. IETF . p. 230. doi : 10.17487/RFC4949 . RFC 4949 . Consultado el 21 de noviembre de 2023 .
  2. ^ "PRB: Un servidor SQL no seguro con una contraseña SA en blanco (NULL) deja una vulnerabilidad a un gusano". support.microsoft.com . Archivado desde el original el 3 de marzo de 2006.
  3. ^ abcdef 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.
  4. ^ Messer, James (2007). Secretos de la cartografía de redes: una guía completa de Nmap (2.ª ed.). Archivado desde el original el 16 de mayo de 2016. Consultado el 5 de diciembre de 2011 .
  5. ^ Comandos de escaneo de puertos. Archivado desde el original el 2023-02-10 . Consultado el 2023-02-10 .
  6. ^ ab "Técnicas de escaneo de puertos". Guía de referencia de Nmap . 2001. Consultado el 7 de mayo de 2009 .
  7. ^ Messer, James (2007). Secretos de la cartografía de redes: una guía completa de Nmap (2.ª ed.). Archivado desde el original el 1 de febrero de 2006. Consultado el 5 de diciembre de 2011 .
  8. ^ Maimon, Uriel (8 de noviembre de 1996). "Escaneo de puertos sin el indicador SYN". Phrack , número 49. Consultado el 8 de mayo de 2009 .
  9. ^ "Política de uso aceptable de Comcast". Comcast. 1 de enero de 2009. Archivado desde el original el 23 de abril de 2009. Consultado el 7 de mayo de 2009 .
  10. ^ "BigPond Customer Terms" (PDF) . Telstra. 2008-11-06. Archivado desde el original (PDF) el 26 de enero de 2009 . Consultado el 2009-05-08 .
  11. ^ Jamieson, Shaun (8 de octubre de 2001). "La ética y la legalidad del escaneo de puertos". SANS . Consultado el 8 de mayo de 2009 .
  12. ^ Cukier, Michel (2005). "Quantifying Computer Security" (PDF) . Universidad de Maryland. Archivado desde el original (PDF) el 24 de agosto de 2009. Consultado el 8 de mayo de 2009 .
  13. ^ Hon. Abraham N. Tennenbaum (29 de febrero de 2004). "Veredicto en el caso Avi Mizrahi contra el Departamento de Fiscalía de la Policía de Israel" (PDF) . Archivado desde el original (PDF) el 7 de octubre de 2009. Consultado el 8 de mayo de 2009 .
  14. ^ Esa Halmari (2003). "Primera sentencia del Tribunal Supremo de Finlandia sobre intento de allanamiento" . Consultado el 7 de mayo de 2009 .
  15. ^ 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 . Consultado el 5 de diciembre de 2011 .
  16. ^ Leyden, John (2 de enero de 2008). "El gobierno del Reino Unido establece normas para la prohibición de herramientas de hackers". The Register . Consultado el 8 de mayo de 2009 .
  17. ^ "Comunicado de prensa de la 3096ª reunión del Consejo" (PDF) . Consejo de la Unión Europea. 2011-06-10 . Consultado el 2011-12-05 .
  18. ^ Samson, Martin. "Scott Moulton y Network Installation Computer Services, Inc. contra VC3". Biblioteca de Internet de Derecho y Decisiones Judiciales . Consultado el 29 de abril de 2021 .
  19. ^ Poulsen, Kevin (18 de diciembre de 2000). "El juez dice que los escaneos de puertos son legales". SecurityFocus . Consultado el 8 de mayo de 2009 .
  • 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, consultado el 5 de septiembre de 2009 en Linuxjournal.com
Obtenido de "https://es.wikipedia.org/w/index.php?title=Escáner_de_puertos&oldid=1225200572"