domingo, septiembre 27, 2020

ATTPwn: Cómo cear tu propia implementación de una técnica MITRE ATT&CK

Después del verano seguimos sacando tiempo para ir mejorando y actualizando ATTPwn, la herramienta que publicamos en BlackHat USA y en DefCon. Se está celebrando la EkoParty 2020 en modo online, con un gran despliegue de medios y una gran cantidad de contenidos y hemos tenido la oportunidad de estar en la Eko Zone del Red Team con un workshop de ATTPwn. Ha sido un orgullo poder estar por segunda vez en EkoParty y disfrutar de los amigos, aunque en esta ocasión nos haya tocado de forma telemática.

Figura 1: ATTPwn: Cómo cear tu propia implementación de una técnica MITRE ATT&CK

Revisando un poco la documentación y los ‘To Do’ que tenemos con la herramienta me fijé que la incorporación de una implementación para alguien ajeno al desarrollo de la herramienta puede ser un poco complejo. Por ello, quería hacer un artículo explicando cómo hacer una implementación de una técnica de MITRE ATT&CK y poder añadirla a ATTPwn. En un futuro simplificaremos el proceso para que se pueda hacer desde la propia interfaz web de ATTPwn, pero a día de hoy el proceso es el que comentaremos a continuación. 


También quería recordar que el proyecto es colaborativo, por lo que cualquiera que quiere colaborar puede hacernos un pull request al repositorio de Github. Pronto iremos haciendo algunas actualizaciones diferentes del proyecto para ir añadiendo técnicas e ir añadiendo algunas funcionalidades que simplifiquen el flujo. Además, estamos estudiando algunas integraciones con ciertas herramientas que puedan dar valor a lo que se proporciona en la herramienta.

¿Por dónde empiezo?

Si queremos hacer una función implementando alguna técnica de MITRE ATT&CK deberemos optar por Powershell. En el proyecto, dentro de la carpeta ‘functions’ encontraremos un fichero llamado “skeleton file”. Este fichero es una especie de “molde” para simplificar la implementación. 

Figura 3: Fichero Skeleton

El aspecto es sencillo. Tenemos una primera parte que implementa la función en sí. El nombre de la función debe ser sustituido por ‘invoke-namefunction’, siendo namefunction el nombre que queramos. Dentro de la función se meterá todo lo necesario para llevar a cabo la técnica.


Si bajamos un poco nos encontraremos con un comentario ‘#Main program’. Este sería el programa principal. El main se divide en tres partes:

- GiveMeData: En esta parte se solicitan datos que se requieran para ejecutar nuestra función. En algunos ámbitos necesitaremos trabajar con datos como direcciones IP, nombres de usuario, hashes NTLM, etc... Por esta razón, antes de invocar nuestra función, podemos solicitar ese tipo de datos que se encuentran en el DataStore de ATTPwn.

- Execution: Tanto si requerimos de datos previos como si no, nuestra función se ejecutará. Este ocurrirá en esta parte del código. El resultado lo guardaremos en $execute. Hay que darse cuenta que $execute es un diccionario con dos campos “results” y “success”. La primera muestra el texto que se mostrará en ATTPwn como salida de la función ejecutada, mientras que ‘success’ indica si la ejecución de la función ha sido correcta o no. Esto es algo que debe ser controlado por parte del desarrollador, es algo a tener en cuenta.

- PutData:. En esta parte ‘post-ejecución’ se pueden subir datos de interés al DataStore. Esto se hace con la intención de que otras técnicas que sean ejecutadas en el mismo plan de amenaza (en la misma emulación de adversario) puedan aprovecharse de la información obtenida por esta técnica. Por ejemplo, cuando hacemos un escaneo de red y se obtienen puertos o direcciones IP (entre otros datos), se pueden volcar al DataStore a través de la llamada putData a ATTPwn.

Mi primer ejemplo

Ahora vamos a jugar con una primera técnica a la que llamaremos ‘invoke-mytechnique’, la cual implementa un ‘holamundo’. A continuación os dejo el código:

Figura 5: Primer ejemplo

Como se puede no hace uso de GiveMeData ni de PutData, ya que la técnica no requiere de información previa, ni genera información de interés a posterior, más allá de la salida que tiene y la información sobre si se ha ejecutado o no correctamente.

La función ‘invoke-mytechnique’ simplemente ejecuta un ‘holamundo’ por pantalla y almacena una palabra en $results e indica que siempre ha ido bien la ejecución de la función poniendo $good a true. Más sencilla imposible. No hace nada realmente. Ahora, voy a la carpeta functions del proyecto y veo mi función en el fichero ‘invoke-mytechnique’. Junto al resto de funciones del proyecto.

Figura 6: funcions/invoke-mytechnique

Desde el IDE me voy al fichero data.py, el cual es el que almacena todo el modelo de ATTPwn del comienzo y modifico, dentro de ‘insert_intelligence’, la línea que encaje con la táctica y la técnica que estoy implementando. Para este ejemplo, he configurado mi implementación en TA0001 y T1091, aunque no encaje con la realidad. Modifico el campo “Function =” y le pongo mi nombre de función ‘invoke-mytechnique’. 

Figura 7: Integrando la funcion

El campo de Terminated a true o false nos vale para indicar a la consola de ATTPwn si esta técnica es de escalada de privilegio o de movimiento lateral, en estos casos pensemos que si la técnica tiene éxito en su ejecución tendremos un proceso nuevo con privilegio o nuestra consola de ATTPwn se ejecutará en otra máquina.

Figura 8: Tactics TA00001 y Tecnica T1091

Ahora, vamos a probar lo que hemos hecho. Si queréis ser rápidos ejecutáis un “docker build -t attpwn:mytechnique” y levantáis una imagen de Docker con ATTPwn y vuestros cambios. Después un “docker run –rm -it -p 5000:5000 attpwn:mytechnique” y tendréis listo ATTPwn para acceder desde el navegador.  Nos vamos a la vista de Plan y pinchamos en Create a Plan. Veremos que la táctica TA0001 y la técnica T1091 (aunque se corresponde con Replication Through Removable Media, no tendrá que ver) tiene una implementación de invoke-mytechnique, tal y como se ve en la Figura 8.
  
Figura 9: Warrior P0YPMC

Cuando lanzamos un ‘warrior’ de ATTPwn en Powershell en una máquina Windows, éste se conectará y se identificará. En este caso ‘P0YPMC’ es el ID. Tras configurarle el plan ejecutará mi función invoke-mytechnique.

Figura 10: Mensaje de texto "holamundo"

Si revisamos la salida que proporciona mi función encontraremos el texto “holamundo” que es el que albergaba la variable $results y que se devolvía a la consola de ATTPwn y ésta devolvía al C2.

Usando GiveMeData y comprobando un PING

Ahora vamos a modificar la función para que haga algo más. Lo primero fijaremos el objetivo. El objetivo de la nueva función será el de hacer un PING a una o diferentes direcciones IP. Para ello introducimos algunos cambios:

- Añadimos a la función invoke-mytechnique el campo param de Powershell para recibir datos como parámetros. En este caso solo queremos recibir una dirección IP.

- La ejecución de la acción la almacenamos en $execute para que no muestre nada por pantalla en la Powershell. Comprobamos si el ping se hizo correctamente o no y almacenamos dicho valor en $good.

- Si $good marca true almacenamos el resultado como positivo y si no mostramos un resultado negativo.

Figura 11: Cambios en la función para hacer ping y devolver $good

En la imagen se puede ver el código. Fácil y sencillo.  En el caso del main, ¿Cómo evoluciona? Lo primero es indicar a dónde se realizarán las peticiones de GiveMeData. La variable $uri lo almacena. $uri = "http://"+$global:remoteip+":5000/getdata". La variable $global:remoteip es una variable global que está definida en el fichero console_template y que cuando se genera el fichero console toma valor (cuando generamos el warrior desde el C2 de ATTPwn).

Una vez sabemos dónde pedir los datos, los pedimos identificándonos con $global:id. Esta variable también se define en el fichero console y proporciona el valor del ID. Cada ID identifica a un plan de amenaza y cada plan de amenaza tiene un DataStore diferente. Esto es importante.

Figura 12: main program

Se ve que pedimos las direcciones IP al DataStore. Si quisiéramos pedir los usuarios o los hashes, en vez de ip=”” indicaríamos user, ntlm o lm. Después, ejecutamos la función invoke-mytechnique pasándole una dirección IP. Si tuviéramos más de una se lanzaría la función N veces e iríamos recogiendo los resultados para preparar la salida de ‘return @{results=$execute.results;success=$execute.success}, que es lo que le llegará a la consola y lo que se reportará al C2 de ATTPwn.

Ahora, antes de ejecutar esta función. Conectamos una consola con el C2 de ATTPwn y nos vamos a la vista ‘Results’. En esta visa vamos al DataStore de esa consola y le damos al botón ‘+’ y añadimos una dirección IP como se ve en la imagen.

Figura 13: DataStore

Ejecutamos el plan y obtenemos un resultado que podemos visualizar en ‘Results’ y pulsando sobre la lupa. El resultado es el mensaje que codificábamos cuando el PING era correcto. 

Figura 1$: Ping  OK

En el caso de que el PING no sea correcto, es decir, la máquina no responda a PING se obtiene el siguiente mensaje, tal y como se había programado en la función.

Figura 16: Mensaje final

Animamos a todos a participar en este proyecto colaborativo y que se hagan sus implementaciones de funciones. La verdad es que con la matriz de MITRE ATT&CK se puede aprender mucho sobre el Ethical Hacking y el Red Team, ya que hay un gran catálogo de técnicas que son utilizadas en el día a día. 

Saludos,
 
 Autor: Pablo González Pérez (@pablogonzalezpe), escritor de los libros "Metasploit para Pentesters", "Hacking con Metasploit: Advanced Pentesting" "Hacking Windows", "Ethical Hacking", "Got Root",  “Pentesting con Powershell”, "Pentesting con Kali Silver Edition" y de "Empire: Hacking Avanzado en el Red Team", Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de la unidad CDCO de Telefónica.  Para consultas puedes usar el Buzón Público para contactar con Pablo González - Conseguir 100 Tempos Gratis en MyPublicInbox

Figura 17: Contactar con Pablo González

sábado, septiembre 26, 2020

LemonCrest: Una historia de emprendedores Makers & Gamers (4 de 4) #RaspberryPi #GameBoy #Gaming #makers

En la parte anterior de este artículo habíamos visto como diseñar la placa tenía sus retos y decisiones complejas, pero no se iba a quedar ahí. El proceso de construir la Kelboy 2.0 tiene muchas otras cosas a tener en cuenta para que funcione bien el sistema, hoy vamos a ver en esta última parte algunas de ellas, que como veréis nos son pocas. Al final, una placa compleja tiene retos complejos.

Figura 33: LemonCrest: Una historia de emprendedores Makers & Gamers (4 de 4)

Teníamos que plantear los retos a mitigar. Los detalles son importantes para poner las mejores características al producto. Nos pusimos en marcha y se consiguió funcionalmente:
  • Fuel-Gauge por I2C proporcionando el control absoluto del consumo, la batería y su estado.
  • WiFi/BT de última generación por SDIO, la base de estos drivers fue facilitada por Panasonic en versión GPL, de manera que somos capaces de mejorarlos y adaptarlos al sistema.
  • Audio por I2S, un sistema de audio digital en formato 384 kbps y 32 bits de alta calidad que hacen que los juegos suenen mejor que el primer día.
  • Memoria EEPROM interna por I2C accesible por el driver para el espacio de usuario.
Así mismo, queríamos conseguir vídeo en una pantalla embebida. La primera reacción del usuario al encender la Kelboy 2.0 es lo bien que se ve esta pantalla. Para conseguirlo tuvimos que aprender a manejar los distintos formatos de pantallas existentes, LVDS, CSI-MIPI, RGB TTL. Uno de los más complejos y por donde empezamos, debido en mayor medida a sus resoluciones, fue el CSI-MIPI.

Figura 34: Configurando la pantalla de la Kelboy 2.0

El problema de este apartado es que está cerrado y las empresas no quieren perder el control sobre las pantallas, por lo que nos quedamos atascados en los DPI timmings. Estos tiempos son los que utiliza el protocolo CSI-MIPI para enviar la información de vídeo y que el driver de la pantalla lo entienda correctamente para visualizarlo. No abandonamos esta alternativa en otros proyectos, pero pensando en la salida del prototipo de Kelboy 2.0, sacar los tiempos por ingeniería inversa como estamos haciendo consumía un tiempo elevado y el proyecto debía continuar.

Figura 35:  "Raspberry Pi para Hackers & Makers:
PoCs & Hacks Just For Fun
" de 0xWord

Por lo tanto, se decidió reducir la complejidad e irnos a un RGB TTL, donde nuevamente nos encontramos con el problema de los tiempos. Dicen que la experiencia es siempre un grado y esta vez con lo aprendido del CSI-MIPI se obtuvieron unos tiempos óptimos con el resultado de una pantalla con una nitidez espectacular. Se buscaba alcanzar la sensación a nivel usuario de pixel perfecto y se consiguió el reto.

Figura 36: FullHD DPI Test

Una vez conseguida la pantalla, pasamos al siguiente punto, y no menos importante, los periféricos como el sonido y GamePad. Para poder avanzar con todo esto debíamos comprender y conocer los drivers, un conocimiento que fue adquirido a cabezazos y el libro de Alberto Liberal de los RíosLinux Driver Development for Embedded Processors“.


Pero nuevamente, se nos planteó otro problema. Al utilizar la pantalla con un bus RGB-TTL que es paralelo, necesitamos un GPIO por cada bit de cada color más el GPIO de sincronización vertical, sincronización horizontal y el reloj que marca cuando se debe leer la señal. 

Figura 38: Valores GPIO

Por lo tanto, debíamos modificar a nivel de descriptor hardware el entendimiento del kernel de Linux de qué es cada pin. Para ello contamos con la ayuda del foro de Raspberry Pi y pudimos mover el bus I2S y el I2C a GPIOS que estuviesen libres, puesto que todos los GPIOs iniciales de la Raspberry Pi estaban en uso. Este punto tiene cierta dificultad ya que, aunque Raspbery Pi quiera ser abierta, Broadcom tiene muchas partes ocultas que no lo permiten, con lo que el funcionamiento difiere bastante de una plataforma no tan privativa. 

Figura 39: Tabla de Funciones Alternativas del banco 1 de GPIO

Como se puede observar en la imagen estos eran los pines que nos quedaron libres. El resultado fue del 28 al 32 para el I2S, del 34 al 40 para el SDIO, y del 44 al 45 para I2C nos quedaron libres 4 pines. Ahora bien, nos quedaba por gestionar las interrupciones del bus I2C y el backlight. Lo bueno es que a nivel de driver podemos escoger los GPIO o cargarlos desde un descriptor hardware dando versatilidad. Quedándonos la friolera de dos pines libres teníamos que decidir bien su uso. Control del hardware, uno para detectar pulsación de apagado y el otro para poder resetear los periféricos.


Figura 40: Testeo de la Kelboy 2.0

Por último, nos queda el apartado del GamePad, la forma más simple de abordar un dispositivo de estas características que cumpliese nuestra dificultad en cuanto a “ocupación” de los GPIOS del procesador era el USB. Esto nos introducía en un campo de mucha complejidad, el stack HID del USB.

Nuevamente abordar esto no era sencillo, y aunque no esté cerrado en su totalidad no hay una documentación en si misma que explique cómo poder programar a bajo nivel los drivers y enfrentarse a ello. Bienvenido al mundo del hardware. Para entenderlo se inició con dos documentaciones antiguas pero muy conocida “USB in a nutshell” y “USB made simple”. Una vez entendido se inició a abordar con microprocesadores como el STM32, pero nuevamente otra losa en el camino... necesitábamos más de un USB Device al mismo tiempo, lo que nos situaba en un USB Device Composite.

Para variar en este mundo del bajo nivel las empresas potentes no dan soporte a este tipo de funcionalidades, y si las quieres hay que pagar por stacks privativos unas sumas de dinero considerables además de la firma de licencias restrictivas, lo que nuevamente nos situaba en una posición donde no podíamos avanzar.

¿Cómo realizamos un USB Device Composite en STM32?  ¿Programamos el driver? Cómo no esta tarea implicaba un largo recorrido y con muchos interrogantes. Tras llegar a este punto se decide por buscar algún framework que dé soporte a este punto, encontrándonos negativas en los frameworks Mbed y HAL de STM32 pero con una muy buena noticia, el USB_Plugable.h del framework de Arduino sí contemplaba estas situaciones. 

Figura 41: "Arduino para Hackers: PoCs & Hacks Just for Fun"

Con la ayuda del creador de Teensy y empresas tan valiosas como Adafruit y Sparkfun parecía que el framework de Arduino iba a ser el camino, y así ha sido.  Gracias a leer las múltiples librerías de ejemplo y lo aprendido anteriormente conseguimos describir el HID que queríamos fielmente al detalle, un Gamepad embebido.

Figura 42: Descripción del HID

Lo bueno de todo esto es que las librerías del framework de Arduino facilitan todo el apartado de cabeceras necesarias para el stack del USB y uno se puede centrar en el descriptor de su dispositivo, pudiendo así realizar el dispositivo que se quiera, tanto sea un ratón, un teclado..... o incluso un dispositivo Raw, es decir, sin funcionalidad conocida pero que con el driver adecuado realiza la función programada.

Figura 43: Descriptor del Gamepad

Finalmente, solo era necesario rellenar el descriptor que posteriormente empaquetaría las funciones del framework del Arduino, dando como resultado un USB Device Composite funcional de una manera tan simple comparada con otras soluciones que es increíble, aquí es donde se ve nuevamente la fuerza que tiene la comunidad y el movimiento Open Source. El resultado y felicidad al ver este mensaje saliendo por la consola de log de Linux fue y será indescriptible.

Figura 44: Log de Linux con el Gamepad cargado

Pudiendo así redondear un sistema completo. ¿El siguiente reto? Dar soporte y crear paquetes de distribución Debian para que podamos integrarnos al gestor de paquetes APT, que el usuario pudiera manejar de manera sencilla. Lo bueno de todos estos cabezazos es que tenemos en la palma de la mano un dispositivo abierto, donde se enseñan las tripas de manera completa y que nos da la posibilidad de tocar y modificar a voluntad pudiendo así obtener múltiples funcionalidades. El objetivo de ser abiertos se cumple.


Figura 45: Kelboy 2.0 con Mario Kart64

Hemos explorado más posibilidades como soluciones IMX y con otros ARM, y adquirimos más conocimiento en el camino. Diseñamos y ensamblamos nuestro propio hardware, por lo que aprovechamos a ampliar nuestra oferta de productos y servicios de empresa incluso ofreciendo la fabricación de hardware a medida para la industria de manera asequible. Aplicamos nuestros principios a la industria moderna sin firmwares extraños dando un soporte completo y cercano de un fabricante 100% español y de calidad. Somos MADE IN SPAIN. Somos LEMONCREST.

viernes, septiembre 25, 2020

Spetrick, Noble, Legend, Lord Zakuza y otros buscadores de víctimas de esas que quieren contratar "hackers" o "magos" para solucionar su vida

Constantemente me llegan comentarios a esta blog que tengo en moderación haciendo spam para buscar víctimas. Víctimas de esas que piensan que pueden solucionar, si consiguen contratar un hacker o un Pirata Informático Ético Certificado, sus problemas con las notas de la universidad, que pueden arreglar sus problemas de pareja hackeando el WhatsApp a su pareja, o el Facebook, o que pueden hacerse de oro gracias al BitCoin, que han oído que es muy fácil y hasta yo lo hago.

Figura 1: Spetrick, Noble, Legend, Lord Zakuza y otros buscadores de víctimas de esas que quieren contratar "hackers" o "magos" para solucionar su vida

Esos mensajes son muy repetitivos, pero como las páginas webs dedicadas a estas estafas de "Contratar Hackers" no duran demasiado porque se las tumban, recurren a cosas más sencillas como el e-mail o una dirección de WhatsApp - que siempre son números virtuales, por supuesto -. Hoy os traigo algunos de esos mensajes para que veáis lo absurdo de lo que proponen, y lo lucrativo que sigue siendo este negocio para los cibercriminales que viven de estafar al que quiere estafar.

Figura 2: American Hackers en brasileño

Este primer mensaje es para que veáis solo como ya no se preocupan de una infraestructura grande. Basta con una dirección de e-mail y mucho spam con correos electrónicos y mensajes en foros, blogs y cualquier sitio donde les dejen.

Figura 3: e-mail y WhatsApp con número virtual.
Si no eres ingeniero es porque no quieres.

Este me ha hecho gracia por la propuesta de valor de la oferta: El tiempo. En una hora se cepillan el WhatsApp y el Facebook de quien quieras. En 1 hora te hacen Doctor Universitario o Doctor Honoris Causa si se ponen. Y en un poco más, en solo "unas pocas horas" te quitan los antecedentes penales. Para que luego digas que no son rápidos estos servicios.

Figura 4: Si no tienes BitCoins es porque no quieres.

Fíjate, estos tipos son geniales. Te cargan una cuenta de BitCoin vacía sin pago anticipado. Hay que flipar, porque el negocio es redondo. Te abres una cuenta de BitCoin, ellos te la llenan y tú de ahí les pagas. Sin arriesgar nada. No sé cómo no se han dado cuento. Eso sí, además de eso gestionan el Software de repuesto y se ofrecen para Tabajar como asesor de Ciberseguridad. ¿Trabajar? Pudiendo tener los BitCoins del mundo quién quiere trabajar...

Figura 5: Otros que regalan BitCoins

Otros "hackers" que hacen de todo, de todo, de todo. Solo hay que leer la lista de servicios que es de flipar. No solo hace hacking, sino también growth hacking para que suba tu blog, tu web, etcétera. Servicio disponible solo por e-mail de Gmail. Nota: También regalan BitCoins.

Figura  6: Con experiencia

Estos son con experiencia, ya que como dicen en el mensaje "Han pasado hasta 2 décadas en la profesión de pirateo informático como piratas informáticos bien calificados y su reputación es reconocida positivamente". Vamos, que si quieres un profesional con experiencia y referencias estos te hacen de todo. Desde falsificar certificados hasta Cortar el Sistema Judicial. Ahí es nada.

Figura 7: Aquí está Spetrick

Que este es de verdad, ¿eh? No te vayas a pensar que Spetrick es como esos hackers falsos que te sacan dinero y no hacen nada. No, no, no. Spetrick es diferente. Te ayuda a hackear el teléfono de tu novio / novia / cónyuge infiel, ya que Spetrick es uno "de los mejores hackers vivos".

Y el amor por fin

Os podría traer cientos y cientos de mensajes similares, pero para terminar he seleccionado este de Lord Zakuza, que es de otro modelo de estafa. La de la magia del amor. La idea es la misma que lleva funcionando sobre la tierra miles de años. Hacer con magia que alguien se enamore de ti.

Figura 8: En solo 48 horas vuelve enamorado a ti.

Normalmente publico en mis rede sociales los mensajes de gente que quiere hackear a otros para que veáis cómo existe un mercado de gente buscando solucionar su vida contratando hackers. Y hoy os he querido publicar el otro lado, los estafadores buscando a esos que quieren hackear a la gente.

Por favor, ayudadme a difundir el mensaje entre vuestros amigos y familiares, porque fliparías la cantidad de gente cercana a vosotros que puede llegar un día a plantearse eso y acabar estafado. Ni es la solución, ni vas a localizar "Buscando en Google" o "escribiendo a un Gmail o WhatsApp" un hacker que arregle tus problemas. 

Figura 10: Contratar Hacker Gratis en Google

En fin, el mundo está un poco loco cuando estas estafas funcionan, cuando Google tiene esa como una de las búsquedas más comunes en mi zona, y cuando yo recibo tantos y tantos mensajes de gente que quiere hackear algo ilegalmente.

Saludos Malignos!

jueves, septiembre 24, 2020

Algunas mejoras en el buzón de MyPublicInbox con nueva información visual #mypublicinbox @mypublicinbox1

No soy de comunicarme por redes sociales, a pesar de que las utilizo de canales de difusión de mis publicaciones. Para el trabajo, siempre he sido, y sigo siendo de correo electrónico. No es casual que naciera MyPublicInbox como nació. Buscando hacer una herramienta que no se muriera por el spam, el malware, los ataques de phishing o el uso no responsable de ese canal de comunicación.

Figura 1: Algunas mejoras en el buzón de MyPublicInbox con nueva información visual

Ahora, cuando estamos cerca ya de llegar al año desde que lanzamos la primera versión del proyecto, hemos ido añadiendo nuevas funcionalidades para hacer que los Perfiles Públicos que utilizan este canal tengan más y mejor información, así como una mejor experiencia gestionando sus hilos de comunicación sin que sean una herramienta de robo de tiempo en su vida, y que sean útiles por el contrario. Os cuento algunas cosas.

Etiquetas informativas en la Bandeja de Entrada de MyPublicInbox

Ahora en la Bandeja de Entrada, además de poder marcar con una estrella los e-mails a los que quieres hacer seguimiento, recibirás información de si el mensaje fue enviado gratuitamente, o por el contrario pago con Tempos por tu tiempo.

Figura 2: Etiquetas de Gratis, de Tempos pagados, y estrella de Favoritos

Además, cuando recibes un mensaje, puedes acceder siempre a la información del perfil público, así que es suficiente con que abras el mensaje y despliegues toda la información en el icono azul que se ve en la imagen siguiente.

Figura 3: Foto e información del perfil que te contacta

Y si eres tú el que abre el hilo y paga por la comunicación con otro Perfil Público, te saldrá una etiqueta azul dejando claro que fuiste tú quién abrió este hilo de mensajes y serás tú el que pagues los Tempos y el otro perfil el que decida si quiere dejar o no la respuesta gratuita.

Figura 4: Hilo comenzado por mí. Soy el que paga los Tempos.

El objetivo es hacer que tu buzón te dé información que pueda ser útil para mantener una comunicación profesional fluida e informada, con personas que te contactan a través de Internet. Y también hemos hecho mejoras en la Bandeja de Enviados.

Etiquetas informativas en la Bandeja de Enviados de MyPublicInbox

Ahora, en los mensajes que tienes enviados, puedes elegir si a ese correo quieres abrir o cerrar el selector de Repuesta Gratuita en el próximo mensaje. Esta opción es automática, y no importa si el mensaje ya ha sido leído por el destinatario. En el momento en que se abre la Respuesta Gratuita, el destinatario podrá responderte gratuitamente si quiere. 

Figura 5: Mensaje Visto, y hora de visualización, así como selector de Respuesta Gratuita cerrado.

Y viceversa, si activaste Respuesta Gratuita y quieres cambiarlo, puedes hacerlo. Eso sí, si le dejas Respuesta Gratuita, es solo para el siguiente mensaje, así que automáticamente se cerrará para futuras interacciones.


Figura 6: Si activas la opción de respuesta gratuita y el destinatario no la usa aparecerá la etiqueta de Respuesta Gratuita. Si el mensaje de contestación ha sido visto, verás la fecha exacta en que visualizó.

Si tienes activado el selector de Respuesta Gratuita en un, pero aún no han hecho uso de esa característica, recibirás información con una nueva etiqueta, tal y como se ve en la imagen siguiente. Además, tendrás información de si han visto o no este mensaje y la hora exacta.


Seguiremos añadiendo opciones al buzón de correo para que se pueda adaptar cada día más a las necesidades de comunicación a través de Internet de forma responsable e informada. Si quieres tener un buzón y ser perfil público, consulta cómo puedes hacerlo. Y si quieres contactar con algún perfil público y empezar a usarlo, recuerda que tenemos la campaña de ESET activa para que consigas 100 Tempos gratis.

Saludos Malignos!

miércoles, septiembre 23, 2020

iOS 14 en iPhone y la granularidad de los permisos a tus fotos para que no te roben las más "privadas": Casi bien, pero le falta un poquito

Una de las cosas de las que he hablado muchas veces en el mundo de las apps para iOS y Android, es el uso de permisos de forma oportunista. Es decir, si una app pide permiso para acceder al carrete de las fotos, le tienes que dar acceso a todo el carrete sí o sí. Eso quiere decir que si una app te convence de que necesita acceso al carrete y tú eres capaz de comprender que lo necesita y se lo das, le tienes que dar permiso a toda las fotos.

Figura 1: iOS 14 en iPhone y la granularidad de los permisos a tus fotos para que no te roben las más "privadas": Casi bien, pero le falta un poquito

Pero, ¿qué pasa si esa app se convierte en una Germlin App y hace un uso oportunista de ese permiso? De esto hablé en el artículo - y la charla - de las Gremlin Botnets, donde os contaba como en el mercado de las apps en venta que se usan para ciberespionaje lo que vale es el número de usuarios que tiene, qué tipo de usuarios tiene, y cuáles son los permisos de esa app.


Figura 2: Gremlin Botnets "El club de los poetas muertos"

Si una app para hacer retoques de belleza en fotos tiene acceso a tu carrete de fotos, tiene acceso a todas tus fotos. Todas. Y si se vuelve maliciosa, se podrá llevar todas tus fotos. Hasta las ocultas. Hasta las de sexting. Es más, podría descargar un algoritmo que detecte donde haya gente desnuda en las fotos y llevarse solo aquellas en las que estés sin ropa. 


Solo necesita hacer uso de ese permiso que le diste de acceso al carrete de fotos. Con este sistema de permisos, garantizar eso de "lo que pasa en tu iPhone se queda en tu iPhone" no es nada sencillo, y es conocido por la mayoría de apps que se ha utilizado para hackear a los usuarios de iOS (iPhone & iPad) espiándoles lo que hacen en sus dispositivos. Uso de permisos oportunistas.

Figura 4: Libro de Hacking iOS (iPhone & iPad) 2ª Edición

Apple, en la última versión de iOS 14 ha seguido metiendo opciones de privacidad, como los iconos de acceso a la cámara y micrófono, y también ha hecho más granulares los permisos de acceso al carrete de fotos, y está bien, porque ahora puedes seleccionar a qué fotos le das acceso a una app, limitando el acceso al resto de ellas. Esto, por supuesto, reduce la superficie de exposición y es bueno. Además, por defecto le ha quitado el acceso a todas las apps al carrete, así que conscientemente debes volver a dárselo tú, pero le ha faltado rematar.

Figura 5: Se puede dar acceso selectivo a fotos en el carrete

En concreto, en el tema de las fotos, hay muchas apps que se usan para retocar fotos - aunque sean maliciosas como el caso que ponía yo de ejemplo de apps de filtros de belleza que pudieran ser utilizadas en una Gremlin Botnet - así que el usuario, antes de entrar en la app debe volver a configurar el permiso para que la app tenga posibilidad de acceder a la foto que quiere retocar en ese momento.

Figura 6: Se puede entrar en un álbum, pero solo para seleccionar fotos

Esto no es muy usable, y estoy convencido de que la mayoría de las personas acabará por darle permiso a todo el carrete a las apps, lo que hará que parezca que el permiso granular no es algo que necesite la gente, cuando es que está mal implementado en términos de UX. Y eso es lo que hay que arreglar. Creo que Apple debería añadir la opción de permitir dar acceso a un álbum cuando se hace la selección granular de fotografías, algo que no está ahora. 

De esta forma, cuando alguien configura el perfil granular para su Instagram, su app de filtros de belleza, su WhatsApp, o su lo que sea, puede darle acceso al álbum y catalogar cada foto en uno de ellos. Así, para el usuario será más fácil gestionar la granularidad de accesos y no acabará - como van a hacer la mayoría de usuarios - por darle permiso a todo el carrete otra vez a todas las apps. Veremos si hay suerte en el futuro.

Saludos Malignos!

Entrada destacada

ESET te consigue 100 Tempos de MyPublicInbox para consultar con los expertos de seguridad informática @eset_es @mypublicinbox1

La compañía de seguridad ESET , especializada en soluciones de seguridad personal y empresarial, ha puesto activa una campaña de concienciac...

Entradas populares