Laboratorios: Hacking - Técnicas y contramedidas - Enumeración del objetivo I

Sigamos entonces con los laboratorios prácticos, para esta sesión aprenderemos sobre la enumeración de objetivos, desde su definición hasta los metodos para llevarla a cabo.

La enumeración de objetivos, es la actividad mediante la cual podemos obtener, recolectar y organizar la información de máquinas, redes, aplicaciones, servicios y/o otras tecnológias disponibles y ofrecidas por el o los objetivos.
Realmente no se considera un ataque, púes solo pretende recopilar de manera organizada información disponible mediante consultas, con el fin de elaborar verdaderos ataques, basados en los resultados obtenidos mediante la enumeración.

Las herramientas y técnicas de enumeración están basadas en su mayoría en escaneos simples a la máquina objetivo, o en simples peticiones o consultas.

__________________________________________________________

Práctica 7 - Estableciendo sesiones nulas
Prerequisitos: TCP 139 (Protocolo de Control de Transmisión - Transfer Control Protocol), IPX
(Internetwork Packet Exchange -Intercambio de paquetes interred), NetBEUI (Interfaz extendida de usuario de NetBIOS - NetBIOS Extended User Interface).
Contramedidas: Seguridad en la Lista de Control de Acceso (ACL’s), resticción de conexiones anónimas.
Descripción: Las sesiones nulas son utilizadas en máquinas Windows haciendo uso de la comunicación entre procesos (Inter-Comunication Process -IPC$), para permitir la visualización de los recursos compartidos. Este tipo de conexiones es realizada sin utilizar usuario/contraseña. Por este motivo los atacantes podrían utilizar este tipo de conexiones para enumerar la información de los objetivos .
Muchas de las prácticas que desarrollaremos estarán basadas en sesiones nulas con la máquina obejtivo.
Procedimiento: Desde la línea de comandos de Windows ejecutar la siguiente sintaxis.

net use \dirección IP ObjetivoIPC$ “” /u:””

Después de ejecutar el comando debemos recibir la respuesta:
Se ha completado el comando correctamente.

Como anotación importante cabe recordar que esta actividad no quedará registrada en el log de eventos de la máquina objetivo.

__________________________________________________________

Práctica 8 - Enumerar MAC Address del objetivo
Herramienta: GETMAC
Prerequisitos: Sesión nula
Contramedidas: Restringir conexiones anónimas, Firewalls
Descripción: La aplicación getmac puede ser utilizada para identificar la dirección MAC (Media Access Control address) asignada a cada tarjeta de red (NIC) del objetivo. Otro de los usos de la herramienta getmac es identificar el número de tarjetas de red de el objetivo.
Procedimiento: Descargar e instalar la herramienta, y desde una shell originada en el directorio creado por el instalador ejecutar la siguiente sintaxis.

getmac Dirección IP Objetivo

En el resultado observamos la MAC Address de la máquina objetivo.
00-0C- 29-21-56-A0

__________________________________________________________

Práctica 9 - Enumerar SID desde User ID
Herramienta: USER2SID
Prerequisitos: Sesión nula
Contramedidas: Restringir conexiones anónimas, Firewalls
Descripción: Todas las cuentas de usuarios Windows están identificadas con un SID (Identificador de Seguridad - Security Identifier). El identificador de seguridad de los usuarios en Windows es un valor fijo en la máquina y la función que realiza la herramienta USER2SID es enumerar el SID de un usuario determinado, sin importar que este usuario haya sido renombrado.
Procedimiento: Descargar la herramienta user2sid y ejecutar desde la línea de comandos la siguiente sintaxis.

user2sid <\Dirección IP Objetivo> nombre de usuario

Para este ejemplo utilizamos como cuenta objetivo la del Administrador

Los resultados de enumeración de SID para administrador son:
SID 5-21-2213796941-1208922877-1245299738
Dominio XOFTWARE_INC

El valor 500 es el número establecido del Identificador Relativo (RID) de la cuenta de administrador de cualquier máquina Windows.

__________________________________________________________

Práctica 10 - Enumerar ID de usuario desde SID
Herramienta: SID2USER
Prerequisitos: Sesión nula
Contramedidas: Restringir conexiones anónimas, Firewalls
Descripción: Todas las cuentas de usuarios Windows tienen asigando un RID (Identificador relativo - Relativer Identifier) . La herramienta SID2USER será utilizada para enumerar los nombres de usuarios desde SID de un usuario determinado, sin importar que este usuario haya sido renombrado.
Procedimiento: Descargar la herramienta sid2user y ejecutar desde la línea de comandos la siguiente sintaxis.

sid2user <\Dirección IP Objetivo> SID RID

Los identificativos RID son los siguientes:

Nombre de Usuario RID
Administrador 500
Invitado 501
Usuarios 1000 +

Para esta práctica utilizaremos el SID enumerado en la práctica anterior con el RID 500 del Administrador.

El resultado es claro, la cuenta administrativa de la máquina tiene el nombre de Administrador y el dominio es XOFTWARE_INC.

Me parece interesante en el laboratorio propuesto, el renombramiento que se le puede hacer al usuario Administrador, y luego hacer de nuevo la enumeración al mismo objetivo. Veamos:

Cambiamos el nombre de usuario de Administrador por “super_root”

Ahora, hagamos de nuevo la enumeración al mismo objetivo

Nuevamente observamos la claridad de los resultados, el RID 500 de administrador siempre conservará su valor, así este sea cambiado.

La información obtenida en este laboratorio puede servir de base para elaborar ataques de fuerza bruta a el usuario administrador, en este caso renombrado a “super_root”. He aquí la importancia de un buen proceso de enumeración y los riesgos que genera la poca sensibilización en la configuración de las máquinas con respecto a la seguridad.

__________________________________________________________

Práctica 11 - Enumerar información de usuarios
Herramienta: USERDUMP
Prerequisitos: Sesión nula
Contramedidas: Restringir conexiones anónimas, Firewalls
Descripción: La herramienta USERDUMP esta diseñada para recolectar la información del usuario en la máquina objetivo. Algunos datos de información que puede ser recolectada mediante el uso de la herramienta es la siguiente: RID, privilegios, fechas y duración de login’s, expriración de cuentas, etc.
Procedimiento: Descargar y ejecutar una shell desde el mismo directorio la siguiente sintaxis. (Windows)

userdump <\Dirección IP Objetivo> Nombre de usuario

Los resultados obtenidos mediante esta consulta son los siguientes:
ID de usuario 500 perteneciente al administrador
Privilegios administrativos
La contraseña nunca expira
La contraseña fue creada el 17 de julio de 2006
El último acceso fue el 01 de octubre de 2007
El administrador se ha logueado 146 veces

__________________________________________________________

Práctica 12 - Enumerar información de usuarios
Herramienta: USERINFO
Prerequisitos: Sesión nula
Contramedidas: Restringir conexiones anónimas, Firewalls
Descripción: La herramienta USERINFO esta diseñada para recolectar la información del usuario en la máquina objetivo. Algunos datos de información que puede ser recolectada mediante el uso de la herramienta es la siguiente: RID, privilegios, fechas y duración de login’s, expriración de cuentas, etc.
Procedimiento: Descargar y ejecutar una shell desde el mismo directorio la siguiente sintaxis. (Windows) .

userinfo <\Dirección IP Objetivo> Nombre de usuario

Los resultados son identicos a los obtenidos con la herramienta userdump, esto es debido a que ambas herramientas hacen llamado a la API de WIndows NetUserGetInfo.

__________________________________________________________

Práctica 13 - Enumerar información de usuarios
Herramienta:
DUMPSEC (DumpAcl)
Prerequisitos: Sesión nula
Contramedidas: Restringir conexiones anónimas, Firewalls
Descripción: La aplicación DUMPSEC esta diseñada para recolectar información de usuarios en la máquina objetivo, al igual que las herramientas anteriores hace uso de la API de Windows NetUserGetInfo, con la diferencia que esta ofrece una interfaz gráfica.
Prcedimiento: Después de descargar e instalar, procedemos a ejecutar desde uno de los accesos creados por la instalación.

Ahora vamos a Report y select computer e ingresamos la IP objetivo.

Para los resultados de la enumeración le diremos que queremos ver el volcado por usuario y como tabla. Seleccionamos todos los items. Clic en ok.

A continuación veremos los resultados ordenados como tabla. (cada investigador puede analizar cada una de las formas de volcado de la herramienta). Rápidamente veremos los usuarios de la máquina, grupos, comentarios, estado de la cuenta, último acceso, SID, caducidad de la contraseña, etc.

Además, la herramienta puede ser ejecutada mediante línea de comandos. Desde el directorio de instalación ejecutar la siguiente sintaxis:

dumpsec /computer=dirección IP /rpt=users /saveas=cvs /outfile=usuarios.txt

El archivo txt de salida con formato cvs puede ser importado a otras herramientas para su posterior análisis o para generar reportes con el mismo.

__________________________________________________________

Práctica 14 - Enumeración de Host/Dominios
Prerequisitos: Acceso UDP al puerto 137, IPX, NetBEUI
Descripción: Los comandos net son usados para obtener y enumerar información de las Redes de Área Local (LAN).
Procedimiento: Desde la shell de windows pueden ejecutarse los siguientes comandos:

net <opciones>

Probemos con la opción view (net view)

Vemos la lista de máquinas.
Veamos ahora una consulta de dominios net view /domain para ver los dominios de nuestra red.

Veamos ahora como enumerar las máquinas de un dominio o de un grupo. (net view /domain:nombre de dominio)

Consulta de recursos disponibles en la máquina objetivo. net view \Dirección IP Objetivo

En este caso la máquina objetivo comparte varios recursos importantes.

__________________________________________________________

Práctica 15 - Conectividad del objetivo /Router
Detectando la conectividad del objetivo con PING
Prerequisitos: Ninguno
Contramedidas: Denegar o restringir respuestas a ICMP (Protocolo de Mensajes de Control de Internet - Internet Control Messenger Protocol).
Descripción: La aplicación ping puede ser utilizada por los atacantes para establecer el estado de conexión del objetivo a Internet mediante las respuestas a las peticiones ping.
Procedimiento: Desde una shell de windows o linux ejecutar la siguiente sintaxis:

ping (Dirección IP Objetivo o Nombre de host)

En el ejemplo anterior ejecutamos la utilidad ping desde la máquina con Windows XP, diriendo la consulta a www.google.com, obteniendo su dirección IP.

Veamos ahora como se ejecuta desde linux (BackTrack) .

En ambos casos obtenemos los mismos resultados resolviendo la dirección IP del host objetivo.

A diferencia de otros S.O, Windows no soporta la selección de un NIC especifico en el objetivo. Para contrarestar un poco este tipo de peticiones se hace necesario deshabilitar los NIC’s innecesarios en la máquina.

__________________________________________________________

Práctica 16 - Conectividad del objetivo /Router
Detectando la conectividad del objetivo con Pathping
Prerequisitos: Ninguno
Contramedidas: Denegar peticiones/respuestas ECHO/ICMP en el/los routers.
Descripción: Proporciona información acerca de la latencia de red y las pérdidas de red en saltos intermedios entre un origen y un destino. Pathping envía múltiples mensajes de solicitud de eco a cada enrutador entre un origen y un destino en un período de tiempo y calcula los resultados en función de los paquetes devueltos desde cada enrutador. La mayoría de las veces las máquinas objetivos estan detras de routers, este comando ayuda a identificar los mismos.
Procedimiento: Desde la shell de Windows ejecutar la siguiente sintaxis:

pathping (Dirección IP Objetivo o nombre de host)

Los resultados arrojados en esta consulta permiten conocer los saltos en cada router hasta la máquina o router objetivo. Además permite calcular las estadísticas por cada salto en cada router. Cabe recordar que en muchos de los casos en último salto (en este caso 74.14.232.21) es la ip perteneciente a un router. Router potencialmente propenso a ataques si se encuentra debilmente asegurado.

Próxima sesión: Enumeración del objetivo II

Subir