Mostrando entradas con la etiqueta smshing. Mostrar todas las entradas
Mostrando entradas con la etiqueta smshing. Mostrar todas las entradas

jueves, febrero 02, 2023

macOS Hacking: Cómo automatizar el envío de iMessages con AppleScript

AppleScript es un lenguaje de programación desarrollado por Apple para automatizar tareas en macOS y en aplicaciones de Apple (y compatibles de terceros). Con AppleScript, los usuarios pueden crear scripts para automatizar tareas comunes como abrir aplicaciones, enviar correos electrónicos o modificar documentos de texto. Y también le puedes sacar partido para hacer algo de macOS Hacking.

Figura 1: macOS Hacking - Cómo automatizar el envío de iMessages con AppleScript
Imagen Dall-e 2 "happy hacker in Van Gogh style"

Lo que vamos a ver hoy difiere un poco del trabajo que hicimos con AppScrapping iMessages, donde lo que usamos es un modelo para APIficar al app de iMessages para poder utilizarla desde scripts de pentesting, como por ejemplo para saber si un número de teléfono estaba asociado a una cuenta de iMessages o no.
En el ejemplo de hoy, para interactuar con las distintas partes del sistema y las aplicaciones existen los llamados diccionarios. Los diccionarios son documentos especiales que contienen información sobre la sintaxis, los comandos y los objetos de una aplicación específica. Al utilizar estos diccionarios en conjunto con el editor de scripts de AppleScript, los desarrolladores pueden obtener información detallada sobre cómo interactuar con una aplicación en particular mediante scripts.

Figura 3: Libro de macOS Hacking en 0xWord

Los diccionarios de las aplicaciones son una herramienta muy valiosa para los desarrolladores ya que les proporciona información sobre los comandos y objetos disponibles para una aplicación específica. Esto es especialmente útil para aquellos que no están familiarizados con la estructura interna de una aplicación o que buscan documentación detallada sobre cómo utilizar una aplicación con AppleScript.

Figura 4: Algunos diccionarios posibles en las aplicaciones instaladas en macOS

Los diccionarios de aplicaciones están compuestos por cuatro elementos principales: comandos, clases, propiedades y elementos.
  • Los comandos: son acciones que se pueden realizar en una aplicación, como abrir una ventana o enviar un mensaje. Los comandos (se indican con una C dentro de un círculo azul) se pueden enviar a una aplicación mediante la sintaxis de "tell" de AppleScript.
  • Las clases: (se representan con una C dentro de un cuadrado morado) son tipos de objetos en una aplicación, como una ventana o un mensaje. Las clases proporcionan información sobre los objetos con los que se puede trabajar y las propiedades y comandos disponibles para esos objetos.
  • Las propiedades: (aparecen como una P dentro de un cuadrado morado) son características o valores de un objeto, como el título de una ventana o el contenido de un mensaje. Las propiedades se pueden leer y, en algunos casos, modificar.
  • Los elementos: (una E dentro de un cuadrado amarillo) son objetos individuales dentro de una clase, como una ventana específica o un mensaje específico. Los elementos se pueden seleccionar y trabajar mediante AppleScript.
En definitiva, los diccionarios, junto con el editor de scripts de AppleScript y otros diccionarios del sistema, hacen que sea fácil automatizar tareas y trabajar con aplicaciones en macOS.

Automatización de envío de iMessages con AppleScript

El diccionario de la aplicación de Mensajes de Apple para enviar iMessages proporciona información sobre la sintaxis, los comandos y los objetos disponibles para trabajar con la aplicación de Mensajes en AppleScript. Con este diccionario, los desarrolladores pueden automatizar tareas como enviar y recibir mensajes, gestionar chats y contactos, y realizar otras acciones en la aplicación de Mensajes.

Figura 5: Diccionario de la aplicación iMessage (que se usa también en iOS)

Para automatizar el envío de un mensaje a un usuario en particular con AppleScript, se podrá usar el comando "send" del objeto "message" del diccionario de la aplicación de Mensajes. El código sería algo similar a esto:
set messageBody to "Hola, ¿cómo estás?"
set recipient to "+1234567890"

tell application "Messages"
    set theBuddy to buddy recipient
    send messageBody to theBuddy
end tell
En este ejemplo, se establece el texto del mensaje como "Hola, ¿cómo estás?" y el destinatario como un número de teléfono (también podría ser una cuenta de email registrada). Luego, el script utiliza el comando "tell" para especificar que se está trabajando con la aplicación de Mensajes. Dentro del bloque "tell", se establece una variable para el destinatario del mensaje utilizando el comando "buddy", y, por último, se utiliza el comando "send" para enviar el mensaje.

Figura 6: Libro de Hacking iOS:iPhone & iPad (2ª Edición) en 0xWord de
Chema AlonsoIoseba PalopPablo González y Alejandro Ramos entre otros.

Hay que tener en cuenta que para enviar mensajes mediante este método es necesario que en el dispositivo se encuentre configurado el servicio de iMessage y se haya iniciado sesión en la cuenta de iMessage, ademas si el usuario a quien quieres mandar el mensaje no tiene configurado iMessage o no tiene una conexión activa no podrás mandarle el mensaje a menos que uses un método diferente, por ejemplo, SMS.

Integración con Python

Como ocurre con otros muchos proyectos, es posible trabajar conjuntamente con AppleScripts y Python. Para ello existen librerías como py-applescript o applescript.py que ayudan a realizar esta integración de manera sencilla. El siguiente ejemplo muestra el mismo código anterior pero adaptado a Python:

Figura 7: Código en Python para usar AppleScript en iMessages

Antes de su ejecución se debe instalar la librería applescript.py haciendo uso del comando pip
  • pip install applescript.
La variable r almacena el resultado de la ejecución, pudiendo acceder a r.code para obtener el código de salida (0 si se ha ejecutado bien), r.out para obtener el texto de salida (si lo hubiera, por ejemplo, al utilizar un AppleScript contra la terminal y lanzar un comando que muestre salida por pantalla), o r.error para obtener un mensaje de error en caso de que se produzca. Como puede verse, es bastante sencilla la integración con Python aunque esto no quita que sea necesario saber como se construyen los AppleScripts.

En definitiva, en macOS hay distintas formas para automatizar acciones, como Automator, los nuevos Atajos del sistema o los mencionados AppleScripts. Es cierto que para poder escribir AppleScripts hay que tener un mayor conocimiento técnico, así como conocer el lenguaje, la sintaxis y el uso de AppleScripts, pero también permite realizar acciones más complejas como la interacción con partes del sistema, aplicaciones nativas y aplicaciones de terceros compatibles.


domingo, marzo 07, 2021

Los cibercriminales que entraron en tu empresa por WhatsApp: "Me he cambiado de número"

Uno de los trucos que hemos visto últimamente que están utilizando los cibercriminales para colarse dentro de las empresas se basa en aprovechar el excesivo número de comunicaciones empresariales que se tienen a través de WhatsApp, cuando este canal debería ser un canal de comunicación social. Hoy en día es muy normal que miembros de una empresa que tienen una comunicación personal muy limitada tengan interacción por WhatsApp, y en algunos casos, incluso, que se manden hacer tareas o se tomen decisiones por este canal.

Figura 1: Los cibercriminales que entraron en tu empresa
por WhatsApp: "Me he cambiado de número"

Esto es conocido por los cibercriminales, y han empezado a utilizarlo de manera sistemática para conseguir el objetivo de que alguien de la empresa con acceso a las cuentas bancarias haga una transferencia porque cree que viene del CEO. Es decir, es la estafa del CEO pero utilizando una clonación tan sencilla como copiar la foto de WhatsApp y el nombre que el CEO - o ejecutivos clave de la compañía - tienen en su cuenta. 

Figura 2: Libro de "Cómo protegerse de los peligros en Internet"
escrito por José Carlos Gallego en 0xWord

Una vez que lo han hecho - y por eso es tan importante el leak de que se vea el nombre del WhatsApp en todas las comunicaciones, lo que facilita el Spear-Phone Phishing -, comienzan enviándole a alguien de su equipo cercano un mensaje con "Me he cambiado de número". 


Para ello, buscan los contactos cercanos, pero no extremadamente cercanos, que esta persona tiene en la empresa, y especialmente por la rama financiera, para conseguir que se den por buenas las órdenes que lleguen por WhatsApp.

Figura 4: Proceso de cambio de número en WhatsApp

Lógicamente, el caso del "Cambio de número en WhatsApp" está más que contemplado en la app, y si realmente te cambias de número la propia plataforma te ayuda a que todas las personas reciban un aviso y automáticamente se migren todos los grupos, canales de distribución, y personas que te tienen en la agenda, a ese nuevo número.

Figura 5: Alerta de cambio de número de WhatsApp de mi compañero.

Por supuesto, los cibercriminales pueden usar el truco de "Éste es mi número personal" o cualquier otro, pero ya no el de "Me he cambiado de número", así que, si recibes este mensaje desde alguien en WhatsApp y en su canal de chat antiguo no te sale la alerta, más te vale que tengas mucho cuidado que puedes estar siendo la puerta de entrada de un APT a tu organización.

Figura 6: Notificaciones de Seguridad en WhatsApp

Por último, cabe resaltar que el equipo de seguridad de WhatsApp va añadiendo nuevas notificaciones de seguridad que puedan ser de interés para los usuarios cuando se descubren nuevas amenazas, por lo que siempre es recomendable tener activadas las notificaciones de seguridad y entender qué significa cada una de ellas que WhatsApp nos envía.
Para evitar este tipo de ataques, y otros derivados de utilizar redes de mensajería instantánea abiertas, los cuerpos de seguridad como la Policía, o las empresas preocupadas por la seguridad de los directivos, utilizan soluciones como Imbox, con la que trabajamos en ElevenPaths.

Saludos Malignos

domingo, junio 05, 2016

SMShing para robar tu 2nd Factor Authentication en tus cuentas Google o Apple #SMShing #Google #Apple

Para robar una identidad en Google o AppleID existen varias estrategias que un atacante puede seguir. Primero podría cotillear la seguridad de tu cuenta para descubrir si la protección es de sólo un factor (usuario y contraseña) o de más de un factor - utilizando un OTP vía SMS o Google Authenticator con 2nd Factor Authentication. Si solo tuviera protección por la contraseña, se podría intentar robar mediante un ataque de Phishing al uso.  Si una vez robada la contraseña, el atacante fuera a utilizarla y estuviera activado Google Authenticator, el atacante no podría entrar, pero la víctima - como ya os expliqué en este artículo - no se enteraría de su contraseña ha sido comprometida porque Google Authenticator no deja ningún rastro si no se intenta el inicio de sesión.

Figura 1: SMShing para robar tu 2nd Factor Authentication

Otra de las formas de robar la cuenta es por medio de las opciones de recuperación de contraseñas, pudiendo utilizar los mensajes SMS con un OTP para ello. En ese caso el atacante tiene que haber dado su número de teléfono a Google o Apple y activado el 2nd Factor Authentication para el login (como alternativa a Google Authenticator) o para recuperar la cuenta.

Figura 2: Google Authenticator solo avisa si se introduce un
código incorrecto, no cuando no se introduce.


En esos escenarios, intentar robar la cuenta por medio del sistema de recuperación vía SMS se puede hacer de muchas formas, desde usar la previsualización en el smartphone - si el atacante está cerca del terminal -, hasta robar el mensaje SMS si estamos en la misma celda de la red de comunicaciones usando ataques de RTL-Software Defined Radio, pasando por clonar la SIM si es una de las vulnerables y antiguas Comp128v1, o robarla usando los códigos PIN o PUK de tus contratos de línea.

Figura 3: SMShing que pide el token OTP para bloquear el acceso

Pero una forma muy sencilla que he visto hoy en Twitter se basa en utilizar un poco de ingeniería social y las técnicas de SMShing. Estas técnicas se basan en suplantar a una entidad por medio de mensajes SMS y en este caso el atacante le pide a la víctima el Token OTP que le van a enviar - o podrían pedirle el token TOTP de Google Authenticator - usando como gancho que han iniciado sesión con su cuenta desde una localización remota y que si quiere bloquearlo debe enviar por SMS el código que reciba en su terminal.

Figura 4: Todos los accesos e intentos de acceso a una cuenta protegida por Latch

Como se puede ver, el conocer que una víctima tiene un 2nd Factor Authentication sin que la víctima conozca que ya le han robado la contraseña - como dije que hacía mal Google Authenticator - es un problema. Recientemente una persona en uno de los clientes que usan nuestro sistema de 2nd Factor Authorization basado en Latch, detectó a un atacante que le había robado la cuenta por las alertas de Latch. Usando el lista detallado de accesos que metimos en la app les fue sencillo dar con el atacante y capturarle.

Figura 5: SMShing para robar cuentas de Apple

Dicho esto, ten mucho cuidado con estos ataques, pero especialmente avisa a tus amigos y conocidos que no no tienen 2nd Factor Authentication, que no saben qué es un OTP o qué es un TOTP para que estén alerta contra estos ataques. El SMShing se ha hecho muy popular sobre todo para robar los accesos a Find My iPhone de los terminales bloqueados por iCloud. Así que, primero se hacen con el iPhone bloqueado, y luego intentan robar la cuenta de acceso con SMShing usando SMS o iMessage.

Saludos Malignos!

Entrada destacada

+300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial

Hace un mes comencé a recuperar en un post mi interés en los últimos años, donde he publicado muchos artículos en este blog , y he dejado mu...

Entradas populares