Upload
others
View
13
Download
0
Embed Size (px)
Citation preview
128
CAPITULO V
PROPUESTA
Para finalizar, en este capítulo se presenta la propuesta que contempla el
diseño por el cual esta investigación ha surgido, donde se detalla la
descripción de la misma, los objetivos que se pretenden cubrir, el alcance, su
justificación, cómo va a estar estructurado el diseño conceptual, qué beneficios
traerá la propuesta y por último la factibilidad teórica de ésta.
1. OBJETIVOS DE LA PROPUESTA
En este apartado, se expondrán los objetivos que tendrán lugar en la
propuesta del diseño de un modelo de auditoría para redes de datos y servicios
telemáticos en la Universidad Simón Bolívar, que pretende ser propuesto por
el autor de este trabajo de grado con el objeto de subsanar las brechas de
seguridad y de garantizar la continuidad de las operaciones sin que la misma
se vea seriamente afectada o comprometida.
1.1 OBJETIVO GENERAL
Proponer un modelo de auditoría para servicios telemáticos en la
Universidad Simón Bolívar.
1.2 OBJETIVOS ESPECÍFICOS
Proporcionar las herramientas y pasos necesarios para auditar la red
de datos y servicios telemáticos de la Universidad Simón Bolívar.
129
Determinar la factibilidad del modelo propuesta para auditar la
seguridad en la red de datos y servicios telemáticos de la Universidad
Simón Bolívar.
Diagnosticar las vulnerabilidades de seguridad en la red de datos y
servicios telemáticos de la Universidad Simón Bolívar.
2. JUSTIFICACIÓN DE LA PROPUESTA
La siguiente propuesta, consiste en llevar a cabo el diseño de un modelo
de auditoría para redes de datos y servicios telemáticos en la Universidad
Simón Bolívar de manera conceptual y que tiene la intención de cubrir la
necesidad latente que existe de conocer las vulnerabilidades y amenazas que
los delincuentes informáticos tarde o temprano aprovecharan para de alguna
manera dañar la casa de estudio. La propuesta busca proporcionar las
herramientas y pasos necesarios para auditar la red de datos y servicios
telemáticos de la Universidad, valiéndose de metodologías ampliamente
aceptadas por la comunidad profesional y totalmente libres.
Es por eso que el siguiente modelo proporciona lo que para el autor son
las fases a seguir en una auditoría técnica a la red de datos y servicios
telemáticos en la Universidad Simón Bolívar. El modelo de auditoria también
se encargara de proponer diferentes herramientas que pueden hacerse uso
en cada fase del proceso y de esta manera permitir al personal técnico de la
institución aplicar el modelo de manera efectiva y rápida, que permita resolver
las vulnerabilidades y amenazas encontradas disminuyendo los riesgos
informáticos.
130
3. PRESENTACIÓN DE LA PROPUESTA
Realizado el estudio de la situación actual y teniendo definidos los
ambientes específicos que posee la Universidad Simón Bolívar se
proponen cuatro (4) grandes bloques que permitan cumplir a cabalidad
con las evaluaciones necesarias.
Figura 6 Diagrama de modelo de auditoria a servicios telemáticos
Fuente: Elaboración Propia (2016)
131
3.1 AUDITORIA FÍSICA
3.1.1 Revisión de Perímetro
Este es un método para evaluar la seguridad física de una organización y
sus bienes, verificando las medidas de seguridad de su perímetro físico.
1. Trazar mapa del perímetro físico
2. Trazar mapa de las medidas de protección físicas (cercas, puertas,
luces.)
3. Trazar mapa de las rutas de acceso y/o métodos físicos
4. Trazar mapa de las áreas no monitoreadas
3.1.2 Revisión de monitoreo
Este es un método para descubrir puntos de acceso monitoreados, a una
organización y sus bienes, por medio del descubrimiento de custodia y
monitoreo electrónico.
1. Enumerar los dispositivos de monitoreo
2. Trazar mapa de sitios protegidos y rutas recorridas
3. Trazar mapa de áreas monitoreadas y no monitoreadas
4. Examinar los dispositivos de monitoreo en búsqueda de limitaciones y
vulnerabilidades
5. Examinar posibles ataques de denegación de servicio sobre los
dispositivos de monitoreo
3.1.3 Evaluación de Controles de Acceso
Este es un método para evaluar los privilegios de acceso a una
organización y a sus bienes a través de puntos de acceso físicos.
132
1. Enumerar áreas de control de acceso
2. Examinar dispositivos y tipos de control de acceso
3. Examinar tipos de alarmas
4. Determinar el nivel de complejidad en un dispositivo de control de acceso
5. Determinar el nivel de privacidad en un dispositivo de control de acceso
6. Examinar los dispositivos de control de acceso en búsqueda de puntos
débiles y vulnerabilidades
7. Examinar posibles ataques de denegación de servicio sobre los
dispositivos de control de acceso
3.1.4 Revisión de Respuesta de Alarmas
Este es un método para descubrir procedimientos y equipos de alarmas en
una organización por medio del descubrimiento de custodia y monitoreo
electrónico.
1. Enumerar los dispositivos de alarmas
2. Trazar mapa de procedimientos de detonación de alarmas
3. Trazar mapa de precauciones de seguridad activados por alarmas
4. Descubrir las personas involucradas en un procedimiento de alarma
5. Evaluar el incremento de alarma
6. Examinar la activación y desactivación de alarmas
7. Examinar los dispositivos de alarmas en búsqueda de limitaciones y
puntos débiles
8. Examinar posibles ataques de denegación de servicio sobre los
dispositivos de alarma
9. Examinar posibles ataques de denegación de servicio sobre los
procedimientos de alarma
133
3.1.5 Revisión de Ubicación
Este es un método para obtener acceso a una organización o a sus bienes,
a través de puntos débiles en su ubicación y en su protección contra elementos
externos.
1. Enumerar las áreas de la organización que son visibles (Línea de visión)
2. Enumerar las áreas dentro de la organización que son audibles
(Escuchas electrónicas, con láser y otros dispositivos)
3. Examinar las áreas de la ubicación referentes a las entradas por
abastecimiento en búsqueda de puntos débiles y vulnerabilidades
4. Listar las empresas y empleados de abastecimiento
5. Listar las empresas y empleados de limpieza
6. Listar días y horarios de los ciclos de entregas
7. Listar días y horarios de los ciclos de visitantes
3.1.6 Revisión de Entorno
Este es un método para ganar acceso o dañar a una organización o sus
bienes, a través de puntos débiles en su entorno.
1. Examinar las condiciones de la región respecto de los desastres
naturales
2. Examinar las condiciones del entorno político
3. Examinar los procedimientos de resguardo y recuperación
4. Identificar puntos débiles y vulnerabilidades en los procedimientos de
resguardo y recuperación
5. Identificar posibles ataques de denegación de servicio en los
procedimientos de resguardo y recuperación
6. Examinar impedimentos físicos y electrónicos frente a distintas
condiciones climáticas
134
7. Comparar procedimientos operacionales con las leyes, costumbres y
ética regional
3.2 AUDITORIA A SERVIDORES Y LABORATORIOS
Respecto de un servidor informático se puede decir que es seguro si está
fuera de peligro, es decir está protegido. Pero, conseguir llegar a esta situación
es prácticamente imposible. No existe un sistema completamente seguro.
Todos los sistemas tienen sus vulnerabilidades, bien del propio sistema
operativo o de las aplicaciones ejecutadas sobre él.
Resulta necesario establecer que la seguridad no es un producto, algo que
viene ya armadito y para llevar. Se trata, más bien, de un proceso en la que el
usuario juega un rol central. En otras palabras, la seguridad es un estado que
debe ser mantenido activamente a través de una interacción adecuada y
responsable entre el usuario y el software y/o sistema operativo instalado.
Ningún software o sistema operativo es capaz de aportar ningún tipo de
seguridad si el administrador tiene configuraciones por defecto o sistemas no
actualizados.
Dicho esto, sí es cierto que hay programas y sistemas operativos más
seguros que otros en tanto tienen menos agujeros o vulnerabilidades, se
actualizan más rápido y, en términos generales, hacen la vida más difícil a los
atacantes. Es en este sentido se pudiera decir, por ejemplo, que Linux es más
seguro que Windows, pero como se viene diciendo no hay sistema 100 %
seguro y Linux no se salva de estas estadísticas. Todos los servidores de la
Universidad Simón Bolívar, independientemente de la distribución se
encuentran en Linux y de aquí se hace tan importante el análisis de los
mismos. El proceso de auditoría a servidores cumple con las 5 fases
principales de un proceso de penetración a sistemas
135
Figura 7 Fases de auditoria a servidores y laboratorios
Fuente: Elaboración Propia (2016)
3.2.1 Recolección de información.
En este módulo se introduce el tema de las técnicas de recopilación de
información a nivel general, las cuales más tarde serán la base para los
procesos de Explotación y Post Explotación. El Éxito del Ataque Futuro,
dependerá en gran medida del desarrollo de esta primera fase. La recolección
de información, también es conocida como Reconocimiento. La recopilación
de información es una de las etapas más importantes de la auditoria de
seguridad. Aquí es donde el auditor o atacante reúne información básica
acerca del objetivo con el propósito de poder lanzar el ataque o la auditoria
más adelante.
Un aspecto de gran relevancia en el proceso de recolección de información,
es registrar en el informe técnico que se le va a entregar a la dirección de
tecnología de la Universidad Simón Bolívar, la forma en que la información fue
Recoleccion de Informacion
Escaneo y enumeracion
Analisis de Vulnerabilidades
Explotacion
Post-Explotacion
136
descubierta. Hay diversa maneras de descubrir información en un proceso de
auditoría informática. Algunas de las maneras son
Información pública suministrada por el personal de la empresa
Identificada por búsquedas en google
Por medio de una trasferencia de zona DNS
Examinar la información del registro de dominio en busca de servidores.
Consultar los servidores de nombres primario, secundario y del ISP en
busca de hosts y subdominios.
Encontrar bloques de IPs Ipv6 utilizados a través de consultas a los
DNS.
Examinar la pared externa de la red.
Inspeccionar mensajes de grupos de noticias y listas de distribución en
busca de eventos de los sistemas de la organización a analizar.
Examinar el código fuente y scripts del servidor web en busca de
servidores de aplicación y enlaces internos.
Examinar las cabeceras de los correos electrónicos, los mensajes
devueltos y los destinatarios de las alertas y eventos del sistema de los
servidores.
Buscar información sobre la organización a analizar en los grupos de
noticias.
3.2.1.1 Herramientas básicas
Son muchas las herramientas y protocolos de red disponibles para realizar
recolección de información, algunas herramientas combinadas con técnicas de
ataque o auditoria, funcionan muy bien.
137
WHOIS
El protocolo WHOIS, aunque es un antiguo protocolo, aún sigue
suministrando información importante a un atacante o a un auditor Informático.
Este protocolo esta por defecto presente en muchos sistemas operativos,
como Linux por ejemplo.
PING
Otra comando de red importante y que está presente en casi todos los
sistemas operativos es el Ping (Utilidad de diagnóstico de red) . Por ejemplo si
se quiere saber la dirección IP de un sitio web o host en especial, el comando
ping seria de mucha utilidad.
TRACERT
Otra utilidad importante en el procesos de recolección de información es el
comando o herramienta de diagnóstico tracert, el cual permite realizar un
procesos de trazado de paquetes y ruta entre un host origen y un host destino,
con lo cual el atacante o auditor informático puede obtener información
relevante al respecto de la víctima o empresa que se está auditando. La
herramienta es llamada tracert en sistemas operativos Windows, y traceroute
en sistemas operativos GNU/Linux
NSLOOKUP
Nslookup es un programa utilizado para saber si el DNS está resolviendo
correctamente los nombres y las IPs. Se utiliza con el comando nslookup, que
funciona tanto en Windows como en UNIX para obtener la dirección IP
conociendo el nombre, y viceversa.
PASSIVERECON
Mozilla Firefox tiene una gran cantidad de seguridad complementos en
forma de plugins. Uno de estos potentes plug-in OSINT es PassiveRecon.
138
Como su nombre indica, esta herramienta no consulta el dominio
directamente. De hecho, busca todas las bases de datos públicas para recabar
la mayor información posible sobre el objetivo. PassiveRecon proporciona
información whois, los registros MX, información de DNS, y otros datos útiles.
De manera significativa, debido a la naturaleza pasiva del PassiveRecon, el
propietario del dominio que se está consultando no es alertado.
THE HARVESTER
The Harvester es una herramienta para recopilar cuentas de correo
electrónico, nombres de usuario y nombres de host o subdominios de
diferentes fuentes públicas como motores de búsqueda y los servidores de
claves PGP. Esta herramienta está destinada a ayudar a los probadores de
penetración en las primeras etapas del proyecto, es una herramienta muy
simple, pero muy eficaz.
RECON-NG
Recon-ng es un framework de reconocimiento web escrito en Python. Entre
sus características principales se enumeran los módulos independientes,
interacción con base de datos, construcción con funciones confortables, ayuda
interactiva, y completado de comandos. Recon-ng proporciona un poderoso
entorno en el cual se puede realizar reconocimientos open source basado en
web de manera rápida y total.
3.2.2.1 Escaneo y enumeración. Es la segunda fase del proceso de auditoría y consiste en él envió de
paquetes de red a un equipo o host, con el objetivo de identificar el estado de
los puertos TCP o UDP de una máquina. Un puerto en una maquina tiene
varios estados, entre los cuales se puede distinguir Abierto, cerrado o filtrado,
mediante un proceso de escaneo de puertos, además de identificar el estado
139
de los puertos se pueden ver los servicios activos en esos puertos, firewall,
IDS y sistemas operativos.
Objetivos en el escaneo de puertos y servicios
Detectar sistemas vivos corriendo o ejecutando procesos en una red
Descubrir que puertos están abiertos o tienen programas/servicios en
ejecución.
Descubrir huellas de sistemas operativos, o lo que se conoce como OS
Descubrimiento de direcciones IP en la red o sistema planteado como
objetivo o blanco de ataque.
Identificar Banners
Arquitectura del Sistema evaluado.
3.2.2.2 Herramientas
NMAP
Nmap es una herramienta de código abierto para exploración de red y
auditoría de seguridad. Se diseñó para analizar rápidamente grandes redes,
aunque funciona muy bien contra equipos individuales. Nmap utiliza paquetes
IP en formas originales para determinar qué equipos se encuentran
disponibles en una red, qué servicios (nombre y versión de la aplicación)
ofrecen, qué sistemas operativos (y sus versiones) ejecutan, qué tipo de filtros
de paquetes o cortafuegos se están utilizando así como docenas de otras
características. Nmap tiene muchos tipos de sondeo de puertos, se
mencionaran los que se recomienda.
-sS (sondeo TCP SYN)
El sondeo SYN es el utilizado por omisión y el más popular por buenas
razones. Puede realizarse rápidamente, sondeando miles de puertos por
140
segundo en una red rápida en la que no existan cortafuegos. El sondeo SYN
es relativamente sigiloso y poco molesto, ya que no llega a completar las
conexiones TCP. También muestra una clara y fiable diferenciación entre los
estados abierto, cerrado, y filtrado. A esta técnica se la conoce habitualmente
como sondeo medio abierto, porque no se llega a abrir una conexión TCP
completa.
Se envía un paquete SYN, como si se fuera a abrir una conexión real y
después se espera una respuesta. Si se recibe un paquete SYN/ACK esto
indica que el puerto está en escucha (abierto), mientras que si se recibe un
RST (reset) indica que no hay nada escuchando en el puerto. Si no se recibe
ninguna respuesta después de realizar algunas retransmisiones entonces el
puerto se marca como filtrado. También se marca el puerto como filtrado si se
recibe un error de tipo ICMP no alcanzable.
-sT (sondeo TCP connect())
Es el sondeo TCP por omisión cuando no se puede utilizar el sondeo SYN.
Esto sucede, por ejemplo, cuando el usuario no tiene privilegios para enviar
paquetes en crudo o cuando se están sondeando redes IPv6. Nmap le pide al
sistema operativo subyacente que establezcan una conexión con el sistema
objetivo en el puerto indicado utilizando la llamada del sistema connect, a
diferencia de otros tipos de sondeo, que escriben los paquetes a bajo nivel.
Ésta es la misma llamada del sistema de alto nivel que la mayoría de las
aplicaciones de red, como los navegadores web o los clientes P2P, utilizan
para establecer una conexión.
Un IDS decente detectará este tipo de escaneo, pero la mayoría de los
equipos no tienen este tipo de sistemas de alarma. Sin embargo, muchos
servicios de los sistemas UNIX habituales añadirán una nota en el syslog, y
141
algunas veces con un mensaje de error extraño, dado que Nmap realiza la
conexión y luego la cierra sin enviar ningún dato. Los servicios realmente
patéticos morirán cuando esto pasa, aunque esto no es habitual. Un
administrador que vea muchos intentos de conexión en sus registros que
provengan de un único sistema debería saber que ha sido sondeado con este
método.
-sU (sondeos UDP)
Aunque la mayoría de los servicios más habituales en Internet utilizan el
protocolo TCP, los servicios UDP también son muy comunes. Tres de los más
comunes son los servicios DNS, SNMP, y DHCP (puertos registrados 53,
161/162, y 67/68 respectivamente. Es un error evitar es tipo de escaneo,
porque es muy frecuente encontrarse servicios UDP vulnerables y los
atacantes no ignoran estos protocolos. Afortunadamente, Nmap puede
utilizarse para hacer un inventario de puertos UDP. El sondeo UDP se activa
con la opción -sU. Puede combinarse con un tipo de sondeo TCP como el
sondeo SYN (-sS) para comprobar ambos protocolos al mismo tiempo.
Los sondeos UDP funcionan mediante el envío (sin datos) de una cabecera
UDP para cada puerto objetivo. Si se obtiene un error ICMP que indica que el
puerto no es alcanzable (tipo 3, código 3) entonces se marca el puerto
como cerrado. Si se recibe cualquier error ICMP no alcanzable (tipo 3, códigos
1, 2, 9, 10, o 13) se marca el puerto como filtrado. En algunas ocasiones se
recibirá una respuesta al paquete UDP, lo que prueba que el puerto
está abierto. Si no se ha recibido ninguna respuesta después de algunas
retransmisiones entonces se clasifica el puerto como abierto|filtrado. Algunos
otros tipos de escaneos que pueden hacerse con nmap son los siguientes
142
ZENMAP
Zenmap es la interfaz gráfica de usuario del escáner Nmap oficial de
seguridad, es aplicación libre y de código abierto que tiene como objetivo hacer
Nmap fácil de usar para principiantes vez que proporciona características
avanzadas para los usuarios experimentados de Nmap. Un creador de
comandos permite la creación interactiva de líneas de comandos de Nmap.
Los resultados del análisis se pueden guardar y ver más tarde. Los resultados
del análisis guardado se pueden comparar entre sí para ver en qué se
diferencian. Los resultados de los análisis recientes se guardan en una base
de datos.
ANGRY IP SCANNER
Es un simple y ligero software (no precisa de instalación) permite realizar
escaneos de rangos IP de donde se puede llegar a sacar mucha información
como dirección MAC de los ordenadores, nombre de la máquina, puertos
abiertos, entre otros. Tiene una característica particular y es que el programa
puede ampliarse con librerías DLLs que permitirán conocer nuevos
parámetros, como pudieran ser todos los recursos compartidos de cada uno
de los dispositivos de red.
SHODAN
Shodan es un es un motor de búsqueda que le permite al usuario encontrar
direcciones HTTP conectadas a Internet, no salen en las búsquedas de Google
o similares. Localiza cualquier dispositivo que sea visible en la Red, así que
también se pudiera definir como un buscador de Internet de las Cosas, porque
encuentra frigoríficos, alarmas, cámaras de seguridad, webcams, y cualquier
otro dispositivo conectado.
143
3.2.3 ANÁLISIS DE VULNERABILIDADES.
Es la etapa que permite establecer las vulnerabilidades de seguridad e
integridad de las redes de datos y servicios telemáticos. Es una solución bajo
demanda semi-automatizada que permite identificar las vulnerabilidades y
reducir las amenazas para la seguridad de la red. Impulsado por una base de
conocimientos de gran envergadura, proporciona una protección continua
contra las amenazas a la seguridad más recientes sin los enormes costos,
recursos y problemas de implementación asociados con el software
tradicional.
OPENVAS
Se trata de un framework que tiene como base servicios y herramientas
para la evaluación de vulnerabilidades y puede utilizarse de forma individual o
como parte del conjunto de herramientas de seguridad. Distribuciones como
Kali Linux ya cuentan con esta herramienta instalada de forma predefinida,
misma que puede ser utilizada a través de dos clientes, desde línea de
comandos (OpenVAS CLI) o una interfaz web).
NESSUS
Nessus es un programa de escaneo de vulnerabilidades en diversos
sistemas operativos. Consiste en un daemon, nessusd, que realiza el escaneo
en el sistema objetivo, y nessus, el cliente (basado en consola o gráfico) que
muestra el avance e informa sobre el estado de los escaneos. Nessus
comienza escaneando los puertos con su propio escáner de puertos para
buscar puertos abiertos y después intentar varios exploits para atacarlo. Las
pruebas de vulnerabilidad, disponibles como una larga lista de plugins, son
144
escritos en NASL (Nessus Attack Scripting Language, Lenguaje de Scripting
de Ataque Nessus por sus siglas en inglés), un lenguaje scripting optimizado
para interacciones personalizadas en redes.
3.2.4 EXPLOTACIÓN
Cuanto mejor se realizara el proceso de recolección de información y de
escaneo, incluido la parte de enumeración, más facilidad se tendrá a la hora
de llevar a cabo esta fase. Es un ataque directo a un objetivo tomando ventaja
de alguna vulnerabilidad encontrada. Es la cuarta fase de la auditoría. Es una
fase relativamente rápida pero si se puede afirmar que es una de las más
complejas más compleja ya que influye mucho la pericia del auditor.
Riesgos en el proceso.
Caídas de servicios
Caídas del sistema
Denegación de servicios
Perdidas de confidencialidad en datos
Perdidas de disponibilidad
Exposición de información confidencial
Impactos en la estabilidad del sistema evaluado
En este mismo orden de ideas y como primer paso se deben tomar las
vulnerabilidades arrojadas en la fase anterior por las herramientas antes vista
y buscar por aprovecharse de las mismas. La explotación de vulnerabilidades
puede ir desde la ejecución de código malicioso que se aprovecha de un hueco
en el desarrollo de un software hasta un ataque de fuerza bruta a contraseñas
mal implementadas, cada vulnerabilidad tiene su particularidad y es importante
probar cada una de ellas ya que muchas veces existirán falsos positivos en la
fase de anterior.
145
Existen muchos sitios donde buscar exploits que se aprovechan de las
vulnerabilidades, los recomendados son
- Http //www.exploit-db.com/
- Http //1337day.com/
- Http //www.rapid7.com/db/
- Http //www.cvedetails.com/
Herramienta de explotación automatizada.
El FrameWork de Metasploit es una herramienta de explotación de código
libre, desarrollado para ejecutar exploits a un objetivo remoto. Metasploit
cuenta con la mayor base de datos de exploits públicos y probados. Es una
herramienta bastante poderosa para las auditorias informáticas y es algo que
todo profesional de seguridad debe dominar.
Los pasos básicos para explotar vulnerabilidades usando Metasploit son
1. Elegir y configurar el Exploit (Código que permite aprovechar la
vulnerabilidad de un sistema)
2. Opcionalmente confirmar si el objetivo es susceptible al exploit elegido
3. Elegir y configurar el Payload (Código que se ejecutara una vez se
explote la vulnerabilidad)
4. Elegir la técnica de codificación para que un IDS ignore el Payload
5. Ejecutar el Exploit
3.2.5 POST – EXPLOTACIÓN
Una vez se compromete el sistema y se tiene acceso se debe buscar
identificar otros blancos de ataque y buscar conectarse a otros posibles
146
objetivos de ataque por intermedio del equipo que ha explotado de forma
inicial, el cuál incluso puede ser usado como enrutador para alcanzar otras
subredes, también se debe intentar aumentar el nivel de privilegios, si se
lograra violar los controles se puede crear un plan de acción para mitigar las
vulnerabilidades y evitar que sea un malintencionado el que logre
comprometer los sistemas.En el proceso de post-explotación, se debe tener
en cuenta
Dependiendo del sistema auditado, y una vez que se consigue el acceso,
en algunos casos se puede encontrar equipos conectados a dos redes
diferentes, que pueden ser atacadas a la vez, una vez que se recopile la
información necesaria.
Se debe de comenzar con nuevos procesos de auditoría relacionados con
Recolección de Información, escaneo de puertos, Análisis de
Vulnerabilidades, entre otros.
Es una fase crítica, puesto que es volver atacar un sistema ya accesado, e
intentar escalar privilegios para ver la posibilidad de tener un control total.
Herramientas
Use priv Este comando carga la extensión privilege para las bibliotecas
extendidas de meterpreter.
Getsystem Este comando intenta elevar permisos de acceso a nivel de
system en el sistema atacado.
Run persistence Una vez que el auditor de seguridad ha logrado escalar
privilegios en el sistema informático necesita asegurar dicho acceso por medio
de algún mecanismo, para no perder esa explotación una vez desconectado
del objetivo.
147
Keyscan Con esta utilidad es posible saber que ha digitado el usuario en
su máquina, de esta se obtiene fácilmente, claves, usuarios, direcciones,
mensajes, etc.
Migrate Permite migrar el proceso de Meterpreter a otro proceso activo, su
uso es muy simple basta con especificar un PID activo (que puede ser
consultado utilizando el comando ps de Meterpreter).
Killav En muchas ocasiones en la maquina objetivo existen programas de
antivirus instalados, lo que dificultará tareas comunes e inclusive triviales, por
esta razón existe el script killav que intentará terminar todos los procesos de
antivirus en el objetivo
Getdesktop Este comando permiten obtener el desktop del usuario actual,
establecerlo y enumerar las diferentes interfaces habilitadas en la maquina
objetivo, cada uno de los desktop están asociados a una sesión (normalmente
la sesión, 0 se relaciona con el usuario actualmente conectado y las demás
con usuarios remotos) una estación (que normalmente es la Windows Station)
y un nombre de Desktop, este nombre identifica la interfaz que se enseña al
usuario.
Hashdump El comando hashdump permite obtener los usuarios y el hash
de las contraseñas de la maquina remota en formato SAM, de esta forma se
puede buscar romper la clave de un usuario determinado usando herramientas
como john the ripper o ophcrack
Uictl el comando uictl permite habilitar/deshabilitar el ratón y el teclado de
la maquina destino, de esta forma, se puede controlar las acciones que el
usuario realiza.
3.3 AUDITORIA A SERVICIOS WEB
Una prueba de intrusión es un método de evaluación de la seguridad de un
sistema de ordenadores o una red mediante la simulación de un ataque,
específicamente una prueba de intrusión de aplicación web está enfocada
148
solamente a evaluar la seguridad de una aplicación web. El proceso conlleva
un análisis activo de la aplicación en busca de cualquier debilidad, fallos
técnicos o vulnerabilidades. Cualquier incidencia de seguridad que sea
encontrada será presentada al propietario del sistema, junto con una
evaluación de su impacto, y a menudo con una propuesta para su mitigación
o una solución técnica.
En este orden de ideas se puede decir que las pruebas de intrusión nunca
serán una ciencia exacta mediante la cual se pueda definir una lista completa
de todas las incidencias posibles que deberían ser comprobadas. De hecho,
las pruebas de intrusión son sólo una técnica apropiada para comprobar la
seguridad de aplicaciones web bajo ciertas circunstancias. Se debe pues
resaltar que el presente modelo se basa en la metodología de pruebas de
intrusión de aplicación web OWASP que buscan un enfoque de acercamiento
de caja negra. Para el presente modelo se han dividido el conjunto de pruebas
en 7 subcategorías
Pruebas de gestión de la configuración de la infraestructura
Pruebas de Autenticación
Pruebas de Autorización
Pruebas de gestión de sesiones
Pruebas de validación de datos
Pruebas de denegación de Servicio
Pruebas de Servicios Web
3.3.1 Pruebas de gestión de configuración de la infraestructura
A menudo los análisis sobre la infraestructura o la topología de la
arquitectura pueden revelar datos importantes sobre una aplicación Web. Se
149
pueden obtener datos como por ejemplo el código fuente, los métodos HTTP
permitidos, funcionalidades administrativas, métodos de autenticación y
configuraciones de la infraestructura.
Pruebas de SSL/TLS
SSL y TLS son dos protocolos que proporcionan, con soporte criptográfico,
canales seguros para la protección, confidencialidad y autenticación sobre la
información que se transmite. Por considerarse críticas estas
implementaciones de seguridad, es importante verificar la utilización de un
algoritmo de cifrado fuerte, y su correcta implementación.
Pruebas del receptor de escucha de la BD
Durante la configuración del servidor de base de datos, muchos
administradores de bases de datos no tienen en consideración la seguridad
del receptor de escucha. Este componente podría revelar información sensible
como por ejemplo las configuraciones o las instancias de base de datos en
ejecución en caso de encontrarse incorrectamente configurado o analizado
mediante técnicas manuales o automáticas. La información mostrada podría
ser de gran utilidad a la hora de realizar seguidamente otras pruebas que
supongan un mayor impacto.
Pruebas de gestión de configuración de la infraestructura
La complejidad intrínseca de la infraestructura del servidor web
interconectada y heterogénea, que podría contar con cientos de aplicaciones
web, hace que la gestión de la configuración y su correspondiente revisión sea
un paso fundamental en el análisis y en el despliegue de cada una de las
aplicaciones. De hecho, una simple vulnerabilidad podría minar la seguridad
de la totalidad de la infraestructura, e incluso los problemas más pequeños y
de menor importancia podrían suponer un gran riesgo para otras aplicaciones
150
del mismo servidor. Para poder identificar estos problemas, lo más importante
es llevar a cabo una revisión de la configuración con detalle y de problemas
conocidos de seguridad.
Pruebas de gestión de configuración de la aplicación
Las aplicaciones web esconden información que no son generalmente
considerados durante el desarrollo o la configuración de la aplicación en sí.
Estos datos pueden ser descubiertos en el código fuente, en archivos de
registro o en los códigos de error predeterminados de los servidores web. El
planteamiento correcto de este tema es fundamental durante un análisis de
seguridad.
Gestión de extensiones de archivo
Las extensiones de los ficheros que se encuentran en el servidor o en una
aplicación, hacen posible el identificar las tecnologías en las que se basa la
aplicación que se quiere analizar, por ejemplo, extensiones jsp y asp. Las
extensiones de los ficheros también pueden mostrar sistemas adicionales que
se conectan a la aplicación.
Archivos antiguos, copias de seguridad y sin referencias
Los ficheros redundantes, legibles y descargables de un servidor web,
como por ejemplo antiguos, copias de seguridad y renombrados, son una
fuente importante de información. Es necesario verificar la existencia de estos
ficheros porque podrían contener partes importantes del código fuente, rutas
de instalación así como contraseñas tanto de las aplicaciones como de las
bases de datos.
151
Interfaces de administración de la infraestructura y de la aplicación
Muchas aplicaciones utilizan una ruta común para los paneles de
administración que podrían ser utilizados para adivinar o realizar fuerza bruta
sobre contraseñas de administración. Estas pruebas se realizan para buscar
interfaces de administración y para comprobar la posibilidad de explotarlos
para conseguir acceso a funcionalidades de administración.
Métodos HTTP y XST
En este punto se comprueba que el servidor web no esté configurado para
permitir los órdenes (métodos) HTTPpotencialmente peligrosos y que no es
posible el Cross Site Tracing (XST)
3.3.2 Comprobación del sistema de autenticación
Autenticación es el acto de establecer o confirmar algo (o alguien) como
auténtico, es decir, que las afirmaciones hechas por o sobre tal cosa son
ciertas. Autenticar un objeto puede significar confirmar su procedencia,
mientras que autenticar a una persona consiste a menudo en verificar su
identidad. La autenticación depende de uno o más factores de autenticación.
En seguridad informática, autenticación es el proceso de intentar verificar la
identidad digital del remitente de una comunicación. Un ejemplo común de un
proceso así es el proceso de registro en un sistema. Comprobar el sistema de
autenticación significa comprender como funciona el proceso de autenticación
y usar esa información para eludir el mecanismo de autenticación.
Transmisión de credenciales a través de un canal cifrado
En este punto, la persona a cargo de las pruebas intentará averiguar si la
información que introducen los usuarios en un formulario web, con el fin de
152
poder autenticarse en la aplicación, es transmitida utilizando protocolos
seguros que la protegen de un atacante o no.
Enumeración de usuarios
Con esta prueba se verificará si es posible recopilar un conjunto válido de
usuarios, interactuando con el mecanismo de autenticación de la aplicación.
Esta prueba resultará útil para las pruebas mediante fuerza bruta, en las cuales
se verifica si dado un usuario válido, es posible obtener la contraseña
correspondiente.
Pruebas de diccionario sobre cuentas de Usuario o cuentas
predeterminadas
Aquí se comprueba si hay cuentas de usuario predeterminadas o
combinaciones de usuario/contraseña fácilmente adivinables (pruebas de
diccionario)
Pruebas de Fuerza Bruta
Cuando un ataque de diccionario falla, la persona a cargo de las pruebas
puede intentar utilizar métodos de fuerza bruta para conseguir autenticación.
Las pruebas de fuerza bruta no son fáciles de llevar a cabo, debido al tiempo
requerido y el posible bloqueo de la persona que esté realizando las pruebas.
Saltarse el sistema de autenticación
Otro método pasivo de comprobación es intentar saltarse el sistema de
autenticación, reconociendo si todos los recursos de la aplicación están
protegidos adecuadamente. La persona que realiza las pruebas puede
acceder a esos recursos sin mediar autenticación.
153
Comprobar Sistemas de recordatorio/restauración de contraseñas
vulnerables
En esta sección, se comprueba como la aplicación gestiona el proceso de
contraseña olvidada. También es necesario comprobar si la aplicación permite
al usuario almacenar la contraseña en el navegador (función de recordar
contraseña).
Pruebas de gestión del Caché de Navegación y de salida de sesión
Se comprueba si las funciones de cierre de sesión y caché están
implementadas correctamente.
Pruebas de CAPTCHA
El CAPTCHA (Prueba de Turing pública y automática para diferenciar a
máquinas y humanos) es una prueba desafío respuesta utilizada por múltiples
aplicaciones web para asegurar que la respuesta no se ha generado por un
ordenador. A menudo las implementaciones de CAPTCHA son vulnerables a
diferentes tipos de ataques incluso si el CAPTCHA generado es irrompible.
Esta sección ayudará a identificar este tipo de ataques.
Múltiples factores de autenticación
La autenticación mediante múltiples factores se refiere a analizar los
siguientes casos testigos generadores de contraseñas de un único uso (OTP
- One-time password), dispositivos criptográficos como por ejemplo testigos
USB o smart cars, equipados con certificados X.509, contraseñas de un solo
uso aleatorias enviadas por SMS, información personal la cual se supone que
únicamente conoce el usuario legítimo (conocida como OUTOFWALLET)
154
Probar por situaciones adversas
Una condición de carrera es un fallo que produce un resultado inesperado
cuando la duración de determinadas acciones impacta sobre otras. Como
ejemplo se puede tomar el de una aplicación multi-hilo cuyas acciones son
realizadas sobre los mismos datos. Las condiciones de carrera, por su propia
naturaleza, son muy complicadas de analizar.
3.3.3 PRUEBAS DE AUTORIZACION
Autorización es el concepto de permitir el acceso a recursos únicamente a
aquellos que tienen permiso para ello. Las pruebas de Autorización significan
entender cómo funciona el proceso de autorización, y usar esa información
para saltarse el mecanismo de autorización. La Autorización es un proceso
que llega después de una Autenticación correcta, por lo que el evaluador
verificará este punto después de tener credenciales validas, asociadas a un
conjunto de perfiles y privilegios bien definidos. Durante este tipo de
evaluaciones, debe verificarse si es posible evitar el sistema de autorización,
encontrar una vulnerabilidad de traspaso de rutas, o encontrar maneras de
escalar los privilegios asignados al evaluador.
Pruebas de ruta transversal
Primero, se probara si es posible encontrar la manera de ejecutar ataques
de traspaso de rutas y acceder a información reservada.
Pruebas para saltarse el esquema de autorización
Este tipo de pruebas se basa en verificar como el sistema de autorización
ha sido implementado para cada perfil/privilegio para obtener acceso a
funciones/recursos reservados.
155
Pruebas de escalar de privilegios
Durante esta fase, el evaluador debe verificar que no es posible para un
usuario modificar sus privilegios/perfil dentro de la aplicación de manera que
permitan ataques de escalada de privilegios.
3.3.4 PRUEBAS DE GESTIÓN DE SESIONES
La gestión de sesiones cubre ampliamente todos los controles que se
realizan sobre el usuario, desde la autenticación hasta la salida de la
aplicación. HTTP es un protocolo sin estados, lo que significa que los
servidores web responden a las peticiones de clientes sin enlazarlas entre sí.
Incluso la lógica de una simple aplicación requiere que las múltiples peticiones
de un usuario sean asociadas entre sí a través de una sesión.
Pruebas para el esquema de gestión de sesiones
Este apartado describe como analizar el esquema de gestión de sesiones,
con el objetivo de entender como el mecanismo de Gestión de Sesiones ha
sido desarrollado y, si es posible, romperlo para saltar la sesión de usuario.
Explica como probarla seguridad de los testigos de sesión expedidos al
navegador del cliente como aplicar ingeniería inversa a una cookie, ycomo
manipular cookies para robar una sesión.
Pruebas para atributos de sesión
Las cookies son comúnmente un vector de ataque clave para usuarios
maliciosos (típicamente, teniendo otros usuarios como objetivo) y, como tal, la
aplicación debe siempre tener la debida diligencia para proteger las cookies.
En esta sección, se verá como una aplicación puede tener las precauciones
necesarias al asignar cookies y como probar que estos atributos han sido
configurados correctamente.
156
Pruebas para fijación de sesión
Cuando una aplicación no renueva la cookie después de una autenticación de
usuario exitosa, podría ser posible encontrar una vulnerabilidad de fijación de
sesión (session fixation) y forzar un usuario a utilizar una cookie conocida por
el atacante
Pruebas para variables de sesión expuestas
Los testigos de sesión representan información confidencial porque ligan la
identidad del usuario con su propia sesión. Es posible probar si el testigo de
sesión está expuesto a esta vulnerabilidad y tratar de crear un ataque de
repetición de sesión.
Pruebas para CSRF
Cross Site Request Forgery describe una forma de forzar a un usuario a
ejecutar acciones no deseadas en una aplicación Web en la que se encuentra
actualmente autenticado. Esta sección describe como probar una aplicación
para encontrar este tipo de vulnerabilidad.
3.3.5 PRUEBAS DE VALIDACIÓN DE DATOS La debilidad más común en la seguridad de aplicaciones web, es la falta
de una validación adecuada de las entradas procedentes del cliente o del
entorno de la aplicación. Esta debilidad conduce a casi todas las principales
vulnerabilidades en aplicaciones, como inyecciones sobre el intérprete,
ataques locale/Unicode, sobre el sistema de archivos y desbordamientos de
búfer. El problema es que en una aplicación compleja, los puntos de acceso
para un atacante se incrementan en número, y es fácil que te olvides de
implementarla. Se divide la validación de datos en las siguientes categorías
principales
157
Cross Site Scripting
Se trata de pruebas de Cross Site Scripting (XSS) cuando se intentan
manipular los parámetros de entrada que recibe la aplicación para que genere
una salida maliciosa. Se identifica un XSS cuando la aplicación no valida la
entrada y genera la salida que controlada por el atacante. Esta vulnerabilidad
genera varios tipos de ataques, por ejemplo, robar información confidencial
(tales como cookies de sesión) o tomando control del navegador de una
víctima.
Se debe validar la aplicación contra los siguientes ataques
Pruebas de XSS Reflejado
Pruebas de XSS Almacenado
Pruebas de XSS basado en DOM
Pruebas de XSS basado en Flash
Inyección SQL
Se trata de pruebas de Inyección SQL cuando se intenta inyectar una
determinada consulta SQL directamente en la Base de Datos. Por eso es que
se encuentra una vulnerabilidad SQL si la aplicación utiliza entradas de usuario
para crear consultas SQL, sin que la aplicación haga una validación adecuada
de los datos. Una explotación exitosa de esta clase de vulnerabilidad permite
a un usuario no autorizado acceder o manipular datos en la base de datos. El
objetivo es manipular los datos en la base de datos, un recurso vital para todas
las empresas. Se deben validar que el sistema está protegido frente a los
siguientes ataques
Pruebas en Oracle
Pruebas en MySQL
Pruebas en SQL Server
Pruebas en Microsoft Access
Pruebas en PostgreSQL
158
Inyección LDAP
Las pruebas de inyección LDAP son similares a las de SQL las diferencias
son que se utiliza el protocolo LDAP en lugar de SQL y que el objetivo es un
Servidor LDAP en vez de un Servidor SQL. Una inyección LDAP explota el
siguiente patrón
Entrada -> Consulta LDAP == Inyección LDAP
Inyección ORM
También las pruebas de inyección ORM son similares a las de SQL, pero
en esta ocasión se usa una inyección SQL contra un modelo de objeto
generado de acceso a datos. Desde el punto de vista del atacante, este ataque
es virtualmente idéntico a un ataque de inyección SQL sin embargo, la
vulnerabilidad que facilita la inyección reside en el código generado por la
herramienta ORM.
Inyección XML
Se refiere a pruebas de inyección XML cuando se busca inyectar un
determinado documento XML en la aplicación si el intérprete XML falla al
realizar una validación adecuada de los datos, la prueba resultará positiva.Una
inyección XML explota el siguiente patrón
Entrada -> documento XML == Inyección XML
Inyección SSI
A menudo los servidores web ofrecen al desarrollador la posibilidad de
añadir pequeñas piezas de código dinámico dentro de páginas html estáticas,
sin tener que recurrir a lenguajes de programación completos, sean de
ejecución en el servidor o en el cliente. Esta característica se lleva a cabo
mediante los Server-Side Includes (SSI), unas extensiones muy simples que
pueden permitir a un atacante inyectar código dentro de páginas html, o incluso
realizar ejecución remota de código.
159
Inyección XPath
Xpath es un lenguaje que ha sido diseñado y desarrollado para operar
sobre datos descritos con XML. El objetivo de una prueba de inyección Xpath
es inyectar elementos Xpath en una consulta que utilice este lenguaje. Algunos
de los objetivos posibles son saltarse la autentificación o acceder a información
sin autorización.
Inyección IMAP/SMTP
Esta amenaza afecta a todas las aplicaciones que se comunican con
servidores de correo (IMAP/SMTP), generalmente aplicaciones de webmail. El
propósito de este test es verificar la capacidad de inyectar órdenes
IMAP/SMTP arbitrarios en los servidores de correo, debido a una validación
incorrecta de los datos de entrada.
Una inyección IMAP/SMTP explota el siguiente patrón
Entrada -> orden IMAP/SMTP == Inyección IMAP/SMTP
Inyección de código
Esta sección señala en efectuar una prueba para comprobar si es posible
introducir código como entrada en un página web y que éste sea ejecutado por
el servidor web.
Una inyección de Código explota el siguiente patrón
Entrada -> Código malicioso == Inyección de Código
Inserción de órdenes del sistema operativo
Es necesario probar una aplicación a la inserción de órdenes del sistema
operativo es decir, tratar de inyectar un orden a través de una petición HTTP
a la aplicación.
Una inyección de órdenes del sistema operativo explota el siguiente patrón
Entrada -> Orden del sistema == Inyección del orden
160
Prueba de desbordamiento de Búfer
Esta prueba es muy importante ya que se comprueba que la aplicación no
se vea afecta a estas de vulnerabilidades de desbordamiento de búfer (buffer
overflow). Los tipos más comunes de vulnerabilidad de desbordamiento de
búfer
Desbordamiento de memoria Heap (Heap overflow)
Desbordamiento de Pila (stack overflow)
Cadenas de Formato (Format strings)
En general, los desbordamientos de buffer explotan el siguiente patrón
Entrada -> Fixed buffer o format string == desbordamiento
Pruebas de vulnerabilidad incubada
La comprobación de vulnerabilidades incubadas es una prueba compleja
que necesita de más de una vulnerabilidad de validación de datos para
funcionar. En cada patrón mostrado, los datos deben ser validados por la
aplicación antes de ser considerados como confiables y procesados. El
objetivó aquí es comprobar si la aplicación realmente hace lo que debe hacer
y no hace lo que no debería hacer.
3.3.6 PRUEBAS DE DENEGACIÓN DE SERVICIO
El concepto fundamental de un ataque DoS de red es un usuario malicioso
inundando con suficiente tráfico una máquina objetivo para conseguir hacerla
incapaz de sostener el volumen de peticiones que recibe. Cuando el usuario
malicioso emplea un gran número de máquinas para inundar de tráfico una
sola máquina objetivo, se conoce generalmente como ataque denegación de
servicio Este tipo de ataques generalmente van más allá del alcance delo que
un desarrollador de aplicaciones puede evitar en su propio código.
161
Existen, sin embargo, tipos de vulnerabilidades dentro de las aplicaciones
que permiten a un usuario malicioso provocar que algunas funcionalidades o
a veces el site web completo queden no disponibles. Estos problemas son
causados por bugs en la aplicación, a menudo como resultado de entradas
maliciosas o valores de entrada no esperados. Las pruebas de DoS que se
ajustan al modelo son las siguientes
1. Denegación de servicio mediante ataques SQL Wildcard
2. Bloqueando Cuentas de Usuario
3. Desbordamientos de Búfer
4. Reserva de Objetos Especificada por Usuarios
5. Pruebas de Uso de Entradas de Usuario como Bucle
6. Pruebas de Escritura de Entradas Suministradas por Usuario a Disco
7. Fallar en la Liberación de Recursos
8. Pruebas de Almacenamiento Excesivo en la Sesión
3.3.7 COMPROBACIÓN DE SERVICIOS WEB Los servicios web y SOA (Arquitectura Orientada a Servicios) son
aplicaciones en expansión que están permitiendo que los negocios trabajen
juntos y crezcan a un ritmo sin precedentes. Los clientes de servicios web
generalmente no son frontales web, sino otros servidores. Los servicios web
están expuestos a la red como cualquier otro servicio, pero pueden ser
utilizados en HTTP, FTP, SMTP o acompañados de cualquier otro protocolo
de transporte. Los Frameworks de Servicios Web utilizan el protocolo HTTP
(como Aplicación Web estándar) junto con las tecnologías XML, SOAP, WSDL
y UDDI
Las vulnerabilidades en servicios web son similares a otras
vulnerabilidades como la inyección SQL, revelación de información, entre
162
otros, pero también tienen vulnerabilidades de XML únicas. Los siguientes
apartados describen las pruebas a realizar a los servicios Web
1. Obtención de Información en Servicios Web
2. Pruebas de WSDL
3. Pruebas estructurales de XML
4. Comprobación de XML a nivel de contenido
5. Comprobación de parámetros HTTP GET/REST
6. Adjuntos SOAP Maliciosos
7. Pruebas de Repetición
4. AUDITORIA INALAMBRICA
Esta auditoria esta enfocada para la verificación del acceso a redes
inalámbricas, las cuales se están popularizando cada vez más. Sin embargo
existen algunos problemas bastante comunes y alarmantes en la implantación
de estas tecnologías. Se debe principalmente a que estas redes se crean
rápida y fácilmente pero las medidas de seguridad no forman parte de la
configuración por defecto. Existen algunas medidas básicas para mejorar la
seguridad y algunas más drásticas a aplicar para conseguir unas WLANs
bastante seguras.
4.1 Controles
Los controles de seguridad a realizar, son todas aquellas verificaciones
técnicas que deben ser llevadas a cabo para analizar el riesgo de seguridad al
que está expuesta la universidad debido al uso de infraestructuras de
comunicaciones Wi-Fi dentro de su perímetro. La ausencia de una red
corporativa definida y desplegada no exime del riesgo, dado que la presencia
de dispositivos con capacidad de comunicación inalámbrica es suficiente por
163
sí misma para crear potenciales agujeros de seguridad. Se han estructurado
los controles de seguridad en 10 secciones bien diferenciadas:
Cuadro 22
Controles
Tipo de control Descripción de los controles Descubrimiento de dispositivos Recopilación de información sobre las
redes inalámbricas Fingerprinting Análisis de las funcionalidades de los
dispositivos de comunicaciones. Pruebas sobre la autenticación Análisis de los mecanismos de
autenticación Cifrado de las comunicaciones Análisis de los mecanismos de cifrado
de información Configuración de la plataforma Verificación de la configuración de las
redes Pruebas de infraestructura Controles de seguridad sobre la
infraestructura Wireless Pruebas de denegación de servicio Controles orientados a verificar la
disponibilidad del entorno Pruebas sobre directivas y normativa Análisis de aspectos normativos que
aplican al uso de las redes de Wi-Fi Pruebas sobre los clientes inalámbricos Ataques contra clientes inalámbricos
Pruebas sobre hostspots y portales cautivos
Debilidades que afectan al uso de portales cautivos.
Fuente: Elaboración propia (2016)
4.2 Descubrimiento de dispositivos
La etapa de identificación de dispositivos es la más importante en cualquier
análisis de seguridad, y más aún en redes Wi-Fi, dado que es necesario
identificar las estaciones de comunicaciones y las relaciones entre ellas como
base para empezar a evaluar los riesgos existentes. Se deben usar
herramientas de monitorización activa y pasiva de dispositivos para detectar y
clasificar las redes, ayudándose de tecnologías GPS para mapear la
información. Se han definido los siguientes controles en la fase de
descubrimiento:
164
Cuadro 23
Descubrimiento de dispositivos
Test Vulnerabilidad Descubrimiento de dispositivos WiFi no
autorizados Presencia de clientes no autorizados y
rogue APs Descubrimiento de redes ocultas Seguridad por oscuridad
Descubrimiento de preferencias de redes conocidas de clientes
Identificación de redes solicitadas por clientes
Identificación de relaciones no autorizadas entre dispositivos
Identificación de relaciones no autorizadas entre dispositivos
Descubrimiento activo de dispositivos Identificación de dispositivos mediante técnicas de descubrimiento activo
Fuente: Elaboración propia (2016)
Para realizar la tarea de descubrimiento es necesario contar con un
hardware o unos drivers específicos que permitan la captura de RAW frames
en modo monitor, de forma que se puedan ver los mensajes correspondientes
al estándar 802.11. Los APs siempre están emitiendo una serie de frames de
tipo Management llamados Beacons en los que publican información básica
acerca de las redes que están propagando. Esta información es utilizada por
los clientes para detectar la presencia de una red e iniciar la conexión con ella,
cuando los parámetros de seguridad de la red coinciden.
El nombre de la red Wi-Fi puede ser indicativo de su funcionalidad, cuando
por ejemplo incluye el nombre de la empresa o de departamentos, y puede
ayudar a un intruso a planificar un ataque más elaborado contra ella. Para
recopilar esta información de un primer vistazo se puede usar una herramienta
como airodump-ng en Linux, que viene incluida dentro de la suite de aircrack-
ng.
4.3 Fingerprinting
Tras la identificación de los dispositivos con capacidades Wi-Fi dentro del
área geográfica en donde se realiza el análisis, se debe extraer información
165
relevante de cada dispositivo. La recopilación de información y la clasificación
de los dispositivos se realizarán mediante el análisis de las tramas enviadas
por los dispositivos y mediante el análisis de respuestas frente a determinados
frames de datos. Se han definido los siguientes controles en la fase de
fingerprinting:
Cuadro 24
Fingerprinting
Test Vulnerabilidad Identificación del dispositivo. Obtención de información sobre el
hardware y software. Identificación de funcionalidades
soportadas por el dispositivo. Obtención de información sobre el
hardware y software. Enumeración de mecanismos de
autenticación radius (802.1x) Mecanismos de autenticación inseguros
Detección de Rogue APs Intrusos en redes Wi-Fi. Pruebas de client isolation Ataques a clientes.
Detección de ataques por parte de dispositivos Wi-Fi.
Intrusos en redes Wi-Fi.
Fuente: Elaboración propia (2016)
Hacer uso de una herramienta como WPSIG
root@unknow:~# ./wpsig.py --interface wlan0
Wi-Fi Protected Setup Information Gathering.
[00:22:6B:55:99:88] - 'xxxxxx' - 'Cisco-Linksys, LLC'
* WPS Information
* Device Name: 'Wireless-G Router'
* Wi-Fi Protected Setup State: 'Not Configured'
* Model Number: 'WRT54G2'
* Serial Number: 'CSV01Hxxxxxxx'
* Version: '1.0'
* Model Name: 'Router'
* Config Methods: 'Display, PushButton'
* Manufacturer: 'Linksys'
166
4.4 Pruebas sobre la autenticación La elección de mecanismos de autenticación seguros es una de las bases
principales para prevenir accesos no autorizados a redes Wi-Fi. El uso de
mecanismos de autenticación inseguros, o la elección de claves de acceso
débiles o fácilmente predecibles expone la seguridad de la red a un gran
número de ataques que permitan el acceso a la red corporativa. Los controles
definidos en esta sección son los siguientes:
Cuadro 25
Pruebas autenticación
Test Vulnerabilidad Detección de protección de acceso
basado en MAC. Autenticación contra redes Wi-Fi.
Pruebas sobre WPS Acceso no autorizado a redes Wi-Fi. Pruebas de downgrade del método de
autenticación Inseguridad en mecanismos de
autenticación. Captura y cracking de claves transmitidas en el proceso de
autenticación. Credenciales débiles.
Protocolos de autenticación inseguros (FAST-EAP,LEAP ,EAP-MD5,...)
Interceptación y descifrado de credenciales.
Pruebas de fuerza bruta de usuarios contraseñas de radius (802.1x) Credenciales débiles.
Pruebas de fuerza bruta de contraseñas contra el proceso de
autenticación (PSK)
Posibilidad de descifrar contraseñas débiles offline.
Debilidades en repositorio de credenciales
Acceso no autorizado y robo de credenciales.
Fuente: Elaboración propia (2016)
4.5 Cifrado de las comunicaciones
El cifrado usado en una red inalámbrica ayuda a proteger la
confidencialidad y la integridad de la información transmitida en una red
inalámbrica. Dado que en este entorno cualquier usuario que se encuentre
167
dentro del área de cobertura de una red inalámbrica puede monitorizar y
registrar el tráfico de red, el cifrado de las comunicaciones evita que un tercero
pueda interceptar las comunicaciones y extraer información sensible. Los
controles definidos en esta sección son los siguientes:
Cuadro 26
Cifrado de comunicaciones
Test Vulnerabilidad Captura y análisis de tráfico en red
abierta. Transmisión de información sensible.
Descifrado de trafico cifrado Transmisión de información insegura. Pruebas de análisis de información
transmitida a través de Wireless Obtención de información sensible.
Análisis de protocolos de cifrado inseguro (WEP, TKIP,...) Debilidad de seguridad en la red.
Pruebas de renovación de claves de cifrado
Tiempo de vida de claves criptográficas elevado.
Pruebas de re-inyección de tráfico (replay attack, Mic,..) Suplantación de identidad.
Fuente: Elaboración propia (2016)
Si no se utiliza ningún método de cifrado es posible visualizar todo el tráfico
en texto claro capturado a través de la red Wi-Fi, siempre que no se use un
mecanismo alternativo de cifrado, como por ejemplo el envío de credenciales
a través de HTTPS, túneles VPN,..). Además, al ser la red abierta se facilita
que un usuario malintencionado realice ataques propios de una infraestructura
de red para descifrar tráfico cifrado usando otro método. Es posible capturar
el tráfico con un sniffer como Wireshark o Network Miner para analizar el tráfico
de la red y obtener credenciales información acerca de los usuarios.
168
4.6 Configuración de la plataforma
Determinadas acciones, a la hora de configurar y desplegar una red
inalámbrica, pueden provocar que el perímetro de la organización sea
susceptible a ataques informáticos. El cumplimiento de las buenas prácticas
en materia de configuración de las plataformas involucradas en ofrecer un
servicio de comunicaciones inalámbricas minimiza los riesgos de accesos no
autorizados. Los controles definidos en esta sección son los siguientes:
Cuadro 27
Configuración plataforma
Test Vulnerabilidad Identificación de redes wireless con
ESSID genérico. Suplantación de identidad y ataques
basados en memory trading. Contraseñas genéricas en interfaz administrativa del punto de acceso
Credenciales débiles y acceso no autorizado.
Verificación del nivel de intensidad de señal o área de cobertura. Área de cobertura excesiva.
Análisis del solapamiento de redes en el mismo canal de comunicaciones Degradación de la calidad del servicio.
Generación de claves en base a algoritmos conocidos
Algoritmos de claves PSK o WPS débiles.
Pruebas sobre Upnp Redirección de puertos. Fuente: Elaboración propia (2016)
4.7 Pruebas de infraestructura
Todos los elementos que conviven alrededor de una red Wi-Fi tienen
importancia a la hora de proteger la infraestructura de las organizaciones.
Además de ciertos aspectos clave, como la correcta configuración de los
puntos de acceso, se debe verificar periódicamente el funcionamiento y
169
protección de otros elementos que intervienen en su funcionamiento. Los
controles definidos en esta sección son los siguientes:
Cuadro 28
Pruebas de infraestructura
Test Vulnerabilidad
Debilidades en el firmware del AP. Robo de credenciales y acceso no autorizado.
Interfaces administrativas expuestas a la red
Acceso no autorizado e interceptación de tráfico.
Política de firewall incorrecta Acceso a segmentos de red restringidos.
Controles sobre mecanismos de detección de intrusos.
Ausencia de sistemas de monitorización.
Pruebas de verificación de túneles VPN (sobre redes abiertas...) Interceptación de comunicaciones
Debilidades en servidor radius Ejecución remota de código o denegación de servicio.
Vulnerabilidades incubadas Debilidades en elementos de arquitectura o software.
Gestión (Alta/baja/modificación) de claves y certificados.
Gestión incorrecta de claves de acceso.
Dispositivos de comunicaciones accesible/expuestos físicamente
Acceso no autorizado y modificación de firmware.
Detección y análisis de sistemas Scada. Acceso a sistemas de control industrial. Fuente: Elaboración propia (2016)
4.8 Pruebas de denegación de servicio
Existen varios aspectos que pueden ser utilizados para denegar o degradar
el servicio en una red inalámbrica. Dado que cualquier usuario puede inundar
el espacio radioeléctrico con datos, en muchas ocasiones este tipo de
debilidades no podrán ser evitadas al 100%. Por ello, el objetivo de estas
pruebas es identificar qué aspectos pueden afectar negativamente a las
170
comunicaciones inalámbricas y en qué medida pueden ser explotadas desde
fuera del perímetro de la organización para facilitar la elaboración de ataques
más complejos. El despliegue de redes basadas en 802.11 ayudará a mitigar
algunos de estos ataques. Los controles definidos en esta sección son los
siguientes:
Cuadro 29
Pruebas de denegación
Test Vulnerabilidad
Pruebas de de-autenticación Interceptación de credenciales de autenticación.
Saturación del canal de comunicaciones (CTS/RTS,ruido,
jammering, ...) Ataques a la disponibilidad del servicio.
Bloqueo de cuentas de usuario Bloqueo de cuentas. Bloqueo de dispositivo de
comunicaciones Suplantación de punto de acceso y
DOS. Pruebas de degradación del canal de
comunicaciones Degradación del servicio.
Fuente: Elaboración propia (2016)
4.9 Pruebas sobre directivas y normativa
La existencia de normativas y directivas sobre el uso de las
comunicaciones inalámbricas es una base importante para garantizar la
seguridad de las redes de comunicaciones, basadas en el estándar 802.11, en
entornos empresariales. Las desviaciones en las buenas prácticas o en la
normativa establecida, puede provocar problemas de seguridad. Los controles
definidos en esta sección son los siguientes:
171
Cuadro 30
Pruebas sobre directivas y normativa
Test Vulnerabilidad Identificación de dispositivos que no cumplen el estándar / propietarios n/a
Detección de dispositivos emitiendo en frecuencias restringidas. Emisión de señal no autorizada.
Análisis de la política de uso/restricción de uso de redes inalámbricas Accesos indebidos.
Análisis de la configuración de dispositivos. Configuración incorrecta.
Análisis de la política de gestión y cambio de claves
Tiempo de vida de contraseñas elevado.
Verificación de inventario de
dispositivos autorizados Inventario no actualizado.
Fuente: Elaboración propia (2016)
4.10 Pruebas sobre los clientes inalámbricos Estos controles engloban las verificaciones realizadas contra dispositivos
de comunicaciones que actúan como cliente. Este es el caso de pruebas
orientadas a analizar el comportamiento o la seguridad de dispositivos móviles
(portátiles, móviles, tabletas) o equipos de escritorio. Los controles definidos
en esta sección son los siguientes:
Cuadro 31
Pruebas sobre los clientes inalámbricos
Test Vulnerabilidad Pruebas de Rogue Ap y asociación
automática Suplantación de identidad y robo de
credenciales.
Desbordamiento de buffer en cliente. Ausencia de parches de seguridad y ejecución remota de código.
Pruebas sobre suplicant débil o inseguro. Ausencia de validación de certificados.
Ataques contra clientes Modificación de respuestas DNS,.. Extracción de credenciales de los
clientes Suplantación de identidad.
Fuente: Elaboración propia (2016)
172
4.11 Pruebas sobre hostspots y portales cautivos
Este capítulo engloba aquellas pruebas orientadas a evaluar la protección
de las redes de comunicaciones abiertas y portales cautivos que facilitan la
conexión a internet a los usuarios. En este escenario, habitualmente existen
varios vectores de ataque que pueden ser utilizados para comprometer la
confidencialidad de la información transmitida o ser utilizados para ganar
acceso a áreas restringidas. Los controles definidos en esta sección son los
siguientes:
Cuadro 32
Pruebas de hostspots y portales cautivos
Test Vulnerabilidad Acceso a otros segmentos de red sin
autenticación Segmentación o política de cortafuegos
incorrecta Debilidades en el mecanismo de
autenticación. Acceso no autorizado.
Pruebas de encapsulación de tráfico con el exterior
Evasión del mecanismo de autenticación.
Debilidades en portal cautivo Acceso no autorizado. Fuente: Elaboración propia (2016)
5. FACTIBILIDAD
Una vez se establezca el alcance del modelo de auditoria, así como se
definan los encargados que se harán responsables de ejecutaran el plan, se
obtendrá el norte hacia donde se debe ir para mejorar la seguridad de los
servicios telemáticos en la Universidad Simón Bolívar. A partir de aquí el
siguiente nivel es la factibilidad o anteproyecto, que según Baca (2013)
argumenta que consiste en detallar la tecnología que se empleará, determinar
los costos totales así como la rentabilidad económica del proyecto, es la base
que se apoyan los inversionistas para tomar una decisión, por lo tanto en
173
concordancia con lo antes descrito se realizó un estudio de factibilidad,
abarcando tres aspectos fundamentales como son el técnico, operativo y
económico.
En el ámbito Técnico, la propuesta es viable técnicamente debido a que la
Universidad Simón Bolívar cuentan con tecnologías y equipos informáticos,
necesarios para ejecutar las diferentes herramientas, según la fase del
modelo. Disponen de personal especializado con sólidos conocimientos y
destrezas en el área de telecomunicaciones, programación y software libre,
necesario para ejecutar las herramientas y fases, pero es necesario señalar
que el personal encargado en la institución debe recibir una breve inducción
sobre cómo usar ciertas herramientas.
En este orden de ideas, en el contexto Operativo es factible, ya que
presenta una estructura totalmente abierta, cumpliendo con los requisitos de
ley, así como la facilidad de comprensión y ejecución. Entre estos factores se
encuentra la disponibilidad por parte de la universidad para ejecutar el plan
según lo propuesto, la idoneidad del personal de tecnología en relación a la
capacitación antes expuesta.
Finalmente, desde el punto de vista Económico, se concluye que la
propuesta es económicamente factible, puede ejecutarse sin apoyo, por lo
tanto resulta viable, debido a que está respaldada por el departamento de
tecnología de la universidad, así como del investigador como voluntario, para
realizar la capacitación necesaria. Asimismo, se determinaron los elementos
como hardware, software y servicios requeridos, considerando los beneficios
generados con la propuesta en contraposición con los costos de los
componentes del sistema en caso de pérdida de algún activo como servidores,
computadoras, información, entre otros.