Buscar este blog

martes, 30 de abril de 2013

Un excelente colega

Quiero aprovechar la oportunidad para dar la bienvenida a un excelente colega con el cual tengo el gusto de trabajar el es Hecky Neobits les recomiendo este excelente blog : neobits.org y siganlo en twitter http://twitter.com/hecky 

Analisis de memoria

Hablemos acerca de la adquisición  de memoria RAM en un sistema vivo, de manera resumida y concreta la  RAM (Random Access Memory) es simplemente una ubicación en donde se almacena memoria dentro de un sistema (podríamos irnos a definiciones más técnicas pero creo que ese no es el tema de esta publicación), la memoria está diseñada para el CPU (central processing unit) accede a ella de manera frecuente y rápida, de manera virtual cualquier acción u operación que realice una computadora se lleva a cabo en memoria y a mas memoria contenida en un dispositivo o sistema más rápido se realizan las operaciones, algunos de nosotros como investigadores forenses olvidamos pasar más tiempo y enfocar más esfuerzos en la recuperación de esta memoria, debido a que es volátil y se almacena de manera aparentemente no estructurada pensamos que es mejor “sacar lo que se quede” en el sistema, hace un par de años era difícil rescatar este tipo de memoria volátil de ahí el taboo que la RAM es muy difícil de analizar u obtener.  Debido a que la memoria RAM es eliminada (yo se que algunos de ustedes dirán que recientes estudios comprueban que no toda la RAM se pierde, pero para fines prácticos digamos que al apagar el sistema la RAM se pierde) este tipo de memoria necesita ser adquirida de manera forense mientras el sistema aún sigue “vivo”  antes solo había la opción de utilizar herramientas que leyeran información directamente del sistema operativo sin embargo ahora existen herramientas que nos permiten adquirir la totalidad de la memoria y analizarla.

Herramientas que extraen información del sistema operativo
El problema con estas herramientas es que se enfocan a áreas específicas de la memoria como:
  • ·       Hora y fecha del sistema
  • ·       Las aplicaciones que están corriendo
  • ·       Puertos abiertos
  • ·       El estado de las conexiones de red
  • ·       Los servicios y procesos que Windows este ejecutando
  • ·       Las aplicaciones que estén como “listening”
  • ·       Live browsing

Otra gran desventaja de estas herramientas es que algunos de estos aspectos pueden ser modificados por medio de rootkits y entre más experimentados se vuelven los hackers, más complejos son sus rootkits, leí recientemente en dfinews.com la capacidad que tienen estos rootkits de modificar los tiemstamps del sistema, información falsa de procesos que están corriendo etc. Debido a que los  rootkits proliferan en la red y muchos de ellos están disponibles para ser descargados les recomiendo que migren a herramientas más especializadas para la adquisición y análisis de su memoria volátil.

Herramientas especializadas

Me gustaría compartir con ustedes algunos de los usos de Defense Computer Forensic Lab Data Dump (DCFLDD), esta herramienta trabaja en ambientes de Linux, unix BSD y Windows y pueden descargar la última versión en la siguiente liga:  http://dcfldd.sourceforge.net/.
La sintaxis del comando utilizado para preservar la memoria física es el siguiente:

DCFLDD if=\\PhysicalMemory of=AnyExternalDevice conv=sync,noerror

DCFLDD= Es el nombre del archivo binario que se esta ejecutando.

if= \\.\PhysicalMemory -"if" significa "In File", al cual se le da el valor correspondiente de la memoria fisica del sistema.

of =AnyExternalDevice - "of" significa "out file", el cual les recomiendo que seal cualquier dispositivo externo o algun dispositivo de red, debido a que se quiere evitar que cualquier infromacion sea escrita en nuestra evidencia original.

conv=sync,noerror le dice al programa que continue auqnue encuentre errores de lectura y que rellene con ceros cualquier bloque de input ya que queremos que la misma cantidad de informacion que lea sea la misma cantidad de infromacion que se escriba

Ahora les recomiendo que en base al escenario que estén enfrentando utilicen herramientas como “strings.exe” “find” y “grep” para localizar los caracteres contenidos dentro de algún archivo.  Claro que existen otras herramientas tanto libres como de paga para obtener y analizar nuestra memoria sin embargo en casos recientes esta herramienta me ha sido muy útil sobre todo cuando sospecho que el incidente corresponde a alguna intrusión.
Espero esta herramienta les sea de ayuda y estamos en contacto. 
una disculpa a los pocos lectores de este blog por cuestiones de conflicto de intereses con el tema que estaba tocando me fue necesario suspender el blog sin embargo y despues de mas de 6 meses ESTAMOS DE REGRESO!
gracias a todos!

viernes, 19 de octubre de 2012

Analisis forense en iDevices parte IV



Antes de continuar una enorme disculpa por la ausencia, pero el deber llamaba, bueno directo al tema vamos con la cuarta y última parte de nuestro análisis forense en iDevices.
Primero analizaremos la estructura de una partición en un iDevice, de manera predeterminada un iDevice viene configurado con dos particiones, en las generaciones recientes de iDevices estas no residen en un disco físico (del tipo con platos giratorios) ya que utilizan discos NAND Flash de estado sólido, sin embargo son tratados como un disco ya que almacenan una tabla de partición y un sistema de archivos con formato en el flash.
Las particiones de manera predeterminada quedan de la siguiente manera: 




Ahora aquí es importante recordar que una de las reglas de oro del análisis forense es “mantener la integridad de la evidencia” y si bien un dispositivo móvil en este caso un iDevice no puede ser tratado a nivel almacenamiento y preservación de datos como se trataría un dispositivo de almacenamiento masivo como una laptop o una desktop ¿Por qué?, bueno porque de un dispositivo móvil no podemos obtener una imagen bit por bit como lo haríamos con otro dispositivo. Aquí también quiero recordarles que es importante recordar que siempre que tratamos con dispositivos móviles es necesario aislar el dispositivo de la red por medio de alguna de las soluciones Faraday que existen. Tomando todo esto en cuenta lo último que queremos es alterar la información contenida en nuestro iDevice. Con la llegada de iOS6 y las noticias que se dieron que incluso el departamento de defensa de los Estados Unidos no pudieron desbloquear el dispositivo nos enfocaremos en generaciones pasadas de iOS todas ellas útiles pues somos más los pobres que no podemos tener aún un iPhone 5 que los que lo tienen :)


Nuestro escenario aquí es que tenemos un iDevice el cual no se nos ha proporcionado la contraseña, si bien hay hardware especializado como Cellebrite o XRY que nos permiten extraer la contraseña ¿qué haríamos si no tenemos los recursos para tener alguna de estas herramientas? o bien ¿qué sucede si nuestro usuario tiene una aplicación que le da seguridad extra a nuestros iDevices? Para eso instalaremos algo llamado “recovery toolkit” dentro de la partición de sistema operativo de nuestro iDevice y a partir de ahí generar un jailbreak que nos permita a nivel de codigo pedirle a nuestros iDevices que en la secuencia de arranque ignore la petición de una contraseña. Tal vez se pregunte ¿Por qué? en la partición de sistema operativo y si el entrar a esta área del disco no alterara nuestra evidencia, la respuesta es sencilla y reside en el proceso que Apple utiliza para actualizar sus dispositivos,  los archivos .ipsw que contienen el firmware update de apple se descargan e instalan en esta partición y está diseñada para que se formatee sin alterar en lo más mínimo la partición de datos del dispositivo. Tomando ventaja de esto es que instalaremos y “manipularemos” esta área del disco, nuestro recovery toolkit contiene:

  • ·       Un entorno de Unix
  • ·       OpenSSH, un Shell seguro
  • ·       Una herramienta de Netcat para enviar datos a través de la red
  • ·       Una herramienta de md5 para crear un algoritmo criptográfico de la imagen del disco
  • ·       Una herramienta para obtener una imagen dd de nuestro disco


Por ahora se me ha terminado el tiempo de escribir, pero quería por lo menos dar señales de mi existencia y que vieran que seguimos con todo en el blog, les pido sus opiniones y comentarios y colaboraciones y el lunes sin falta seguimos con esta cuarta y última parte de nuestro análisis forense en iDevices.

martes, 21 de agosto de 2012

Analisis forense en iDevices parte III

Después de una pequeña ausencia por motivos laborales, ya estamos de regreso para seguir con el análisis forense en iDevices, hablamos la vez pasada un poco acerca de la composición interna de un dispositivo que se ejecuta en iOS, ahora vamos a hablar acerca de cuáles son las cosas que se pueden recuperar al realizar un análisis forense eficaz, ya que lo que nos interesa no es solo ingresar a la información que está activa en el dispositivo sino a la información que ya ha sido eliminada.
Es extremadamente difícil eliminar información de manera permanente en un iDevice aunque actualmente existen aplicaciones de borrado seguro que facilitan esta actividad, algunos usuarios sin embargo piensan que realizar desde iTunes un "restore" formatea el dispositivo, sin embargo incluso esta acción deja la mayoría de la información intacta, un "restore" simplemente logra que la información no sea accesible de manera directa, así que si ustedes encuentran un iDevice que ha sido restaurado desde iTunes no se preocupen hay mucha información que pueden recuperar y que es de gran ayuda en la solución de un caso, ahora ¿qué tipo de información podemos recuperar de un iDevice? enfoquémonos en los más relevantes:
·       Caches del teclado que contienen, nombres de usuario, contraseñas, términos de búsqueda y fragmentos de comunicaciones escritas manualmente. Casi todo lo que escribimos en un iDevice queda registrado en el cache.
·       Cada vez que apretamos el botón de “home” o salimos de una aplicación  se genera un screenshot que iOS después utiliza para generar efectos de zooms estáticos, generalmente se almacenan decenas de estos screenshots que pueden darnos una idea bastante buena de la actividad de nuestro usuario.
·       Fotos e imágenes eliminadas de la librería del usuario y del roll de la cámara.
·       Entradas eliminadas de los contactos, calendarios, eventos pueden ser encontradas en fragmentos del disco.
·       Historial de llamadas, en un iphone se guardan aproximadamente los últimos 100 registros de llamadas, la base de datos en la que se almacenan puede ser analizada utilizando casi cualquier manejador de bases de datos SQlite.
·       Se almacenan imágenes provenientes de Google Maps asi como también las búsquedas de direcciones que se hayan hecho directamente en la aplicación de mapas.
·       Cache del explorador y objetos eliminados del explorador pueden recuperarse para saber a qué sitios web ha accedido un usuario.
·       Caches, mensajes de correo electrónico y SMS`s  eliminados
·       Mensajes de voz eliminados a menudo permanecen en el dispositivo, estos pueden ser recuperados y analizados con una herramienta simple como Quicktime o alguna otra herramienta que soporte el formato AMR.
·       Registros de sincronización entre una o más computadoras o dispositivos “confiables”
·       Bases de datos SQlite con información de aplicaciones de terceros como WhatsApp, Foursquare MSN entre otras.
·       Datos EXIF de las fotos tomadas con el dispositivo.
Si bien esta no es toda la información que es posible recuperar, si es información que muchas veces es pasada por alto al momento de recuperar información de nuestros iDevices, en la cuarta y última parte de este análisis forense en iDevices vamos a entrar de lleno a técnicas, herramientas y métodos de recuperación y análisis, así que sigue visitando este blog y pasa la voz a los colegas examinadores que información y herramientas nunca sobran.

lunes, 6 de agosto de 2012

Análisis forense en iDevices parte II

El pasado sábado por la mañana comenzamos a platicar de análisis forense eniDevices, y como lo prometido es deuda vamos a platicar un poco de la estructura de un iDevice y de iOSx:

Arquitectura ARM: 
El iPhone utiliza la arquitectura de procesador ARM (Advanced RISC machine),originalmente desarrollada por ARM Ltd. En contraste muchas de las computadoras de escritorio utilizan la arquitectura Intel x86.

Hardware:
El iPhone cuenta con hardware muy poderoso el cual ha sido diseñado exclusivamente para lidiar con las demandas de la tecnología de iPhone. esto incluye diversos sensores como por ejemplo sensores de proximidad, acelerómetro,censores de presión al tacto y por supuesto diversos tipos de radios incluyendo GSM, Wi-fi y Bluetooth el cual ha ido mejorando con cada versión.

Frameworks de interfaz de usuario:
Apple cuenta con un set personalizado de interfaces de usuario dentro del iPhone para poder administrar hardware propietario y todos los sensores que permiten las funciones multi táctiles, mientras que las versiones de escritorio como mountain lion utilizan estos frameworks para la creacion de ventanas y controles de uso común, los frameworks en las versiones modificadas de estos OSx están diseñados para crear pequeñas páginas de interfaz de usuario que nosotros conocemos como esas pantallas que deslizas con el dedo de una a otra yen la cual se despliegan las aplicaciones contenidas en el dispositivo.

Kernel
el iPhone utiliza un signed kernel, que está diseñado para prevenir manipulación, aunque muchas de estas versiones de kernel han sido explotadascon fines de jailbreaking o desbloqueo. En nuestro análisis forense deiDevices nos valdremos de esa explotación de kernel para poder ingresar a laslistas propietarias (plists) y a las bases de datos sqlite que contienen informaciónque ha sido eliminada o que bien utilizando otro método que no fuera una extracción física del dispositivo difícilmente lograríamos obtener.

Esperen esta semana la parte III y IV de este especial de análisis forense en iDevices