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
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.
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, 11 de septiembre de 2012
Videos Promocionales del Hacker Halted
Compañeros aqui les dejo un par de videos de lo que se vera en el Hacker Halted de vdd espero verlos por alla!
http://www.youtube.com/watch?v=-bQxbHOyA-A&feature=plcp
http://www.youtube.com/watch?v=tfYdVgST3E0&feature=relmfu
http://www.youtube.com/watch?v=-bQxbHOyA-A&feature=plcp
http://www.youtube.com/watch?v=tfYdVgST3E0&feature=relmfu
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:
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
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
Suscribirse a:
Entradas (Atom)

