0% encontró este documento útil (0 votos)
93 vistas36 páginas

Cheatsheet MASVS

El documento contiene una lista de códigos y títulos correspondientes a diferentes requisitos de seguridad para una aplicación móvil. Los requisitos cubren áreas como arquitectura y modelado de amenazas, almacenamiento de datos y privacidad, criptografía, autenticación, comunicación a través de redes, interacción con plataformas, calidad de código, y resistencia a ingeniería inversa.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como XLSX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
93 vistas36 páginas

Cheatsheet MASVS

El documento contiene una lista de códigos y títulos correspondientes a diferentes requisitos de seguridad para una aplicación móvil. Los requisitos cubren áreas como arquitectura y modelado de amenazas, almacenamiento de datos y privacidad, criptografía, autenticación, comunicación a través de redes, interacción con plataformas, calidad de código, y resistencia a ingeniería inversa.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como XLSX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 36

CÓDIGO MASVS TITULO MASVS

Requisitos de Arquitectura, Diseño y Modelado de


MSTG-ARCH-1
Amenazas

Requisitos de Arquitectura, Diseño y Modelado de


MSTG-ARCH-2
Amenazas

Requisitos de Arquitectura, Diseño y Modelado de


MSTG-ARCH-3
Amenazas

Requisitos de Arquitectura, Diseño y Modelado de


MSTG-ARCH-4
Amenazas

Requisitos de Arquitectura, Diseño y Modelado de


MSTG-ARCH-5
Amenazas

Requisitos de Arquitectura, Diseño y Modelado de


MSTG-ARCH-6
Amenazas

MSTG-ARCH-7 Requisitos de Arquitectura, Diseño y Modelado de


Amenazas

Requisitos de Arquitectura, Diseño y Modelado de


MSTG-ARCH-8
Amenazas

MSTG-ARCH-9 Requisitos de Arquitectura, Diseño y Modelado de


Amenazas

Requisitos de Arquitectura, Diseño y Modelado de


MSTG-ARCH-10
Amenazas

Requisitos de Arquitectura, Diseño y Modelado de


MSTG-ARCH-11
Amenazas

Requisitos de Arquitectura, Diseño y Modelado de


MSTG-ARCH-12
Amenazas

Requerimientos de Almacenamiento de datos y


MSTG-STORAGE-1
Privacidad

Requerimientos de Almacenamiento de datos y


MSTG-STORAGE-2 Privacidad
Requerimientos de Almacenamiento de datos y
MSTG-STORAGE-3
Privacidad
Requerimientos de Almacenamiento de datos y
MSTG-STORAGE-4
Privacidad
Requerimientos de Almacenamiento de datos y
MSTG-STORAGE-5
Privacidad
Requerimientos de Almacenamiento de datos y
MSTG-STORAGE-6
Privacidad
Requerimientos de Almacenamiento de datos y
MSTG-STORAGE-7
Privacidad
Requerimientos de Almacenamiento de datos y
MSTG-STORAGE-8
Privacidad
Requerimientos de Almacenamiento de datos y
MSTG-STORAGE-9
Privacidad
Requerimientos de Almacenamiento de datos y
MSTG-STORAGE-10
Privacidad
Requerimientos de Almacenamiento de datos y
MSTG-STORAGE-11
Privacidad

Requerimientos de Almacenamiento de datos y


MSTG-STORAGE-12
Privacidad

Requerimientos de Almacenamiento de datos y


MSTG-STORAGE-13
Privacidad

MSTG-STORAGE-14 Requerimientos de Almacenamiento de datos y


Privacidad

Requerimientos de Almacenamiento de datos y


MSTG-STORAGE-15
Privacidad

MSTG-CRYPTO-1 Requerimientos de Criptografía

MSTG-CRYPTO-2 Requerimientos de Criptografía

MSTG-CRYPTO-3 Requerimientos de Criptografía

MSTG-CRYPTO-4 Requerimientos de Criptografía

MSTG-CRYPTO-5 Requerimientos de Criptografía

MSTG-CRYPTO-6 Requerimientos de Criptografía

MSTG-AUTH-1 Requerimientos de Autenticación y Manejo de Sesiones

MSTG-AUTH-2 Requerimientos de Autenticación y Manejo de Sesiones

MSTG-AUTH-3 Requerimientos de Autenticación y Manejo de Sesiones

MSTG-AUTH-4 Requerimientos de Autenticación y Manejo de Sesiones


MSTG-AUTH-5 Requerimientos de Autenticación y Manejo de Sesiones

MSTG-AUTH-6 Requerimientos de Autenticación y Manejo de Sesiones

MSTG-AUTH-7 Requerimientos de Autenticación y Manejo de Sesiones

MSTG-AUTH-8 Requerimientos de Autenticación y Manejo de Sesiones

MSTG-AUTH-9 Requerimientos de Autenticación y Manejo de Sesiones

MSTG-AUTH-10 Requerimientos de Autenticación y Manejo de Sesiones

MSTG-AUTH-11 Requerimientos de Autenticación y Manejo de Sesiones

MSTG-AUTH-12 Requerimientos de Autenticación y Manejo de Sesiones

MSTG-NETWORK-1 Requerimientos de Comunicación a través de la red

MSTG-NETWORK-2 Requerimientos de Comunicación a través de la red

MSTG-NETWORK-3 Requerimientos de Comunicación a través de la red

MSTG-NETWORK-4 Requerimientos de Comunicación a través de la red

MSTG-NETWORK-5 Requerimientos de Comunicación a través de la red

MSTG-NETWORK-6 Requerimientos de Comunicación a través de la red

MSTG-PLATFORM-1 Requerimientos de Interacción con la Plataforma

MSTG-PLATFORM-2 Requerimientos de Interacción con la Plataforma

MSTG-PLATFORM-3 Requerimientos de Interacción con la Plataforma


MSTG-PLATFORM-4 Requerimientos de Interacción con la Plataforma

MSTG-PLATFORM-5 Requerimientos de Interacción con la Plataforma

MSTG-PLATFORM-6 Requerimientos de Interacción con la Plataforma

MSTG-PLATFORM-7 Requerimientos de Interacción con la Plataforma

MSTG-PLATFORM-8 Requerimientos de Interacción con la Plataforma

MSTG-PLATFORM-9 Requerimientos de Interacción con la Plataforma

MSTG-PLATFORM-10 Requerimientos de Interacción con la Plataforma

MSTG-PLATFORM-11 Requerimientos de Interacción con la Plataforma

Requerimientos de Calidad de Código y Configuración


MSTG-CODE-1
del Compilador

MSTG-CODE-2 Requerimientos de Calidad de Código y Configuración


del Compilador
Requerimientos de Calidad de Código y Configuración
MSTG-CODE-3
del Compilador

Requerimientos de Calidad de Código y Configuración


MSTG-CODE-4
del Compilador

Requerimientos de Calidad de Código y Configuración


MSTG-CODE-5
del Compilador
Requerimientos de Calidad de Código y Configuración
MSTG-CODE-6
del Compilador
Requerimientos de Calidad de Código y Configuración
MSTG-CODE-7
del Compilador
Requerimientos de Calidad de Código y Configuración
MSTG-CODE-8 del Compilador

Requerimientos de Calidad de Código y Configuración


MSTG-CODE-9
del Compilador

Requerimientos de Resistencia ante la Ingeniería


MSTG-RESILIENCE-1 Inversa
Impedir el Análisis Dinámico y la Manipulación

Requerimientos de Resistencia ante la Ingeniería


MSTG-RESILIENCE-2 Inversa
Impedir el Análisis Dinámico y la Manipulación
Requerimientos de Resistencia ante la Ingeniería
MSTG-RESILIENCE-3 Inversa
Impedir el Análisis Dinámico y la Manipulación

Requerimientos de Resistencia ante la Ingeniería


MSTG-RESILIENCE-4 Inversa
Impedir el Análisis Dinámico y la Manipulación

Requerimientos de Resistencia ante la Ingeniería


MSTG-RESILIENCE-5 Inversa
Impedir el Análisis Dinámico y la Manipulación

Requerimientos de Resistencia ante la Ingeniería


MSTG-RESILIENCE-6 Inversa
Impedir el Análisis Dinámico y la Manipulación

Requerimientos de Resistencia ante la Ingeniería


MSTG-RESILIENCE-7 Inversa
Impedir el Análisis Dinámico y la Manipulación

Requerimientos de Resistencia ante la Ingeniería


MSTG-RESILIENCE-8 Inversa
Impedir el Análisis Dinámico y la Manipulación

Requerimientos de Resistencia ante la Ingeniería


MSTG-RESILIENCE-9 Inversa
Asociación del Dispositivo

Requerimientos de Resistencia ante la Ingeniería


MSTG-RESILIENCE-10 Inversa
Impedir el Análisis Dinámico y la Manipulación

Requerimientos de Resistencia ante la Ingeniería


MSTG-RESILIENCE-11 Inversa
Impedir la Comprensión

Requerimientos de Resistencia ante la Ingeniería


MSTG-RESILIENCE-12 Inversa
Impedir la Comprensión

Requerimientos de Resistencia ante la Ingeniería


MSTG-RESILIENCE-13 Inversa
Impedir el Eavesdropping
DESCRIPCION

Todos los componentes se encuentran identificados y asegurar que son


necesarios.

Los controles de seguridad nunca se aplican só lo en el cliente, sino que


también en los respectivos servidores.

Se definió una arquitectura de alto nivel para la aplicació n y los servicios y


se incluyeron controles de seguridad en la misma.

Se identificó claramente la informació n considerada sensible en el contexto


de la aplicació n mó vil.

Todos los componentes de la aplicació n está n definidos en términos de la


ló gica de negocio o las funciones de seguridad que proveen.

Se realizó un modelado de amenazas para la aplicació n mó vil y los servicios


en el que se definieron las mismas y sus contramedidas.

Todos los controles de seguridad poseen una implementados centralizada.

Existe una política explícita sobre el uso de claves criptográ ficas (si se usan)
a través de todo su ciclo de vida. Idealmente siguiendo un está ndar de
gestió n de claves como el NIST SP 800-57.

Existe un mecanismo para forzar las actualizaciones de la aplicació n mó vil.

La implementació n de medidas de seguridad es una parte esencial durante


todo el ciclo de vida del desarrollo de software de la aplicació n.

Existe una política de divualgació n responsable y es llevada a cabo


adecuadamente.

La aplicació n debería de cumplir con las leyes y regulaciones de privacidad.

Las funcionalidades de almacenamiento de credenciales del sistema deben de


ser utilizadas para almacenar información sensible, tal como información
personal, credenciales de usuario o claves criptográficas.
No se debe almacenar información sensible fuera del contenedor de la
aplicación o del almacenamiento de credenciales del sistema.

No se escribe información sensible en los registros (logs) de la aplicación.

No se comparte información sensible con servicios externos salvo que sea una
necesidad de la arquitectura.
Se desactiva la caché del teclado en los campos de texto que contienen
información sensible.
No se expone información sensible mediante mecanismos de comunicación
entre procesos (IPC).
No se expone información sensible como contraseñas y números de tarjetas de
crédito a través de la interfaz o capturas de pantalla.
No se incluye información sensible en las copias de seguridad generadas por el
sistema operativo.
La aplicación elimina toda información sensible de la vista cuando la aplicación
pasa a un segundo plano.
La aplicación no conserva ninguna información sensible en memoria más de lo
necesario y la memoria se limpia trás su uso.
La aplicación obliga a que exista una política mínima de seguridad en el
dispositivo, como que el usuario deba configurar un código de acceso.
La aplicación educa al usuario acerca de los tipos de información personal que
procesa y de las mejores prácticas en seguridad que el usuario debería seguir al
utilizar la aplicación.

No se guarda ningún tipo de información sensible de forma local en el


dispositivo móvil. En su lugar, esa información debería ser obtenida desde un
sistema remoto sólo cuando es necesario y únicamente residir en memoria.

En caso de ser necesario guardar información sensible de forma local, ésta


debe de ser cifrada usando una clave derivada del hardware de
almacenamiento seguro, el cual debe requerir autenticación previa.
El almacenamiento local de la aplicación debe de ser borrado trás un número
excesivo de intentos fallidos de autenticación.
La aplicación no depende únicamente de criptografía simétrica cuyas claves se
encuentran directamente en el código fuente de la misma.
La aplicación utiliza implementaciones de criptografía probadas.
La aplicación utiliza primitivas de seguridad que son apropiadas para el caso
particular y su configuración y parámetros siguen las mejores prácticas de la
industria.
La aplicación no utiliza protocolos o algoritmos criptográficos ampliamente
considerados obsoletos para su uso en seguridad.

La aplicación no reutiliza una misma clave criptográfica para varios propósitos.

Los valores aleatorios son generados utilizando un generador de números


aleatorios suficientemente seguro.

Si la aplicación provee acceso a un servicio remoto, un mecanismo aceptable


de autenticación como usuario y contraseña es realizado en el servidor remoto.

Si se utiliza la gestión de sesión por estado, el servidor remoto usa tokens de


acceso aleatorios para autenticar los pedidos del cliente sin requerir el envío de
las credenciales del usuario en cada uno.

Si se utiliza la autenticación basada en tokens sin estado, el servidor


proporciona un token que se ha firmado utilizando un algoritmo seguro.

Cuando el usuario cierra sesión se termina la sesión también en el servidor.


Existe una política de contraseñas y es aplicada en el servidor.

El servidor implementa mecanismos, cuando credenciales de autenticación son


ingresadas una cantidad excesiva de veces.
Las sesiones y los tokens de acceso expiran luego de un tiempo predefinido de
inactividad.

La autenticación biométrica, si la hay, no está asociada a eventos (p. ej. usando


una API que simplemente retorna “true” o “false”), sino basada en el
desbloqueo del keychain/keystore (almacenamiento seguro).

El sistema remoto implementa un mecanismo de segundo factor de


autenticación (2FA) y lo impone consistentemente.
Para realizar transacciones críticas se requiere una autenticación adicional
(step-up).

La aplicación informa al usuario acerca de todas las actividades sensibles en su


cuenta. El usuario es capaz de ver una lista de los dispositivos conectados,
información contextual (dirección IP, localización, etc.), y es capaz de bloquear
ciertos dispositivos.

Los modelos de autorización deberían de ser definidos e impuestos por el


sistema remoto.
La información es enviada cifrada utilizando TLS. El canal seguro es usado
consistentemente en la aplicación.
Las configuraciones del protocolo TLS siguen las mejores prácticas de la
industria, o lo hacen lo mejor posible en caso de que el sistema operativo del
dispositivo no soporte los estándares recomendados.

La aplicación verifica el certificado X.509 del sistema remoto al establecer el


canal seguro y sólo se aceptan certificados firmados por una CA de confianza.

La aplicación utiliza su propio almacén de certificados o realiza pinning del


certificado o la clave pública del servidor. Bajo ningún concepto establecerá
conexiones con servidores que ofrecen otros certificados o claves, incluso si
están firmados por una CA de confianza.

La aplicación no depende de un único canal de comunicaciones inseguro (email


o SMS) para operaciones críticas como registro de usuarios o recuperación de
cuentas.
La aplicación sólo depende de bibliotecas de conectividad y seguridad
actualizadas.

La aplicación requiere la cantidad de permisos mínimamente necesaria.

Todo dato ingresado por el usuario o cualquier fuente externa debe ser
validado y, si es necesario, saneado. Esto incluye información recibida por la UI
o mecanismos IPC como los Intents, URLs y datos provenientes de la red.

La aplicación no expone ninguna funcionalidad sensible a través esquemas de


URL salvo que dichos mecanismos estén debidamente protegidos.
La aplicación no expone ninguna funcionalidad sensible a través de
mecanismos IPC salvo que dichos mecanismos estén debidamente protegidos.

JavaScript se encuentra deshabilitado en los WebViews salvo que sea


necesario.
Las WebViews se configuran para permitir el mínimo de los esquemas
(idealmente, sólo https). Esquemas peligrosos como file, tel y app-id están
deshabilitados.

Si objetos nativos son expuestos en WebViews, debe verificarse que cualquier


componente JavaScript se carga exclusivamente desde el contenedor de la
aplicación.
La serialización de objetos, si se realiza, debe implementarse utilizando API
seguras.

La aplicación se protege contra ataques de tipo screen overlay. (sólo Android)

La caché, el almacenamiento y los recursos cargados (JavaScript, etc.) de las


WebViews deben de borrarse antes de destruir la WebView.
Verificar que la aplicación impide el uso de teclados de terceros siempre que se
introduzca información sensible.
La aplicación es firmada y provista con un certificado válido, cuya clave privada
está debidamente protegida.
La aplicación fue publicada en modo release y con las configuraciones
apropiadas para el mismo (por ejemplo, non-debuggable).

Los símbolos de depuración fueron eliminados de los binarios nativos.

Cualquier código de depuración y/o de asistencia al desarrollador (p. ej. código


de test, backdoors, configuraciones ocultas) debe ser eliminado. La aplicación
no hace logs detallados de errores ni de mensajes de depuración.

Todos los componentes de terceros se encuentran identificados y revisados en


cuanto a vulnerabilidades conocidas.

La aplicación captura y gestiona debidamente las posibles excepciones.

Los controles de seguridad deniegan el acceso por defecto.

En código no administrado, la memoria es solicitada, utilizada y liberada de


manera correcta.
Las funcionalidades de seguridad gratuitas de las herramientas, tales como
minificación del byte-code, protección de la pila, soporte PIE y conteo
automático de referencias, se encuentran activadas.

La aplicación detecta y responde a la presencia de un dispositivo rooteado, ya


sea alertando al usuario o finalizando la ejecución de la aplicación.

La aplicación impide la depuración o detecta y responde a la misma. Se deben


cubrir todos los protocolos de depuración.
La aplicación detecta y responde a cualquier modificación de ejecutables y
datos críticos de la propia aplicación.

La aplicación detecta la presencia de herramientas de ingeniería inversa o


frameworks comunmente utilizados.

La aplicación detecta y responde a ser ejecutada en un emulador.

La aplicación detecta y responde ante modificaciones de código o datos en su


propio espacio de memoria.

La aplicación implementa múltiples mecanismos de detección para los puntos


del 8.1 al 8.6. Nótese que, a mayor cantidad y diversidad de mecanismos
usados, mayor será la resistencia.

Los mecanismos de detección provocan distintos tipos de respuestas,


incluyendo respuestas retardadas y silenciosas.

La ofuscación se aplica a las defensas del programa, lo que a su vez impide la


desofuscación mediante análisis dinámico.

La aplicación implementa un “enlace al dispositivo” utilizando una huella del


dispositivo derivado de varias propiedades únicas al mismo.

Todos los archivos ejecutables y bibliotecas correspondientes a la aplicación se


encuentran cifrados, o bien los segmentos importantes de código se
encuentran cifrados o “empaquetados” (packed). De este modo cualquier
análisis estático trivial no revelará código o datos importantes.

Si el objetivo de la ofuscación es proteger código propietario, debe utilizarse un


esquema de ofuscación apropiado para la tarea particular y robusto contra
métodos de desofuscación manual y automatizada, considerando la
investigación actual publicada. La eficacia del esquema de ofuscación debe
verificarse mediante pruebas manuales. Nótese que, siempre que sea posible,
las características de aislamiento basadas en hardware son preferibles a la
ofuscación.

A modo de defensa en profundidad, además de incluir un refuerzo (hardening)


sólido de la comunicación, puede implementarse el cifrado de datos (payloads)
a nivel de aplicación como medida adicional contra ataques de eavesdropping.
RECOMENDACIÓN HERRAMIENTAS
VULNERABILIDADES
CÓDIGO OWISAM TITULO OWISAM

OWISAM-DI-001 Descubrimiento de dispositivos WiFi no autorizados

OWISAM-DI-002 Descubrimiento de redes ocultas

Identificación pasiva de direcciones MAC de dispositivos


OWISAM-DI-003
(clientes)

Descubrimiento de preferencias de redes conocidas de


OWISAM-DI-004
clientes

OWISAM-DI-005 Descubrimiento activo de dispositivos y redes

OWISAM-FP-001 Identificación del dispositivo

Identificación de funcionalidades soportadas por el


OWISAM-FP-002 dispositivo

Enumeración de mecanismos de autenticación radius


OWISAM-FP-003
(802.1x)

OWISAM-FP-004 Detección de Rogue Aps

OWISAM-FP-005 Pruebas de client isolation


OWISAM-FP-006 Detección de ataques por parte de dispositivos Wireless

OWISAM-AU-001 Detección de protección de acceso basado en MAC

OWISAM-AU-002 Pruebas sobre WPS

OWISAM-AU-003 Pruebas de downgrade del método de autenticación

Captura de las claves transmitidas en el proceso de


OWISAM-AU-004 autenticación

Uso de protocolos de autenticación inseguros en 802.1x


OWISAM-AU-005
(FAST-EAP, LEAP, EAP-MD5)

Pruebas de fuerza bruta de usuarios/contraseñas de


OWISAM-AU-006
RADIUS (802.1x)

OWISAM-AU-007 Pruebas de fuerza bruta de contraseñas contra el proceso


de autenticación (PSK)

OWISAM-AU-008 Debilidades en el repositorio de credenciales

OWISAM-CP-001 Captura y análisis de tráfico en red abierta

OWISAM-CP-002 Descifrado de tráfico cifrado

Pruebas de análisis de información transmitida a través de


OWISAM-CP-003
Wireless
OWISAM-CP-004 Análisis de protocolos de cifrado inseguro (WEP, TKIP,…)

OWISAM-CP-005 Pruebas de renovación de claves de cifrado

OWISAM-CP-006 Pruebas de re-inyección de tráfico (replay attack, Mic,…)

OWISAM-CF-001 Identificación de redes Wireless con ESSID genérico

Contraseñas genéricas en interfaz administrativa del punto


OWISAM-CF-002
de acceso

OWISAM-CF-003 Verificación del nivel de intensidad de la señal o área de


cobertura

Análisis del solapamiento de redes en el mismo canal de


OWISAM-CF-004
comunicaciones

OWISAM-CF-005 Generación de claves en base a algoritmos conocidos

OWISAM-CF-006 Pruebas sobre UpNP


OWISAM-IF-001 Debilidades en el firmware del AP

OWISAM-IF-002 Interfaces administrativas expuestas a la red

OWISAM-IF-003 Política de firewall incorrecta

OWISAM-IF-004 Controles sobre mecanismos de detección de intrusos

OWISAM-IF-005 Pruebas de verificación de túneles VPN

OWISAM-IF-006 Debilidades en servidor RADIUS

OWISAM-IF-007 Vulnerabilidades incubadas

OWISAM-IF-008 Gestión (Alta/Baja/Modificación) de claves y certificados

Dispositivos de comunicaciones accesibles/expuestos


OWISAM-IF-009
físicamente

OWISAM-IF-010 Detección y análisis de sistemas Scada

OWISAM-DS-001 Pruebas de deautenticación

OWISAM-DS-002 Saturación del canal de comunicaciones

OWISAM-DS-003 Bloqueo de cuentas de usuario


OWISAM-DS-004 Bloqueo de dispositivo de comunicaciones

OWISAM-DS-005 Pruebas de degradación del canal de comunicaciones

OWISAM-GD-001 Identificación de dispositivos que no cumplen el estándar

Detección de dispositivos emitiendo en frecuencias


OWISAM-GD-002
restringidas

Análisis de la política de uso/restricción de uso de redes


OWISAM-GD-003
inalámbricas

OWISAM-GD-004 Análisis de configuración de dispositivos

OWISAM-GD-005 Análisis de la política de gestión y cambio de claves

OWISAM-GD-006 Verificación de inventario de dispositivos autorizados

OWISAM-CT-001 Pruebas de Rogue AP y asociación automática

Análisis de APTs (Advanced Persistent Threats) sobre


OWISAM-CT-002
Wireless
OWISAM-CT-003 Desbordamiento de buffer en cliente

OWISAM-CT-004 Extracción de identificadores de usuarios (802.1x)

OWISAM-CT-005 Pruebas sobre supplicant débil o inseguro

OWISAM-CT-006 Ataques contra clientes

OWISAM-CT-007 Extracción de credenciales de los clientes

OWISAM-HS-001 Acceso a otros segmentos de red sin autenticación

OWISAM-HS-002 Debilidades en el mecanismo de autenticación

OWISAM-HS-003 Pruebas de encapsulación de tráfico con el exterior

OWISAM-HS-004 Debilidades en el portal cautivo


DESCRIPCION

Comprobar si existe algún dispositivo WiFi que no debería estar ahí.

Identificación de redes ocultas existentes

Identificación de clientes asociados al AP

Escanear durante cierto tiempo para localizar clientes y sus


continuas asociaciones a través de los "Probe Requests"

Mediante el envío de frames “Probe Request” contra direcciones de


broadcast (FF:FF:FF:FF:FF:FF) o con un parámetro BSSID/ESSID
específico se pueden identificar las redes que se encuentran a
nuestro alcance, incluso aunque éstas se encuentren configuradas
como red oculta.

Determinados frames de tipo "Management" contienen una serie de


parámetros conocidos como “Information Elements” cuyos valores
revelan información acerca del dispositivo y sus funcionalidades. Por
ejemplo, el IE con identificador 0xDD, está asociado a Wi-Fi
protected Setup (WPS), y publica información sobre el dispositivo de
comunicaciones.

En los frames “Management”, muchas veces se envían una serie de


parámetros, ya sea dentro de los “Fixed Parameters” o los “Tagged
Parameters”, que posibilitan la identificación de las distintas
funcionalidades de los dispositivos.

La verificación de este control permite la identificación mecanismos


de autenticación débiles disponibles (EAP-MD5, EAP-LEAP, FAST-
EAP...) normalmente debidos a una incorrecta configuración del
servidor.

La existencia de puntos de acceso dentro de una organización, que


no han sido autorizados para su uso, o la presencia en el perímetro
de puntos de acceso creados con el objetivo de engañar al usuario y
forzar su vinculación y conexión a ellos.

El objetivo de ataques entre clientes es comprometer una STA


pudiendo realizar ataques Man in the Middle, inyección de código en
dispositivos o realizar ataques de denegación de servicio (Hole 196).
Comprobar la comunicación entre clientes.
Es posible que alguno de los dispositivos dentro del alcance de la red
Wi-Fi se encuentre realizando algún tipo de actividad ilícita dentro
de la misma con algún propósito malicioso.

Comprobación de acceso limitado a una whitelist. Si existe acceso


limitado por MAC spoofear una MAC de cliente conectada
correctamente con, por ejemplo, macchanger.
Realización de ataques sobre el AP con WPS activado, ataques de
PIN guessing y PIN cracking (brute force).
Una mala configuración por defecto de un servidor RADIUS puede
permitir la utilización de distintos mecanismos de autenticación
incluyendo aquellos que son inseguros.

En esta parte se capturarán los paquetes con las credenciales


enviadas por los clientes de los AP. Obtendremos el handshake de
WPA y la autenticación de 802.1x

Dentro de los métodos de autenticación soportados por un servidor


RADIUS existen varios cuya seguridad ya se ha visto comprometida y
han probado ser inseguros.

El servidor RADIUS, en la mayoría de implementaciones, funciona


como cualquier otro servidor, por lo que es posible realizar
numerosos intentos de autenticación con el fin de obtener
credenciales válidas de acceso.

Cuando se utiliza autenticación basada en clave compartida (PSK) es


factible intentar realizar ataques de fuerza bruta, probando
diferentes claves.

Para verificar la seguridad de las credenciales se debe tener acceso a


ellas, por lo cual o se compromete el sistema o se pide acceso al
sistema que las almacena.

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, etc.

En el caso de las redes Wi-Fi en las que se utiliza una clave


precompartida (PSK) existe la posibilidad de llevar a cabo el proceso
de descifrado de las comunicaciones cifradas cuando se conoce
dicha clave.

Cuando al menos parte de comunicación se realiza a través de redes


Wi-Fi, cuyo medio de transmisión es por defecto inseguro (el aire), se
deben de tomar todas las precauciones posibles para protegerla.
Debido a esto, muchos de los algoritmos de cifrado que se
consideraban seguros ya no lo son tanto. Por si esto no fuera
suficiente, se han encontrado vulnerabilidades y colisiones en los
hashes generados por algunos de estos algoritmos.

Tanto el protocolo de cifrado WPA como WPA2 ofrecen la


posibilidad de establecer un tiempo máximo durante el cual las
claves de cifrado serán válidas. Una vez finalizado el fijado para cada
cliente, se produce un nuevo proceso de 4-way-handshake de forma
automática y transparente al usuario

Aunque muchas veces no se pueda obtener la PSK (Pre-Shared Key),


las redes Wi-Fi pueden estar expuestas a ataques de reinyección de
tráfico. Estos ataques se basan en la recuperación de un keystream
válido, o bien un frame específico.

El uso de redes Wi-Fi con ESSIDs genéricos puede suponer un


problema de seguridad por varios factores

Se comprobará, en caso de tener acceso, las credenciales del panel


de administración del punto de acceso y la capacidad para realizar
fuerza bruta a través de HTTP. Probar también con cuentas que no
son visibles, como support:support

El perímetro de seguridad de una red Wi-Fi depende en gran medida


de la cobertura que dicha red es capaz de proveer. Una incorrecta
configuración de la red podría permitir que la cobertura de la misma
se propagase fuera del perímetro de la organización.

Esto hace que algunos rangos de frecuencia se encuentren muy


saturados, por lo que al configurar múltiples redes Wi-Fi en el mismo
canal o en canales que se solapan, la calidad de las comunicaciones
se ve muy degradada.

Se intenta la identificación de claves genéricas para dispositivos a


través de su BSSID, SSID, firmware…

El creciente número de debilidades en este protocolo, que afectan


en gran medida a routers Wi-Fi, requiere que el uso y soporte de
UPnP sea evaluado de forma adecuada para evitar accesos no
autorizados en la infraestructura de red.
El firmware integrado no suele estar enfocado a la seguridad, sino al
rendimiento y a la escalabilidad, motivo por el cual los fallos de
seguridad son bastante comunes. Cada día existe un mayor número
de APs por lo que comienzan a suponer un vector de ataque
importante a la hora de conseguir acceso a una red.

Por defecto las interfaces administrativas de muchos dispositivos son


accesibles desde la red Wi-Fi, esto ocurre sobre todo en los routers
que se emplean como AP. Estas interfaces vienen configuradas con
credenciales por defecto que son muy predecibles o incluso
disponen de una página de ayuda accesible a todos los usuarios en la
que se pueden consultar.

Comprobar que los dispositivos físicos no estén accesibles a


manipulaciones por parte de terceros.

Comprobar si, dentro de la red Wireless, existen comunicaciones de


sistemas SCADA. Estos sistemas pueden ser susceptibles de ataques
a través de la red provocando un gran impacto sobre el sistema que
controlan automaticamente.

Se comprobará nuestra capacidad para realizar un ataque deauth


contra un cliente en concreto o contra toda la red.

La integración de la autenticación WPA(2) - Enterprise con un


servicio RADIUS que emplee alguno de los almacenes de
credenciales citados anteriormente, puede posibilitar el abuso de
funcionalidad y que sea utilizado por parte de usuarios para realizar
ataques de fuerza bruta que resulten en el bloqueo de las cuentas de
usuario.
Un desbordamiento de buffer en el dispositivo, o el envío de
mensajes que fuercen un alto consumo de recursos en el dispositivo,
como por ejemplo envío de mensajes de autenticación WPS que
fuerzan a un router a realizar un alto número de operaciones en el
procesador, pueden ser utilizados para bloquear la comunicación.

Se debe comprobar AP que esté funcionando siguiendo el estándar


802.11b/g, para ello basta con fijar una tarjeta Wi-Fi en el modo de
funcionamiento de 11Mbps y comprobar la velocidad de la conexión.
Desde Kali Linux es tan sencillo como: sudo iwconfig wlan0 rate 11M

Mediante el análisis de paquetes de datos, ignorando el parámetro


FCS (Frame Check Sequence) puede ser posible identificar
comunicaciones entre dispositivos inalámbricos que no cumplen
correctamente el estándar y que hacen uso de su propio protocolo
de comunicaciones.

Existen frecuencias englobadas en el estándar 802.11, tanto en la


banda de 2.4Ghz como en la de 5Ghz que no pueden ser utilizadas
en ciertos países.

El objetivo de este control es analizar si existe una normativa interna


en la organización sobre el uso de las redes Wi-Fi.
De existir, se debe evaluar si los dispositivos que hacen uso de
comunicaciones Wi-Fi cumplen lo definido en la norma y únicamente
aquellos dispositivos o usuarios autorizados disponen de acceso a la
red.

Se deben establecer políticas para que se realice un cambio de


claves periódico en las redes Wi-Fi que hacen uso de un secreto
compartido (PSK).

Análisis del inventario de dispositivos autorizados para la conexión a


las redes de comunicaciones Wi-Fi, cuyo acceso se encuentra
restringido.

Se realizarán pruebas de Rogue AP contra los clientes

Se debe monitorizar el tráfico Wi-Fi prestando atención al


geoposicionamiento de dispositivos y al inventario existentes.
Dispositivos con funcionalidad de keyloggers Wi-Fi, como es el caso
de keelog, pueden ser detectados mediante este análisis.
Normalmente cuando se diseñan drivers para hardware
determinado como puede ser una tarjeta de red Wi-Fi, no se hace
desde el punto de vista de la seguridad. Esto puede acabar
derivando en un fallo de seguridad conocido como desbordamiento
de búfer (buffer overflow).

Una vez realizado un ataque con éxito contra los clientes (equipos
portátiles, dispositivos móviles,...) se deben extraer los perfiles de
configuración de las redes inalámbricas.

En las redes que utilizan portales cautivos como medida de


autenticación es necesario verificar que la red está correctamente
segmentada y que los clientes que acceden al portal cautivo no
dispongan de conexión con otros segmentos de red

Se debe verificar que el portal cautivo emplea un método de


autenticación seguro, ya que de otra forma las credenciales de
acceso podrían ser interceptadas por un usuario malintencionado.

Se debe verificar que a los usuarios que acceden al portal cautivo no


se les permite llevar a cabo ningún tipo de encapsulación de tráfico
al exterior, ya sea explotando débilidades de la interfaz web o
mediante la utilización de protocolos a nivel de capa de aplicación
como DNS (DNS tunneling).

Es necesario verificar que no existen debilidades en el portales de


autenticación, generalmente interfaces web, que puedan ser
explotadas para vulnerar la seguridad la red ya sea para esquivar el
proceso de autenticación o permitiendo ganar privilegios en el
dispositivo.
RECOMENDACIÓN HERRAMIENTAS

Evitar la presencia de dispositivos no autorizados que puedan


suponer un riesgo para la organización.
-Evitar nombres que identifiquen a la organización.
airodump-ng
-Políticas para todo el personal.
-Inventario de dispositivos autorizados.
-Implantación de sistemas WIDS.

Evaluar que existen controles de seguridad compensatorios.


-Deshabilitar "conexión automática" en clientes. airodump-ng
-Verificación de firmware actualizado

airodump-ng
N/A
airgraph-ng

Se deberían eliminar las redes preferidas de los dispositivos,


sobre todo las que no se van a volver a utilizar (hoteles, probeSniffer
cafeterías...) y las que pertenezcan a la entidad corporativa.

Se deberían eliminar las redes preferidas de los dispositivos,


sobre todo las que no se van a volver a utilizar (hoteles, N/A
cafeterías...) y las que pertenezcan a la entidad corporativa.

wash
N/A WPSIG
airodump-ng

N/A Wireshark

Es necesario eliminar los métodos de autenticación inseguros y airodump-ng


permitir únicamente aquel que se vaya a utilizar. Wireshark

Monitorizar periódicamente la actividad en busca de nuevos


airodump-ng
puntos de acceso que puedan haber sido desplegados

Habilitar el client-isolation dentro de la configuración del punto


N/A
de acceso.
Se debe habilitar durante un tiempo extendido algún dispositivo
de monitoreo de la red Wireless en busca de ataques vinculados Kismet
con la red auditada.

Verificar que existen controles de seguridad adicionales que macchanger


aporten una protección real de la plataforma. mdk3

Deshabilitar el soporte de WPS PIN y verificar que dicha reaver


funcionalidad no se encuentra activa. wash

Deshabilitar el soporte de WPS PIN y verificar que dicha


audit-radius
funcionalidad no se encuentra activa.

airodump-ng
Hacer uso de mecanismos de autenticación robustos, con WPA2-
aireplay-ng
CCMP, no utilizar credenciales genéricas o predecibles y habilitar mdk3
la renovación automática de claves.
crEAP

Usar un método de autenticación robusto y deshabilitar todos los


audit-radius
demás.

Es imprescindible disponer de algún sistema de protección ante


ataques de fuerza bruta, así como una buena política de Auto_EAP
contraseñas.

Usar contraseñas robustas (8 caracteres mínimo, incluyendo


letras mayúsculas, números y símbolos especiales).
-Evaluar si sería mejor optar por implantar una solución RADIUS. aircrack-ng
-También es factible usar un WIDS o un firewall a nivel de router o
AP para limitar los intentos de autenticación

Las credenciales de acceso de cada usuario deben almacenarse


N/A
en forma de hashes usando un algoritmo criptográfico seguro.

En una organización, las redes abiertas no deberían estar


presentes, ya que generan nuevos vectores de ataque que un Wireshark
usuario malintencionado podría aprovechar.

Usar siempre una contraseña lo más robusta posible y un


algoritmo de cifrado seguro. En caso de usar WPA/2 habilitar la
renovación de claves, si es posible en un umbral de tiempo Wireshark
inferior a 3.600 segundos.

Como primera medida, se debe hacer hincapié en usar el sistema


de cifrado más robusto del que se dispone a nivel de capa de
Wireshark
enlace (actualmente AES-CCMP). En las capas superiores es
recomendable el uso soluciones VPN, IPSec o SSL.
El uso de los algoritmos de cifrado TKIP y WEP se encuentra
desaconsejado por la Wi-Fi Alliance. A la hora de utilizar un
airodump-ng
protocolo de cifrado (cipher suite en inglés) la mejor opción es
usar siempre el más robusto, en la actualidad AES-CCMP

Las medidas a tomar deberían ser establecer un intervalo de


renovación de claves siempre inferior a 3600 segundos y usar una N/A
suite de cifrado lo más robusta posible (AES-CCMP).

La mejor medida es establecer WPA2 con AES-CCMP como


método de autenticación y cifrado, estableciendo un tiempo de
¿?
renovación de claves prudencial, es decir, inferior a 3600
segundos.

Se recomienda evitar todo lo posible nombres genéricos o que


puedan revelar información no deseada como puede ser la N/A
utilidad de la red o que perfil de usuarios la tienen acceso.

Modificar siempre las credenciales por defecto, sustituyéndolas


BurpSuite
por unas más robustas.

La potencia con la que los APs difunden la red debe estar


controlada y limitada, evitando que el perímetro de cobertura Acrylic HeatMaps
exceda más de lo imprescindible fuera de los límites de la
organización

Las diferentes redes Wi-Fi de la organización deberían estar


Acrylic HeatMaps
configuradas en diferentes canales sin solapamiento.

Los usuarios deben realizar el cambio de la clave de fábrica de


cualquier router Wi-Fi para evitar la exposición a estos ataques.
Los operadores de telecomunicaciones y fabricantes de hardware
deben hacer uso de algoritmos que generen claves aleatorias. Si N/A
es necesario poder obtener una clave fija para un dispositivo, se
recomienda hacer uso de valores del hardware que no puedan
conocidos remotamente.

Si el servicio de UPnP que se está utilizando resulta ser


miranda
vulnerable, la mejor opción es deshabilitar esta funcionalidad.
Es importante que el firmware del AP esté actualizado a su última
versión con los últimos parches de seguridad. A mayores se
N/A
debería mantener un log de eventos de todo lo que ocurre en el
AP.

Aunque las interfaces administrativas son necesarias, no deben


ser ser accesibles desde cualquier parte de la red, ya que si un
N/A
usuario no autorizado logra acceder a ellas es muy posible que
pueda llegar a modificar la configuración del dispositivo.

Todos los dispositivos de comunicaciones deben estar situados de


tal manera que un tercero no pueda manipular su N/A
comportamiento a través de vía física.

Las comunicaciones de los sistemas SCADA deben ir cifradas y,


siempre que sea posible, evitar el uso de redes Wireless. Además N/A
se deberá comprobar si estos sistemas tienen vulnerabilidades.

Dada la implementación actual del estándar por parte de los


dispositivos es muy difícil prevenir que esto suceda e incluso
mitigarlo. Para la parte que corresponde al AP se pueden aireplay-ng
establecer un Wi-Fi IDS que alerte y prevenga cuándo se reciben
varios de estos frames, evitando que el AP llegue a procesarlos.

Establecer alguna medida de protección estilo IDS/IPS o Firewall,


que bloquee determinadas peticiones o los dispositivos que las Auto_EAP
realizan.
El firmware del dispositivo debe estar actualizado a la última
versión, con todos los parches de seguridad. Además el AP
¿?
debería estar protegido por algún sistema que facilitase el control
de la carga de trabajo y evitase la denegación de servicio.

En caso de que no sea imprescindible, deshabilitar la


funcionalidad de compatibilidad del AP con redes 802.11b
N/A
permitiendo únicamente conexiones Wi-Fi que sigan el estándar
802.11g.

Deberían usarse siempre dispositivos que cumplan el estándar, ya


que son más fáciles de monitorizar y tener controlados. Además N/A
se evitan comportamientos extraños y problemas en la red.

No debería haber ningún dispositivo empleando frecuencias


restringidas. Cambiar su configuración si es posible o sustituirlos ¿?
cuando no haya otra solución.

Es importante que las redes Wi-Fi de la empresa no se empleen


para tareas críticas, debido a los riesgos que suponen. Además es
importante saber qué dispositivos y usuarios están autorizados N/A
para emplearlas y así poder mantener un control sobre las
mismas.

Es necesario ir rotando para asegurar que ninguna persona no


autorizada no tiene acceso a los recursos de la misma que se
quieren proteger. Por este motivo, como medida fundamental
debería existir una política que establezca una robustez mínima y N/A
una duración temporal máxima para las contraseñas que se
empleen en la organización.

El análisis periódico de esta información permitirá detectar


N/A
accesos no autorizados y desviaciones en la normativa interna.

La protección frente a Rogue APs se debe establecer en varios


niveles, ya que los elementos de protección perimetral, como es Piña WiFi
el caso de los firewalls, no tienen capacidad de identificar ni Wifiphisher
bloquear conexiones a sistemas externos a la infraestructura.

Evaluar periódicamente la infraestructura en busca de nuevos


dispositivos Wi-Fi y monitorizar el tráfico en busca de patrones de Wireshark
tráfico anómalos.
Los drivers de las tarjetas Wi-Fi deberían estar actualizados a su
última versión y verificar que tengan aplicados todos los parches N/A
de seguridad.

MITMf

La mejor forma de evitar que las credenciales de acceso a la


organización se vean expuestas es verificar que estas no están N/A
siendo almacenadas en los equipos y dispositivos de los usuarios.

Se debe establecer una segmentación adecuada antes de


desplegar un portal cautivo y verificar que no existe visibilidad de
netdiscover
otros segmentos de red y otros direccionamiento antes de la
autenticación.

Se recomienda usar certificados o en su defecto un método de


autenticación más seguro que mandar las credenciales en texto N/A
plano, como puede ser Digest.

Asignar al usuario una vlan aislada sin conexión con redes iodine
externas. El servicio DNS encargado de ofrecer resolución de DNScapy
nombres al usuario conectado a la red Wi-Fi únicamente debe icmptx
resolver nombres internos. dns2tcp

En caso de disponer de un portal cautivo a través del cual se


permita o no el acceso a la red, es imprescindible verificar que los N/A
controles de seguridad están implementados correctamente.
VULNERABILIDADES

Presencia de clientes no
autorizados y rogue APs

Debilidad en el firmware y
seguridad por oscuridad

Dispositivos no autorizados
conectados

Asociación automática a AP
inseguro

Identificación de dispositivos
mediante técnicas de
descubrimiento activo.

Obtención de información sobre el


hardware y software.

Obtención de información sobre el


hardware y software.

Mecanismos de autenticación
inseguros.

Intrusos en redes Wireless

Ataques a clientes
Intrusos en redes Wi-Fi

Mayores probabilidades de
intrusión no autorizada

Acceso no autorizado a Wireless

Inseguridad en mecanismos de
autenticación.

Credenciales débiles.

Interceptación y descifrado de
credenciales.

Contraseñas débiles.

Posibilidad de descifrar
contraseñas débiles offline.

Acceso no autorizado y robo de


credenciales.

Transmisión de información
sensible.

Transmisión de información
sensible.

Obtención de información sensible.


Debilidad de seguridad en la red.

Tiempo de vida de claves


criptográficas elevado.

Suplantación de identidad

Suplantación de identidad y
ataques basados en memory
trading.

Credenciales débiles o por defecto


y acceso no autorizado.

Área de cobertura excesiva

Degradación de calidad del servicio.

Algoritmos de claves PSK o WPS


débiles.

Redirección de puertos.
Robo de credenciales y acceso no
autorizado.

Acceso no autorizado e
interceptación de tráfico.

Acceso a segmentos de red


restringidos.
Ausencia de sistemas de
monitorización.

Interceptación de comunicaciones.

Ejecución remota de código o


denegación de servicio.
Debilidades en elementos de
arquitectura o software
Gestión incorrecta de claves de
acceso

Acceso no autorizado y
modificación de firmware

Acceso a sistemas de control


industrial

Interceptación de credenciales de
autenticación

Ataques a la disponibilidad del


servicio.

Bloqueo de cuentas
Suplantación de AP y DOS

Degradación de servicio

N/A

Emisión de señal no autorizada

Accesos indebidos

Configuración incorrecta

Tiempo de vida de contraseñas


elevado, política de contraseñas
fuertes no activa.

Inventario no actualizado.

Suplantación de identidad y robo


de credenciales

Existencia de APTs
Ausencia de parches de seguridad y
RCE

Recopilación de información y
configuración insegura

Modificación de respuestas DNS

Suplantación de identidad

Segmentación o política de
cortafuegos incorrecta

Acceso no autorizado

Evasión del mecanismo de


autenticación

Acceso no autorizado

También podría gustarte