Capturar los Banners de un Sistema GNU/Linux
Uno de los primeros pasos en cualquier ataque basado en red es identificar los potenciales objetivos. Y se debe enumerar al detalle información sobre los sistemas y redes, como el sistema operativo, service pack, aplicación o servicio, versión, nivel de parche, puerto, etc.
La mayoría de escaners de vulnerabilidades y herramientas para pruebas de penetración utilizan las cabeceras como un método principal para identificar potenciales vulnerabilidades. Si los atacantes pueden fácilmente encontrar el sistema operativo y su versión, pueden más fácilmente identificar vulnerabilidades en los sistemas e iniciar el proceso de encontrar una manera viable de ingreso. Además, algunas herramientas automáticas de pruebas de penetración tienen código de explotación el cual puede automáticamente explotar el sistema basándose en la versión y plataforma en funcionamiento identificada.
Para la siguiente demostración se utilizará Kali Linux y una máquina virtual basada en GNU/Linux De-Ice 1.100.
Se realizar un escaneo de puertos TCP SYN utilizando la herramienta unicornscan. La opción “-mT” define un escaneo de puertos comparable a la opción “-sS” de la herramienta Nmap. La opción “-Iv” muestra los resultandos en cuanto los encuentra, además de generar mayor verbosidad. El “:a” define el escaneo hacia los 65535 puertos de la dirección IP.
# unicornscan -mT -Iv 192.168.0.100:a
Se procede a realizar una Captura del Banner o “Banner Grabbing” para cada puerto descubierto en estado abierto.
Puerto TCP/21. Las respuestas recibidas desde el puerto 21 utilizando netcat y un cliente ftp, no proporcionan información sobre la versión del servicio.
Puerto TCP/22: La respuesta recibida desde el puerto 22 utilizando un cliente ssh detallan un servicio OpenSSH 4.3, con una versión del protocolo 1.99.
Puerto TCP/25: La respuesta recibida desde el puerto 25 utilizando netcat, expone un servicio SMTP ejecutando un Sendmail 8.13.7/8.13.7.
Puerto TCP/80: La respuesta recibida desde el puerto 80 utilizando netcat, en primera instancia no expone ningún dato relevante, razón por la cual se hace necesario interactuar con el servicio enviando el método “HEAD” solicitando el recurso “/” utilizando la versión 1.0 del protocolo HTTP. Esto expone la utilización de un servidor Apache/2.0.55 (Unix) y PHP/5.1.2.
Puerto TCP/110: La respuesta recibida desde el puerto 110 utilizando netcat, permite inferir un servicio POP3, pero no expone información sobre la versión del servicio. La causa de esto puede ser una configuración realizada para no mostrar estos datos.
Puerto TCP/143: La respuesta recibida desde el puerto 143 utilizando netcat, expone un servicio IMAP, adicionalmente se expone la información IMAP4rev1 2004.357 y sus capacidades. Una búsqueda en Google con esta información expuesta permite inferir la posible utilización de WU-IMAP.
A modo de demostración y para corroborar la información obtenida manualmente, se procede a realizar un escaneo de versiones contra los puertos abiertos descubiertos utilizando nmap.
# nmap -n -Pn -sV -p21,22,25,80,110,143 192.168.0.100
Los resultados obtenidos utilizando la herramienta nmap son casi idénticos a los obtenidos de manera manual. El procedimiento siguiente será buscar información relevante sobre vulnerabilidades o temas de seguridad asociados con los servicios y versiones descubiertas, con el propósito de explotarlas o aprovecharse de estas.
Fuentes:
https://www.kali.org/
https://www.vulnhub.com/entry/de-ice-s1100,8/
http://unicornscan.org/
https://nvd.nist.gov/
Sobre el Autor
Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor Independiente en Ciberseguridad
WhatsApp: https://wa.me/51949304030
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
Youtube: https://www.youtube.com/c/AlonsoCaballero
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/