- KAPE – Parte 1: Extracción
Seguro que ya habéis oído hablar de KAPE. Estáis en este artículo probablemente porque habéis escuchado hablar de esta herramienta y queréis saber todas sus posibilidades. No nos vamos a enrollar más, al turrón.
Triaje básico
Breve intro. Es posible que no sepáis qué es hacer un triaje o a que nos referimos cuando decimos que lanzamos un triaje. Muy sencillo. La ciencia forense digital copia muchas terminologías de la ciencia forense médica. Cuando un médico quiere saber qué le ocurre a un paciente, realiza un triaje. Extrae datos como saturación de oxígeno, toma el pulso y mide la tensión arterial, realiza un análisis de sangre… Toma datos básicos para poder realizar un análisis y saber qué le ocurre al paciente. Tras este triaje y valoración, ya el médico podrá realizar un diagnóstico o solicitará pruebas adicionales.
Cuando hablamos de triaje en DFIR nos referimos a realizar este mismo proceso pero con una máquina. El triaje es el proceso automatizado que nos permite extraer datos básicos para poder analizar, valorar y hacer un diagnóstico inicial. El analista forense en este caso podrá emitir una explicación de qué ha ocurrido en la máquina o tendrá que solicitar datos adicionales.
KAPE es una herramienta que nos permite hacer este triaje en Windows. Se ejecuta en la máquina afectada y nos va a generar una carpeta con evidencias básicas. Estas podremos llevárnosla a nuestra máquina de análisis para comenzar con el forense digital.
Descarga de KAPE
Para descargar KAPE vamos a la página de Kroll a través de este enlace. Kroll nos pide que rellenemos un pequeño formulario con nuestros datos. Una vez rellenos nos llegará un enlace al correo introducido donde podremos proceder con la descarga.
Triaje con KAPE – Ejecución gráfica
Cuando tenemos la herramienta en la máquina a la cual le queremos extraer las evidencias, ejecutamos el archivo «gkape.exe«. Importante ejecutarlo con permisos de administrador. Pensad que esta herramienta va a copiar ficheros del sistema, necesita permisos elevados.
Lo primero que vamos a ver es la interfaz de KAPE. Aquí vamos a encontrar dos grandes secciones y vamos a pararnos un poco en ellas.
- Targets: Con la sección targets vamos a definir cuáles son las evidencias que queremos extraer de esta máquina. Lo que seleccionemos aquí es lo que se va a copiar del sistema a la ruta destino tal cual. Copia y pega de la evidencia a la carpeta destino de la extracción
- Modules: La sección modules define ejecuciones contra las evidencias. Seleccionando los modules no copiamos las evidencias, sino que ejecutamos algo que procesa la evidencia y nos muestra un resultado. Por ejemplo, tenemos el módulo «KapeResearch_Registry_SECURITY_JSON«, que va a lanzar un script que convierte el hive de registro SECURITY en JSON. Importante: no nos va a copiar el registro, esto lanza la herramienta y nos vuelca el resultado en la carpeta de destino de evidencias.
Vamos al detalle de las opciones de cada módulo.
Targets – Origen y destino
Lo primero que vamos a definir es el origen de las evidencias a extraer y la carpeta de destino donde volcarlas.
Target source: Como estamos ejecutando KAPE en la máquina que queremos analizar, vamos a seleccionar como origen de las evidencias el disco C: de la máquina. También podríamos usar otra unidad si tenemos un disco montado. Es decir, clonamos un disco, nos lo llevamos a la máquina de análisis. Lo montamos. Y ejecutamos KAPE contra este disco montado.
Target destination: Aquí vamos a elegir donde volcar las evidencias que vayamos copiando de la máquina. Idealmente, nosotros vamos a enchufar un USB en la máquina afectada con la carpeta con KAPE. Entonces lo ideal es que la ruta donde volcar las evidencias sea una carpeta dentro de este USB.
Consejo: Yo suelo crear una carpeta base donde volcar todas las evidencias (imaginamos que vamos con este USB y extraemos evidencias de 3 máquinas). Sobre esta carpeta pido que KAPE cree una carpeta para cada extracción. Esto se hace seleccionado la opción «%d» (timestamp) y «%m» (hostname).
Targets – Listado de targets
Con esto ya podemos seleccionar qué targets extraer. Ya entraremos en detalles en un artículo posterior. Solo mencionar que el listado de targets se extrae de una carpeta llamada «Targets» en la ruta raíz de KAPE. Aquí tendremos una serie de carpetas que sirven de categorías y unos ficheros con extensión «.tkape» que definen el target, qué se extrae, de donde… etc Lo analizaremos con detalle en entradas posteriores.
Estos targets los vemos en la interfaz gráfica en la sección de targets. Podemos ver el detalle de cada uno si hacemos doble clic en él. Haciendo esto lo que vemos es el contenido de su fichero tkape, e incluso podemos editarlo. En el contenido podemos ver la sección «Targets» donde se hace referencia a qué fichero se debe copiar y en qué ruta se encuentra. En este ejemplo vemos que es el Target de la $MFT y nos indica que se encuentra en la ruta «C:» y que el fichero se llama «$MFT».
Nuestra tarea usando KAPE es simplemente ir eligiendo el listado de targets en base a las evidencias que queramos extraer de la máquina. Hay un tipo de target especial, que es el target de tipo «Compund«. Los podemos encontrar dentro de la carpeta Targets/Compund». Estos no definen como tal un artefacto a extraer, sino que son un conjunto de Targets. Si queremos extraer siempre $MFT, Eventos de Windows y Registro de Windows, podemos crear un Compund que agrupe estos tres targets. Podemos crear los nuestros propios o usar los que ya vienen definidos. Por ejemplo, el muy usado «!BasicCollection». Si lo abrimos podemos ver que no son más que llamadas a otros ficheros tkape.
Targets – Ejecución y opciones extras
Con las opciones que queramos de origen y destino y con la selección de targets ya podemos dar a «Execute!».
Esto abrirá una terminal y nos pedirá pulsar cualquier tecla cuando termine. Una vez finalizado tendremos las evidencias en el destino que hayamos seleccionado.
Un par de opciones interesantes para este proceso:
- Obtener las evidencias en un zip protegido con contraseña
- Enviar las evidencias a un servidor SFTP
Modules
Visto los targets, que son opciones de «copia y pega» de evidencias, vamos a la parte potente de KAPE, los modules. Como hemos comentado nos permiten procesar estas evidencias y obtener el output de este procesamiento.
Las opciones de origen y destino son parecidas, pero tienen algunas particularidades.
- Module source: Aquí no debemos elegir el disco C:, sino la carpeta donde se encuentra la extracción de Kape con las evidencias que se van a procesar, Importante: Si estamos ejecutando targets y modules a la vez no es necesario que definamos un source, KAPE ya sabe donde ir a buscarlos.
- Module destination: Esto sí funciona igual. Definimos la carpeta donde volcar los resultados
Consejo: Si ejecutamos targets y modules a la vez, os recomiendo unos orígenes y destinos tal que así. Así podemos distinguir la extracción de evidencias por los targets del output de los analizadores de los modules.
Una pregunta que a mí me surge a este punto es: ¿Cómo sé que evidencias necesito para cada module? Es cierto que muchas de ellas se puede intuir por el nombre. Por ejemplo, queremos procesar la $MFT con la herramienta MFTECmd de Zimmerman que transforma la $MFT en un fichero csv fácilmente importable por otras herramientas. Parece obvio que necesitamos la $MFT. Pero tampoco podemos estar seguro de que necesitemos algo más.
Como vimos con los targets, la definición de modules se encuentra en la carpeta «Modules». Y la definición de cada module se encuentra en un archivo «.mkape».
El contenido de este fichero «.mkape» lo podemos ver si hacemos doble clic en el module usando la interfaz gráfica. Para ejecutar MFTECmd sobre la $MFT tenemos el module «MFTECmd_$MFT». Si lo abrimos:
Modules – Carpeta bin
Es muy importante lo que acabamos de ver con los modules. Hemos visto que el fichero mkape del módulo «MFTECmd_$MFT» define que se ejecute MFTECmd.exe sobre $MFT con una serie de opciones por línea de comandos. Para que esto funcione, el ejecutable MFTECmd.exe tiene que existir en una carpeta dentro de la ruta de KAPE/Modules llamada «bin«.
En algunos casos querremos ejecutar módulos y nos dirá que no encuentra el ejecutable. Ya sabemos que lo único que tenemos que hacer es descargarlo y dejarlo en la carpeta «bin». Esto pasa por ejemplo con RegRipper. Si vemos su mkape nos añaden unas instrucciones al final para saber como descargar el exe y como ubicarlo
Si ejecutamos sin tener el exe:
Conclusiones
Visto el uso básico de KAPE para extraer evidencias y lanzar módulos. Los módulos se podrán lanzar cuando estamos extrayendo las evidencias o primero extraerlas, moverlas a nuestro PC de análisis y ahí ejecutar los módulos. Simplemente tenemos que seleccionar el module source con la carpeta donde están las evidencias extraídas.
En la siguiente entrada vamos a ver como jugar con módulos avanzados y hacer cosas muy interesantes para automatizar el proceso forense.
Hasta la próxima.