31 octubre 2014

VUESTROS "ETHERNET EXPOSED" - XXVI

Seguimos recibiendo más y más fotos con vuestros ETHERNET EXPOSED, imágenes que realizáis a tomas ethernet que se encuentren expuestas en lugares curiosos, transitados, accesibles... y que posteriormente nos enviáis a nuestra dirección de contacto.

En la edición de hoy contamos con las contribuciones de Marc, David y un anónimo.

En primer lugar, esto es lo que nos envió Marc a nuestro correo de contacto. Una ubicación que es ya todo un clásico en nuestra sección:

Estas las hice en la oficina de expedición del DNIe de Girona cuando fui a renovar los certificados. No pude tirar mejores fotos por miedo a que me echaran ;)



No es un lugar muy apropiado ni cómodo para obviamente ponerse a jugar con las tomas de red de este tipo de lugares, pero aún así sería recomendable dejarlo menos accesible o no tan a la vista.

En segundo lugar, tenemos la contribución de David de Román, de Vigo, que se encontró lo siguiente en la tienda Kiwoko de su ciudad:


Seguramente esta ubicación estará preparada (o estuvo) para que fuese conectado un puesto de consulta, kiosco, etc. ¿Seguirá funcionando?

Y ya por último, un contribuidor que prefiere mantenerse anónimo nos envía lo siguiente traído recientemente desde la octava edición del ENISE (León). Una "infraestructura" de red inalámbrica que nos permite ver más allá del primer nivel (es decir, más allá del punto de acceso...)



Esto bien podría valer como 2x1, tenemos tanto los puntos dentro del router wifi como los del que parece ser un switch muy concurrido..

Como siempre os decimos, nuestra dirección de correo sigue abierta a todas aquellas contribuciones de ETHERNET EXPOSED que os encontréis, ¡muchas gracias a todos y hasta la próxima!

---------------



Leer más...

28 octubre 2014

6 herramientas para la identificación de redes wireless en OSX

Seguro que más de uno ya me lo ha oído decir antes: ¡¡¡no hagáis auditorías wireless sin estar seguros que el punto de acceso que vais a romper es propiedad del que os paga el proyecto!!!

No sería la primera vez que en unos resultados, ante la mirada atenta del cliente y todo su séquito, se muestran las claves de un AP que nada tiene que ver con el análisis. ¡¡Horror!!

En esa primera fase de análisis y obtención de activos siempre se usan herramientas que permitan poner nombre y apellidos a cada uno de ellos: conocer que cobertura tienen,  donde quedan físicamente, cifrados, canales y todos los datos adicionales que se puedan sacar y alguien pueda validar. Esto lo haría cualquier humano con Windows y una licencia de Acrylic, aunque en esta ocasión, las propuestas que cuento son para OSX.

Al tajo.

Wireless Diagnostics: la opción más rápida para buscar redes es usar el propio sistema operativo, para ello si se mantiene pulsado el botón ⌥ y se hace click sobre el icono de wireless del menú superior se obtendrá información de la red actual y una nueva opción "Open Wireless diagnostics", una vez se abre ese asistente (que también está disponible en la ruta /System/Library/CoreServices/Applications) permite hacer un análisis pulsando en el menú Window->Scan o las teclas ⌘+4

Menú wireless si se abre mientras se pulsa la tecla ⌥

Análisis de redes de Wireless Diagnostics (⌘+4)

aircrack-ng: otra opción sencilla y útil en nuestro mundo es instalar el imprescindible paquete MacPorts o brew para tener herramientas como la suite aircrack-ng, una vez instalado el pkg correspondiente y hecho el "sudo port install aircrack-ng", se puede invocar el conocido clon de airodump llamado airport. 

Herramienta airport de aircrack-ng

KisMac2: sin engañarnos más,  KisMac2 es la  segunda versión y continuación del abandonado (por problemas legales) KisMac y posiblemente el mejor clon de kismet, permite guardar tráfico, otros adaptadores de red wireless, GPS, inyectar tráfico (con tarjeta que lo soporte), mandar paquetes de deautenticación, gráficos y muchas otras opciones interesantes.

Ventana principal de KisMac2

NetSpot: la aplicación de descubrimiento wireless con propósito profesional.  Dispone de versión gratuita y limitada y versión pro (149$) y enterprise (499$). Su interfaz es cómodo y la versión free dispone de las suficientes características como para que sea interesante. Si pintáis mapas de cobertura, desde luego necesitareis licencia.

Gráfica y Discovery de NetSpot

iStumbler: esta utilidad es comercial de bajo coste (20$) aunque dispone de versión demo. Su principal ventaja es que también monitoriza bluetooth y Bonjour. Por lo demás, no sobresale en nada.

iStumbler

Wifi Explorer: por último, esta aplicación con un aspecto que me recuerda a la utilidad inssider, se puede comprar desde la App Store por tan solo 3.99$. No he podido descargar una demostración pero por sus características y pantallazos, parece una utilidad simple.

Wifi Explorer


Leer más...

27 octubre 2014

FrootVPN, VPN GRATIS para navegar de forma anónima y en todos los SO

Aparece un nuevo servicio de VPN a la palestra, de entre los muchísimos que hay, y que podréis consultar en este post de Yago en el que realiza una excelente recopilación de servicios VPN que se toman en serio la privacidad.

FrootVPN da un puñetazo en la mesa, y ofrece lo siguiente:

- Acceso por VPN mediante PPTP, L2TP y OpenVPN.
- Compatible con todos: Windows, Mac, Linux, iOS y Android
- Conexión desde varias ubicaciones, ideal para desbloqueo de contenido limitado por procedencia, como es el caso de Netflix, Skype, Youtube, Facebook, Spotify, Pandora y muchos más
- Anonimato y protección de identidad
- Sin límite de velocidad o uso, soporte 24x7, rapidez
- Completamente GRATIS

Tenéis toda la documentación disponible en el apartado de guías (Guides) dentro de su web, así como un Preguntas Frecuentes (FAQ) sobre el servicio y posibles problemáticas.

Por el momento no se sabe ningún desventaja, todo son buenas palabras y ha sido recomendado directamente desde el portal de ThePirateBay, el cual desde que apareció el anuncio, ha hecho que reciban más de 100.000 registros. 

Página principal de ThePirateBay en la que se promociona FrootVPN
¿Tendrá trampa? Esperemos que no...

Puedes registrarte a través del formulario que encontraréis nada más acceder a la web:

Formulario de registro al servicio FrootVPN


Disponen de twitter, facebook, y tenéis toda la información necesaria sobre este servicio en su página principal.
Leer más...

26 octubre 2014

Enlaces de la SECmana - 247

Leer más...

23 octubre 2014

Controla las conexiones de tu Mac con Little Snitch.


Little Snitch es una herramienta que permite controlar las conexiones que realiza tu Mac con otras redes. Esta aplicación, desarrollada por la compañía Objective Development, es un corta fuegos tradicional que crea sus reglas basadas en acciones que solicita al usuario cada vez que detecta un intento de acceso nuevo o no configurado. De esta forma, en un par de días tras su instalación, se obtiene una línea base que será afinada según las nuevas necesidades del día a día.

También es un monitor de conexiones que identifica el uso que hace de la red cada una de las aplicaciones, ancho de banda consumido y la velocidad de transferencia.

Monitor de red y conexiones por aplicación.
El monitor de red es histórico y sirve como herramienta para visualizar rápidamente horas con picos de tráfico y anchos de banda consumidos.

De esta herramienta destaca la facilidad de uso para que cualquier persona pueda usarla y aquellos más avanzados obtengan toda la información de conexión, aunque los primeros días puede ser un poco estresante con tanta pregunta.

Detalle del proceso TweetDeck y conexiones establecidas
El panel de preferencias es sencillo y configura opciones genéricas, como propiedades de visualización, arranque,  actualizaciones o la seguridad de acceso a la  propia aplicación.

Preferencias de configuración

El interfaz para editar reglas es muy completo. Demasiado para un usuario no experimentado, pero permite a los más avanzados crear reglas, proteger otras o eliminar aquellas que sean redundantes. Seguro que ideal para cualquier lector de este blog.

Otra opción curiosa, conocida como reglas de login, es la que permite que se acepte determinado tráfico cuando el sistema se enciende y antes de que el usuario se autentique.

Vista general del editor de reglas

A la hora de solicitar la aceptación o denegación de una nueva conexión y por lo tanto, la creación de una regla, nos obliga a que se haga basada en el puerto de destino, el dominio o la combinación de ambos: dominio y puerto, además la duración de esa regla, como por ejemplo "para siempre", "hasta que se cierre", "durante 1 hora", "durante 15 minutos", etc.

En caso de que no sepamos cual es la aplicación que intenta generar la conexión, si se pulsa en la interrogación de la parte inferior, el propio Little Snitch comprueba la firma y origen del binario. Esta característica tiene como propósito identificar procesos sospechosos o malware.

Ventana solicitando acción para Permitir o Denegar una conexión (netcat) y comprobación del binario
Aunque es curioso el ejemplo de la captura anterior, ya que la aplicación iTerm es solo el terminal que invoca el ejecutable "nc" y pese a que en el título de la ventana de dialogo se identifica como "nc" la firma se realiza sobre el propio iTerm.

Dejo para el final una buena sorpresa que me he llevado haciendo uso de ella, con un par de clicks es posible capturar el tráfico generado por una aplicación cualquiera en un fichero PCAP. Personalmente, me ha solventado problemas con otras herramientas rapidísimamente.

Capacidades de registro en fichero PCAP de las conexiones de un proceso.

El único punto negativo de Little Snitch es que es un producto comercial y en su versión para un único usuario tiene un precio de 30€. Para adquirirlo hay que ir a la propia tienda del fabricante. 


Leer más...

22 octubre 2014

VI Jornadas sobre Ciberamenazas y Ciberdefensa


Mañana 23 de octubre se celebra en la Universidad Europea de Madrid las VI Jornadas sobre ciberamenazas y ciberfensa de forma gratuita para todo aquel que quiera asistir.

El programa tiene una estructura similar a la de otros años, en el que después de unas interesantes ponencias de distintos miembros relevantes en la Estrategia Española de Seguridad se hará una demostración práctica de técnicas de ciberamenzas. En este caso, de la mano de Raúl Siles.

Copio el programa que se ha publicado en la página de la UEM.
  

16:00 Apertura y Bienvenida 


Dr. D. Miguel Gómez Navarro, Director de la Escuela Politécnica de la Universidad Europea de Madrid 
Dr. D. Luis de Salvador Carrasco, Director de la Jornada 


16:30 Estrategia Española de Seguridad (EES)


Introducción a la Estrategia Española de Ciberdefensa - D. David Ramírez Morán – Analista del Instituto Español de Estudios Estratégicos


La Guardia Civil Frente a las Ciberamenazas - T.Col. D. Juan Salom Clotet – Responsable de Seguridad de la Información de la Guardia Civil Desarrollo de software para Defensa: un deporte de riesgo - D. Pedro Bernad Silva – Jefe del Centro de Obtención y Mantenimiento de Sistemas de Información (CCOMSI) del Ministerio de Defensa


18:30 Demostraciónes


Demostración de ataques sobre dispositivos móviles mediante redes Wi-Fi empresariales - Raúl Siles - Fundador y analista de seguridad de DinoSec



20:00 Clausura de la jornada 

Dr. Dña. Maite Villalba de Benito, Directora Académica del Master en Seguridad TIC - Universidad Europea de Madrid


Dr. D. Luis de Salvador Carrasco, Director de la Jornada



Lugar de Celebración: Universidad Europea de Madrid, Auditorio. Edificio B. Campus de Villaviciosa de Odón, c/ Tajo, s/n.

Más información: Coordinación Académica (victoria.pascual@uem.es) Esta actividad ha recibido una subvención de la Secretaría General de Política de Defensa del Ministerio de Defensa


Esta actividad ha recibido una subvención de la Secretaría General de Política de Defensa del Ministerio de Defensa
Leer más...

21 octubre 2014

Evadiendo implementaciones de certificate pinning en Android

Pongamos la siguiente situación: estamos realizando el análisis de una aplicación en la que nos interesa ver las comunicaciones HTTP/S que realiza, para ello disponemos de un dispositivo Android rooteado en el que redirigimos el tráfico de estos protocolos a un web proxy del que tenemos instalado su certificado en el dispositivo.

Todo está configurado correctamente pero algo falla, la aplicación nos indica que no puede establecer comunicación con el servidor de destino y confirmamos que sin redirigir al web proxy la aplicación funciona perfectamente. Puede que nos hayamos encontrado con una implementación de certificate pinning, pero esto no nos va a detener.

Llevemos a la práctica un método de evasión sobre un ejemplo real cogido de Google Play.

La aplicación de ejemplo, eTools


Figura 1

eTools se presenta como una herramienta orientada a realizar búsquedas en la web utilizando los motores más conocidos de manera segura y totalmente privada, implementando entre otros mecanismos de seguridad un certificate pinning.

Preparamos el escenario que hemos descrito anteriormente (dispositivo rooteado + Proxydroid +  Burp + certificado Burp instalado en dispositivo), probamos a realizar una búsqueda utilizando la aplicación y confirmamos como el certificate pinning entra en juego y no nos permite realizar la búsqueda bajo estas condiciones:

Figura 2

Evasión por parcheo de código

Para saltarnos esta restricción el proceso que vamos a seguir se resume en descargar el APK y analizar su código, anular las llamadas que comprobarán el certificate pinning, re-empaquetar la aplicación y reinstalar.

Vamos con ello:

1. Descargamos el APK del dispositivo

Figura 3

2. Buscamos cadenas que apunten al uso de la clase TrustManager

Utilizando dex2jar podemos extraer el JAR del APK y utilizando JD-GUI podremos ver el código Java. Ya desde JD-GUI podemos comenzar nuestras búsqueda por el código:

Figura 4

Como vamos viendo, el código se encuentra ofuscado y puede llegar a complicarnos el análisis, aunque veremos que en este caso tenemos suerte ya que si abrimos la clase "a" encontraremos claramente que es la implementación de la interfaz X509TrustManager:

Figura 5

El código anterior nos deja ver la clave pública contra la que se validará cuando se realice la petición HTTPS. Tenéis información más detallada sobre esta implementación en la web de OWASP.

Por otro lado si miramos el otro resultado de la búsqueda en JD-GUI, la clase "c", encontraremos en ella el método que se encarga de realizar la petición por HTTPS:

Figura 6
He remarcado las partes más relevantes:
  • El primer bloque declara y asigna un array compuesto por la implementación de X509TrustManager. Este array se pasa como parámetro al objeto SSLContext que se utilizará para crear la conexión HTTPS.
  • En el segundo bloque se define que se utilizará la implementación X509TrustManager para la verificación.

En este punto la situación es clara, hay que anular en el método de la Figura 6 todo rastro de uso de la clase "a" si queremos evadir el certificate pinning implementado.

3. Modificamos el código

Tendremos que desensamblar el código Jasmin del APK para modificarlo, así que podéis seguir el paso a paso desde la documentación de dex2jar ModifyApkWithDexTool o utilizar el script modify.py que os comentaba en el artículo sobre inyección de Meterpreter en aplicaciones.

Si optáis por el script, saltaremos el primer paso ya que no necesitamos tocar nada en el AndroidManifest.xml y nos pararemos a modificar el código en el segundo paso:

Figura 7

Respecto a la modificación de código vamos atacar al punto más débil, la clase "c" en su método "a" encargado de gestionar la conexión por HTTPS.

Figura 8


Si recordamos la figura 6, en la línea de código "localSSLContext.init(...)" se pasaban dos valores nulos y el array de TrustManager. En nuestro caso para anularlo vamos a pasar en lugar del array otro valor null, de modo que sustituiremos el valor de la línea 469 por aconst_null .

También en la figura 6 veíamos como se definía el uso de la clase "a" para verificar el hostname, en este caso lo que haremos será eliminar las líneas 484, 485 y 486 para anular esa parte del código.

Finalmente nos debería quedar algo así:

Figura 9

Ya tenemos preparado el código modificado, sólo queda re-empaquetar y firmar el APK. Si estabais usando el script modify.py sólo tendréis que guardar el código modificar y dar a enter.

4. Probamos nuestra obra

Reinstalamos la aplicación:

Figura 10
Activamos Proxydroid, abrimos la aplicación y realizamos una búsqueda:

Figura 11

Perfecto, ya estamos capturando las comunicaciones:

Figura 12


Conclusiones

Realizar certificate pinning en nuestras aplicaciones puede aportarnos una capa más de seguridad, pero debemos entenderlo como una capa más y no delegar en esta técnica la seguridad de nuestras comunicaciones ya que como hemos visto no la hace inmune a su análisis.

Desde el punto de vista del ataque realizado, podría haberse complicado el escenario si hubiéramos encontrado una ofuscación más fuerte o si se hubiera incluido algún método de validación de código en tiempo de ejecución que debidamente ofuscado nos llevara a dedicar más tiempo de reversing (aunque incluso ante estas contra-medidas quedaría la posibilidad de aplicar otras técnicas de hooking y debugging).

Artículo cortesía de Miguel Ángel García
Leer más...