20 nov 2017

MacPhish: Aprovechándote de las macros en OS X

Hoy os enseñamos una herramienta que puede ser utilizada en campañas de concienciación para empleados, con el objetivo de ver qué empleados caen en la tentación de ejecutar las macros de documentos que llegan de fuentes de no confianza o, por qué no, de fuentes de confianza suplantadas. En este blog ya hemos hablado de herramientas que pueden ayudar en las campañas de concienciación de las empresas como Weeman o Mercure. Las cuales, además, son Open Source. 

La herramienta MacPhish permite generar payloads para Office for Mac. Esta herramienta puede descargarse desde su Github. La herramienta proporciona diferentes vectores de ataque para obtener ciertos privilegios, accesos o credenciales de una máquina que ejecuta Office for Mac y dónde el target es un empleado de una organización. Los vectores son: beacon, creds, meterpreter y meterpreter-grant.


El primer método que hablaremos es el de creds. Este método permite generar un Applescript directamente, para el caso en el que se necesite ejecutarlo directamente en una shell. La instrucción para este método es la siguiente: macphish.py –lh [host a la escucha] –lp [puerto a la escucha] –a creds. En el siguiente video, el autor muestra como el fichero generado con el script en la macro solicita al usuario sus credenciales y las envía vía HTTP.



El segundo método es el beacon o señal baliza. Este método permite conocer cuando una máquina está viva o levantada. En otras palabras, si lo metemos como macro en un doc generado para Office for Mac, el código nos proporcionará una señal al host que hayamos configurado.

Para generar el código debemos ejecutar la siguiente instrucción: macphish.py –lh [host dónde recibiremos la señal]. En la siguiente imagen, podemos ver el código generado y que debemos utilizar como macro. Hay que fijarse que utiliza curl por defecto, pero podría cambiarse para utilizar, por ejemplo, wget u otros.


Otro método, quizá aún más interesante que los anteriores, es el del meterpreter. Es decir, la posibilidad de lanzar un meterpreter y poder ejecutar código en la máquina dónde se abre el documento ofimático.

La forma más sencilla para llevar a cabo esto es utilizar la siguiente instrucción: macphish.py –lh [host a la escucha] –lp [puerto a la escucha] –p [payload a ejecutar] –a meterpreter. Otra variante de este método es el conocido como meterpreter-grant, el cual consiste en generar un meterpreter que será ejecutado al ejecutar la macro y que invoca a GrantAccessToMultipleFiles(), para ello se puede ejecutar la siguiente instrucción: macphish.py –lh [host a la escucha] –lp [puerto a la escucha] –p [payload] –a meterpreter-grant.

Para ejemplificar este hecho, podemos lanzar la siguiente instrucción macphish.py –lh [host] –lp [puerto] –p python/meterpreter/reverse_https –a meterpreter. Se obtendrá algo similar a lo que vemos en la siguiente imagen.


En el video puede mostrarse un ejemplo de utilización de payload para lograr acceso a la máquina, tras la ejecución de la macro. Es bastante similar a la utilización de esta técnica en máquinas Windows.

VIDEO 2: https://drive.google.com/file/d/0BzPR8exG0kt6TlY1UWhiemVKRnc/view

Sería interesante analizar los resultados de los ficheros ofimáticos con el objetivo de ver el ratio de detección que tendríamos en nuestra prueba de concienciación. Quizá el menos intrusivo fuera el método beacon, por lo que podría ser más fácil de utilizar en una prueba de concienciación. Sin duda, una herramienta interesante para tener en el equipo de hacking ético.

No hay comentarios:

Publicar un comentario