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
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?
¿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)
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.”
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 :
Muy buena entrada.
Gabriel
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.
plasplasplasplas
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!
Muy muy bueno ;)
Publicar un comentario