Enviado por J3ss3SHL el Jue, 19/04/2018 - 15:32
Nmap

Si bien Nmap hace muchas cosas, su característica más fundamental es el escaneo de puertos. Apunte Nmap hacia una máquina remota, y podría decirle que los puertos 25 tcp, 80 tcp y 53 udp están abiertos. Usando su base de datos nmap-services de más de 2,200 servicios conocidos, Nmap informaría que esos puertos probablemente corresponden a un servidor de correo (SMTP), un servidor web (HTTP) y un servidor de nombres (DNS), respectivamente. Esta búsqueda suele ser precisa: la gran mayoría de los daemons que escuchan en el puerto TCP 25 son, de hecho, servidores de correo. Sin embargo, ¡no debes apostar tu seguridad en esto! La gente puede y ejecuta servicios en puertos extraños. Tal vez su servidor web principal ya estaba en el puerto 80, por lo que escogieron un puerto diferente para un servidor de prueba o ensayo. Tal vez creen que esconder un servicio vulnerable en algún puerto oscuro impide que los 'hackers del mal' lo encuentren.

Aún más común últimamente es que la gente elige puertos basados ​​no en el servicio que quieren ejecutar, sino en lo que pasa a través del firewall. Cuando los ISP bloquearon el puerto 80 después de los principales gusanos de Microsoft IIS CodeRed y Nimda, hordas de usuarios respondieron moviendo sus servidores web personales a otro puerto. Cuando las compañías bloquean el acceso a Telnet debido a sus terribles riesgos de seguridad, he visto a los usuarios simplemente ejecutar telnetd en el puerto Secure Shell (SSH) en su lugar. Incluso si Nmap tiene razón, y el servidor hipotético anterior ejecuta servidores SMTP, HTTP y DNS, eso no es mucha información.

Al realizar evaluaciones de vulnerabilidad (o incluso simples inventarios de red) de sus empresas o clientes, realmente desea saber qué correo y servidores y versiones de DNS se están ejecutando. Tener un número de versión preciso ayuda dramáticamente a determinar a qué explotaciones un servidor es vulnerable. Tenga en cuenta que las correcciones de seguridad a menudo se transfieren a versiones anteriores del software, por lo que no puede confiar únicamente en el número de versión para demostrar que un servicio es vulnerable. Los falsos negativos son más raros, pero pueden suceder cuando los administradores tontos parodian el número de versión de un servicio vulnerable para que parezca parcheado. Otra buena razón para determinar los tipos de servicio y los números de versión es que muchos servicios comparten el mismo número de puerto. Por ejemplo, el puerto 258 tcp es utilizado tanto por la interfaz de administración GUI de Checkpoint Firewall-1 como por el cliente de chat de Yak Windows. Esto hace que una suposición basada en la tabla nmap-services sea aún menos precisa.

Cualquiera que haya realizado muchas pruebas sabe que a menudo también encuentra servicios que escuchan en puertos no registrados; estos son un completo misterio sin la detección de versiones. Un último problema es que los puertos UDP filtrados suelen tener el mismo aspecto en un escáner de puerto simple que los puertos abiertos. Pero si responden a las sondas específicas del servicio enviadas por la detección de la versión de Nmap, usted está seguro de que están abiertas (a menudo exactamente lo que se está ejecutando). Los test de servicio a veces revelan información sobre un objetivo más allá del tipo de servicio y el número de versión. La información diversa descubierta sobre un servicio se recopila en el campo 'información'. Esto se muestra en la columna VERSIÓN entre paréntesis después del nombre del producto y el número de versión. Este campo puede incluir números de protocolo SSH, módulos de Apache y mucho más. Algunos servicios también informan sus nombres de host configurados, que difieren sorprendentemente de los nombres de host DNS inversos de las máquinas. El campo de nombre de host se informa en una línea de Información de servicio que sigue a la tabla de puertos. Parece una fuga de información menor, pero puede tener consecuencias.

´En la conferencia de seguridad CanSecWest, estaba sentado en mi habitación con mi computadora portátil. De repente, la ventana de tcpdump en la esquina de mi pantalla se volvió loca y me di cuenta de que mi máquina estaba bajo ataque. Eché un vistazo atrás y descubrí un inusual puerto alto abierto. Al conectarse, el puerto arrojó un montón de caracteres binarios, pero un campo ASCII en la salida dio un nombre de dominio configurado. El dominio era para una compañía de seguridad lo suficientemente pequeña como para saber exactamente quién era el responsable. Hice que la recepción llamara a su habitación de hotel, el sujeto se sorprendió cuando le pedí que dejara de escanear mi máquina´, comento un desarrollador de Nmap.

Dos campos más que la detección de la versión puede descubrir son el sistema operativo y el tipo de dispositivo. Estos también se informan en la línea de Información de servicio. Usamos dos técnicas aquí. Una es la exclusividad de la aplicación. Si identificamos un servicio como Microsoft Exchange, sabemos que el sistema operativo es Windows, ya que Exchange no se ejecuta en ninguna otra parte. La otra técnica es persuadir a más aplicaciones portátiles para que divulguen la información de la plataforma. Muchos servidores (especialmente servidores web) requieren muy poca persuasión. Este tipo de detección de sistema operativo está destinado a complementar el sistema de detección de sistema operativo (-O) de Nmap y a veces puede informar resultados diferentes. Por ejemplo, considere un servidor de Microsoft Exchange oculto detrás de un firewall Unix de reenvío de puertos.

El subsistema de escaneo de la versión de Nmap obtiene todos estos datos al conectarse a puertos abiertos y al interrogarlos para obtener más información utilizando las sondas que entienden los servicios específicos. Esto le permite a Nmap dar una evaluación detallada de lo que realmente se está ejecutando, en lugar de solo los puerto están abiertos.

Usando el comando

~$ nmap -sV -T4 -F host

La detección de versión de Nmap ofrece las siguientes características avanzadas (descritas detalladamente más adelante):

  • Operación paralela de alta velocidad a través de sockets no bloqueantes y una gramática de definición de sonda, coincidencia diseñada para una implementación eficiente pero potente.
  • Determina el nombre de la aplicación y el número de versión donde esté disponible, no solo el protocolo del servicio.
  • Admite los protocolos TCP y UDP, así como los servicios de ASCII textual y binario empaquetado.
  • Soporte multiplataforma, que incluye Linux, Windows, Mac OS X, FreeBSD / NetBSD / OpenBSD, Solaris y todas las demás plataformas en las que se sabe que funciona Nmap.
  • Si se detecta SSL, Nmap se conecta usando OpenSSL (si está disponible) e intenta determinar qué servicio está escuchando detrás de esa capa de cifrado. Esto le permite descubrir servicios como HTTPS, POP3S, IMAPS, etc., así como proporcionar detalles de la versión.
  • Si se descubre un servicio SunRPC, Nmap lanza su rectificadora RPC de fuerza bruta para encontrar el número de programa, el nombre y el número de versión.
  • Se admite IPv6, incluidos TCP, UDP y SSL sobre TCP.
  • Salida común de enumeración de plataforma (CPE) para la inter operación con otro software (parte de la información solo se incluye en la salida XML). Consulte la sección llamada 'Common Platform Enumeration (CPE)'.
  • Contribuciones de la comunidad: si Nmap obtiene datos de un servicio que no reconoce, se imprime una huella digital de servicio junto con una URL de envío. Este sistema está modelado después del extremadamente exitoso proceso de envío de huellas dactilares de Nmap sistema de detención. Nuevas sondas y correcciones también pueden enviarse.
  • Base de datos completa: Nmap reconoce más de mil firmas de servicios, que cubren más de 180 protocolos de servicio únicos de ACAP, AFP y AIM a XML-RPC, Zebedee y Zebra.

En el vídeo aprenderás a escribir firmas para el sistema de detección.

Síguenos en Facebook, Twitter, unete a nuestra charla en Riot, únete a IRC o únete a Telegram y no olvides compartirnos en las redes sociales. También puede hacernos una donación..

Etiquetas

Acerca del autor

Pentester. Estudiante de ingeniería informática, Twitter @j3ss3SHL