Reconocimiento Activo

El reconocimiento activo se define como el proceso de recolección de información a cerca del objetivo de las pruebas, sin embargo, en este caso realizaremos consultas directas contra el objetivo. Es decir, estableceremos una comunicación con los sistemas remotos (que forman parte del alcance de la auditoría) para realizar estas consultas por lo que estamos dejando una traza en el objetivo. 

La información que se obtenga complementa toda la información que se hubiera podido recopilar en la fase del reconocimiento pasivo, debido a que habrá información específica que únicamente podrá ser extraída mediante consultas directas a los servicios expuestos. (DNS, SMTP, SNMP, SMB, etc.). 

En este caso, dado que se está realizando una iteración sobre ciertos activos, el objetivo puede ser consciente de que se está realizando cierta enumeración. Aunque esta posible detección siempre va a depender de las capacidades de monitorización y detección del objetivo. 

A continuación se enumeran distintas técnicas de reconocimiento pasivo:

Enumeración DNS
El servicio DNS (Domain Name System) es un protocolo que proporciona un esquema de nombres jerárquico, formando una estructura de tipo árbol, almacenados en una base de datos distribuida, y que permite realizar la traducción entre nombres de máquinas, fácilmente inteligibles para una persona, y direcciones IP, que son las que finalmente se utilizan para establecer y mantener las comunicaciones.

Las principales características de una enumeración DNS son las siguientes:

  • Dirección IP asociada a un host
  • Principales servidores (NS, MX, SOA)
  • Si se encuentra habilitado resolución inversa obtenemos nombre de host a partir de la IP
  • En ocasiones se habilita la transferencia de zona

Herramientas
Existen diferentes herramientas que podemos utilizar para realizar consultas a los
servidores DNS. Mediante estas consultas podemos averiguar la dirección IP de un determinado host en un dominio. Además, en caso que el servidor DNS tenga habilitada la resolución de inversa, se puede obtener el nombre de host a partir de una determinada dirección IP. A continuación, se enumeran las herramientas más comunes para la realización de esta tarea.

  • host, dig y nslookup: Herramientas de consola que nos permite realizar consultas DNS de manera manual.
  • dnsrecon: Herramienta en modo consola que automatiza todas las consultas que deberíamos realizar de manera manual con las herramientas anteriores proporcionándonos toda la información de manera estructurada.
  • dnsenum: Además de todas las opciones de enumeración que proporciona dnsrecon también realiza operaciones de descubrimiento de host y subdominios mediante técnicas de fuerza bruta.
Enumeración SMTP
SMTP es el protocolo que se encarga de gestionar la entrega de correos electrónicos. El protocolo dispone de varios comandos que permiten averiguar si un determinado usuario existe en el sistema remoto o en el dominio del objetivo. A continuación se indican los comandos de enumeración disponibles en el protocolo SMTP.
 
Comandos
  • RCPT: Especifica a quién va dirigido el correo, el servidor puede indicar si el usuario de correo existe o no.
  • EXPN: Identifica todos los usuarios que pertenecen a una determinada lista de correo.
  • VRFY: Este comando permite verificar si una determinada dirección de correo es válida.
Herramientas
Al igual que en los apartados anteriores, existen ciertas herramientas que nos permiten automatizar todo el proceso, utilizando los comandos anteriormente descritos del estándar, para enumerar usuarios.
  • smtp-user-enum: Herramienta que realiza enumeración de usuarios a través del protocolo SMTP. smtp-user-enum.
Enumeración SNMP
El protocolo SNMP habitualmente se utiliza para gestionar routers, switches, impresoras y demás dispositivos en una red local, aunque también puede ejecutarse en sistemas Windows y UNIX.
 
Los dispositivos que implementan el servicio SNMP ejecutan un agente que conoce toda la información del dispositivo y la organiza jerárquicamente en forma de objetos en lo que se conoce como MIB.
 
Para conectarse al agente existen dos roles/contraseñas (community strings), de forma predeterminada estas son “public” y “private”, permitiendo el primero el acceso al contenido de la MIB en modo lectura y el segundo en modo lectura/escritura.
  • public: Permite acceder a la configuración en modo consulta.
  • private: Permite modificar la configuración del dispositivo.
Además, las versiones SNMPv1 y SNMPv2 del protocolo no establecen ningún tipo de filtrado del canal. Por tanto, en caso de poder interceptar las comunicaciones tanto las community string cómo todo el tráfico de configuración queda expuesto. La versión SNMPv3 del protocolo implementa numerosas mejoras en materia de seguridad pero todavía resulta común encontrar dispositivos que soportan las versiones anteriores.
 
A continuación, se enumeran las principales características de la enumeración SNMP.
  • Obtener información de la configuración de dispositivos.
  • Modificar la configuración de los dispositivos.
Herramientas
Existen varias herramientas que nos permiten realizar ataques de fuerza bruta para averiguar el community string utilizado (lectura o incluso lectura-escritura), además de proporcionar una interfaz cli (desde la consola) por la que navegar a través de la estructura MIB o, en caso de disponer de la community string privada, modificar objetos en la MIB.
  • onesixtyone: Utiliza técnicas de fuerza bruta para averiguar los community strings que nos permiten acceder a los roles public y private.
  • snmpwalk: En caso de disponer (o averiguar) las community string de acceso se puede acceder a la configuración de un dispositivo.
Enumeración SMB
SMB es un protocolo de red, muy utilizado en redes Microsoft. Se utiliza para compartir archivos, impresoras, unidades, etc. Entre sistemas pertenecientes a una misma red.
 
Este servicio se encuentra activo en los puertos TCP 139 y 445 y a través de él es posible extraer información detallada del sistema remoto que se encuentra utilizando el protocolo SMB.
 
Además, existe una técnica conocida como “SMB null sessions” por la que se puede generar una conexión SMB entre dos sistemas informáticos sin realizar la autenticación sobre el protocolo. El establecimiento de esta conexión ya permite obtener cierta información a través del protocolo sin necesidad de conocer las credenciales de un usuario legítimo.
 
A continuación se indica el tipo de información que se puede recopilar con este tipo de enumeración.
  • Política de contraseñas
  • Nombre y SID de usuarios
  • Nombre y SID de grupos
  • Nombre y SID de equipos
Herramientas
Existen 2 herramientas principales para obtener este tipo de información además de un script de nmap (Introduciremos esta herramienta en la fase de escaneo) que también puede ser utilizado para obtener la información
  • nbtscan
Realiza la conexión SMB con un sistema remoto y obtiene información disponible. 
 
$ nbtscan -r IP o subred
  • enum4linux
Herramienta que establecen una sesión SMB con el sistema remoto y recupera la información disponible.
 
$ Enum4linux -a IP
  • scripts nmap
nmap es una herramienta de análisis de red que proporciona capacidades de enumeración gracias a diversos scripts. Existen distintos scripts específicos de obtención de información en la herramienta nmap, únicamente hay que indicar que se incluyan estos scripts en las pruebas.
 
$ nmap -p 139,445 dirección_ip -sV --script=smb-*