- 1.- Introducción a la SEGURIDAD en INTERNET
- 2.- Seguridad en los protocolos TCP/IP
- 3.- Establecimiento del objetivo
- 4.- Información del objetivo
- 5.- Ataque a un servidor UNIX
- 6.- Control total de un servidor UNIX
- 7.- Configuración de UNIX como servidor bastión.
1. INTRODUCCIÓN A LA SEGURIDAD EN INTERNET
En este módulo se introduce el problema de la seguridad en Internet. El primer
paso para asegurar cualquier cosa es conocer contra quién se debe proteger. En esta
introducción, se desvelan los diferentes tipos de intrusos que pueden atacar los
servidores de la organización. Finalmente, se ven conceptos básicos de criptografía
necesarios para comprender algunas tecnologías de seguridad.
- Seguridad en los servidores Internet
- Conceptos de criptografía
- Algoritmos simétricos: DES
- Algoritmos de clave pública: RSA
- Funciones de sentido único.
2. SEGURIDAD EN LOS PROTOCOLOS TCP/IP
Muchos problemas de seguridad que tiene Internet vienen heredados de los protocolos de
comunicaciones que usa, los afamados TCP e IP. Estos protocolos fueron diseñados en los
años 70 y no se pensó en los aspectos de seguridad. Debido a que es necesario usar los
protocolos como fueron diseñados, hace que los aspectos de seguridad citados en este
módulo tengan muy difícil solución.
- Rastreadores de red (Sniffers), topología HUB: Tcpdump,
Ethereal
- Rastreadores de red, topología SWITCH: Hunt, ethercap
- Denegación de servicio
- Inundación SYN (SYN flooding)
- Inundación ICMP
- Inundación UDP
- Ataques de magnificación: Smurf y Fraggle. (Nemesis)
- Ataques protocolo TCP/IP
- Denegación de servicio Distribuida (DDoS)
- Secuestro y falsificación DNS ( Dnssniff , ADMKillDNS )
- Protocolo SNMP ( snmpget , snmpwalk ).
PRÁCTICAS
1.- Rastreadores con topología de red
HUB.
Capturar el tráfico de una red mediante la instalación de un rastreador (sniffer)
genérico, Ethereal. Posteriormente se utilizarán rastreadores especializados en
contraseñas y en espionaje de actividad (dsniff, webspy, urlsnarf). Finalmente, se
comprobará la detección de los rastreados funcionando en la red mediante el uso de
técnicas de anti-sniff (neped).
2.- Rastreadores con topología de red SWITCH.
Secuestro de sesiones y captura de tráfico entre dos estaciones en una topología tipo
SWITCH (Hunt). Falsificación de las tablas ARP mediante la técnica de la falsificación
ARP (ARP Spoofing).
3.- Denegación de servicio.
Inundación mediante la técnica de SYN Flooding. Búsqueda de redes con direcciones de
difusión (broadcast) para realizar ataques de magnificación. Realización de ataques de
magnificación del tipo Smurf. Enlace de servidores en los puertos Echo y Chargen.
4.- DNS.
Secuestro de sesiones DNS mediante la herramienta DNSSpoof. Falsificación de cache de DNS
mediante la herramienta ADMKillDNS.
5.- SNMP.
Búsqueda de sistemas con agentes SNMP y comunidades de fácil adivinación. Se instala y
utiliza la herramienta IP snmpget/snmpwalk.
3. ESTABLECIMIENTO DEL OBJETIVO
Antes de realizar definitivamente un ataque, los intrusos, como si de un estratega militar
se tratará, preparan cuidadosamente su ataque. No se debe pasar por alto el tiempo que
dedican a esta tarea. En esta fase, su objetivo es determinar cual es el punto o puntos
más débiles para intentar el acceso.
- Información general del objetivo (web, whois, ripe).
- Servidores de la organización.
- Servidores accesibles
- Rastreo de puertos.
- Rastreo de sistemas operativos.
PRÁCTICAS
1.- Información del objetivo.
Conexión a las bases de datos Whois y RIPE para extraer información del objetivo.
2.- Servidores de la organización.
Solicitud de transferencia de zonas DNS y resolución inversa para obtener información
sobre los servidores de la organización.
3.- Servidores activos.
Chequeo mediante ICMP de los servidores activos.( hping y fping )
4.- Rastreo de puertos.
Rastreo de puertos mediante los distintos sistemas explicados. Se usarán técnicas tipo
Decoy para la ocultación de rastreos. Se realizará un rastreo oculto imposible de
detectar mediante la técnica del campo ID de los paquetes IP o también llamado rastreo
oculto.
5.- Detección de sistemas operativos.
Rastreo de sistemas operativos mediante la detección pasiva (Siphon) y rastreo mediante
las técnicas activas con Nmap y Queso.
4. INFORMACIÓN DEL OBJETIVO
Una vez realizado el mapa de los posibles objetivos, el intruso tratará de obtener más
información sobre los servidores a los que intentará atacar. La instalación por defecto
de los sistemas UNIX ofrece algunas posibilidades en este aspecto que los intrusos
tratarán de aprovechar.
- Nombres de usuario y grupos
- Recursos importados y exportados
- Servicios abiertos y software instalado
- Samba: Nombres NetBIOS y Dominios
PRÁCTICAS
1.- Identificación de usuarios
- Se utilizaran herramientas no intrusivas con el fin de conseguir los usuarios del
sistema. ( finger, rwho, rsusers )
- Se utilizarán métodos intrusivos con el objeto de conseguir la lista de usuarios.
2.- Servicios abiertos
Se conectará mediante Telnet a distintos puertos con el objetivo de determinar el
software servidor en ejecución tras cada puerto abierto en un sistema. Adicionalmente se
procederá a la obtener información de servicios RPC.
3.- SAMBA
Se utilizarán las herramientas SMB en UNIX y se procederá a identificar sus deficiencias
de seguridad.
5. ATAQUE A UN SERVIDOR UNIX
Una vez recopilada y analizada la información sobre posibles objetivos, el intruso
decidirá qué método utilizar para atacar a los sistemas. En este módulo se da una
clasificación global de los tipos de agujeros de seguridad que permiten algún tipo de
acceso a los sistemas en remoto.
- Ataques contra servicios con autenticación, fuerza bruta.
- PAM : Pluggable Authentication Modules.
- Desbordamiento de memoria (Buffer overflow)
- Vulnerabilidades en scripts
- Vulnerabilidades de las aplicaciones servidoras
- Vulnerabilidades en clientes
- Caballos de Troya
- Analizadores de Seguridad
PRÁCTICAS
1.- Servicios con autenticación
Se confeccionará un diccionario para mostrar cómo realizar un ataque contra servicios
con autenticación mediante fuerza bruta.
2.- Desbordamiento de memoria
Se explotarán algunos desbordamientos de memoria recientemente descubiertos en
aplicaciones servidoras para comprobar la ejecución remota de comandos.
3.- Aplicaciones servidoras y scripts
Se buscarán en Internet servidores que posean vulnerabilidades conocidas y recientes en
servidores Apache/Netscape.
Se explotara vulnerabilidades en otros servicios ( FTP, IMAP, SMTP, PROXY, Xwindow, ... )
4.- Aplicaciones cliente
Se explican sobre real algunos de los fallos de seguridad del navegador Netscape
5.- Caballos de Troya
Se mostrarán distintos Caballos de Troya para ilustrar el uso de este tipo de software
malicioso.
6.- Analizadores de seguridad
Se mostrarán distintos analizadores de seguridad, los cuales realizan de manera
automática varios de los ataques explicados anteriormente ( Nessus, Satan ).
6. CONTROL TOTAL DE UN SERVIDOR UNIX
Mediante las técnicas explicadas en el módulo anterior el intruso habrá obtenido algún
tipo de acceso al servidor victima. Una vez que se ha obtenido el acceso, el intruso
pretenderá ampliar sus privilegios y controlar totalmente la máquina. Una vez que haya
conseguido esto, intentará evitar ser detectado e instalará puertas traseras que le
permitan entrar al sistema victima en el futuro.
- Aumento de privilegios
- Localización de contraseñas y uso (Password cracking)
- Comandos r*. ( Hijacking de sesion )
- Sudo, setuid y setguid
- Instalación de control remoto. Puertas traseras
- Kernel Hacks
- Ocultación de puertas traseras. Rootkit
- Borrado de pistas y logs ( wipe , zappers )
PRÁCTICAS
1.- Averiguadores de contraseñas
Se comprobará la eficacia de los averiguadores de contraseñas en local. Se provocarán
ataques mediante diccionario y mediante ataques de fuerza bruta. Se mostrará dónde
obtener las contraseñas que sirvan como entrada en estos programas.
2.- Puertas traseras
Se instalará en remoto una puerta trasera que permita tener una línea de comandos con el
servidor víctima. Una vez logrado el control, se procederá a obtener una interfaz
gráfica de la máquina atacada.
3.- Ocultación de puertas traseras
Se instalará un rootkit que modifica el comportamiento de programas de administración
para que las herramientas del intruso pasen inadvertidas.
7. CONFIGURACIÓN DE UNIX COMO SERVIDOR BASTIÓN
Hasta este módulo cada aspecto de la seguridad se ha visto desde ambos lados, intruso y
administrador. En este módulo final se dan las pautas mínimas necesarias para configurar
un servidor con UNIX de forma segura o como comúnmente se llama, como servidor BASTIÓN.
Es un resumen practico de todo lo visto a lo largo de los anteriores módulos y servirá
de punto de partida a los Administradores para mejorar su seguridad.
- Prevención / Detección / Recuperación
- Aislamiento físico y de protocolo
- Configuración de los servicios
- TCPWrappers
- Servicio WEB
- Telnet / Ftp / Comados r* / Etc.
- Sistema de archivos
- Compartición de recursos
- Administración
- Cuenta del administrador
- Política de contraseñas
- Administración segura: SSH
- Auditoria de sistema y red
- Copias de Seguridad
- Filtrado de paquetes TCP/IP
- Instalación de parches
PRÁCTICAS
1.- Servidor BASTION
A modo de lista de chequeo, a lo largo del módulo se revisará la configuración de cada
servidor para que el asistente la modifique para hacerla segura.
2.- Protección/Ataque. Simulación real.
A modo de juego se realizarán dos grupos y se configurarán dos servidores con unos
requisitos mínimos de servicios a ofrecer. A continuación se procederá por parte de
cada grupo al bastionado de su sistema en un tiempo límite y una vez finalizado este
tiempo se procederá al ataque del servidor del grupo contrario. |