Hola secuaces:
Nos encontramos en la penúltima parte, la octava, 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, pudimos ver que parecía que hacía algo con los Eventos de Windows.
También, cuando la estuvimos ejecutando, pudimos ver que decía que eliminaba claves del Registro de Windows. Y pudimos observar que no siempre eliminaba las mismas y que, además, no se correspondía ese número con el de la comparación que hizimos con Regshot.
Pues vamos a ver qué ha hecho realmente con el Registro de Windows, tanto de los ficheros ‘Software’ como ‘System’. Para ello, como no puede ser de otra forma, trabajando con una terminal, hacemos uso de RegRipper, que ya usamos anteriormente.
Para empezar, vamos a usar su plugin ‘del’, que recupera datos eliminados, sobre el fichero del registro que tenemos montado ‘SYSTEM’.
perl rip.pl -r /mnt/windows_mount/Windows/System32/config/SYSTEM -p del > /home/marcos/Evidencias/RegSystemDel.txt
Como los resultados obtenidos son demasiados, y quiero poner una muestra de captura, realizo una búsqueda en el fichero generado usando
strings RegSystemDel.txt | grep ‘USBSTOR#Disk&Ven’
Y recuperamos todos los dispositivos que han sido conectados al Sistema.
Pero a mí me viene una pregunta a la cabeza. Hemos visto que no siempre elimina el mismo número de claves. ¿Habrá eliminado realmente todas las relacionadas con los dispositivos USB?
Para ello, realizo una búsqueda, directamente sobre el fichero de Registro de Windows que tenemos montado, ‘SYSTEM’, sin recuperar nada de él, mediante
strings /mnt/windows_mount/Windows/System32/config/SYSTEM | grep -A 5 -B 5 20160901008604F
En este caso, he empleado como parámetro de búsqueda el número de serie del disco duro externo Toshiba, el que no s interesaba identificar. Y mirad qué cosa más curiosa. Aún permacenen sus datos en el fichero de Registro SYSTEM, por lo que la herramienta «antiforense», no ha hecho bien su trabajo.
Vamos a probar ahora con el fichero ‘SOFTWARE’ del Registro de Windows que tenemos montado. Primero recuperamos sus claves eliminadas.
perl rip.pl -r /mnt/windows_mount/Windows/System32/config/SOFTWARE -p del > /home/marcos/Evidencias/RegSotwareDel.txt
Al igual que en el caso anterior, se obtienen muchos resultados de claves del Registro que han sido recuperadas. Por ello, voy a emplear en esta ocasión, como parámetro de búsqueda, el texto ‘USBSTOR’
strings RegSotwareDel.txt | grep -A 3 -B 3 USBSTOR
Y volvevemos a obtener unos bonitos resultados, con la información de los dispositivos USB.
Pero, como en el caso anterior, me pregunto ¿Habrá eliminado todas las claves relacionadas con los dispositivos USB? Empleo, nuevamente, como parámetro de búsqueda, directamente sobre el fichero del Registro ‘SOFTWARE’ que tenemos montado, el número de serie del disco duro externo Toshiba
strings /mnt/windows_mount/Windows/System32/config/SOFTWARE | grep -A 5 -B 5 20160901008604F
Y tenemos un resultado.
Todo esto quiere decir que, aunque se hayan eliminado claves del Registro de Windows, y aunque se recuperen después, debemos mirar, estudiar, los ficheros en busca de datos que no hayan sido eliminados, empleando cadenas de texto, para hacerlo más fácil, o en bruto si lo preferís así.
Y hasta aquí hemos llegado, y aquí lo podríamos dejar, porque hasta aquí es donde dice la herramienta que trabaja.
Pero…
Soy muy curioso. Y siguiendo con mi curiosidad, me pregunto: ¿Dónde más se pueden encontrar datos relativos a dispositivos USB conectados, que no han sido, ni mencionados, ni eliminados por la herramienta antiforense? Pues, hemos visto que los ficheros ‘setupapi’ son logs de dispositivos Plug&Play conectados e instalados, ¿Verdad? Tenemos otros bonitos ficheros ‘setupapi’ que no han sido mencionados por la herramienta.
ls Windows/inf/ | grep setupapi.ev
Concretamente, si exportamos la información del fichero ‘setupapi.ev3’, a través de ‘xxd
xxd Windows/inf/setupapi.ev3 > /home/marcos/Evidencias/setupapi.ev3
ls -l /home/marcos/Evidencias/setupapi.ev3
Y lo leemos, a través de ‘cat‘
cat setupapi.ev3 | more
Mirad con qué nos encontramos
El nombre y el número de serie del disco duro externo Toshiba, el que nos interesaba encontrar.
Y siguiendo, aún más, con mi curiosidad… Hemos visto que se almacena la información de los dispositivos USB en el Registro de Windows, y que esta herramienta «antiforense» ‘elimina’. ¿Dónde más podemos encontrar datos? ¿Quizás en la copia del Registro?
ls -l Windows/System32/config/RegBack/
Fichero SOFTWARE del RegBack
strings Windows/System32/config/RegBack/SOFTWARE | grep -A 5 -B 5 2013204025180
Fichero SYSTEM del RegBack
strings Windows/System32/config/RegBack/SYSTEM | grep -A 2 -B 2 2013020425180
Y, oye!! Si tenemos dentro de la carpeta ‘config’ unos bonitos ficheros ‘.LOG’. ¿Contendrán información de dispositivos USB?
ls -l Windows/System32/config/ | grep .LOG
Vamos con el fichero SOFTWARE.LOG1
strings Windows/System32/config/SOFTWARE.LOG1 | grep -A 5 -B 5 20160901008604F
Vamos con el fichero SYSTEM.LOG1
strings Windows/System32/config/SYSTEM.LOG1 | grep -A 2 -B 2 20130204025180
Hemos obtenido muchos resultados hasta ahora. Pero sigo siendo curioso y me sigo preguntando: ¿Dónde más hay datos de dispositivos USB?¿En qué lugares, que no han sido mencionados por la herramienta?
Pues, por ejemplo, en este fichero
ls -l ProgramData/Microsoft/RAC/PublishedData/RacWmiDatabase.sdf
Y si buscamos, por ejemplo, la cadena de texto ‘TOSHIBA’
strings ProgramData/Microsoft/RAC/PublishedData/RacWmiDatabase.sdf | grep -A 5 -B 5 TOSHIBA
Obtenemos los datos del disco duro externo que nos interesaba encontrar
Y ¿Dónde más?
Pues, en el fichero
ls -l Windows/System32/wbem/Repository/OBJECTS.DATA
Que si volvemos a buscar, al igual que antes, la cadena de texto ‘TOSHIBA’
strings Windows/System32/wbem/Repository/OBJECTS.DATA | grep -A 5 -B 5 TOSHIBA
Obtenemos, también otros bonitos resultados del disco duro externo que nos interesaba encontrar.
Pero, ¿Cómo hemos llegado hasta aquí? A veces, está muy bien consultar una buena fuente de conocimiento, como puede ser la Microsoft en este caso, y otras veces, puede venirnos muy bien usar la última y más potente suite Forense. Pero, bajo mi punto de vista, lo que tenemos que hacer, la solución está en PREGUNTAR ¿Dónde está esta información?
grep -ri 20160901008604f
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_