05 noviembre 2010

Resolviendo los concursos de la NcN 2010 - I


Para los que no han resuelto el CTF de la NoConName, vamos a explicaros como hemos resuelto ambos retos y os animamos a resolverlos tanto si esto os sirve de guía a modo de “howto” como si os puede servir o podéis aportar algún tipo de mejora al resultado obtenido. Cualquier tipo de técnica/herramienta/idea será bienvenida y así todos podremos aprender de este fascinante juego desarrollado por la gente de Isecauditors y presentado en el congreso.

Comenzamos con los datos y las evidencias que nos ofrecen en el siguiente PDF: http://noconname.org/concursos/NcN_2010_Reto_Forense.pdf

PISTAS:
•    Existen, al menos, 4 hallazgos interesantes.
•   ¿Cual es el título de la película?

Nos adjuntan la imagen de disco de la siguiente url: http://noconname.org/concursos/okin.dd.bz2
Por lo que vamos a bajarla y comenzamos el reto.

rsk::vtta { ~/NcN }-> md5sum okin.dd && cat okin.md5 
9c9a5e0d25dd57db10c99e84d9b03d48  okin.dd
9c9a5e0d25dd57db10c99e84d9b03d48  okin.dd

Comenzamos montando la imagen con sus correspondientes permisos para evitar meter la pata en el sistema de ficheros, importante solo lectura y noexec.

rsk::vtta { ~/NcN }-> mkdir okin_fs
rsk::vtta { ~/NcN }-> sudo mount -o loop,ro,noexec,nodev okin.dd okin_fs/

Una vez que la tenemos, para evitar estar entrando directorio a directorio nos hacemos un pequeño esquema de lo que hay, y de paso nos hacemos un pequeño time-line de los ficheros que existen así como el tipo de fichero del que se trata, creando una visión más global de lo que tenemos para trabajar.

rsk::vtta { ~/NcN }-> find okin_fs/ . -exec ls -l --full-time {} \; -exec file {} \;
total 13
drwxr-xr-x 2 root    root 12288 2010-09-27 19:03:26.000000000 +0200 lost+found
drwxr-xr-x 4 rsk 1000  1024 2010-10-01 12:27:39.000000000 +0200 okin
okin_fs/: directory
total 0
okin_fs/lost+found: directory
total 1135
drwxr-xr-x 4 rsk 1000    1024 2010-10-04 18:22:13.000000000 +0200 Docus
-rwxr-xr-x 1 rsk 1000 1151221 2010-10-01 11:08:39.000000000 +0200 film.zip
drwxr-xr-x 3 rsk 1000    1024 2010-09-29 16:44:16.000000000 +0200 profile
-rw-r--r-- 1 rsk 1000    1381 2010-09-29 15:53:14.000000000 +0200 publica.key
okin_fs/okin: directory
-rw-r--r-- 1 rsk 1000 675 2010-09-27 19:16:18.000000000 +0200 okin_fs/okin/.profile
okin_fs/okin/.profile: ASCII English text
-rw-r--r-- 1 rsk 1000 3137 2010-09-28 14:26:47.000000000 +0200 okin_fs/okin/.bashrc
okin_fs/okin/.bashrc: ASCII English text
-rw-r--r-- 1 rsk 1000 220 2010-09-27 19:16:18.000000000 +0200 okin_fs/okin/.bash_logout
okin_fs/okin/.bash_logout: ASCII English text
-rwxr-xr-x 1 rsk 1000 1151221 2010-10-01 11:08:39.000000000 +0200 okin_fs/okin/film.zip
okin_fs/okin/film.zip: Zip archive data
-rw-r--r-- 1 rsk 1000 412 2010-10-01 12:27:39.000000000 +0200 okin_fs/okin/.bash_history
okin_fs/okin/.bash_history: ASCII text
-rw-r--r-- 1 rsk 1000 1381 2010-09-29 15:53:14.000000000 +0200 okin_fs/okin/publica.key
okin_fs/okin/publica.key: PGP public key block
total 4
drwxr-xr-x 2 rsk 1000 1024 2010-10-01 11:01:52.000000000 +0200 barcos
drwxr-xr-x 2 rsk 1000 1024 2010-10-01 11:01:30.000000000 +0200 Coches
-rw-r--r-- 1 rsk 1000  116 2010-10-01 10:58:06.000000000 +0200 lista.txt
-rw-r--r-- 1 rsk 1000  116 2010-10-04 18:22:13.000000000 +0200 todo.txt
okin_fs/okin/Docus: directory
total 480
-rwxr-xr-x 1 rsk 1000 117383 2010-10-01 10:55:52.000000000 +0200 OL00024801_9999999670.pdf
-rwxr-xr-x 1 rsk 1000 369214 2010-10-01 10:55:52.000000000 +0200 vela_ligera.pdf
okin_fs/okin/Docus/barcos: directory
-rwxr-xr-x 1 rsk 1000 117383 2010-10-01 10:55:52.000000000 +0200 okin_fs/okin/Docus/barcos/OL00024801_9999999670.pdf
okin_fs/okin/Docus/barcos/OL00024801_9999999670.pdf: PDF document, version 1.4
-rwxr-xr-x 1 rsk 1000 369214 2010-10-01 10:55:52.000000000 +0200 okin_fs/okin/Docus/barcos/vela_ligera.pdf
okin_fs/okin/Docus/barcos/vela_ligera.pdf: PDF document, version 1.2
total 281
-rwxr-xr-x 1 rsk 1000 29384 2010-10-01 10:55:52.000000000 +0200 9071005.008.Mini4L.jpg
-rwxr-xr-x 1 rsk 1000 41161 2010-10-01 10:55:52.000000000 +0200 9071005.008.Mini5L.jpg
-rwxr-xr-x 1 rsk 1000 33902 2010-10-01 10:55:53.000000000 +0200 coleccion-bruce-willis-1008-3-480x319.jpg
-rwxr-xr-x 1 rsk 1000 31112 2010-10-01 10:55:53.000000000 +0200 fastwomen.jpg
-rwxr-xr-x 1 rsk 1000 87503 2010-10-01 10:55:53.000000000 +0200 ferrari_motorcycle_2-1222425723.jpg
-rwxr-xr-x 1 rsk 1000 54467 2010-10-01 10:55:53.000000000 +0200 sauerland_b_low.jpg
okin_fs/okin/Docus/Coches: directory
-rwxr-xr-x 1 rsk 1000 29384 2010-10-01 10:55:52.000000000 +0200 okin_fs/okin/Docus/Coches/9071005.008.Mini4L.jpg
okin_fs/okin/Docus/Coches/9071005.008.Mini4L.jpg: JPEG image data, JFIF standard 1.01
-rwxr-xr-x 1 rsk 1000 41161 2010-10-01 10:55:52.000000000 +0200 okin_fs/okin/Docus/Coches/9071005.008.Mini5L.jpg
okin_fs/okin/Docus/Coches/9071005.008.Mini5L.jpg: JPEG image data, JFIF standard 1.01
-rwxr-xr-x 1 rsk 1000 33902 2010-10-01 10:55:53.000000000 +0200 okin_fs/okin/Docus/Coches/coleccion-bruce-willis-1008-3-480x319.jpg
okin_fs/okin/Docus/Coches/coleccion-bruce-willis-1008-3-480x319.jpg: JPEG image data, JFIF standard 1.01, comment: "CREATOR: gd-jpeg v1.0 (using IJ"
-rwxr-xr-x 1 rsk 1000 31112 2010-10-01 10:55:53.000000000 +0200 okin_fs/okin/Docus/Coches/fastwomen.jpg
okin_fs/okin/Docus/Coches/fastwomen.jpg: JPEG image data, JFIF standard 1.01
-rwxr-xr-x 1 rsk 1000 87503 2010-10-01 10:55:53.000000000 +0200 okin_fs/okin/Docus/Coches/ferrari_motorcycle_2-1222425723.jpg
okin_fs/okin/Docus/Coches/ferrari_motorcycle_2-1222425723.jpg: JPEG image data, JFIF standard 1.02
-rwxr-xr-x 1 rsk 1000 54467 2010-10-01 10:55:53.000000000 +0200 okin_fs/okin/Docus/Coches/sauerland_b_low.jpg
okin_fs/okin/Docus/Coches/sauerland_b_low.jpg: JPEG image data, JFIF standard 1.01
-rw-r--r-- 1 rsk 1000 116 2010-10-04 18:22:13.000000000 +0200 okin_fs/okin/Docus/todo.txt
okin_fs/okin/Docus/todo.txt: ASCII text
-rw-r--r-- 1 rsk 1000 116 2010-10-01 10:58:06.000000000 +0200 okin_fs/okin/Docus/lista.txt
okin_fs/okin/Docus/lista.txt: ASCII text
total 1
drwxr-xr-x 3 rsk 1000 1024 2010-09-29 16:44:28.000000000 +0200 mail
okin_fs/okin/profile: directory
total 1
drwxr-xr-x 2 rsk 1000 1024 2010-09-29 16:44:54.000000000 +0200 local
okin_fs/okin/profile/mail: directory
total 21
-rwxr-xr-x 1 rsk 1000 13376 2010-09-29 16:43:28.000000000 +0200 Privado
-rwxr-xr-x 1 rsk 1000  6110 2010-09-29 16:43:36.000000000 +0200 Privado.msf
okin_fs/okin/profile/mail/local: directory
-rwxr-xr-x 1 rsk 1000 13376 2010-09-29 16:43:28.000000000 +0200 okin_fs/okin/profile/mail/local/Privado
okin_fs/okin/profile/mail/local/Privado: HTML document text
-rwxr-xr-x 1 rsk 1000 6110 2010-09-29 16:43:36.000000000 +0200 okin_fs/okin/profile/mail/local/Privado.msf
okin_fs/okin/profile/mail/local/Privado.msf: exported SGML document text
total 120493
-rw-r--r-- 1 rsk users 123379200 2010-10-06 10:57:32.000000000 +0200 okin.dd
drwxr-xr-x 4 root    root       1024 2010-09-27 19:16:18.000000000 +0200 okin_fs
-rw-r--r-- 1 rsk users        42 2010-10-19 09:31:42.636666670 +0200 okin.md5
.: directory
-rw-r--r-- 1 rsk users 42 2010-10-19 09:31:42.636666670 +0200 ./okin.md5
./okin.md5: ASCII text
total 13
drwxr-xr-x 2 root    root 12288 2010-09-27 19:03:26.000000000 +0200 lost+found
drwxr-xr-x 4 rsk 1000  1024 2010-10-01 12:27:39.000000000 +0200 okin
./okin_fs: directory
total 0
./okin_fs/lost+found: directory
total 1135
drwxr-xr-x 4 rsk 1000    1024 2010-10-04 18:22:13.000000000 +0200 Docus
-rwxr-xr-x 1 rsk 1000 1151221 2010-10-01 11:08:39.000000000 +0200 film.zip
drwxr-xr-x 3 rsk 1000    1024 2010-09-29 16:44:16.000000000 +0200 profile
-rw-r--r-- 1 rsk 1000    1381 2010-09-29 15:53:14.000000000 +0200 publica.key
./okin_fs/okin: directory
-rw-r--r-- 1 rsk 1000 675 2010-09-27 19:16:18.000000000 +0200 ./okin_fs/okin/.profile
./okin_fs/okin/.profile: ASCII English text
-rw-r--r-- 1 rsk 1000 3137 2010-09-28 14:26:47.000000000 +0200 ./okin_fs/okin/.bashrc
./okin_fs/okin/.bashrc: ASCII English text
-rw-r--r-- 1 rsk 1000 220 2010-09-27 19:16:18.000000000 +0200 ./okin_fs/okin/.bash_logout
./okin_fs/okin/.bash_logout: ASCII English text
-rwxr-xr-x 1 rsk 1000 1151221 2010-10-01 11:08:39.000000000 +0200 ./okin_fs/okin/film.zip
./okin_fs/okin/film.zip: Zip archive data
-rw-r--r-- 1 rsk 1000 412 2010-10-01 12:27:39.000000000 +0200 ./okin_fs/okin/.bash_history
./okin_fs/okin/.bash_history: ASCII text
-rw-r--r-- 1 rsk 1000 1381 2010-09-29 15:53:14.000000000 +0200 ./okin_fs/okin/publica.key
./okin_fs/okin/publica.key: PGP public key block
total 4
drwxr-xr-x 2 rsk 1000 1024 2010-10-01 11:01:52.000000000 +0200 barcos
drwxr-xr-x 2 rsk 1000 1024 2010-10-01 11:01:30.000000000 +0200 Coches
-rw-r--r-- 1 rsk 1000  116 2010-10-01 10:58:06.000000000 +0200 lista.txt
-rw-r--r-- 1 rsk 1000  116 2010-10-04 18:22:13.000000000 +0200 todo.txt
./okin_fs/okin/Docus: directory
total 480
-rwxr-xr-x 1 rsk 1000 117383 2010-10-01 10:55:52.000000000 +0200 OL00024801_9999999670.pdf
-rwxr-xr-x 1 rsk 1000 369214 2010-10-01 10:55:52.000000000 +0200 vela_ligera.pdf
./okin_fs/okin/Docus/barcos: directory
-rwxr-xr-x 1 rsk 1000 117383 2010-10-01 10:55:52.000000000 +0200 ./okin_fs/okin/Docus/barcos/OL00024801_9999999670.pdf
./okin_fs/okin/Docus/barcos/OL00024801_9999999670.pdf: PDF document, version 1.4
-rwxr-xr-x 1 rsk 1000 369214 2010-10-01 10:55:52.000000000 +0200 ./okin_fs/okin/Docus/barcos/vela_ligera.pdf
./okin_fs/okin/Docus/barcos/vela_ligera.pdf: PDF document, version 1.2
total 281
-rwxr-xr-x 1 rsk 1000 29384 2010-10-01 10:55:52.000000000 +0200 9071005.008.Mini4L.jpg
-rwxr-xr-x 1 rsk 1000 41161 2010-10-01 10:55:52.000000000 +0200 9071005.008.Mini5L.jpg
-rwxr-xr-x 1 rsk 1000 33902 2010-10-01 10:55:53.000000000 +0200 coleccion-bruce-willis-1008-3-480x319.jpg
-rwxr-xr-x 1 rsk 1000 31112 2010-10-01 10:55:53.000000000 +0200 fastwomen.jpg
-rwxr-xr-x 1 rsk 1000 87503 2010-10-01 10:55:53.000000000 +0200 ferrari_motorcycle_2-1222425723.jpg
-rwxr-xr-x 1 rsk 1000 54467 2010-10-01 10:55:53.000000000 +0200 sauerland_b_low.jpg
./okin_fs/okin/Docus/Coches: directory
-rwxr-xr-x 1 rsk 1000 29384 2010-10-01 10:55:52.000000000 +0200 ./okin_fs/okin/Docus/Coches/9071005.008.Mini4L.jpg
./okin_fs/okin/Docus/Coches/9071005.008.Mini4L.jpg: JPEG image data, JFIF standard 1.01
-rwxr-xr-x 1 rsk 1000 41161 2010-10-01 10:55:52.000000000 +0200 ./okin_fs/okin/Docus/Coches/9071005.008.Mini5L.jpg
./okin_fs/okin/Docus/Coches/9071005.008.Mini5L.jpg: JPEG image data, JFIF standard 1.01
-rwxr-xr-x 1 rsk 1000 33902 2010-10-01 10:55:53.000000000 +0200 ./okin_fs/okin/Docus/Coches/coleccion-bruce-willis-1008-3-480x319.jpg
./okin_fs/okin/Docus/Coches/coleccion-bruce-willis-1008-3-480x319.jpg: JPEG image data, JFIF standard 1.01, comment: "CREATOR: gd-jpeg v1.0 (using IJ"
-rwxr-xr-x 1 rsk 1000 31112 2010-10-01 10:55:53.000000000 +0200 ./okin_fs/okin/Docus/Coches/fastwomen.jpg
./okin_fs/okin/Docus/Coches/fastwomen.jpg: JPEG image data, JFIF standard 1.01
-rwxr-xr-x 1 rsk 1000 87503 2010-10-01 10:55:53.000000000 +0200 ./okin_fs/okin/Docus/Coches/ferrari_motorcycle_2-1222425723.jpg
./okin_fs/okin/Docus/Coches/ferrari_motorcycle_2-1222425723.jpg: JPEG image data, JFIF standard 1.02
-rwxr-xr-x 1 rsk 1000 54467 2010-10-01 10:55:53.000000000 +0200 ./okin_fs/okin/Docus/Coches/sauerland_b_low.jpg
./okin_fs/okin/Docus/Coches/sauerland_b_low.jpg: JPEG image data, JFIF standard 1.01
-rw-r--r-- 1 rsk 1000 116 2010-10-04 18:22:13.000000000 +0200 ./okin_fs/okin/Docus/todo.txt
./okin_fs/okin/Docus/todo.txt: ASCII text
-rw-r--r-- 1 rsk 1000 116 2010-10-01 10:58:06.000000000 +0200 ./okin_fs/okin/Docus/lista.txt
./okin_fs/okin/Docus/lista.txt: ASCII text
total 1
drwxr-xr-x 3 rsk 1000 1024 2010-09-29 16:44:28.000000000 +0200 mail
./okin_fs/okin/profile: directory
total 1
drwxr-xr-x 2 rsk 1000 1024 2010-09-29 16:44:54.000000000 +0200 local
./okin_fs/okin/profile/mail: directory
total 21
-rwxr-xr-x 1 rsk 1000 13376 2010-09-29 16:43:28.000000000 +0200 Privado
-rwxr-xr-x 1 rsk 1000  6110 2010-09-29 16:43:36.000000000 +0200 Privado.msf
./okin_fs/okin/profile/mail/local: directory
-rwxr-xr-x 1 rsk 1000 13376 2010-09-29 16:43:28.000000000 +0200 ./okin_fs/okin/profile/mail/local/Privado
./okin_fs/okin/profile/mail/local/Privado: HTML document text
-rwxr-xr-x 1 rsk 1000 6110 2010-09-29 16:43:36.000000000 +0200 ./okin_fs/okin/profile/mail/local/Privado.msf
./okin_fs/okin/profile/mail/local/Privado.msf: exported SGML document text
-rw-r--r-- 1 rsk users 123379200 2010-10-06 10:57:32.000000000 +0200 ./okin.dd


Resumiendo, podemos ver lo que parece un directorio /home de un usuario que ha sido volcado y contiene documentos PDF, algunos ficheros de texto plano, imágenes, un directorio de correo, histórico de comandos, etc.

Una vez tenemos una vision global de todo lo que existe, es hora de analizar un poco más el fichero de imagen desde lo más sencillo a lo más complicado. Empezamos por el comando strings:

rsk::vtta { ~/NcN }-> strings -a -t d okin.dd >strings.ascii.txt

Entre otras cosas vemos :
  • 2 correos enviados desde la cuenta pakwalls@gmail.com con destinatario okin@nocooname.org , Subject: Datos. Correo cifrado GnuPG. Corresponde con el fichero : okin_fs/okin/profile/mail/local/Privado. No existe el destinatario, gmail los devuelve.
Sacamos la parte del correo que está cifrada con GPG para analizarlo más tarde:

    -----BEGIN PGP MESSAGE-----
Charset: ISO-8859-1
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

hQEOA78AQh2Ts7oPEAP+OtZIwwX2Uo92a7sCwko4DwbzmGQ64yIp6cqkTVoa+sF/
6addCvMmIMey7UyNFzU2+qL3GD+4EO0c+v+/KYDRGr6sfUYVvsDfWwOUtKeKxZ4k
rYlKmWmn5yGPVbgD5KZLUD85Bvoo375fzK2IpWNUhNUhMfj/oZk1ssuzKPpbFFwD
/iR6Wrwf/dtwii+49Cca7Pi1flVXBAtm14941nNKT+DVvw0Jci1eUc5tBseai0Yp
56AlWE3J7CjpL7Jngc8YGrvPbPMxYS8gz73fvnffPURMRLEt3Joqb2G3OOZcwC0N
82iXk10nMDJbCVahG/P8agbQupZ0hfnvPplA/dJmm6Xw0sBsAVUsw03nV1qcV8l6
2ORFd8qPIxrR/LULWxMVzXMtIjR+SjZzeGhSF2LEVurGO4JECjr6T6OFpOpFOzT3
Bll2bytuTE7ALH+KEL9bpUkCebVoezvSqQn+Jvm7CiQQfv/7KfShJSFol4QSqffz
6/UK4WjA1RtN/iaN2Y2w6u+uCnrt0ACPLwnLSMHjpIxrDOIedXk6XBG6PM+xYkHd
iXx9dR5tZ+pZ2A6GttCopsSaLEFNmBDfjMICaoP8z9UNLGvg+t9lRtlzn5ylvFzy
7gsyyDGm/waEmddZjJKwMVQuFkGA82syibBGELB7YZJXYMXhghxEJQxnEDfSwKyi
p1h2J0xMtW0wouZIRNMTGAD64rO0SYDXyMliVz7vUn8iK5z5uaFH3Isq89HAeGzu
=3D5zru
-----END PGP MESSAGE-----

Si nos damos cuenta anteriormente en el listado de ficheros vemos un fichero llamado publica.asc:

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.9 (GNU/Linux)

mQGiBEyh3TIRBAD9CbvavizDHBVAIi19GOEO5yFF/GGgHr4+FfnoMa5GgA8TL1T9
7dpYmcq/uITR2nuU9h0u8eeSRz426GNIqCZj7vGevqGpsDoPYEzh8PwupYpoZBo5
NxiykbfKn3Wcry4Md2zELgCQyr/UwEevhF/NlDs2gwT9VlTZrH+Ez/94SwCgu2Ou
hnCCyQmt65R+jVCwJWV7uo0EALb1YEcZ8RPv/xc+QKD33sfyN/v8nnzxho1VOOrb
hfElsBMXt8ssf1s1l9XRKyWBfrs0UHSu11QuJj0fHKuC+jCz8Rs2mw6nE6TrwZKS
fyPbN9BitHuWtj3Rcw7xxRHBXhpgPLxGmYqxseWw/aJ6UQWKDpNN0PfT7DwgSHxw
OLJpBACM5CjKCewoaNtp8ZTCm4KIgoQW4nKWSZ6wE7+7YY8eJMPYBorzFil6LIM3
wujvPcoa0rqDAw3mbHbvQC31zvHrX8O43UqYOrtPrh/O3lowzMuHBygciHbyEB+I
e3mK8Ut7EfefRK6+kgII0FcFx+9ShArwn9m7alIAEe3Yaz96RbQ2TWlrZSBPa2lu
IExvcGV6IChDdWVudGEgcGVyc29uYWwpIDxva2luQG5vY29ubmFtZS5vcmc+iGYE
ExECACYFAkyh3TICGwMFCQHhM4AGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRCi
B22M8xbKcfSpAJ0cEDS8Gv+RmuwiJLsQYQhIcK48agCeJLKr2ORD17rC4S3fdisq
5UJj+Ha5AQ0ETKHdMhAEAOc7LjnNezQsH2Q9H51ohZHJy3gcToFR91bRYlJBmZjw
5CXG2QzgKTjwHTawpvRpdsegv5xNiXPOr2RzJbb675VXExJBZeKQVYiMY6u0KVbx
RI8w502s1VGsgzKuL+2AF/ywjLi8mF0liJsqDsd51qTwnswTvJlB94za5h0wsAfn
AAMFBADAxMJ33tSuS+FF5rKui+WDxvJDjaHV/dYC6EyRRKsxJCArLFtRuzx2YWGd
zv2ZdnfmI+3h4xd/vEVIuFwoe1JjFQdC8zSsZN2I8wGhjTIOpKZXKex1NR6sXL7M
5k3hMZ+RlTG663MUeKoxzU7HZCLMW0TPuIxZesPWCHsXC77m8YhPBBgRAgAPBQJM
od0yAhsMBQkB4TOAAAoJEKIHbYzzFspx+EQAn3xtKmPKuKzkIQpm5nmzEC02f/vU
AKCLVU5bFwM1R1Hn7dNnScGXUeOTMw==
=vCqL
-----END PGP PUBLIC KEY BLOCK-----

Además en el fichero de strings vimos: mailx -s "llaveo" jpilo@isecauditors.com < publica.key

Parece que está bastante claro, vamos a tener que descifrar el correo de alguna forma. Como no sabemos aún como, vamos a echar un ojo a los ficheros que tenemos a ver si nos dan alguna pista:

rsk::vtta { ~/NcN/okin_fs/okin/Docus }-> cat todo.txt 
- Limpiar el coche.
- Revisar las acciones del banco.
- Hacer el reto forense.
- DESCUBRIR EL TITULO DE LA PELICULA 
 
La primera puede tener que ver con las imágenes que hemos visto en el directorio Docus/Coches. Pero si los analizamos a primera vista no vemos nada fuera de lo común. Lo normal es usar alguna herramienta como openstego/stegdetect. Revisar las acciones del banco no nos llama la atención sobre nada de lo anterior visto. Hacer el reto forense y como se suele hacer en un reto forense, se analizan los ficheros eliminados y tal vez con esto continuemos con el siguiente punto. Descubrir el título de la película, que puede tener que ver con el fichero film.zip que tiene clave y que podríamos intentar descomprimir usando fuerza bruta. En principio lo descartamos pero si no podemos usar alguna herramienta tipo fcrackzip. O simplemente crear un diccionario y pasándoselo como argumento al comando unzip -P”xxx” film.zip dentro de un bucle similar a :

for i in `cat dict’; do unzip -P”$i”; echo $i; done 

Bueno, como siempre digo hay que seguir primero el camino más obvio y luego intentar ir descartando. Lo que más pista nos ha dado por ahora ha sido el uso de cifrado GPG, así que como no tenemos el anillo para poder descifrar el correo, habrá que buscarlo. Optamos por ver que ficheros han sido eliminados. Tal vez algo nos dé una pista sobre donde está.

¿Qué podemos usar?
  •     The Sleuth Kit / Autopsy
  •     foremost
  •     debugfs
  •     scalpel
  •     dd /grep/sed..

En nuestro caso usaremos el primero, pero  tal vez sería bueno combinar alguno con otro para comparar resultados. Lo ejecutamos directamente sobre la imagen de disco descargada como evidencia:

rsk::vtta { ~/NcN }->  ils -r okin.dd
class|host|device|start_time
ils|vtta||1287477888
st_ino|st_alloc|st_uid|st_gid|st_mtime|st_atime|st_ctime|st_crtime|st_mode|st_nlink|st_size
32134|f|0|0|1286209331|1286209315|1286209333|0|644|0|12288
32136|f|1000|1000|1286209331|1286209331|1286209333|0|644|0|116
32139|f|1000|1000|1285676481|1285676481|1285923754|0|600|0|942
32140|f|1000|1000|1285676481|1285768394|1285923754|0|600|0|1080
32142|f|1000|1000|1285676481|1285768394|1285923754|0|600|0|942
32147|f|0|0|1285923213|1285923212|1285923734|0|755|0|1151221
32150|f|0|0|1285923352|1285923352|1285923712|0|755|0|118803
32159|f|0|0|1285923353|1285923353|1285923690|0|755|0|20821
32161|f|0|0|1285923612|1285923677|1285923677|0|755|0|0
32162|f|0|0|1285923353|1285923353|1285923612|0|755|0|73110
32163|f|0|0|1285923353|1285923353|1285923612|0|755|0|640387
32164|f|0|0|1285923353|1285923353|1285923612|0|755|0|659134
32166|f|1000|1000|1285923529|1286209315|1286209331|0|644|0|79

Ciertamente existen ficheros eliminados, en este caso nos muestra 13 ficheros eliminados. Así que vamos a recuperarlos, pasándole el inodo donde se encuentra a la utilidad icat del kit anteriormente mencionado:

rsk::vtta { ~/NcN }-> for i in `cat inodes`; do icat -r okin.dd $i >$i; echo $i; done
rsk::vendeta { ~/NcN }-> file *

32134:                Vim swap file, version 7.2
32136:                ASCII text
32139:                GPG key public ring
32140:                PGP key security ring
32142:                GPG key public ring
32147:                Zip archive data
32150:                data
32159:                Vim swap file, version 7.2
32161:                empty
32162:                data
32163:                data
32164:                PDF document, version 1.3
32166:                ASCII text

Tenemos varios ficheros recuperados, pero destacamos el que ya estábamos buscando “PGP key security ring”. Tenemos que importarlo y comprobar si podemos usarlo para descifrar el correo.

rsk::vtta { ~/NcN }-> gpg --import 32140
gpg: /home/rsk/.gnupg: directorio creado
gpg: creado un nuevo archivo de configuración `/home/rsk/.gnupg/gpg.conf'
gpg: AVISO: las opciones en `/home/rsk/.gnupg/gpg.conf' no están aún activas en esta ejecución
gpg: anillo «/home/rsk/.gnupg/secring.gpg» creado
gpg: anillo «/home/rsk/.gnupg/pubring.gpg» creado
gpg: clave F316CA71: clave secreta importada
gpg: /home/rsk/.gnupg/trustdb.gpg: se ha creado base de datos de confianza
gpg: clave F316CA71: clave pública "Mike Okin Lopez (Cuenta personal) " importada
gpg: Cantidad total procesada: 1
gpg:               importadas: 1
gpg:       claves secretas leídas: 1
gpg:   claves secretas importadas: 1

Una vez importada tratamos de descifrar el correo que teníamos anteriormente cifrado de mail/Privado.

rsk::vtta { ~/NcN }-> gpg2 --decrypt email.txt

Necesita una frase contraseña para desbloquear la clave secreta l usuario: "Mike Okin Lopez (Cuenta personal) " clave ELG-E de 1024 bits, ID 93B3BA0F, creada el 2010-09-28 (ID de clave primaria F316CA71)

¿Tenemos esa clave?¡Si! estaba en el histórico (.bash_history) : Am*S8dA9Z!yw*VAE
Ya podemos leer el contenido del correo:

“Hola Okin! Como va todo? Mucho curro? :)

    Por aquí andamos bastante cargados y eso que acabamos de volver! A ver si
llegan las fiestas navideñas y descansamos otro poco...

    Bueno, a lo que iba... Te envío la contraseña que me pediste para que
puedas acceder a los datos. La contraseña es "Hhj23Hol249"

    Saludos a todos.”


Tenemos una clave nueva, ya probamos anteriormente todas las que vimos en el .bash_history en el fichero film.zip, pero esta es nueva y vamos a proceder a probarla.


rsk::vtta { ~/NcN }-> unzip -P”Hhj23Hol249” film.zip 

Aunque devuelve errores por el CRC, se ha descomprimido correctamente. Y encontramos un fichero llamado film del tipo PCAP. Por lo que vamos a abrirlo con Wireshark a ver que hay en esta captura de tráfico.


Echando un vistazo rápido, vemos mucho tráfico SIP, por lo que parece que tenemos que seguir las tramas y ver la comunicación. En Wireshark existe un plugin que nos facilita un poco el trabajo para trabajar con VoIP. Telephony/VoIP. Así mismo vemos el flujo de la llamada e intentamos decodificarla a ver que podemos escuchar de la conversación.

Una vez descodificado, pulsamos el player y finalmente escuchamos el audio que es bastante esclarecedor:


Y del que podemos deducir el título de la película:

“El cuerpo humano genera más bioelectricidad que una pila de ciento veinte voltios y más de veinticinco mil Julios de calor corporal Combinado con una forma de fusión, las máquinas habían encontrado toda la energía que podían necesitar Existen campos, Neo interminables campos donde los seres humanos ya no nacemos Se nos cultiva “



¡Efectivamente hemos conseguido conocer el título de la película! Se trataba de Matrix. Por lo que ya hemos finalizado con éxito nuestro reto y no hemos perdido el tiempo analizando otras evidencias menos obvias. No obstante podíamos encontrar ciertos ficheros eliminados que podían hacernos perder el rumbo del análisis y que tal vez contengan información quien sabe :-)
  • Manual de Snort 2.8.6 para Fedora
  • Fichero jpg ralph-lauren-cars-5.jpg
  • Fichero PDF Laguna, Carlos.pdf

-revskills

5 comments :

Anónimo dijo...

Muy buena entrada.

Gabriel

SiD dijo...

Osea... que super guay lo de la contraseña de la clave privada en el histórico O:)

Me ha encantado lo de poder oir la conversación de VoIP. ¿Hay algo para meterlo en una capa cifrada?

Gracias por "enseñar el camino" para "andar el camino"

Saludos.

Txalin dijo...

plasplasplasplas

pmareke dijo...

Muy buena la entrada muchas gracias!

Estoy empezando a practicar con estos temas y tengo alguna duda!

En que SO esta realizado? Porque los comandos no los encuentra y nose exactamente necesito instalar para poder realizar el ejemplo.

Muchas gracias un saludo!

aabilio dijo...

Muy muy bueno ;)