¡¡ Atraco limpio a la memoria !!
Hace días atrás, dando un curso explique a los alumnos la manera de obtener los datos de la memoria de un equipo sin tocarlo ni acceder fisicamente a el.
Esto suscito muchas controversias a raíz de si es 'legal' de cara a una evidencia la forma de acceso y obtención de estos datos.
Este proceso que voy a explicar es solo una prueba de concepto ya publicada por la universidad de Michigan para obtener datos volatiles (netstat, variables, etc.) y en la que he añadido en mi caso la obtención de un volcado de memoria
También comentar que para la obtención de datos de la memoría debería de estar autorizado por el propietario de la máquina a la que se va a acceder.
POC
La prueba consiste en explotar una vulnerabilidad en una máquina y extraer el contenido de su memoria.
Para apoyarme en ese ejemplo reproduje lo siguiente:
He utilizado como víctima un Windows XP SP2 virtualizado (con vmware) y con el navegador IE7 abierto en una sesión de FaceBook. Este Windows tiene el defecto de no estar actualizado con el parche MS09-002 'Memory Corruption Exploit' clasificado como crítico por Microsoft. Para más información en la web de Microsoft aquí.
En la máquina atacante he utilizado Metasploit y la utilidad MDD.exe de Mantech (Podría haber seleccionado cualquiera de las existentes). Está utilidad esta liberada bajo licencia GPL y permite obtener volcados de memoria a disco con los sistemas operativos Windows 2000, Windows XP, Windows 2003 Server y Windows 2008 Server.
Metasploit es un proyecto open source de seguridad informática que proporciona información acerca de vulnerabilidades de seguridad y ayuda en tests de penetración y en el desarrollo de firmas para Sistemas de Detección de Intrusos. Su subproyecto más conocido es el Metasploit Framework, una herramienta para desarrollar y ejecutar exploits contra una máquina remota
Los pasos que he seguido son los siguientes:
Primero he ejecutado el framework de metasploit utilizando mertepreter.
El meterpreter es un conjunto de plugins avanzados que tienen como característica fundamental su que todo es cargado en la memoria del sistema sin crear ningún proceso adicional y permite la inyección dinámica de dll’s.
En este caso y dando por sentado que sabeis manejarse con Metasploit, solo hay que seleccionar el payload de la familia meterpreter y en caso necesario modificar las opciones del payload elegido.
Para el curso y su práctica he utilizado una simple shell (windows/meterpreter/shell_reverse_tcp).
Una vez seleccionado lo lanzamos con este resultado...
Despues de lanzar el exploit y recibir la conexión reversa, nos limitamos ha subir el fichero MDD.exe al equipo de la vitima
Luego ejecutamos el MDD.EXE y creamos una copia de la memoria al fichero copiadeldisco.dd
Por último nos descargamos a nuestra máquina el fichero resultante
Como se puede apreciar el proceso es sencillo e ilegal si no disponemos del consentimiento del usuario. La acción por el uso de Metasploit(u otra herramienta de hacking) es ilegal y penada por nuestras leyes (España) desde el punto de vista que 'atacamos' una máquina que no es de nuestra propiedad.
En la prueba indicar que el uso de Metasploit puede dejar (cosa que en mi caso no ocurrio) la memoria corrupta o la máquina en un estado 'variablemente raro' por lo que se recomienda el reinicio de esta.
Una vez disponemos del fichero podemos analizarlo tal y como comente en los post anteriores con las distintas herramientas de analisis de memoria como por ejemplo del framework volatility
No hay comentarios:
Publicar un comentario