Todos hemos escuchado alguna vez o hemos utilizado Macros para la Suite de Office de Microsoft, una macro es un conjunto de instrucciones programadas, las cuales automatizan las operaciones que realiza la aplicación ofimática con el objetivo de eliminar tareas repetitivas o realizar cálculos complejos en un corto espacio de tiempo.
Ya había visto hace tiempo como se podría comprometer un sistema mediante estas macros, pero nunca realicé ninguna prueba, después de investigar un poco, he aprendido una buena manera de realizar este ataque.
En esta entrada os mostraré como se puede crear o modificar un documento de Microsoft Word 2013 con macros maliciosas para tomar el control sobre un sistema.
Para este ataque he utilizado el grandioso Framework Metasploit y como GUI Cobal Strike, podéis descargar Metasploit de AQUI, y una licencia de prueba de 21 días de Cobalt Strike desde AQUI (la licencia tiene un coste de 2500$ anuales, de momento nos las arreglaremos con la versión de prueba).
Para comenzar este ataque, vamos a poner en marcha Metasploit desde Kali Linux.
Una vez arrancado el servicio, nos posicionamos sobre la carpeta de Cobalt Strike y lo ejecutamos para empezar a trabajar, nos aparecerán varias ventanas donde podremos configurar el puerto donde trabaja, etc. Por defecto lo dejamos tal cual y esperamos (puede tardar un ratito).
En la interfaz de Cobalt Strike, nos vamos a la pestaña Attacks –> Packages –> MS Office Macro.
Nos aparecerá una ventana, en la cual deberemos configurar el Listener, hacemos Click en el botón Add.
En mi caso lo configuraré de la siguiente manera, en Host por defecto deja puesta nuestra IP Privada, este ataque voy a realizarlo sobre otra máquina de pruebas en mi red LAN, por lo tanto con mi IP Privada me vale, pero recordad que si queréis realizarlo sobre otro equipo fuera de vuestra red, deberéis de utilizar un DDNS como NO-IP y realizar Port Forwarding del puerto (en este caso 666) en vuestro Router hacia vuestra IP.
En Payload elegiremos windows/meterpreter/reverse_tcp y en nombre lo que queráis.
Una vez configurado Click en el botón Save y después en Generate.
La ventana anterior nos indica los pasos a seguir para copiar el código malicioso generado por Cobalt Strike y pegarlo en cualquier documento Office, al hacer Click en el botón Copy Macro, se nos copiará al portapapeles la macro que deberemos copiar al documento Word.
Abrimos cualquier documento Word, y en la pestaña VISTA tenemos la opción de Macros, Ver Macros.
Vamos a crear la macro maliciosa, en Nombre de macro le asignamos un nombre, y en Macro en: seleccionamos Documento1 (Documento).
Nos aparecerá una ventana como la siguiente.
Borramos todo lo que haya, y lo sustituimos por lo que teníamos copiado en el portapapeles (Control+V), nos quedaría así.
Guardamos el documento, le ponemos un nombre y el tipo deberemos de seleccionar Documento habilitado con macros de Word, como en la imagen a continuación.
Una vez la víctima abra el archivo, le aparecerá una advertencia de seguridad, si habilita el contenido (como regla general todo el mundo suele habilitarlo), tendremos acceso total a su sistema.
Una vez se ha realizado el ataque con éxito, no aparecerá el sistema comprometido.
Podemos ver por ejemplo, como podemos tener acceso a todos sus ficheros, tomar capturas de la cámara, capturas de escritorio o hacer un scaner ARP a su red para posteriormente hacer Pivoting y seguir atacando a mas objetivos.
Espero que os sirva de ayuda.
Un Saludo y Happy Hacking!!!!!!
Se podría hacer este mismo procedimiento y convertir este archivo en uno .jpg
¿Podría tener el mismo control o no funcionara?
En un jpg complicado, puedes hacer que parezca un jpg y lo bindeas con un exe
Hola Javier, espero me respondas rápido. Tengo una duda sobre ataque fuera de la red local con Cobalt Strike.
Ya hice portforwarding de mi router y estoy usando un ddns (noip) mi pregunta es: Cuando inicio el Cobalt Strike me aparece una ventana con la ip 127.0.0.1 el puerto 50005 y un usuario y la clave que puse en teamserver, allí tengo que cambiar el puerto al que hice portforwarning? o tengo que cambiar el puerto cuando cree el Listener o el escucha?
Hola Willi encontraste la forma de conectarte fuera de una red local? espero me respondas, saludos
Hola Javier, espero me respondas rápido. Tengo una duda sobre ataque fuera de la red local con Cobalt Strike.
Ya hice portforwarding de mi router y estoy usando un ddns (noip) mi pregunta es: Cuando inicio el Cobalt Strike me aparece una ventana con la ip 127.0.0.1 el puerto 50005 y un usuario y la clave que puse en teamserver, allí tengo que cambiar el puerto al que hice portforwarning? o tengo que cambiar el puerto cuando cree el Listener o el escucha?
hola, me gustaria saber si pudieras hacer un tutorial para hacerlo fuera de nuestra lan
Es cierto haz un tutorial para hacerlo fuera de la red local