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