Obtener el Banner de los Servicios utilizando Ncat

  • Posted on: 16 September 2021
  • By: ReYDeS

Una de las técnicas frecuentemente utilizadas durante las evaluaciones de seguridad, es tratar de obtener información desde los banners correspondientes a los servicios ofrecidos por un host. Este procedimiento puede ser realizado de manera manual, con el propósito de tener un mayor control sobre la información factible de ser obtenida.

El Obtener el Banner es una técnica simple, la cual permite conocer la infraestructura o sistemas detrás de un servicio. Consecuentemente está relacionado con el procedimiento para intentar obtener la huella del sistema operativo.

Ncat es una utilidad de red repleta de funcionalidades, permite escribir y leer datos a través de la red utilizando la línea de comandos. Ncat fue escrito para el proyecto Nmap, como una reimplementación muy mejorada de Netcat. Utiliza TCP y UDP para las comunicaciones, siendo diseñada para ser una herramienta confiable y de esta manera proporcionar conectividad de red hacia aplicaciones y usuarios. Ncat no solo funciona con IPv4 e IPv6, también proporciona una cantidad prácticamente ilimitada de potenciales usos.

Se ejecuta la herramienta Ncat con la opción “-h”, lo cual muestra un listado de sus opciones.

$ ncat -h

Ahora se procede a ejecutar la herramienta Ncat para intentar obtener el banner desde los servicios encontrados en puertos TCP en estado abierto, como el 21, 22, 80, etc.

$ echo “” | ncat -n -v -w1 192.168. 0.50 21
$ echo “” | ncat -n -v -w1 192.168. 0.50 22
$ echo “” | ncat -n -v -w1 192.168. 0.50 80

El comando “echo” muestra una linea de texto, es decir hace eco de una cadena hacia la salida estándar.

La opción “-n” no resuelve los nombres de host a través de DNS. Deshabilita completamente la resolución de hosts a través de toda las opciones de Ncat, como el destino, origen, saltos de encaminamiento, y el proxy. Todas las direcciones deben ser especificadas numéricamente.

La opción “-v” define el nivel de verbosidad (se puede utilizar varias veces). Muestra todo tipo de información útil sobre la conexión.

La opción “-w” es el tiempo de espera. Para este caso se define a 1.

Los resultados obtenidos muestran los banners obtenidos desde los puertos 21,22, y 80. Por ejemplo para el caso del puerto TCP 21, este corresponde a un software de nombre ProFTPD versión 1.3.5.

Este proceso puede ser automatizado utilizando un bucle en la shell, y así evitar manualmente escribir un puerto a la vez.

$ for port in {20..100}; do echo “” | ncat -n -w1 192.168. 0.50 $port; done

Se detecta un servicio FTP en el puerto TCP 21, como ya se obtuvo en un proceso anterior.

Se detecta un servicio HTTP en el puerto TCP 80. En este caso es un Servidor Apache versión 2.4.7. para un sistema operativo Ubuntu.

Entre las muchas otras características de Ncat está la posibilidad de establecer conexiones hacia servicios funcionando sobre SSL, como por ejemplo HTTPS, para luego interactuar con el servicio e intentar obtener información sobre el servidor web.

$ ncat --ssl 45. 33.49.119 443

La opción “--ssl” en modo conexión, negocia de manera transparente una sesión SSL con un servidor SSL, para encriptar de manera segura la conexión. Esto es particularmente útil para conversar con servidores HTTP utilizando SSL.

Mencionar no se debe confiar ciegamente en el nombre del software, aplicación, o versiones expuestas a través de los banners, pues está información puede no ser precisa, o haber sido manipulada intencionalmente por el administrador. Siempre se debe intentar corroborar esta información con otras fuentes.

Fuentes:

https://nmap.org/ncat/
https://linux.die.net/man/1/echo

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor Independiente en Ciberseguridad
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/
Facebook: https://www.facebook.com/alonsoreydes
Youtube: https://www.youtube.com/c/AlonsoCaballero


Suscribete