Ser curioso NO es una opción (#USBOblivion ¿Una herramienta #Antiforense?) – Parte IX

Hola secuaces:

Y aquí la última entrada, la novena, de esta serie de entradas dedicada a mi primera vez, a la charla de este Rookie, (Espero que no sea la última), en #CONPilar17  y en #EastMadH4ck.

En la entrada anterior, terminamos de realizar el Análisis Forense a la imagen del Disco Duro. Quizás no sea el mejor análisis, pero es el que este minion aficionado ha hecho.

No quería dejar de tratar esta serie, sin tocar por encima cómo trabaja a nivel de procesos esta herramienta. Así pues, vamos a trabajar ahora con el volcado de memoria.

Cuando estaba analizando el volcado de memoria, que obtuve, con el plugin de Volatility ‘psxview‘, para detectar procesos ocultos, me encontré con esto…

vol.py -f Prueba01.bin –profile=Win7SP0x64 psxview

Dos procesos, sin nombre legible y mirad sus PID. Pensé, «Se me habrá infectado con algún tipo de malware». Así que obtuve otro…

vol.py -f Prueba03.bin –profile=Win7SP0x64 psxview

¿Dos procesos «System», con dos PID 4? Jamás había visto esto. Además, unos cuantos procesos más que intentaban estar ocultos. Así que obtuve otro volcado más…

vol.py -f Prueba04.raw –profile=Win7SP0x64 psxview

En este sí pude ver el proceso de la herramienta, además de otros procesos que estaban intentando pasar desapercibidos. Y obtuve otro volcado más…

vol.py -f VIRTUALBOX-20161216-060955.raw –profile=Win7SP0x64 psxview

¿Tres procesos con el mismo PID? Pues vamos a por otra captura más…

vol.py -f PruebaConSysmon.raw –profile=Win7SP0x64 psxview

Un proceso que lleva por nombre ‘L’, con un PID que no es posible ver y que se oculta ante todo.

Después de todo esto, estaba claro que esto no era ningún malware, (¿O tal vez sí?), sino cosa de la herramienta antiforense.

Me propuse extraer los procesos, a través del plugin ‘procdump

vol.py -f VIRTUALBOX-20161216-060955.raw –profile=Win7SP0x64 procdump -u -p 504 -D Procdump/

vol.py -f VIRTUALBOX-20161216-060955.raw –profile=Win7SP0x64 procdump -u –offset=0x000000007f896060 -D Procdump/

Pero cualquier intento daba resultado negativo.

Pero ¿Qué está pasando aquí? Sé que un análisis de volcado de memoria no es para nada una tarea fácil. Sigo en mis trece.

Quiero ver el estado de los privilegios de los procesos, empleando para ello el plugin ‘privs

vol.py -f VIRTUALBOX-20161216-060955.raw –profile=Win7SP0x64 privs | grep «Present, Enabled «

¿Qué he sacado con esta línea? Procesos con privilegios presentes, habilitados y que no se encuentran así por defecto. Lo que indica que han sido modificados.

¿Habrá realmente malware dentro del volcado?¿O son sólo procesos que han sido manipulados y resultan sospechosos?

Hago uso de ‘malsysproc‘, para buscar supuesto malware, escondido a la vista como procesos del sistema.

vol.py -f VIRTUALBOX-20161216-060955.raw –profile=Win7SP0x64 malsysproc

¿Os suenan estos procesos? ¿Los recordáis?

Sigo buscando, en esta ocasión mediante ‘malprocfind‘, para que me muestre procesos sospechosos y procesos que no tengan Proceso Padre.

vol.py -f VIRTUALBOX-20161216-060955.raw –profile=Win7SP0x64 malprocfind

Bueno. No he sacado demasiado en claro. No lo suficiente como para concluir nada. Este tipo de análisis requiere de mucho tiempo y de mucha experiencia.

Lo que tengo claro es que quiero saber en qué procesos está implicada la herramienta «antiforense». Esta vez, voy a extraer todas las páginas de memoria de los procesos, mediante ‘memdump

vol.py -f VIRTUALBOX-20161216-060955.raw –profile=Win7SP0x64 memdump -D Memdump

Y si ahora buscamos la cadena de texto ‘USBOblivion’ en esos ficheros, en esos procesos extraídos del volcado…

grep -ri «USBOblivion»

Fijaros en qué cantidad de procesos está involucrada la herramienta. Incluido el proceso System.

Tengo curiosidad por ver esos procesos en acción. ¿Cómo podemos hacerlo? Usando, por ejemplo, ‘Process Explorer

Os pongo un vídeo para que veáis como trabaja a nivel de procesos, esta herramienta. La configuré con el refresco más alto permitido por la herramienta, 0.5 segundos. Os recomiendo que presteis atención.

 

¿Habéis visto su velocidad de ejecución? Escasos 30 segundos. ¿Habéis podido ver la cantidad de invocaciones que realiza? Demasiado rápido, incluso para esta herramienta de monitorización.

Hay que buscar otro método para saber qué procesos llama, cuántos llama. Así pues, se me ocurre que podemos usar, por ejemplo, ‘Sysmon‘, que monitoriza todos eventos que se generan en el Sistema en un fichero de Evento de Windows.

Lo instalamos muy fácilmente, mediante

Sysmon64.exe -i

Y esto, nos creará un Registro de Evento nuevo en el Sistema, con nombre ‘Microsoft-Windows-Sysmon%4Operational’. Según instalé ‘Sysmon’, realicé una última ejecución de la herramienta antiforense.

¿Sabéis cuántos eventos se produjeron en los escasos 30 segundos de la ejecución?

64 eventos

A día de hoy, aún tengo pendiente analizar tanto el volcado de memoria, como estudiar estos 64 eventos generados.

Y hasta aquí esta serie de entradas.

Daros cuenta de la importancia de ser curiosos. De documentarnos un mínimo, de cacharrear, de jugar, de probar y experimentar. Porque ¿Hubiera sido posible hacer todo lo que hemos hecho sin ser curiosos? No.

Todo ha sido posible gracias a la curiosidad. Y la curiosidad ¿Qué requiere? ¿Conocimientos? ¿Títulos? Nada de eso. Sólo requiere de tiempo. Nada más. Y sí, todos andamos cortos de tiempo. Pero cuando algo nos interesa hay que hacer sacrificios para estudiarlo.

Espero que os haya gustado esta serie y que hayáis disfrutado tanto como yo haciéndola.

Os pongo por aquí, como el que no quiere la cosa, el vídeo a mi exposición 😉

Esto es todo, por ahora. Nos leemos en la siguiente entrada. Se despide este minion, entregado y leal, de vosotros… por ahora.

Marcos @_N4rr34n6_