Cómo envian malware o mensajes de phishing a través de teams, esquivando las funciones de seguridad de teams

TeamsPhisher es un software Python3 que fue diseñado para facilitar el envío de mensajes y archivos adjuntos de phishing a usuarios de Microsoft Team cuyas empresas u organizaciones permiten la conexión con terceros. En la mayoría de las circunstancias, no es factible transferir archivos a usuarios de Teams que no forman parte de la empresa. Recientemente, Max Corbridge (@CorbridgeMax) y Tom Ellson (@tde_sec) de JUMPSEC publicaron un medio para eludir esta limitación modificando las solicitudes HTTP realizadas por Teams para cambiar a quién se le envía un mensaje con un archivo adjunto.

TeamsPhisher utiliza una serie de otras técnicas, incluidas algunas de las más antiguas de Andrea Santese (@Medu554), además de ésta. Para el componente de autenticación del flujo de ataque, así como otras funciones de utilidad básicas, se basa significativamente en TeamsEnum, una brillante trabajo desarrollado por Bastian Kanbach (@bka) de SSE.

El objetivo de TeamsPhisher es incluir los aspectos más útiles de los proyectos antes mencionados para proporcionar un método sólido, totalmente adaptable y altamente efectivo para que las operaciones autorizadas de Red Team utilicen Microsoft Teams para phishing en circunstancias relacionadas con el acceso.

Deberá proporcionar a TeamsPhisher un archivo adjunto, un mensaje y una lista de personas a las que dirigirse. Después de eso, revisará la lista de objetivos y simultáneamente cargará el archivo adjunto al Sharepoint del remitente.

Primero, TeamsPhisher enumerará el usuario objetivo y comprobará si esa persona realmente existe y puede recibir mensajes del mundo exterior. Después de eso, iniciará una nueva conversación con la persona que elijas. Tenga en cuenta que técnicamente se trata de una conversación “grupal” ya que TeamsPhisher contiene la dirección de correo electrónico del objetivo dos veces; Este es un truco inteligente de @Medu554 que evitará la pantalla de presentación “Alguien ajeno a su organización le envió un mensaje, ¿está seguro de que desea verlo?”, que podría ofrecer a nuestros objetivos una razón para detenerse y pensar dos veces antes de ver el mensaje.

El usuario identificado recibirá el mensaje que se le envió junto con un enlace al archivo adjunto almacenado en Sharepoint después de que se haya establecido un nuevo hilo entre nuestro remitente y el objetivo.

Después de enviar este primer mensaje, el hilo recién establecido será visible en la GUI de Teams del remitente y podrá interactuar con él manualmente, si es necesario, caso por caso. Los usuarios de TeamsPhisher deben tener una cuenta Microsoft Business (a diferencia de una personal como @hotmail, @outlook, etc.) que tenga licencia tanto para Teams como para Sharepoint para poder utilizar el software.

Esto indica que necesitará un inquilino de AAD, así como al menos un usuario que tenga una licencia que le corresponda. En el momento de la publicación, el centro de licencias de AAD tiene algunas licencias de prueba gratuitas disponibles para descargar que pueden cumplir con todos los requisitos previos para usar este producto.

Antes de poder utilizar la cuenta con TeamsPhisher, deberá asegurarse de haber iniciado sesión al menos una vez con éxito en el sitio personal de Sharepoint del usuario con el que intercambiará mensajes. Esto debería ser algo parecido a inquilinoname-my.sharepoint.com/personal/myusername_mytenantname_onmicrosoft.com o rentname-my.sharepoint.com/personal/myusername_mytenantname_mycustomdomain_tld. Alternativamente, también puede usar nombre-inquilino-my.sharepoint.com/personal/myusername_mytenantname_onmicrosoft.com.

En términos de las necesidades de la comunidad local, recomendamos encarecidamente actualizar a la versión más reciente de Python3. También necesitarás la biblioteca de autenticación desarrollada por Microsoft:

Para cargar el archivo en un sitio de Sharepoint, deberá ingresar manualmente el nombre del sitio. Lo más probable es que esto sea necesario en el caso de que el inquilino del remitente utilice un nombre de dominio único (por ejemplo, uno que no cumpla con la norma xxx.onmicrosoft.com). Sólo se debe utilizar el nombre singular; por ejemplo, si su sitio de SharePoint está ubicado en mytest.sharepoint.com, debe usar la opción –sharepoint mytest.

Reemplace el saludo estándar de TeamPhisher (“Hola”) con un saludo personalizado que se agregará al mensaje proporcionado por la opción –message. Por ejemplo, “Buenas tardes” o “Equipo de ventas” son ejemplos.

De forma predeterminada, cualquier persona que tenga el enlace puede acceder al enlace de Sharepoint que se proporciona a los objetivos; para restringir el acceso al archivo de Sharepoint para que solo pueda ser visto por el objetivo que lo obtuvo, use la opción –securelink. Es posible que esto ayude a proteger su virus del equipo azul.

TeamsPhisher hará un esfuerzo por determinar el nombre de cada persona a la que se dirige y utilizará ese nombre en la bienvenida que les envíe. Por ejemplo, tom.jones@targettenant.onmicrosoft.com recibiría un correo electrónico con el saludo “Hola Tom” como primera línea del mensaje. Esto no es ideal y depende del formato de los correos electrónicos a los que se dirige; utilice la opción –preview para ver si se trata de una coincidencia adecuada para la lista de correos electrónicos a los que se dirige.

Se ejecutará la versión preliminar de TeamsPhisher. Esto NO enviará ningún mensaje a los usuarios objetivo; en su lugar, se mostrará el nombre “descriptivo” que usaría la opción –personalizar. Además, se entregará a los equipos del remitente un mensaje de muestra que indica lo que los objetivos recibirían con la configuración actual. Puede iniciar sesión para comprobar cómo aparece su mensaje y realizar los ajustes necesarios.

Puede optar por tener un retraso de x segundos entre cada mensaje enviado a los objetivos. Puede ser de ayuda con las inquietudes que puedan surgir sobre la limitación de tasas.

TeamsPhisher determinará qué cuentas no pueden recibir mensajes de organizaciones de terceros, qué cuentas no existen y qué cuentas tienen planes de suscripción que son incompatibles con los vectores de ataque.

TeamsPhisher ahora permite iniciar sesión con cuentas de remitente mediante autenticación multifactor (MFA), gracias al código aportado por el proyecto TeamsEnum.

Si utiliza el indicador –securelink, los destinatarios del mensaje verán una ventana emergente pidiéndoles que se verifiquen antes de poder ver el archivo adjunto en Sharepoint. Tiene la capacidad de determinar si esto agrega una cantidad excesiva de pasos adicionales o si agrega “legitimidad” enviándolos a través de la función de inicio de sesión real de Microsoft.

Mitigación
Al cambiar las opciones asociadas con el acceso externo, que se pueden encontrar en el centro de administración de Microsoft Teams en Usuarios > Acceso externo, las empresas pueden reducir el riesgo que representa la vulnerabilidad descubierta.

Microsoft brinda a las organizaciones la libertad de elegir los derechos óptimos que se ajusten a sus requisitos, incluida la capacidad de incluir en la lista blanca solo inquilinos externos particulares para las comunicaciones y un bloqueo global que evita que se produzca cualquier comunicación.