Volatility Framework: Obteniendo el histórico de un CMD

Volatility Framework permite al forense analizar en toda su dimensión el estado de la memoria RAM de un equipo en el instante concreto en el que se recogió la evidencia. Volatility se encuentra escrito en Python, y mediante la ejecución de plugins sobre un fichero de captura de RAM se puede saber todo tipo de cosas, como por ejemplo:

  • Procesos en ejecución en la máquina en ese instante.
  • Ficheros abiertos por los procesos.
  • Servicios del sistema en la máquina.
  • Extraer información de ficheros para su posterior análisis.
  • Obtención de DLLs.
  • Obtención de direcciones de memoria donde se encuentran elementos de Windows importantes (por ejemplo, hashdump o LSA Secrets).
  • Historial de ciertas aplicaciones.
  • Búsqueda de pass con strings.
  • Conexiones de red.
  • Etcétera.

Hoy vamos a ver un pequeño ejemplo de como podremos obtener el histórico de un CMD, el cual se haya en la memoria RAM, gracias a el plugin consoles de Volatility Framework.

PoC: Consoles

En primer lugar debemos tener una captura de RAM, por ejemplo en formato DMP (standard de Microsoft), el cual referenciaremos mediante el parámetro -f. La distribución que utilizaremos será Kali Linux, donde Volatility ya viene instalado por defecto. La sintaxis para realizar esta acción es vol -f <ruta file dmp> consoles. Esta acción proporciona una salida, que a priori presenta un gran volumen de información. En primer lugar muestra un resumen de los ejecutables que fueron lanzados desde el CMD, indicando la dirección de memoria donde se encuentra dicha ejecución.

Si bajamos en la salida por pantalla que proporciona Volatility se puede ver el listado de los comandos ejecutados secuencialmente en esa sesión de CMD. Es importante visualizar esa lista para entender fácilmente que es lo que el usuario escribió en dicha sesión de CMD. Se puede ver lo fácil que es obtener dicha información.

SI seguimos bajando en la salida veremos lo que ha devuelto por pantalla dichos comandos que el usuario ha ejecutado. Esto es algo realmente interesante, para ver que es lo que el usuario consiguió realizar en dichas ejecuciones.

Interesante probar Volatility Framework e ir estudiando todas las posibilidades que ofrece la herramienta. En futuros posts seguiremos hablando de dicho framework.