• Inicio
  • BLOG
  • Contenido
  • Descargas
  • Enlaces
  • Contacto

Javier Tobal

Javier Tobal

  • twitter
  • linkedin
  • mail
  • medium
  • Welcome
  • Sobre mí
  • BLOG
  • Especialidades
    • Tecnología
    • Telecomunicaciones
    • Peritajes informáticos
    • Consultoria
  • Organizaciones
  • Servicios
  • Cara B
    • Tercer sector
    • Aficiones
    • Gratuita publicidad

Cómo procesar miles de e-mails automáticamente durante un peritaje informático. (Adjunto Macro Excel)

07/11/2016 by Javier Tobal

La noticia del día es que el FBI ha analizado en 8 días 650.000 mensajes de correo electrónico (WIRED) relacionados con Hillary Clinton para concluir que no ha encontrado ninguna prueba. Donald Trump ha dicho que es imposible hacerlo (noticia en www.politico.com).

Como perito judicial informático puedo afirmar que el FBI tiene razón. Analizar miles de elementos (correos electrónicos, mensajes de WhatsApp, registros de impresión, logs de cualquier tipo, trazas de red, etc.) es una actividad muy habitual en nuestro trabajo. Intentar hacerlo de forma manual es inútil. Los peritos solemos utilizar herramientas especializadas que permiten automatizar búsquedas en grandes volúmenes de datos. Por ejemplo, si tenemos que extraer e-mails de un archivo contenedor podemos usar «Paraben email examinator» que soporta casi todos los formatos conocidos. Para otros tipos de archivos más heterogéneos se puede usar una herramienta como Bulk Extractor, que se encarga de localizar datos relevantes dentro de grandes volúmenes de información, por ejemplo dentro de una imagen de un disco o los logs de un servidor Web.

Por cierto, la metodología para analizar correos electrónicos la describí hace unos meses en este artículo: Autenticidad de e-mail (I). Metodología.

A menudo lo más eficaz es programar un script sencillo que automatice la búsqueda de la información relevante o que convierta información desestructurada en información estructurada sobre la que trabajar más cómodamente. Por ejemplo, la información contenida en una base de datos o en una hoja de cálculo está mejor preparada para realizar búsquedas automáticas. El script que incluyo al final de esta entrada es una macro VB para Excel que accede a los mensajes de correo electrónico almacenados en Outlook (se indica la carpeta de Outlook que contiene los e-mails, en mi ejemplo es «Seleccion-informe_462»). Una vez localizada la carpeta, el script recorre todos los mensajes y rellena la hoja Excel con los campos indicados: en este ejemplo, sólo necesitaba la fecha y hora del envío, el «Message-ID» del mensaje, remitente y destinatarios. Este mismo script se puede usar para extraer cualquier otra información del mensaje (en este enlace están todas las propiedades del objeto MailItem: https://msdn.microsoft.com/es-es/library/office/ff861252.aspx); a partir de aquí, es fácil descartar los mensajes irrelevantes y filtrar los relevantes.

En resumen: Sí se pueden analizar 650.000 e-mails en 8 días usando, claro, programas informáticos. En mi caso, el script que presento sirvió para localizar 450 mensajes relevantes entre cerca de 50.000 mensajes archivados. El script me permitió hacer la selección sin tener que leer los 50.000 mensajes extraídos. Eso sí, tuve que imprimir los 450 mensajes que posteriormente se presentaron en el juicio.

 


Sub GetFromInbox()

Dim olApp As Outlook.Application
 Dim olNs As Namespace
 Dim Fldr As MAPIFolder
 Dim olMail As MailItem
 Dim acc As Outlook.PropertyAccessor
 Dim PR_INTERNET_MESSAGE_ID, PR_MID As String
 
 Dim str As String
 Dim uni() As Byte
 
 Dim i As Integer

 PR_INTERNET_MESSAGE_ID = "http://schemas.microsoft.com/mapi/proptag/0x1035001E"
 PR_INTERNET_MESSAGE_ID_W = "http://schemas.microsoft.com/mapi/proptag/0x1035001F"
 PR_MID = "http://schemas.microsoft.com/mapi/proptag/x8027001F"

 Set olApp = New Outlook.Application
 Set olNs = olApp.GetNamespace("MAPI")
 Set Fldr = olNs.Folders("Seleccion-informe_462").Folders("Cotejar Contenido")
 i = 1

 For Each olMail In Fldr.Items
   ActiveSheet.Cells(i, 1).Value = olMail.ReceivedTime
   ActiveSheet.Cells(i, 2).Value = CDbl(olMail.ReceivedTime)
   Set acc = olMail.PropertyAccessor
   str = acc.GetProperty(PR_INTERNET_MESSAGE_ID_W)
   ActiveSheet.Cells(i, 3).Value = olMail.EntryID
   ActiveSheet.Cells(i, 4).Value = str
   ActiveSheet.Cells(i, 5).Value = olMail.SenderEmailAddress
   ActiveSheet.Cells(i, 6).Value = olMail.TO
   ActiveSheet.Cells(i, 7).Value = olMail.CC
   i = i + 1
 ' End If
 Next olMail

 Set Fldr = Nothing
 Set olNs = Nothing
 Set olApp = Nothing

End Sub

El script está basado en información de StackOverflow: http://stackoverflow.com/questions/23746344/excel-vba-code-to-retrieve-e-mails-from-outlook

Filed Under: BLOG, Peritajes

Javier Tobal

Informático. Perito judicial. Experto en ciberseguridad.
CISO
Expert in cybersecurity, ICT, innovation. Computer forensics. CISO

Linkedin

Twitter

Sobre mí

cyberwiser.eu

CYBERWISER.EU es una iniciativa europea orientada a construir un entorno para profesionales de la ciberseguridad y usuarios donde realizar ejercicios de ciberseguridad. Soy miembro del Stakeholders Expert Board

cyberwatching.eu

CYBERWATCHING.EU es el Observatorio Europeo de Ciberseguridad y Privacidad. Colaboré en la puesta en marcha de este proyecto como representante de la Agrupación Empresarial Innovadora (AEI) en Ciberseguridad y Tecnologías Avanzadas.
Tweets by @JaviTobal

Mi canal en Youtube

Etiquetas

BCM BCP belkasoft BIA big data BYOD casos reales ciberseguridad consultoría continuidad continuidad de negocio correo electrónico crisis management devices dispositivos email evidencia digital forense forensics hacking herramienta forense herramientas HIKVISION IMAGEMAGICK imagenes digitales interceptación legal LINUX movilidad MTPOD peritaje peritaje informático perito perito informático redes sociales review RPO RTO SCRIPTS security seguridad social media software super-cookies videovigilancia windows

Copyright © 2023 · Metro Pro Theme JTOBAL on Genesis Framework · WordPress · Log in