sábado, 20 de julio de 2013

Encriptar: significado

Hola a tod@s!

El motivo de escribir esta entrada es por el mal uso de la palabra ENCRIPTAR!!!

Si queremos obtener un significado fidedigno de la palabra nos dirigiremos a la RAE (Real Academia Española) y buscaremos en su última edición publicada, vamos allá:



http://lema.rae.es/drae/?val=encriptar

La palabra encriptar no está registrada en el Diccionario. Las que se muestran a continuación tienen formas con una escritura cercana.

http://lema.rae.es/drae/?val=desencriptar

La palabra desencriptar no está registrada en el Diccionario. Las que se muestran a continuación tienen formas con una escritura cercana.
[...]

SORPRESA!!!!! la RAE no tiene esa palabra en su vocabulario, y mira que es extenso. Visto esto podemos decir, y con la boca bien grande, que encriptar NO EXISTE!!!!

Entonces, por qué infinidad de libros, manuales, profesores, etc siguen usando esa palabra! Que la use una persona NO técnica, pues mira, tiene un pase, pero encontrarla en manuales pues como que toca los …..

Es más, si le buscamos un significado a esa palabra, puedo decir que es "Meter en una cripta", así que POR FAVOR! dejad las criptas en paz de una vez que ellas no tienen culpa de una mala traducción :) y dejemos en paz al personaje de "Historias de la Cripta" (tales of the Crypt) 


Si si, como leéis, una mala traducción.

Lo que ha pasado aquí es que se ha cogido la palabra original con origen inglés (encrypt - decrypt) y se ha llevado al español (encriptar - desencriptar) vamos, al más puro estilo spanglish, cuando, y todos lo sabemos, su traducción literal es:

Usaremos el traductor de Google:

 

GATOS Y CIFRADO ("ENCRIPTAR")

Gracias a mi amigo @_Angelucho_ he de comentaros que, en seguridad informática, se suele hablar o mencionar la palabra "encriptar" con los gatos o como él la usa en sus entradas (MIAU). Y os preguntaréis, por qué se habla de gatos cuando hablamos de cifrado¿?

Su origen, al menos hasta donde yo sé, data de mucho tiempo atrás, tanto que ni siquiere existía la informática :), me remonto a los tiempos de los faraones (aunque puede que quizás más). En aquella época los gatos eran venerados como animales sagrados y se referían a ellos como MIU (por su maullido) tanto que en una familia, cuando un gato fallecía, se le enterraba con todos los honores, pero cuando su (digamos) dueño era de poder (en el caso de los faraones que eran enterrados en criptas y a los cuales, en ocasiones, hasta se les momificaba) y fallecía, se tenía la costumbre de enterrar al gato con el para que le protegiera. Por norma general los entierros se hacían en criptas.


Ya sabéis la historia de los gatos y la "encriptación", así que no uses la palabra origen de este post y usa el término correcto CIFRAR! Así dejaremos en paz a los pobres gatos :)

Things Up!!! 


jueves, 4 de julio de 2013

Eliminar Passwords de Windows (Reset Windows Passwords)

Resulta que el otro día mi vecino me para a la entrada del portal y me dice: "...tengo un problemilla con el ordenador de mi hija..." que raro verdad, seguro que no os ha pasado nunca nada de esto :P
Como me considero "buena persona" le comento..."a ver...cuéntame..."

Pues qué le pasaba, lo típico, resulta que la niña había puesto una contraseña en su equipo con Windows 7 para que su hermano no se lo tocara (seguro que esto tampoco lo habéis oido nunca, jejejej), y que lo había llevado a una "Tienda especializada de Informática" y le habían comentado que lo único que podían hacer era pinchar el HD de su equipo en otro PC y salvarle unos cuantos datos antes de formateárselo.

Pedazo de respuesta chaval!!!! Os podéis imaginar mi cara, verdad? Y estos son especialistas, me cago.... (Mi respeto a todas las tiendas, por supuesto).
Después de escuchar su "pena" por no poder utilizar el equipo y del palo que le querían meter en la tienda me decidí a echarle una manilla.

Yo no sé vosotros, pero yo soy de esos que siempre lleva consigo un par de dvd por lo que pueda pasar, entre otros llevo mi Hirens Boot (si no conocéis este BootCD os invito a hacerlo, yo lo he utilizado en muchas ocasiones, hasta para hacer copias bit a bit de un equipo para un análisis forense del mismo, así que es bastante completito para entornos windows, OJO! no quiero decir que sea una distro Forense).

Mi primera intención fué preguntarle si tenía el DVD de instalación de Windows 7, por si acaso, ya imagínais la respusta verdad. El motivo de preguntarle esto, fué porque recordé la entrada en su blog (Saltar password de Administrador en windows 7)de mi Ciber Compi @1GbdeInfo, así que ya que no la tenía decidí usar mi Hirens Boot para quitarle el "problema".

Bien, los pasos a seguir son muy sencillos:
  1. configuramos nuestra BIOS, es decir, el arranque del ordenador para que inicia con CD's o DVD's
  2. insertamos el CD de Hiren's Boot CD 15.1 e iniciamos el ordenador
  3. iniciar en modo Mini Windows XP
  4. ir al icono HBCD Menu, luego a Programas a continuación a Paswords / Keys seguimos a Windows Login y por ultimo ejecutamos la aplicación NTPWEdit (Reset User XP/Vista/7 Password)
  5. ejecutamos la aplicación  NTPWEdit 0.3
  6. damos click en el botón (Re)open
  7. en el cuadro user list seleccionamos al usuario que le queremos cambiar la contraseña
  8. damos click en change password
  9. a continuación insertamos una nueva contraseña
  10. damos click en botón OK
  11. y por ultimo damos click en el botón Save Changes
 Y Voilá, reiniciamos el equipo y listo.

Mi vecino se quedó la mar de contento, claro está, mientras booteaba el equipo no paraba de preguntar y de decirle a los niños "Venid y aprended..." :P

Pero qué ha pasado realmente???? Eso es lo que os debéis de preguntar.

No voy a entrar en mucho más detalle, ya que no es el objetivo de este post, si que os diré que, lo que hace la herramienta, es cargar el fichero SAM de windows y modificar el HASH de la contraseña de administrador eliminándolo.

Ante esto, existen unas cuantas contramedidas que se pueden tomar, utilizar otras herramientas para obtener el password, etc... pero era lo que tenía a mano.

En fin...

Things Up!!!

martes, 9 de abril de 2013

Análisis Forense en Android (Parte III)

Cómo comenté en la entrada anterior sobre análisis forense en Android y la obtención de evidencias sin tener rooteado el terminal, en esta nueva entrada voy a explicar cómo podemos obtener algunas evidencias básicas utilizando herramientas externas, eso si, open source.

Para este cometido disponemos de una pequeña aplicación desarrollada por la empresa ViaForensics. La aplicación en cuestión se llama AFLogical, la cual la podéis descargar desde aqui
Esta aplicación, una vez instalada sin ser root, nos permitirá obtener:
  • Información sobre las llamadas
  • Contactos del teléfono
  • Mensajes MMS y adjuntos
  • Mensajes SMS

Ya explicamos anteriormente el uso de adb y sus posibilidades, así que manos a la obra. Conectamos el terminal al equipo, nos abrimos una consola con nuestro adb instalado (voy a obviar los comandos previos ya que doy por echo de que los conoces. AH!!!! se me olvidaba, previamente hemos tenido que descargar la aplicación AFLogical.apk anteriomente mecionada.

$adb install e:\aflogical.apk
1251 KB/s (28794 bytes in 0.022s)
pkg: /data/local/tmp/aflogical.apk
Success

Pues ya tenemos la aplicación instalada, ahora bien, como no quiero tocar el terminal, vamos a ejecutarlo (eso si, mi terminal no tiene bloqueo, si el vuestro lo tuviera deberíais leer este post) mediante abd.
Como toda aplicación que instalamos en android hemos de llamar al ejecutable, todos los ejecutables en android suelen estar en el directorio data/app

$adb shell am start -n  com.viaforensics.android.aflogical_ose/com.viaforensics.android.ExtractAllData
Starting: Intent { cmp=com.viaforensics.android.aflogical_ose/com.viaforensics.android.ExtractAllData }

Con ese comando lo que hemos echo ha sido ejecutar la aplicación con todas las opciones marcadas. Eso si, he de comentar que esta aplicación dispone de unas veriones de pago que nos permite obtener más información.
Si vieramos la pantalla del terminal tendríamos un cartel que nos diría que la extracción de datos se ha completado, tal cual la siguiente:

Ahora sólo nos queda recuperar los datos que la aplicación ha obtenido. Estos datos se almacenan, por regla general, en la sdcard externa y crea el directorio (en mi caso):
forensics/20130409.1234
Si lo analizamos un poco podemos deducir que 20130409 es la fecha actual 2013/04/09 y 1234 es la hora 12:34
Así que si nos conectamos por shell al terminal y ejecutamos la orden ls nos devolverá algo parecido a lo siguiente (dependiendo de la versión de aflogical.apk):

  • CallLog Calls.csv
  • Contacts Phones.csv
  • DSC00295.jpg
  • MMS.csv
  • MMSParts.csv
  • SMS.csv
  • info.xml
Como podéis ver nos lo presenta en csv un formato más que legible para analizar los datos, así que sólo nos queda traernos esos datos a nuestra máquina para su posterior análisis:


$adb pull sdcard/forensics e:\aflogical
pull: building file list...
pull: sdcard/forensics/20130228.1158/Contacts Phones.csv -> e:\aflogical/20130228.1158/Contacts Phones.csv
pull: sdcard/forensics/20130228.1158/MMSParts.csv -> e:\aflogical/20130228.1158/MMSParts.csv
pull: sdcard/forensics/20130228.1158/MMS.csv -> e:\aflogical/20130228.1158/MMS.csv
pull: sdcard/forensics/20130228.1158/SMS.csv -> e:\aflogical/20130228.1158/SMS.csv
pull: sdcard/forensics/20130228.1158/CallLog Calls.csv -> e:\aflogical/20130228.1158/CallLog Calls.csv
pull: sdcard/forensics/20130228.1158/info.xml -> e:\aflogical/20130228.1158/info.xml
pull: sdcard/forensics/20130409.1234/Contacts Phones.csv -> e:\aflogical/20130409.1234/Contacts Phones.csv
pull: sdcard/forensics/20130409.1234/DSC00295.jpg -> e:\aflogical/20130409.1234/DSC00295.jpg
pull: sdcard/forensics/20130409.1234/SMS.csv -> e:\aflogical/20130409.1234/SMS.csv
pull: sdcard/forensics/20130409.1234/CallLog Calls.csv -> e:\aflogical/20130409.1234/CallLog Calls.csv
pull: sdcard/forensics/20130409.1234/MMS.csv -> e:\aflogical/20130409.1234/MMS.csv
pull: sdcard/forensics/20130409.1234/MMSParts.csv -> e:\aflogical/20130409.1234/MMSParts.csv
pull: sdcard/forensics/20130409.1234/info.xml -> e:\aflogical/20130409.1234/info.xml
13 files pulled. 0 files skipped.
705 KB/s (359236 bytes in 0.497s)

IMPORTANTE

No olvidéis desinstalar la aplicación:
$adb uninstall com.viaforensics.android.aflogical_ose
Success


Nos vemos en la siguiente entrada.

Things up!

lunes, 1 de abril de 2013

Android Simular pulsaciones por ADB (Input KeyCodes)

Después de unos días desconectado de todo volvemos a la carga, esta vez os voy a hablar de cómo podemos simular que pulsamos una tecla o realizamos una acción en un terminal Android.

Este método lo podremos aplicar para, por ejemplo, activar el modo avión en un terminal que no tiene bloqueo de seguridad.

De todos es bien sabido que el ADB de Android nos permite, entre otras cosas, instalar y desinstalar aplicaciones, recuperar/subir ficheros, etc. 


Todo esto está muy bien, pero además el ADB nos proporciona una serie de acciones con las que podemos simular que presionamos físicamente la pantalla. Para ello disponemos de la siguiente tabla de acciones:


Ahora bien, supongamos que nos llega a nuestras manos un terminal Android al que hemos de realizar un análisis forense, ya hablábamos en un post anterior que es recomendable tener activado el modo avión para realizar el análisis, así que vamos a ponernos manos a la obra.

Ya sabemos que lo primero es que el terminal tenga el modo depuración activado, de lo contrario poca cosa podremos hacer, bien, lo conectamos a nuestro equipo y ... "Ha habido suerte" tenemos el adb activo, así que vamos a "cacharrear", bueno ya sabéis cómo comprobar que tenemos acceso al terminal, no? de no ser así te recomiendo leer este post.

A lo que vamos, vamos a hacer uso de lo mencionado anteriormente, activar el modo avión sin tocar la pantalla, para ello:
#adb shell am start -a android.settings.AIRPLANE_MODE_SETTINGS

Veremos como se abre la ventana de configuración del modo avión :)

Bien, dependiendo de cada versión de android, la activación de la casilla correspondiente puede estar más arriba o más abajo, así que nos podremos mover con los keycodes tabla anterior hasta la opción deseada y luego:

adb shell input keyevent 23 
Ya tendremos el terminal en modo avión, curioso verdad?? :D

Espero que os sea de utilidad.

Things Up!

miércoles, 20 de marzo de 2013

Freedly Alternativa a Google Reader


Imagen de www.redusers.com


Cómo todos sabéis Google Reader cerrará sus puertas el día 1 de Julio, una gran decepción para los que usamos esta aplicación de Google.

El comunicado se hizo oficial a través del blog que la empresa le dedicó al servicio, sin más explicaciones que su uso se vio reducido y que quieren invertir más energías en menos productos. Si bien no se aclara en este artículo, habría también una intención de que los usuarios de Reader se alimenten de noticias a través de Google+, a pesar de sus limitaciones en ese sentido.

¿Alternativas? Para empezar el propio Google nos recomienda acudir a Google TakeOut para exportar toda la información de reader y llevarla a otro cliente RSS (en formato XML). Y luego productos como Feedly, que se presenta como extensión para Google Chrome, además de como aplicación para iOS y Android.

Personalmente he probado Freedly (me la ha recomendado un compañero) y me ha sorprendido la facilidad de su uso y la integración completa con nuestra cuenta de Google Reader, y además gratis. También he de comentar que dispone de aplicaciones para iOS y Android en sus respectivas tiendas.

Por ponerle una pega, puedo decir que para empezar a usar Freedly (y a los que tenemos cuenta de Google Reader) es que nos solicita acceso para acceder con nuestra cuenta de Google).

Yo ya he empezado a utilizarlo, y tu??

Things Up!



jueves, 14 de marzo de 2013

Análisis Forense en Android (Parte II)

En la entrada anterior comenté la posibilidad de obtener datos del terminal sin ser root, se me olvidó comentar que es aconsejable tener el terminal en modo avión (aunque en muchos casos es necesario que esté rooteado, sobre todo si tiene patrón de acceso, clave, etc.). En en siguiente ejemplo que vamos a ver voy a usar el comando anteriormente mencionado:


#adb bugreport > bugreportAndroid.txt
#wc -l bugreportAndroid.txt
61497 bugreportAndroid.txt

Salen unas cuantas líneas que revisar, no?? :D


Aqui es importante, o cuanto menos aconsejable, que el terminal esté en modo avión y/o aislado de la red como mencioné en el post anterior, de lo contrario la ejecución del comando nunca terminará, dado que el terminal constantemente está pidiendo conexiones a la red, y lo tendréis que cortar, lo que ello conllevaría que, posiblemente, el report del comando esté incompleto.

Vayamos al tema!

Ya tenemos el fichero en cuestión, vamos a ver qué nos ofrece.

Nada más abrir el fichero veremos algo similar a:



========================================================
== dumpstate: 2013-03-13 16:14:56
========================================================

Build: cm_galaxysmtd-userdebug 4.2.2 JDQ39 eng..20130303.223331 test-keys
Build fingerprint: 'samsung/GT-I9000/GT-I9000:2.3.5/GINGERBREAD/XXJVT:user/release-keys'
Network: movistar
Kernel: Linux version 3.0.66-g6c5dade (xxxxxxxxxx@cyanogenmod)
Command line: console=ttySAC2,115200 loglevel=4 androidboot.serialno=XXXXXXXXXXXXXX bootmode=0

------ UPTIME (uptime) ------
up time: 3 days, 01:19:28, idle time: 1 days, 00:31:41, sleep time: 1 days, 19:24:50
[uptime: 0.1s elapsed]

Vamos a paranos un segundo en revisar estas líneas, podemos ver que el terminal es un Samsung GT-I9000, con la versión de Android GingerBread, Kernel XXJVT, Kernel Version 3.0.66, con cynanogenmod (rom de cynanogen ), operador Movistar, número de serie del terminal y el tiempo que lleva encendido. No está mal nada más abrir el fichero, no?

Voy a saltarme unos cuantos pasos y voy a ir al grano directamente.

Sabemos que el terminal es Android, por consiguiente el propietario del mismo ha de disponer de cuenta en goggle (ya sabés [usuario]@gmail.com) para que el terminal sea operativo al 100%. Pues al grano, realizamos una búsqueda en el fichero y buscamos el patrón: DUMP OF SERVICE account

Al realizar esta búsqueda encontraremos rápidamente el volcado de las cuentas del terminal, y podremos ver algo similar a lo siguiente:


DUMP OF SERVICE account:
User UserInfo{0:Jesus D.:13}:
  Accounts: 6
    Account {name=[usuario]@gmail.com, type=com.google}
    Account {name=[telephone_number], type=com.whatsapp}
    Account {name=[usuario], type=com.twitter.android.auth.login}
    Account {name=[usuario]@gmail.com, type=com.linkedin.android}
 


Pues no está nada mal, no? Básicamente y a un sólo click obtenemos el número de teléfono (eso si, por que el usuario tenía WhatsApp, y quién no??), la cuenta de correo, su cuenta de twitter, linkedin

Ahora bien, otro de los datos interesantes que podemos obtener es la última localización conocida del terminal, realizaremos los mismos pasos anterior, pero ahora el patrón de búsqueda será: DUMP OF SERVICE location

Hemos de encontrar algo así:


Last Known Locations:
    passive: Location[network [coordenada],[coordenada] [....]

Ahora sólo nos quedará ir a google maps y en el cuadro de búsqueda introducir los numeritos obtenidos, eso si IMPORTANTE tenéis que sustituir la coma por puntos, quedaría algo así (coordenadas inventadas) plasmado en el mapa.


Se pueden sacar muchas más cosas interesantes, pero no os lo voy a decir todo no?? Así que a estudiar :D jejejejej

Nos vemos en la siguiente entrada.

Si te ha gustado comparte!

Things Up!

lunes, 11 de marzo de 2013

Análisis Forense en Android (Parte I)

Llevo un tiempo queriendo hacer una mini-guía de cómo realizar un análisis forense a un terminal Android, al menos los puntos básicos, y hoy me he decidido a empezar :D (Nunca es tarde, no).

Como publicaba, a groso modo, en una entrada anterior , donde se describía el proceso de análisis forense, esa parte me la voy a saltar. No obstante publicaré con detalle todo el proceso de análisis forense.

Lo primer que hay que tener en cuenta, cuando nos encontramos en un análisis de un terminal Android es aislarlo de la red, vamos, cortarle toda comunicación con cualquier tipo de red. Lo idea sería disponer de una Jaula de Farady, y qué es esto os preguntaréis, pues básicamente un habitáculo que aísla el terminal de campos electromagnéticos. Por qué hacemos esto? Fácil, queremos conservar la información del teléfono tal cual está en el momento que se nos hace entrega. Lo ideal sería ponerlo en "Modo Avión" pero si tiene patrón de bloqueo, pin o cualquier otro patrón de acceso nos sería, prácticamente, imposible. Eso si, desde aquí es donde tenemos que empezar a documentar nuestra intervención.

Volviendo a la Jaula de Faraday, si no podemos poner el terminal en Modo Avión y tampoco disponemos de una Jaula de Faraday (lógico ya que son caras) yo os recomiendo que envolváis el terminal con Papel Albal, si si, como suena y leéis, Papel de Aluminio, nos hará el mismo efecto que una Jaula de Farady :) (qué cosas verdad :D), con esto tendremos el terminal aislado y podemos empezar a trabajar. (Probad a llamaros, dará que el terminal está apagado). NO le conectéis el cable y luego lo envolváis, ya que el mismo cable hará de antena, así que toca esperar hasta que podamos aislarlo completamente o activar el modo avión.


Por regla general, y desde la versión 2.2 de Android, Froyo, el modo Depuración USB viene activado al conectar el terminal, si esto no fuera así o estuviera desactivado poco podremos hacer, se podría intentar otra cosilla pero vamos a dar por echo de que está activado, de esta forma podríamos empezar con el análisis.

Creo que no es necesario mencionar que necesitamos el SDK de Android, pero por si acaso lo comento, es requisito casi indispensable, por no decir que Imprescindible, así que si no lo tenéis ya podéis descargarlo desde aquí.

Hasta ahora ya tenemos el terminal aislado y con el cable conectado, nos queda conectarlo a nuestro equipo, donde tendremos el SDK de Android y ponernos manos a la obra.

Lo primero que haremos es comprobar que tenemos acceso al terminal, os recomiendo familiarizados con la herramienta ADB (Android Debug Bridge)que incluye el propio SDK.

Una vez conectado el terminal, lo primero que haremos es verificar si está disponible para conectarlo por ADB:


Pues ya sabemos que el terminal tiene el modo depuración activado, vamos a ver si está rooteado o no:


Pues parece ser que no, nos tocará rootearlo (lo veremos en el siguiente post), pero de momento hay una serie de datos que podemos obtener sin ser root.

De todos es bien sabido que Android trabaja con un Kernel de Linux, bien, sabemos que el kernel es la capa más baja del sistema operativo y la cual provee acceso al hardware del dispositivo. Así que tenemos la posibilidad de consultarlo, al igual que en Linux, mediante el comando dmseg.  

¿Qué información podemos obtener?
Básicamente lo que podemos obtener, al ejecutar el comando, es un detalle a bajo nivel de la actividad del dispositivo, sellos de tiempo (arranque, apagado, etc.), e incluso tenemos la posibilidad de volcar el resultado a nuestro equipo para realizar un análisis más detallado:

#adb dmesg >dmesg.log

Android tiene varias técnicas de depuración adicionales disponibles. Otra aplicación interesante es el comando LOGCAT  que nos devuelve una lista permanentemente actualizada de los mensajes del sistema. Un análisis rápido de log devuelto nos puede proporcionar:

-          Datos sobre Longitud y Latitud del Teléfono
-          Información Fecha/Hora
-          Detalles de Aplicaciones

El registro es muy detallado. Es interesante conocer que cada mensaje del registro comienza con un indicador, siendo estos:

-          V: verbose
-          D: debug
-          I: information
-          W: warning
-          E: error
-          F: fatal
-          S: silent

Además, con logcat podemos obtener información detallada de la “radio” del dispositivo mediante el comando:

#adb logcat –b radio

Aunque el detalle del comando es bastante detallado, la exploración de esos registros nos puede proporcionar información muy interesante en nuestro análisis (la cual deberemos documentar), tales como:
-          Hora de los eventos
-         AT commands (radio) usados por el módem interno del terminal para establecer comunicaciones
-          Receptor, tamaño, hora y codificación de los mensajes de texto SMS
-          Ip del dispositivo e información de su localización
-          Información del proveedor de la red WiFi

Podemos decir que una de las características principales de logcat es la visualización de eventos:

#adb logcat –b events

Otra de las herramientas interesantes en nuestro análisis, es dumpsys

Dumpsys  nos ofrece información de los servicios, memoria, y otros detalles del sistema que nos puede proporcionar gran información. Alguna de la información interesante que podemos encontrar es:
-          Servicios actualmente en ejecución
-          Volcados de los servicios
-          Etc.
No sólo podemos obtener los programas utilizados, sino que nos puede revelar, en muchas ocasiones, las cuentas del usuario del teléfono (gmail, Exchange, facebook, twitter, …)

Normalmente todos los códigos de tiempo que podemos obtener se encuentra en milisegundos.

El último comando, pero no menos interesante es bugreport el cual combina todos los anteriores:

#adb bugreport > bugreport.log
#wc –l bugreport.log
42575 bugreport.log

Si te ha gustado comparte, no cuesta nada :)
Nos vemos en la siguiente entrada!!

Things Up!!

martes, 5 de marzo de 2013

La Informática o Análisis Forense

He decidido escribir acerca de este tema ya que es algo que me apasiona desde hace algún tiempo, y quizás ayude a alguien a entender mejor el concepto.

El cómputo Forense, también llamado Informática Forense, computación forense, análisis forense digital, examinación forense digital o Forensics es la aplicación de técnicas científicas y analíticas especializadas en la infraestructura tecnológica que permiten identificar, preservar, analizar y presentar datos que sean válidos dentro de un proceso legal.

Dicho esto, podemos entender que esta disciplina hace uso NO sólo de tecnología (software) para poder mantener la integridad de los datos y el proceso de los mismos, sino que también requiere de una especialización y conocimientos avanzados en materia de informática y sistemas para poder detectar dentro de cualquier dispositivo electrónico (PC, Smartphone, ...) lo que ha sucedido.


Como apunte a esto podemos decir que se reconoce a Dan Farmer y Wietse Venema como los pioneros de la Informática Forense y fueron los creadores del Coroner's ToolKit. Aunque, a día de hoy, Brian Carrier es probablemente uno de los mayores expertos en el tema y autor de herramientas tan conocidas como The Sleuth Kit y Autopsy Forensics Browser incluidas en muchas distros forenses.

Ya sabemos que, la informática o análisis forense, permite la solución de conflictos tecnológicos relacionados con seguridad informática y la protección de datos y, gracias a ella,  las empresas pueden obtener una respuesta a un problema de privacidad, competencia desleal, fraude, robo de información confidencial y/o espionaje industrial obtenidos mediante uso indebido de las tecnologías de la información.

Creo, que no existe un estándar para todo esto, pero algunos proyectos pioneros, como el C4PDF (Código de Prácticas para Digital Forensics) el Open Source Computer Forensics Manual (seguro que me dejo muchos otros) nos proporcionan una base del análisis forense actual.

De todos es sabido que la finalidad de una Análisis Forense es, bien para anticipar un posible problema (bien realizando Auditorías de Pen Testing) u encontrar evidencias de infracciones ya producidas. Por lo tanto, todo el procedimiento de análisis debe hacerse siguiendo unas pautas legales para no vulnerar y/o modificar en ningún momento el origen de las pruebas y mucho menos vulnerar el derecho de un tercero.




Es muy importante mencionar que la informatica forense no tiene parte preventiva, es decir, la informatica forense no se encarga de prevenir delitos, para ello que encarga la seguridad informatica, es importante tener claro el marco de actuación entre la informatica forense, la seguridad informatica y la auditoria informatica.


Para realizar un adecuado análisis forense es necesario un equipo multidisciplinar que incluya profesionales expertos en derecho de las TI y expertos técnicos en Metodología Forense. Esto es así porque se trata de garantizar el cumplimiento, tanto de los requerimientos jurídicos como los requerimientos técnicos derivados de la metodología forense.

Os pongo un ejemplo de la metodología forense utilizada por el departamento de Justicia de los EEUU.



A fin de cuentas podemos decir que:


  • Las evidencias digitales deben ser tomadas de forma binaria
  • Debe garantizarse que las pruebas NO se puedan manipular mediante la firma HASH (por eso se recomiendan tres copias)
  • Se recomienda, por seguridad, una firma SHA-1 frente a MD5 (Ya que todos sabemos que admite colisiones)

Tocante a las consideraciones Legales en España he de decir que actualmente no existe una ley específica sobre el CiberTerrorismo o la Ciencia Forense, sino que la legislación española está basada en la interpretación de:
  • Código Penal
  • Ley de Enjuiciamiento Civil.
  • Ley de Servicios para la Sociedad de la Información y Comercio Electrónico.
  • LOPD
  • Reglamento de medidas de seguridad de los ficheros automatizados que contengan datos de carácter personal.
  • Ley General de Telecomunicaciones
  • Ley de Propiedad Intelectual
  • Ley de Firma Electrónica
Sería bueno disponer de un organismo regulador al respecto, ya que cada caso es totalmente distinto.

Things Up!!

viernes, 1 de marzo de 2013

Android: Saltándonos el patrón de bloqueo

La seguridad en los dispositivos móviles es algo de vital importancia hoy en día, tomando en cuenta que ya no es como hace muchos años donde lo más que podían robarnos eran los números de nuestros contactos y la información en nuestros mensajes de texto. 
Hoy en día, y con los smartphones, solemos guardar infinidad de fotografías, realizamos conexiones con nuestras entidades bancarias, etc. Por eso es algo que no debemos descuidar.

Hace algún tiempo los chicos de XDA developer encontraron una manera de "saltarse" o romper el patrón de bloqueo de los terminales Android, así que como primera entrada del blog he decidido publicarla.

(imagen de movilzona.es)

Supongamos que nos "encontramos" un terminal Android y tiene el patrón de desbloqueo. La forma de "saltarnos" el patrón es la siguiente (damos por echo que se tienen que tener nociones básicas sobre el ADB de Android y que el terminal tiene que estar rooteado). Disponemos de dos métodos:

Primer método

En consola y a través de ADB, luego de conectado el dispositivo, se deben introducir los siguientes comandos:
 adb shell
cd /data/data/com.android.providers.settings/databases
sqlite3 settings.db
update system set value=0 where name='lock_pattern_autolock';
update system set value=0 where name='lockscreen.lockedoutpermanently';
.quit
Segundo método

Aún más fácil que el anterior, pero también a través de ADB, solamente requiere ejecutar la siguiente orden:

 adb shell rm /data/system/gesture.key

una vez realizado cualquiera de los dos métodos no necesariamente desaparecerá el patrón de bloqueo al encender la pantalla del dispositivo, si no que podremos ingresar cualquier patrón aleatorio y se desbloqueará el terminal
Un fallo muy importante en la seguridad de Android, ya que muchos contamos con este patrón para desbloquear el terminal.
En fin, things up!
Saludos