miércoles, 29 de mayo de 2013

Robots en Antena3

Aunque ya he contado alguna vez cosas sobre esto, vamos a ver cómo conseguir descargar alguna de las emisiones de Antena3.

Lo primero de todo, es ir a la página web de Antena3, e ir a la sección de programas. En esa sección, vamos a buscar el programa deseado y nos metemos en la emisión en la que nuestro ser querido estuvo delante de unos cuantos millones de personas.

¿Ya estamos? Perfecto. Ahora, con algún tipo de programa tipo tamper data, intentamos buscar el vídeo, tal y como ya conté en su momento. En este caso, se podrá complicar la cosa, porque carga bastantes cosas y encontrarlo... No es que se deje mucho. Por lo tanto, vamos a intentar optar la segunda opción: con el wireshark hacer un follow tcp stream de los paquetes que deduzcamos que pertenecen al vídeo que se está cargando. Aunque según el conjunto de paquetes no podamos ver del todo la URL, sí que nos permitirá ver algunos datos:

Wireshark: Follow tcp stream del vídeo .mp4
Wireshark: Follow tcp stream del vídeo .mp4
El problema está en que tampoco acabo de ser capaz del todo de localizar cuál es la ruta "raiz" para ese mp_series??/, por lo tanto, acabo visitando la página otra vez. Para la siguiente prueba, me hará falta el firefox y su herramienta firebug. Esta herramienta te permite ver el código fuente de la página, ir viendo poco a poco a qué zona de la página pertenece esa línea de código. Por lo tanto, vas buscando dónde se encuentran las líneas que insertan el vídeo:

Firebug: Embebiendo el vídeo
Firebug: Embebiendo el vídeo

Aquí podemos ver que hay un fichero xml. ¿Y si fuera aquí donde pudiéramos encontrar más datos para descargar el vídeo? El problema está en que hay que intentar ver, una vez más, cuál es la raíz donde hay que poner ese enlace. A lo mejor, en el robots.txt nos pueden dar una pista. Y sí, ahí he encontrado algo que ya se había visto antes en la captura embebiendo un vídeo, y eso es /chapterxml/:

/chapterxml/ en el robots.xml de Antena3
/chapterxml/ en el robots.xml de Antena3
Es un detalle que no se me había ocurrido mirar y que prácticamente me lo estaban diciendo en el pantallazo del firebug. Si visitamos la URL del xml, utilizando /chapterxml/ como raíz, llegamos a ver el contenido, en el que se indican un montón de parámetros: urlVideoFlv,urlVideoMp4urlHttpVideo,urlSubtitlegeoLoc, y, el más importante: la rama archivoMultimedia de la que cuelga archivo, que es el nombre del fichero .mp4. Por lo tanto, concatenando urlHttpVideo con archivo podremos descargar el vídeo.

Todo este lío que he contado, algo que no es nuevo en este blog (pero que permite ver otras formas de descubrir cómo se organizan los reproductores para streaming), es porque en el robots.xml me he encontrado con un contenido muy específico que ya han publicado... Y del que ese enlace ya no te lleva a ese contenido en concreto. Bueno. Al menos, una forma más para encontrar las fuentes de los vídeos que se en en Antena3. Es más, teniendo la URL de los vídeos, los puedes encolar en tu reproductor favorito (por poner un ejemplo, VLC). 

lunes, 27 de mayo de 2013

Android: R cannot be resolved to a variable

Desde ayer sábado, y ahora mismo, estoy teniendo un problema con el entorno de desarrollo de Android en Eclipse. Me está dando un error muy curioso en el que me indican que

R cannot be resolved to a variable

Para explicarlo de forma rápida, R es un objeto que se genera a partir de los recursos que vamos creando en una carpeta interna cuyo nombre es res (procedente de resources). En esa carpeta hay una serie de subcarpetas con sus nombres predefinidos donde se introducen ficheros xml, imagenes, música. Dependiendo de su tipo, se podrá acceder a ellos por el nombre R.tipoDeRecurso.nombreQueLeHemosPuesto.

En fin. La historia es que R debería de existir siempre. Pero, por desgracia, parece ser que a veces se producen una serie de problemas que harán que éste no se vaya regenerando (o que se pierda) y, por lo tanto, nos dará el error que tenemos en el título de este post.

He estado haciendo una serie de búsquedas y estos son los consejos que van dando para solucionarlo. A unos les funciona, a otros (como ahora mismo a mí) no. Recomiendo leer todo hasta el final y después ponerse a probar, no vaya a ser que os llevéis alguna sorpresa. 

  • Hacer un clean y un rebuild del proyecto. Incluso, recomiendan que antes de hacerlo, quitar la opción de build automatically. Todo ello desde el menú proyect.
  • Hacer la primera opción y después, reiniciar el Eclipse. 
  • Verificar los recursos:
    • Los nombres de los recursos tienen que estar siempre en minúsculas. El consejo que dan es que si quieres alguna diferenciación, en vez de utilizar formatoCamello.xml (que estaría mal) utilices formato_no_camello.xml. 
    • No sólo es el nombre del continente el que pueda estar mal, sino también su contenido. Si hay algo mal diseñado, por ejemplo, en algún fichero xml, también podrá dar ese error. Podría ser que, por poner un ejemplo, se esté referenciando en un recurso existente a otro inexistente (por poner un ejemplo: un listado [array], una cadena string [que permitiría hacer internacionalización], etc, etc).
      • Recordar que según para la versión de API (versión mínima para la que se esté programando la aplicaicón), en el layout habrá que ver si estamos utilizando un fill_parent o un match_parent.
  • Parece ser que también podría ser algún tipo de error en la sincronización con el workspace o si se está haciendo un rebuild del mismo. Dicen que podría ser por tener un equipo algo lento. 
  • El hecho de estar importando en tus clases java com.nuestroproyecto.R. Y, aún así, cuando lo hago, me da una alerta (y en vez de no encontrar R, no me encuentra los recursos). Esto te podría pasar, por ejemplo, si utilizas Ctrl+Shift+O para que te importe directamente los paquetes necesarios y te los deje bien ordenados.
  • El fichero AndroidManifest.xml es un fichero base para la aplicación. En él se indican cosas tan importantes como las clases que podrán mostrar las pantallas (clases que heredan de Activity o sus herederos), el estilo de toda la aplicación, etc. Si has reutilizado alguno, ahí tienes el problema. Entre otras cosas, verifica que el paquete en el que debería de encontrar tus Activities es correcto.
  • Botón derecho sobre la carpeta del proyecto, ir a Android tools y después a Fix proyect properties. También míralo si por algún casual has cambiado el nombre del paquete. 
  • En las propiedades del proyecto, ir a java build path y mirar si la librería de Android numversion está con el tick. Hasta ahora no lo estaba, y lo he intentado, pero nada. Aún así, al reparar las propiedades del proyecto, parece que me lo han desmarcado. De todas formas, alguien ha dicho que se le solucionó así. En la pestaña Order and Export tendrían que aparecer tanto la carpeta NombreProyecto/src como NombreProyecto/res.
  • Comprobar si tu sistema operativo es 64 bits y el entorno de desarrollo que usa las librerías y paquetes de Android son para 32 bits. Ya sea el ADT, el jdk... No debería de ser el problema si antes te funcionaba. 
  • Vete a Android SDK Manager, desde el menú Window. Actualiza las cosas que te diga. Entre otras cosas, instala el SDK platform
  • Hay un error que no acabo de entender. Lo llama hierarchical parent error: viene a decir que, si por algún casual debajo de la carpeta gen tienes un R.java, lo elimines. Evidentemente, después tendrás que volver a hacer un clean y, si es que no se hace automáticamente, un rebuild. Yo recomiendo que en este caso no se haga automáticamente. En mi caso, no es posible eliminarlo porque no existe/ha desaparecido. 
  • Hay un ejemplo que ponen en el que la ruta al sdk tiene que terminar en "/" (barra). Es un ejemplo con rutas en Linux. 
  • Copipasteando: "I got this error after i have typied & symbol in string.xml file". 
  • Otro posible error es haber puesto un .js en una carpeta que no sea assets.
  • Eliminar la carpeta /res/raw con todo su contenido, volver a crearla y volver a hacer el proceso clean/rebuild.
  • Actualizar los plugins de Eclipse: Menú Help --> Check for updates. Aunque no sea esto, nunca está de más actualizarlos. ¿No?
  • Otra, que se me estaba ocurriendo mientras que estaba escribiendo estas líneas: reiniciar el ordenador. No es normal que si creas un proyecto totalmente nuevo, te de estos errores. 
  • Si reiniciando veis que sigue dando ese error, podéis volver a probar lo anterior. Por ejemplo, una vez reiniciado, si haciendo limpieza y volviendo a reconstruir no funciona, ni siquiera dándole a la opción del fix con desde las herramientas de Android, puedes ir a sus propiedades, y en el build path mirar si la versión está seleccionada o no (tal y como expliqué más arriba. Es más, recomiendo mirar una vez más las actualizaciones. Si has tenido que actualizar, una vez reiniciado el Eclipse, podrás hacer el clean & build.
En mi caso, he hecho un montón de todas estas cosas, pasando por el clean, rebuild, cerrar y abrir el Eclipse, actualizar todo lo actualizable, reiniciar el equipo, volver al clean, build, ir al java build path... Unas cuantas horas para conseguir solucionar todo esto, y, de paso, de vuelta al proyecto original, que me dejase arreglar cosas que antes no me decía que estuviesen mal. 

Total, que si te da ese problema, estas son muchas de las razones por las que te puede estar dando la brasa y no te deje trabajar. Eso si, si sabéis de alguna otra no enumerada aquí, por favor, ponedla en los comentarios. 

Algunas fuentes de donde he podido obtener esta información:
  • StackOverflow: Algunos de los enlaces aquí referenciados están indicados en las primeras respuestas. De hecho, dos de ellos ya los había encontrado antes de ver esta pregunta.
  • StackOverflow: Bastantes ejemplos/posibles soluciones. Me ha gustado mucho por eso. 
  • StackOverflow: Actualiza el SDK platform, hierarchical parten error,  carácter especial en el strings.xml...
  • Ejemplo, con captura incluida, de los nombres en mayúsculas. Otra solución al otro posible problema:  main cannot be resolved or is not a field. Sustituye main por el nombre del recurso.
  • StackOverflow: Más ejemplos (por ejemplo, las carpetas de Order and Export). $%!¿¡¿?!!. Acabo de perder el enlace a este post.

viernes, 24 de mayo de 2013

Leisure Suit Larry vuelve

Hace un tiempo hice una publicación antológica. Es decir, era la antología de todos los tesoros que encontré por casa.

Entre otras cosas, encontré unos discos 5,25'' de Leisure Larry.

Hace unos días, en ALT1040 publicaron que, gracias a un Kickstarter, se volvería a crear la siguiente versión.

No voy a negar que nunca llegué a jugar al otro. Ya veré si acabo de instalar este. Pero bueno. No está mal saber que "viejas glorias" regresan. Me ha parecido muy curioso.

miércoles, 22 de mayo de 2013

Adiós Windows XP

Hace unos pocos días, Microsoft, me envió un correo en el que me ofrecía el registro de un evento para el 5 de junio, entre las 16H y las 17H, explicando el riesgo de seguir utilizando Windows XP y por qué lo mejor sería pasarse a Windows 8. Vamos, que lo que quieren es subir las ventas de su último sistema operativo.

Sobretodo, su idea es recordar a la gente que para el 8 de abril de 2014, es decir, dentro de 10 meses y... unos 22 días, Windows XP y Office 2003 dejarán de tener soporte.

En un párrafo afirman

La mayoría de usuarios a día de hoy esperan capacidades en sus ordenadores que prácticamente ni existían en el año 2001 y que no pueden aportar Windows XP ni Office 2003. El acceso desde cualquier lugar, el empleo de ordenadores de múltiples formatos, el desarrollo de las redes sociales o la nube son solo unos pocos ejemplos de los tremendos cambios que se han producido en esta última década.
La verdad, no estoy del todo de acuerdo. Sobretodo con la primera frase. Hay personas que no necesitan mucho más de lo que había en aquella época: Un ordenador para navegar por internet (leer el periódico), un paquete ofimático básico... y poco más. Sí es cierto, que otras personas, como yo, sí que necesitamos equipos más potentes y más servicios y más cosas.

El hecho de que se quede sin soporte significa que no habrá más actualizaciones, ni ayuda telefónica... Los problemas de seguridad serán aún mayores que los de ahora... Además, si poco a poco los programas van siendo incompatibles con Windows XP, en ese momento ya costará mucho, mucho más encontrar alguno que funcione.

Volviendo a la mercadotecnia del correo:

puede que no superen una auditoría, lo que afectará a sus certificaciones, o también pueden poner en riesgo los datos de sus clientes. Todo ello puede suponer un coste elevado para su cliente
Y, aún así, habrá casas donde tengamos XP hasta el fin de los días porque los usuarios no tendrán ganas, ni paciencia, de aprenderse otro sistema operativo nuevo. Un sistema donde costará bastante encontrar las cosas que antes se localizaban de una forma más sencilla. Sí, es cierto que habrá formas para que se parezca lo mejor posible al anterior. Y, aún así, seguro que no se hará la nueva instalación.

lunes, 20 de mayo de 2013

Reto: Flu-Project: "Guy! Where is the info?"

Hace unas dos semanas y pico, Flu-Project lanzó un reto fonrense. Y yo, a su vez, me lancé a resolverlo. ¿Cómo me salió? La respuesta: FAIL. No lo terminé de resolver. Estuve a punto... Pero eso, y mucho más en un caso como este, no sirve. Un caso que se puede dar en un juzgado. Y eso, no puede ser. Aún así, de los errores se aprende. No siempre se van a publicar las cosas que salen bien. Supongo que si pongo aquí todo (o casi todo) lo que hice, también servirá para las demás personas que puedan necesitar hacer una tarea de este tipo.

He de decir que antes de que publicaran el resultado, les envié un correo con el informe de todo lo que había conseguido. Un informe con unas... 16 páginas y, vientitantas capturas que fui haciendo a medida que intentaba resolver el reto. Reto, en el que para ciertas cosas, y por intentar ser muy pijotero, di muchos bandazos. Y creo que ese fue uno de mis errores.

Lo primero que hice cuando leí el reto, desde mi móvil, fue autoenviarme un correo pensando qué iba a tener que necesitar y buscar.

El resumen de lo que me dije fue:

  • ¿Cómo montar la imagen dd? Entre otras cosas encontré que tenía que:
Después de obtener los datos, me dije que tendría que hacer con éstos:

  •  Primero un listado de los mismos, ordenados por fecha.
  •   Después,  se miraría sus metadatos, en los que podríamos ver si les han cambiado las fechas.
  •   Después, se buscaría una herramienta que pueda mirar el journal por si también se han modificado esos metadatos. Sobretodo este me lo dije porque hacía muy poco tiempo que leí a Pedro Sánchez hablando de NTFS y MFT.
  • Localizar ficheros eliminados. 
Esto es lo que me dije bastante antes de ponerme al lío. 

Lo primero de todo, una vez tuve la prueba en el disco, fue mirar sus propiedades:

OSFMount: Datos de la imagen USB
Datos de la imagen USB


Ahora, me tocaba mirar el contenido. ¿Qué hice? Mirar el correo que os he contado, incluyendo alguna cosa más:
  • En Linux, utilizar el mount de la siguiente manera:
    • mount -o loop /media/DiscoWindows/ruta_imagen/usb.dd /media/carpetaDestino
  • Además de hablar de Backtrack, podría utilizar CAINE. 
Con todas las posibilidades, decidí utilizar OSFMount, para Windows. Una vez instalada, y seleccionando la imagen:

OSFMount: Configurando el montaje de la imagen
Configurando el montaje de la imagen
pudimos ver los datos de la imagen clonada y su sistema de ficheros:

OSFMount: Imagen montada: datos como capacidad o sistema de ficheros
Imagen montada: datos como capacidad o sistema de ficheros mostrados
Una vez está montada en modo read-only, tendría que haber podido acceder a los datos desde el explorador como si de otra unidad se tratase. Pero, no pudo ser. Lo curioso es que la primera vez hay que abrirla en modo lectura-escritura. Una vez ya la has abierto así, después no te dará ningún problema si la pones en sólo lectura. Tuve que buscar la razón, y la encontré en la página oficial. El problema estaba en que el sistema tenía que sobre-escribir las ACLs del sistema de ficheros NTFS. Para resumirlo: los permisos referidos al dueño (owner) que se encuentran en el sistema de particiones. Por desgracia, para arreglarlo, y que se sobre-escriban, hay que poner el modo read-write. Primer FAIL. No se puede permitir que haga ese cambio porque el hash de la imagen mientras se analiza cambiaría con respecto a la original. 

Usb.dd, sin montar en modo RW. Usb-copia.dd, montado en modo RW.
Usb.dd, sin montar en modo RW. Usb-copia.dd, montado en modo RW.
De hecho, esta captura la hice tiempo después de haber estado mirando más cosas (la captura tiene numeración 12, y eso que ahora estaríamos por la 4 o 5). Diría que este es otro FAIL (pongamos que es el segundo). El hash debería de mirarlo antes de montar un fichero de este tipo. 

Con este primer fiasco, intenté utilizar la segunda herramienta, P2 eXplorer, o P2X. Inutil, dado que no funcionaba en un sistema de 64 bits. 

Por lo tanto, decidí pasarme a ver si backtrack tenía herramientas que me permitieran realizar un buen análisis:

Posibles herramientas que backtrack tiene para obtener información
Posibles herramientas que backtrack tiene para obtener información
Aunque hice varias pruebas que no me salieron (ni las documenté), me lancé a sacar el hash (cronológicamente antes de haber hecho la comparación de ambos ficheros arriba), lanzando

#sha256deep /mnt/descargas/usb.dd > usb_hash_sha256deep.txt

con el resultado

a98e5e401c022c9b0a17b35dade09410b4e84a946569f7a2e5d7c1c7455f4104  /mnt/descargas/usb.dd

La siguiente opción fue intentar montar la imagen con

 #mount -o loop,ro /mnt/descargas/usb.dd /mnt/usbPericial/

pero me dio problemas. Se me insistía en que pusiera el sistema de ficheros. Y en ese momento no fui capaz de hacerlo. Y eso que ya tenía la información desde el principio. De las dos opciones que tenía: 
  1. Buscar cómo se le indican el sistema de ficheros de los USB
  2. Buscar otra herramienta que pudiera abrir la imagen en modo sólo lectura
no fui capaz en ese instante de realizar la primera. Tercer FAIL. Tendría que haber buscado más en ese instante, porque me hubiera ahorrado un montón de quebraderos de cabeza. Ya veréis más adelante la razón. 

La otra herramienta que intenté utilizar fue scalpel. Pero tampoco tuve mucho éxito (y no documenté lo que hice con ella). Además, estaba teniendo en cuenta que quería seguir intentando abrir la pericial en modo sólo lectura. 

Estando en el punto en el que me encontraba, decidí buscar otra distribución, para ver si encontraba otras herramientas: CAINE

Al abrir el dispositivo donde tenía guardado el fichero para analizar, se podía ver que el tamaño indicado era diferente al que me mostraba Windows. 109MB para Windows, 115,1MB para CAINE.

CAINE. Tamaño del fichero: 115,1 MB
Tamaño del fichero: 115,1 MB
Herramientas que utilicé en ese instante y que no me me ayudaron:
  • Xmount: 
  • Autopsy: que me permitió añadir la imagen, pero no abrirla. Encontró algunas fechas, y sacó alguna firma MD5. Ese tipo de firmas las descarto, por considerarse tanto obsoletas como comprometidas. Se desaconseja totalmente su uso. No son fiables. Cualquier descripción que quiera dar a entender esa circunstancia será valida. Diría que este es el cuarto FAIL. Más adelante podría utilizar esta herramienta correctamente, tal y como lo explicaré. En ese momento no le dediqué el tiempo suficiente. 
Una herramienta me aportó más datos. Y me fié de ella, aún haciéndome alguna cosa rara. Es el programa de recuperación de datos foremost. Quinto FAIL, muy estrepitoso.

CAINE: foremost -i /mnt/usb/usb.dd -q -v -T
foremost -i /mnt/usb/usb.dd -q -v -T

CAINE: foremost -i /mnt/usb/usb.dd -v -T
foremost -i /mnt/usb/usb.dd -v -T

CAINE: Resultados de las últimas ejecuciones de foremost
Resultados de las últimas ejecuciones de foremost
Siendo muy curioso que dos ejecuciones del mismo comando diesen distintos resultados. ¿Cómo es posible que cada vez detectase distintas cosas? Es más. En algún momento me sacaba unos cuantos cientos de ficheros.

Con los ficheros obtenidos, y sin tener en cuenta que había imágenes (.jpg) repetidas, pude encontrar estas dos fotos:

Imágenes rescatadas
Imágenes rescatadas

Y busqué sus metadatos utilizando gThumb:

CAINE: Foremost: Metadatos de primera imagen, cuyo nombre es el que ha asignado foremost.
Metadatos de primera imagen, cuyo nombre es el que ha asignado foremost.

CAINE: Foremost: Metadatos de segunda imagen
Metadatos de segunda imagen
En ese punto, quise comprobar que tanto las fotografías originales como los thumbnails/previews eran los mismos, siendo afirmativa la respuesta.





Recordemos que ahí donde nos encontramos en la explicación de lo que hice, todavía no había abierto el fichero .doc. Aún me faltaba mirar más cosas en ambas fotografías: ver si tenían información oculta utilizando esteganografía (estenografía, o como se escriba). Diría que este fue el sexto FAIL. Me obcequé mucho en este otro punto dedicándole mucho, mucho tiempo. 

Para ello, utilicé la herramienta xsteg, un front para stegdetect. Si se le pasan las fotos deseadas, te intenta identificar si se han utilizado técnicas estenográficas con ellas. Como suele suceder, en una primera pasada no me ha dio ningún resulado positivo, pero la segunda, y poniendo el valor de sensivity a 10...

CAINE. Tenemos un resultado positivo en xsteg
Tenemos un resultado positivo en xsteg
Ahí, ya era consciente de que tenía que encontrar alguna forma de sacar los datos ocultos en la fotografía indicada.

En esos instantes, y viendo que había cosas que no iban bien del todo, y que CAINE me estaba dando un buen dolor de cabeza (tal y como comenté en el post de la review de esta distribución), acabé volviendo a backtrack. En esta ocasión, instalé algunas librerías/herramientas: xmount, gisomount, lupin-casper y ahí pude volver a intentar hacer un montaje como tiene que ser:

#mount -t ntfs -o loop,ro /mnt/usb/usb.dd /mnt/usbPericial

funcionando en esta ocasión. ¿Por qué no me funcionó antes? No lo se. Podría ser porque me faltaba alguna librería. O porque no acababa de poner del todo bien los parámetros. Lo que si se es que de haber conseguido hacerlo funcionar desde el principio, algún quebradero de cabeza sí me hubiera ahorrado. 

Además de obtener los nombres originales de los ficheros existentes (no borrados), se podía ver que había un fichero de texto que foremost no me mostró. Además, pude realizar otro análisis estonográfico:

Montaje: mount -t ntfs -o loop,ro /mnt/usb/usb.dd /mnt/usbPericial y stegdetect
Montaje: mount -t ntfs -o loop,ro /mnt/usb/usb.dd /mnt/usbPericial y stegdetect
Además, se pudo ver el árbol completo de los ficheros no eliminados de todo el dispositivo clonado:

Listando todo el dispositivo: ls -lRa
ls -lRa
Se podía apreciar que los ficheros almacenados eran del 4 de abril de 2012, siempre teniendo en cuenta lo que muestra el sistema, y sin haber analizado una posible manipulación de las fechas. 

Además, tal y como se puede ver en la captura de arriba, la carpeta lost está vacía, y en la siguiente captura, se podría ver que el fichero venecia.txt tampoco contiene información:

cat venecia.txt
cat venecia.txt
Queriendo volver a mirar la foto que almacena información oculta, intenté utilizar XStegSecret, sin ningún resultado. Porque, en algún punto, había intentado utilizar alguna de las tantas herramientas que empezaban con por steg:  steghide, stegbreak... En los que pedían una contraseña. Incluso utilizando diccionarios no fui  capaz de "entrar". Además, en algún punto, encontré una entrada en un blog (que he perdido), indicando el autor que stegdetect lo veía un poco "buggy". Aún así, me seguí obcecando. Séptimo FAIL.

Por lo que decidí pasarme a ver si el fichero word me podía ayudar a descubrir alguna forma de poder sacar la contraseña de la esteganografía. Por lo tanto, y dado que en el LiveCD de backtrck no tenía ninguna herramienta ofimática, copié los ficheros obtenidos en una carpeta accsible desde Windows y me pasé a ese sistema para intentar abrirlo. Algo que no se debería de hacer para mantener los ficheros read-only. Como al intentar abrirlo se me pedía una contraseña, no me quedaba otra que volver a backtrack para ver si había alguna forma de obtenerla por otro lado. ¿Qué hice? Por misterios de la vida, conseguí configurar bien autopsy. Y me permitió sacar unas cuantas cosas. 

Primero: el fichero word tenía 11 palabras:

Autopsy: Algunos datos encontrados por autopsy en el fichero word
Algunos datos encontrados por autopsy en el fichero word
Además de encontrar ficheros eliminados y sus contenidos:

Autopsy: Fichero eliminado y que se ha encontrado, cuya conversión sería: "123abc."
Fichero eliminado y que se ha encontrado, cuya conversión sería: "123abc."
y

Autopsy: Fichero eliminado y que se ha encontrado
Fichero eliminado y que se ha encontrado
Analizando los clusters, y mirando alguno que otro más o menos al alzar, me encontré con:

Autopsy: Un dato que dice "123abc.."
Un dato que dice "123abc.." 

que, según otra vista del mismo cluster, se puede deducir que pertenecen al fichero venecia.txt:

Autopsy: Datos que se puede deducir pertenecen a venecia.txt
Datos que se puede deducir pertenecen a venecia.txt
Octavo FAIL: En este caso, si bien fui capaz de averiguar que la cadena "3132 3361 6263 2e0a" pertenecía a 123abc. no fui capaz de identificar que las cadenas terminadas en "==" eran base64. Algo que tenía que haber sabido. Me sonaba mucho, pero, aún así, no lo vi. Si lo hubiera hecho, la solución la habría encontrado y finalizado con éxito.

Además, también se podían ver datos de la estructura de ficheros (cuya captura no voy a poner). 

Ya, otra vez en Windows, se pudo abrir el fichero de office:

Contenido del enVsb3MK.doc
Contenido del enVsb3MK.doc
Utilizando la herramienta FOCA, sacar sus metadatos:

Abriendo el fichero con "La FOCA"
Abriendo el fichero con "La FOCA"
A partir de estos datos, podemos ver que el usuario que lo ha creado es "bit". Además, se puede ver que se ha modificado dos veces. Aún así, no es posible ver qué cambios se hicieron ni qué datos había en esas otras versiones.

En ese instante, me faltaban dos cosas. Una, buscar otra vez el significado de las cadenas encontradas en los ficheros eliminados. Otra, volcarme otra vez a las fotografías. Me decanté por lo segundo. Además de querer encontrar algo en la foto que se nos indicaba que se había usado jphide para ocultar información, el tamaño de la segunda me hacía pensar que a lo mejor también podía contener alguna cosa guardada. 

De todas las herramientas que encontré, una llamada StirMark Benchmark me ayudó a sacar alguna cosa un tanto curiosa. La lancé para ambas imágenes. y a su vez, para cada una de ellas, generó un montón de ficheros bmp derivados de las originales. Uno de ellos me pareció muy, muy curioso porque, en una de ellas, al añadirle ruido (incluso en el informe que escribí lo comparé con la nieve que salía en la televisión):

Nieve en la imagen 2009*.jpg: patrón de rejilla/cuadrícula
Nieve en la imagen 2009*.jpg: patrón de rejilla/cuadrícula
Se puede apreciar que la nieve no genera un patrón del todo aleatorio. Si uno se fija bien, se puede apreciar que tenemos una especie de rejilla. Algo que no sucedía en la otra imagen.

Utilizando una herramienta que se llama ImageHide v2.0,  fui capaz de abrir ambas fotos, y en la que empieza por 2009*.jpg, consiguió sacar información inteligible: 

Mirando para sacar información de las imágenes extraidas del .dd
Mirando para sacar información de las imágenes extraidas del .dd
Y aquí lo dejé. Y eso que intenté utilizar más programas de estegoanálisis.

Total, como habréis visto, me obcequé en mirar algunas cosas todo el rato. Y di muchos bandazos. Tendré que buscar otros retos de este tipo y hacerlos por mi cuenta, sin mirar el resultado, para mejorar mucho la búsqueda de datos ocultos y de pruebas periciales. Además, busqué en sitios que no he indicado, como por ejemplo, utilizando algún editor hexadecimal para ver si era capaz de romper el sistema de contraseñas del .doc (¡iluso de mi!).

¿Qué me hubiera faltado que me hubiera gustado haber visto? Además de las cosas que se me quedaron en el tintero, me hubiera gustado mucho haber tenido tiempo de mirar las tablas MFTs tal y como explicó Pedro Sánchez. 

Ahora, la pregunta para los que hayaís llegado hasta aquí: Viendo lo que os he contado: ¿Qué habríais hecho en mi lugar? Es decir: ¿Qué herramienta o paso hubierais cambiado?

sábado, 18 de mayo de 2013

Libro: Por una red más segura

Acabo de leer desde la lista de correo de la RootedCon que la Guardia Civil ha presentado el libro Por una red más segura, escrito por Angel-Pablo Avilés, @_Angelucho_. Como la mayoría ya sabrá, Angelucho escribe El blog de Angelucho, cuyo lema es X1RedMásSegura.

Espero que tenga tanto éxito, o más, que su blog. Copipasteando un párrafo de la nota de la guardia civil:

Con este libro el autor pretende transmitir sus conocimientos y experiencias sobre menores, seguridad y estafas en la Red con objeto de hacer la navegación de los usuarios más segura.
Si alguien consigue un ejemplar, por favor, que comente aquí qué le ha parecido.

miércoles, 15 de mayo de 2013

Angekucho's dictionary

Aunque ya he creado en alguna ocasión un diccionario, en esta ocasión voy a publicar un enlace al post de Angelucho, @_Angelucho_diccionario de internet.

Este diccionario que he enlazado muestra todo tipo de términos, de la A a la Z, en el que se describen con todo tipo de detalles, y para un público nada, nada técnico, el significado de todo tipo de palabras y términos utilizadas en Internet.

He de decir que no me he puesto a leerme absolutamente todas, pero hay algunas que incluso, aún viéndolas, no hubiera sabido explicarlas de todo bien.

Si tienes alguna duda sobre los términos tecnológicos, seguro que podrás encontrarlos en ese listado.

Yo, por mi parte, iré haciendo una segunda tanda a medida que lo vaya completando.

lunes, 13 de mayo de 2013

Review: Herramienta CAINE

Más que herramienta, es una LiveCD de linux pensada para análisis forense. Hace poco tiempo, tanto Security by Default como Flu-Project hablaron de ella (me suena que en Flu ya habían hablado más extensamente de esta distro, pero ahora mismo, no la encuentro).

Cuando quise hacer el reto forense que montaron en Flu hace una semana y media, además de utilizar backtrack, hice uso de esta distribución.

Si bien trae bastantes herramientas, como puede ser foremost (para recuperar datos), Xsteg (para análisis de estenografía), autopsy (para analizar imágenes dd), hasheadores...

Se puede decir que de herramientas para hacer análisis forense está bastante bien. Es posible que alguien con más experiencia eche de menos alguna que otra, todo hay que decirlo.

Esos sí, hay una cosa que ha hecho que la descarte. Es un detalle que me hizo perder mucho, mucho, mucho tiempo. Es la configuración de la tarjeta de red.

Si estás en un entorno virtualizado, donde no se utiliza DHCP, hay que configurar la tarjeta a mano. Si además tienes que realizar alguna instalación determinada (teniendo en cuenta que se perderá en cuanto reinicies) y el paquete se lo tiene que descargar de Internet, hará falta que esa configuración sea plenamente operativa. Y en mi caso, eso no fue así. La conexión se perdía cada dos por tres. A veces, tardaba un minuto en perderse. Otras veces, segundos. Otras, unos pocos minutos. Eso pudo conmigo. Y en una pequeña búsqueda no encontré nada que me pudiera ayudar. Tampoco tenía mucho tiempo para dedicarle.

Otro detalle es que siempre se trabaja con un usuario pelado. Un mortal. Sí, es cierto que lo normal es trabajar siempre así. Pero que no haya forma de elevar privilegios con el comando su... También es cierto que está el comando sudo y que una vez que te acostumbras a usarlo no debería de haber ningún problema. Pero que no existiera la otra posibilidad...

Total, que mis primeras experiencias con esta herramienta, no fueron del todo buenas. Es posible que dedicándole un poco más de tiempo, acabe dándole más nota. Aún así. A vosotros: ¿Qué os ha parecido?¿Os ha dado más problemas?

lunes, 6 de mayo de 2013

Review: Hacking y Seguridad VoIP

Recientemente me terminé un libro de Informática 64: Hácking y Seguridad VoIP.

Este libro, escrito por Jose Luis Verender, aka @pepelux, nos cuenta los problemas que se producen a la hora de instalar un servidor de telefonía por VoIP.

En alguna ocasión ya os he hablado de alguna ponencia que ya ha dado, como por ejemplo, en la NcN2k12 o en la Rooted2013.

El libro empieza contando, más o menos desde cero, cómo se digitaliza la voz para pasarla por el par trenzado, pasando en cómo se debería configurar de una manera básica el servidor (más bien, las extensiones y el comportamiento que debería de tener cuando se hagan y reciban llamadas), llegando al gran problema que puede conllevar tener la consola de administración vía web, abierta al público de Internet.

Todo ello acompañado de distintos scripts que permiten automatizar ciertas tareas.

Además, analiza tres versiones Linux que tienen.... ¿"plataformada"? una instalación, cada una con su configuración customizada, para ayudar al administrador a tener listo el sistema lo antes posible. Y, dado que cada una de ellas, FreePBX, Elastix y Tribox tienen distintas configuraciones propias, éstas ayudarán más o menos que alguien pueda conseguir llamadas gratis.

Además, no sólo podremos ver cómo nos la pueden colar, sino también podremos ver cómo mitigar los posibles fraudes que puedan realzarse a través de nuestro servidor. Y no sólo manipulándolo a través de Internet, sino también enviándole comandos directamente por el teléfono.

Si ya has visto algunas de sus ponencias, posiblemente te suenen mucho estas cosas, y la lectura te ayudará a verlo más tranquilamente. Además, si te perdiste algo mientras lo contaba, es una muy buena opción para entenderlo ahora.

viernes, 3 de mayo de 2013

Ocupado

Siento mucho no poder escribir tan a menudo como me gustaría. Unas veces, es el tiempo. Otras, investigar algo me lleva bastante más de la cuenta. Otras... Otras, es cuestión de ponerse. Y eso que ahora mismo tengo casi 19 posts en borradores: recordatorios para saber que tengo que escribir sobre ellos, algunos antiguos que tengo que repasar, otros que no es sólo escribir sino también ver cómo se hacen...

Esta semana entera, en los huecos que he tenido libres, me he puesto a hacer un reto hackín que me ha costado más de la cuenta. Y no he podido acabarlo. Menos mal que no ha sido un análisis de un escenario real, si no, se me caía el pelo... Y la cara de vergüenza.

El reto en sí mismo es el de Guy, Where is the info?

Supongo que os lo contaré cuando escriba los datos que obtuve, cómo los obtuve, y los datos que en mi opinión estaban ahí... y cómo no los obtuve a pesar de pegarme mucho, mucho, mucho con ellos. Lo que tengo que pensar es si lo hago en un post entero o lo divido en varios. Sólo decir que el informe que he creado (he ido creando a medida que iba haciendo cosas), tiene... tiene... unas 15 o 16 páginas, y si no me equivoco, he llegado a las 25 capturas. Pero no os creáis, que hay tareas que están duplicadas por hacerlas desde distintos caminos. O unas ayudaban por un lado, pero no por otro, y viceversa. No se, ya veré. En cuanto vea la solución, podré saber dónde metí la pata, que tendría que haber hecho, qué no debería de haber hecho. O por qué me obcequé en tirar hacia un lado y no miré otro camino.

Supongo que todas esas observaciones serán muy útiles para los que se encuentren con algún caso o reto similar.

Además, también podré hablar de herramientas que no conocía y que he descubierto gracias a este reto.

Vamos, que si consigo ponerme un buen rato a escribir distintos artículos, posiblemente tenga publicaciones para rato.