Seguridad en Windows NT

Download Report

Transcript Seguridad en Windows NT

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Seminaris de CASO, curs 00/ 01 - 1Q
Seguridad en Windows NT
Antonio Buenosvinos Palomares ([email protected])
Ferran Falguera Martí ([email protected])
Contenido

1.- Conceptos básicos: Mecanismos fundamentales de
segurdad del sistema NT.

2.- Metodología del ataque: Técnicas básicas empleadas
para el acceso al sistema.

3.- Para acabar: Recomendaciones a tener en cuenta.
SEMINARIS DE CASO
2
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Seminaris de CASO, curs 00/ 01 - 1Q
1.- Conceptos Básicos
Mecanismos fundamentales de seguridad del
sistema NT.
Contenido
Introducción
 Administración de Cuentas
 Políticas de Passwords
 Permisos y derechos del Usuario
 Compartición de recursos de red
 Seguridad del registro
 Auditoría de eventos
 SAM

SEMINARIS DE CASO
4
Introducción (1/3)

La seguridad en Windows NT es una combinación de
técnicas que aseguran un nivel de protección consistente
contra los accesos no deseados.

Para implementar la seguridad, tendremos que proteger la
red, el sistema operativo y los datos.

La fácil instalación y manejo de NT, implican una mala
configuración inicial.
SEMINARIS DE CASO
5
Introducción (2/3)

El administrador tendrá que sacrificar recursos para
aumentar la seguridad.

NT puede controlar los recursos de una o mas estaciones
de trabajo.

Cuando controle mas de una estación pasara a ser un
servidor de dominio.
SEMINARIS DE CASO
6
Introducción (3/3)

Cuentas de usuarios:
– Cuenta local de usuario:pertenecen a una única estación Windows NT.
– Cuenta de dominio: pertenecen al dominio en cuestión. El procedimiento de
login requiere, el nombre de usuario y contraseña, y el dominio al que se está
haciendo login.

Cuentas de grupos:
– Grupo local: cuentas locales de usuarios y grupos globales de otros dominios.
– Grupo global:cuentas de dominio.
SEMINARIS DE CASO
7
Administración de Cuentas

El NT gestiona tanto a usuarios como máquinas y sus
recursos.

NT debe validar la autentificación de los usuarios y
proveerlo de los recursos necesarios para acceder al
sistema.

La herramienta básica para administrar los usuarios y
grupos de un dominio es el programa USRMGR.EXE,
conocido por Administrador de Usuarios para dominios.
SEMINARIS DE CASO
8
Políticas de Passwords

El Administrador puede forzar a los usuarios a cumplir
ciertas reglas en la configuración de sus cuentas.

Algunas de las medidas más utilizadas son:
– Longitud máxima y mínima de la contraseña.
– Duración máxima de la contraseña.
– Histórico de la contraseña.
– Bloqueo tras sucesivos fallos de login.
– Combinación de caracteres en la contraseña.
SEMINARIS DE CASO
9
Permisos y derechos del Usuario

Los permisos definen qué recursos pueden usar los
usuarios o grupos de usuarios.

Por defecto NT crea unos usuarios y unos grupos, que son
uno de los primeros puntos críticos que el Administrador
debe controlar.

Es conveniente revisar qué derechos tienen los usuarios y
grupos por defecto dentro del menú de políticas de
derechos de usuarios
SEMINARIS DE CASO
10
Seguridad del registro

El registro es una base de datos que mantiene información
sobre la configuración hardware, software y de entorno de
la máquina.

Por lo que es conveniente:
– Deshabilitar el acceso remoto al registro.
– Deshabilitar (poner a 0) si es necesario el apagado del equipo.
– Proteger adecuadamente el registro de usuarios no autorizados.
– Hacer copias periódicas del mismo con la utilidad REGBACK.EXE
SEMINARIS DE CASO
11
Auditoría de eventos
Las auditorías nos permiten rastrear los accesos a los
archivos u a otros objetos, reintentos de inicio de sesión,
apagados y encendidos del sistema, etc…
 Hay que buscar un equilibrio entre los costes y los
beneficios derivados de la utilización de una auditoría.
 También tenemos que tener en cuenta el trabajo de analizar
la cantidad de información recogida por estas auditorías.
 Básicamente podemos hacer un seguimiento de las
actividades realizadas por el usuario.

SEMINARIS DE CASO
12
SAM
Security Account Manager
 Es la base de datos donde se almacenan los nombres de
los usuarios y las contraseñas encriptadas de todos los
usuarios del sistema local o del dominio.
 Cuando el Sistema Operativo esta en funcionamiento este
archivo esta bloqueado.
 Es el equivalente al /etc/passwd de UNIX.

SEMINARIS DE CASO
13
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Seminaris de CASO, curs 00/ 01 - 1Q
2.- Metodología del ataque
Técnicas básicas empleadas para el acceso al
sistema.
Contenido
A qué nos enfrentamos?
 Adivinar contraseñas

– Cracking del SAM
– Borrar huellas

Escalada de privilegios
–
–
–
–
Hoovering
Getadmin
Sechole
Troyanos
SEMINARIS DE CASO
15
A qué nos enfrentamos?

El uso de sesiones interactivas en NT está restringido a
cuentas administrativas, limitando la capacidad del usuario
de ejecutar programas en la máquina atacada.

Cualquier atacante a este sistema que se precie, debe
buscar cuentas equivalentes al Administrador.

Aunque existen herramientas que permiten establecer
sesiones, estas no son habituales:
– Back Orifice 2000
– Netbus
SEMINARIS DE CASO
16
Adivinar contraseñas (1/3)

Adivinación manual
– Los usuarios tienden a escoger la contraseña más fácil de
recordar posible “nombre-empresa”, “propio-nombre”, “apellido”,
“invitado” “contraseña”.
– Por tanto, con una lista de usuarios conseguida tras un escaneo
de los dominios de la red con por ejemplo DumpACL o sid2user,
podemos intentar acceder a alguna de las cuentas que aquí se
nos muestren.
SEMINARIS DE CASO
17
Adivinar contraseñas (2/3)

Adivinación automática
– Tenemos herramientas para hacer esta tarea tan tediosa
automáticamente.
– Herramientas como NAT, nos permiten hacer la comprobación
automática a partir de:
• Un rango de direcciones IP de clase C.
• Lista ne nombres de usuarios.
• Diccionario de passwords.
SEMINARIS DE CASO
18
Adivinar contraseñas (3/3)

Contramedidas.
– En el caso que el sistema NT salga a Internet debería bloquearse
el acceso a los servicios TCP y UDP 135-139 en el cortafuegos
perimetral o router.
– Desactivar los enlaces WINS Client (TCP/IP) para cualquier
adaptador conectado a redes públicas.
– Estas medidas son buenas en el caso que no se pretenda dar
servicio de archivos a máquinas del área local; si se da el caso
deberemos restringir el dominio que tiene acceso a estos
servicios.
SEMINARIS DE CASO
19
Cracking del SAM (1/4)

Una vez se ha conseguido acceso de Administrador, el
atacante tiene acceso libre hacia el Security Accounts
Manager (SAM)

NT guarda los datos del SAM en un archivo en el directorio:
– %systemroot%\system32\config\SAM

Este archivo se mantiene bloqueado mientras el sistema se
ejecuta, impidiendo así su posible lectura.
SEMINARIS DE CASO
20
Cracking del SAM (2/4)

Cómo obtener el SAM?
– Arrancar el sistema objetivo con un sistema operativo distinto:
• Crear disco de arranque con el sistema DOS incluyendo utilidad de copia.
• Incluir el controlador de sistemas de ficheros NTFS llamado NTFSDOS.
• Montar la partición que está como root e copiar el archivo SAM.
– Copiar la copia de seguridad del archivo SAM:
• En el momento que se ejecuta la Utilidad de reparación de NT rdisk con la
opción /s, se creará una copia comprimida del SAM, denominada Sam._,
en el directorio %systemroot%\repair
• Descomprimir el archivo obtenido con el comando expand sam._ sam
SEMINARIS DE CASO
21
Cracking del SAM (3/4)

Cómo extraer la información del SAM
– Existen actualmente varios softwares que permiten leer la
información del SAM:
• Pwdump es un binario para Windows que permite pasarle como argumento
el SAM extraído y vuelca la información en un documento ASCII.
• L0phtcrack es una utilidad que ofrece el grupo L0pht. Esta ofrece un
automatismo superior, descomprimiendo y extrayendo la información del
SAM automáticamente.
SEMINARIS DE CASO
22
Cracking del SAM (4/4)

Contramedidas:
– No existe una contramedida real para este tipo de intrusión, pero
sí podemos tomar una serie de precauciones:
• Siempre que se haga una copia de seguridad con la opción /s que guarda
la información del SAM, borrar el directorio /repair en cuanto no se
necesite.
• Restringir el acceso a la parte del registro que guarda la información del
SAM: HLKM/Security/SAM/Domains/Account/Users
• Auditar el acceso para cuentas SYSTEM del archivo SAM. Posteriormente
en el Visor de Sucesos podremos ver como se ha accedido.
SEMINARIS DE CASO
23
Borrar Huellas

Si el sistema atacado tiene las opciones de Auditoria
activadas puede que delaten un acceso no deseado a la
cuenta Administrador.
– Para eliminar esta información existe un software NTRK
(Microsoft) que tiene una utilidad al respecto:
• Auditpol nos permite activar/desactivar cambiar las opciones del auditor:
Auditpol /disable nos permite anular el registrador de sucesos.
– También nos pueden interesar eliminar todo lo que haya recogido
el registro de sucesos
• Aunque se puede borrar tranquilamente con el mismo visor de sucesos,
existe una utilidad elsave (Jesper Lauritsen) que permite eliminar todo
rastro.
SEMINARIS DE CASO
24
Escalada de privilegios (1/6)

En cuanto se ha localizado alguna cuenta con login y
password, puede que esta no sea de Administrador, con lo
que no podemos abrir sesión interactiva y
consecuentemente no podremos ejecutar nada en el
sistema atacado.

Debemos pues conseguir información de las cuentas que
hemos tenido acceso para obtener privilegios en otras
cuentas.
SEMINARIS DE CASO
25
Escalada de privilegios (2/6)

Hoovering (Aspiración de información)
– Llamado así porque consiste en rastrear meticulosamente las
cuentas a las que tenemos acceso con el objetivo de recopilar
información de otras cuentas, carpetas compartidas, etc.
• Los objetivos a alcanzar serán:
– %systemroot%\system32 y \rapair, directorios del servidor FTP o de
sitios web con permiso de escritura.
• Se puede usar srvinfo de NTRK, para enumerar recursos compartidos.
• Emplear la utilidad Find para buscar cadenas de caracteres de tipo
“password”
• Intentar el acceso al registro con regdmp (NTRK) o utilizar la opción
Conectar al registro en red en regedit.
SEMINARIS DE CASO
26
Escalada de Privilegios (3/6)

Getadmin
– Utilidad escrita por Konstantin Sobolev que añade a un usuario al
grupo de Administradores local.
– Se debe ejecutar de forma local en el sistema objetivo.
– Se ejecuta desde la línea de comandos con la sintaxis getadmin
<nombre-usuario>.
– Se debe volver a arrancar la máquina para gozar de los privilegios
en la máquina.
– Contramedida:
• Service Pack 3
SEMINARIS DE CASO
27
Escalada de privilegios (4/6)

Sechole
– Funciona de forma similar a getadmin, así pues añade a un usuario al actual
grupo de Administradores de la máquina.
– Tiene la posibilidad de ejecutarse remotamente si en la máquina se ejecuta
Internet Information Server.
• Se tiene que tener acceso al directorio IIS con permiso de escritura y de
ejecución.
• Cargar los ejecutables de sechole, las DLL asociadas, el intérprete de
comandos de NT cmd.exe y el programa ntuser con el que se puede
modificar los usuarios, los grupos y las directivas de seguridad.
• Ejecutar el programa en un navegador mediante una URL adecuada.
SEMINARIS DE CASO
28
Escalada de privilegios (5/6)
• Utilizando la utilidad ntuser desde el própio navegador se
añade un nuevo usuario con la siguiente URL:
http://192.168.202.154/scripts/cmd.exe/c%20c:\inetpub\scripts\nt
user.exe?%20-s%20add%20corp1%20add%20mallory%20password%20secret
• On “corp1” seria el nombre del servidor, “mallory” como nombre de usuario
y “secret” el password
• De esta forma conseguimos obtener privilegios de Administrador de forma
remota en una máquina.
SEMINARIS DE CASO
29
Escalada de privilegios (6/6)

Existen tres contramedidas:
– Existe un parche desarrollado por Microsoft llamado priv-fix.
– No asignar accesos con permiso de escritura a directorios
ejecutables de su servidor de internet.
• Se puede hacer bloqueando el acceso a los puertos 135 y 139 del servidor.
– Auditar los privilegios de ejecución en el sistema de archivos del
servidor web
SEMINARIS DE CASO
30
Troyanos

Son prógramas que aparentan realizar alguna función útil,
pero, en realidad, ejecuta algo completamente diferente de
forma oculta.
– Se podría sustituir regedit.exe por un archivo por lotes
denominado regedit.cmd, y cuando el Administrador llame a
regedit, se lanzara el archivo por lotes ejecutando una tarea no
deseada.

Contramedidas:
– No existe una contramedida especifica, simplemente fijarse en
comportamientos extraños.
SEMINARIS DE CASO
31
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Seminaris de CASO, curs 00/ 01 - 1Q
3.- Para acabar
Recomendaciones a tener en cuenta.
Recomendaciones (1/5)

Procurar no crear un sistema de arranque dual, es decir,
que contenga dos o más particiones de disco con un
sistema operativo distinto en cada una de ellas.

Para implementar los mayores niveles de seguridad, se
debe intentar dar formato a las particiones Windows NT con
el sistema NTFS. Este sistema implementa seguridad a
nivel de archivo, cada archivo o directorio posee su lista de
control de acceso y tiene conocimiento en todo momento de
quien tiene derechos sobre él
SEMINARIS DE CASO
33
Recomendaciones (2/5)

Conviene dar a cada uno de los usuarios del sistema unas
ciertas normas sobre el uso de la máquina “Lo que está y lo
que no está permitido”.

Administrador no hay más que uno. A medida que el
número de administradores tiende a infinito, la funcionalidad
en la máquina tiende a cero.
SEMINARIS DE CASO
34
Recomendaciones (3/5)

Una buena política de passwords es conveniente: obligar a
cambiar el passwd cada 3 meses, chequear las passwds de
los usuarios contra diccionarios para encontrar passwds
fáciles, no dejar repetir passwds, etc.

Planifica y decide que protocolos necesitas en tu red y
elimina desde el panel de control aquellos que no vayas a
usar.
SEMINARIS DE CASO
35
Recomendaciones (4/5)

Para realizar una instalación segura de una máquina
Windows NT conectada a Internet debe:
–
–
–
–
–
–
Evitar el uso del Sistema de archivos FAT (x86).
Elimine o renombre la cuenta de administrador.
Active la Auditoría del sistema.
Deshabilite transporte Netbios/NetBeui sobre TCP/IP.
Bloquee los puertos TCP/UDP de servicios no esenciales.
Deshabilite el privilegio de "Acceso desde la red"
SEMINARIS DE CASO
36
Recomendaciones (5/5)

Utilize los últimos Service Packs.

No ejecute servicios innecesarios y evite aquellos que se
ejecutan en un contexto de seguridad de cuenta de usuario.

Migre su red hacia arquitecturas conmutadas, en las que
resulta mas difícil realizar escuchas que en las
infraestructuras compartidas.
SEMINARIS DE CASO
37