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!