Generando una batería de pruebas de ficheros maliciosos con Metasploit

Cuando se implantan determinadas soluciones como un IDS, una sandbox, un antivirus, etc. suele ser habitual necesitar ficheros maliciosos para probar esos sistemas y ver cómo se comportan, su efectividad, su rendimiento, los sistemas de notificaciones, etcétera. Frente a esta necesidad, podemos utilizar recopilaciones de ficheros maliciosos como podemos encontrar en blogs como contagiodump o como alternativa más controlada podemos hacernos nuestros ficheros maliciosos y construirnos nuestra bateria de pruebas. La ventaja de esta segunda alternativa es que estará todo más controlado por nuestra parte.

En esta entrada vamos a centrarnos en ver cómo crearnos un fichero que podría ser perfectamente utilizado en el inicio de un ataque dirigido (APT), como mencionamos en los ejemplos del informe de “Detección de APT” que recientemente publicamos. Para llevar a cabo nuestro objetivo vamos a utilizar la herramienta Metasploit, la cual también permite crear documentos que explotan vulnerabilidades. Concretamente en esta entrada nos vamos a centrar en crear un fichero que use una vulnerabilidad en los ficheros con formato RTF, con ID CVE-2010-3333 e infecte la máquina que lo ejecuta. Seguro que a muchos de vosotros os suena este identificador de vulnerabilidad porque ha sido ampliamente utilizado en campañas de APT.

El proceso es muy sencillo, arrancamos nuestra Kali Linux y nuestra metasploit con el comando msfconsole. Lo primero que hacemos es buscar el exploit que nos permitirá crear el fichero RTF:

Ahora vemos qué nos ofrece ejecutando el comando info:

Cargamos el exploit para usarlo y mirar sus opciones, con show options:

Vemos que el fichero que creará se llamará msf.rtf y el target está puesto a 0. Estos parámetros podemos cambiarlos y ajustarlo a nuestras necesidades, como se ve a continuación:

msf exploit (ms10_087_rtf_pfragments_bof) > set target 2 
msf exploit (ms10_087_rtf_pfragments_bof) > set filename saw.rtf
msf exploit (ms10_087_rtf_pfragments_bof) > set payload generic/shell_bind_tcp

El payload configurado abrirá en caso de éxito un puerto en la máquina para que se conecte el atacante all puerto 4444/tcp de la máquina de la víctima. Se pueden configurar otros shellcodes, hemos elegido éste por simplicidad. Ahora solo nos queda ejecutar el exploit:

msf> exploit (ms10_087_rtf_pfragments_bof) > exploit 

El resultado generará:

Con esto ya tenemos un fichero para atacar a una víctima con Microsoft office 2003 (versión en inglés) y que no tenga parcheada la vulnerabilidad cve-2010-3333. Como vemos este fichero nos puede servir para probar nuestros sistemas de protección y ver si sería filtrado por el antivirus del servidor de correo, si el IDS nos alertaría, etcétera.

Una vez tenemos el fichero generado lo pasamos por virustotal y vemos como lo detectan algunos motores antivirus:

Es curioso que no sean todos los motores los que nos alerten, pero bueno, eso es otro cantar. Como véis el proceso de creación es muy sencillo, únicamente es necesario cuatro o cinco comandos y los atacantes ya pueden estar intentando comprometer a sus víctimas.

Comments

  1. Buena información. Indirectamente esto trae una obligada reflexión: los usuarios generalmente no otorgan importancia a actualizar sus aplicaciones, en especial aquellas tan sensibles a ataques como Office, Acrobat, FlashPlayer o Java. Luego pasa lo que pasa.
    En cuanto a lo de las detecciones de antivirus, nada nuevo bajo el sol. Aunque todos ofrezcan, hoy en día, cierto nivel de protección, pocos son los que se aproximan a la verdadera seguridad y desde luego ninguno es infalible, así que más vale acompañar con otras acciones.

    Saludos

Trackbacks

  1. […] Cuando se implantan determinadas soluciones como un IDS, una sandbox, un antivirus, etc. suele ser habitual necesitar ficheros maliciosos para probar esos sistemas y ver cómo se comportan, su efect…  […]