¿Cuántas veces hemos visto un leak con información sensible de una compañía expuesto en algún recóndito sitio de la dark web?

Si el actor de turno no facilita el detalle de cómo ha obtenido esa información siempre surge la pregunta ¿cómo han podido ex-filtrarla y quién ha sido el responsable (víctima o intencionado) de que ese o esos documentos hayan sido sustraídos?

wholeaked es una herramienta que puede llegar a despejar algunas de esas dudas. Está escrita en Go y básicamente lo que hace es crear una firma única para cada destinatario y la agrega al archivo a compartir. Después de eso, puede enviar archivos automáticamente a los destinatarios correspondientes mediante el uso de integraciones con Sendgrid, AWS SES o SMTP. Además de enviarlos por correo electrónico, también puede compartirlos manualmente.

Demo


wholeaked funciona con todo tipo de archivos. Sin embargo, tiene características adicionales para tipos de archivos comunes como PDF, DOCX, MOV, etc. Los modos de detección disponibles se indican a continuación:


  • Hash de archivo: hash SHA256 del archivo. Todos los tipos de archivos son compatibles.
  • Binario: La firma se agrega directamente al binario. Casi todos los tipos de archivos son compatibles.
  • Metadatos: la firma se agrega a una sección de metadatos de un archivo. Tipos de archivos admitidos: PDF, DOCX, XLSX, PPTX, MOV, JPG, PNG, GIF, EPS, AI, PSD
  • Marca de agua: se inserta una firma invisible en el texto. Solo se admiten archivos PDF.


Uso Básico

wholeaked requiere un nombre de proyecto -n, la ruta del archivo base que agregarán las firmas -f y una lista de destinatarios -t
Comando de ejemplo:
Código:
./wholeaked -n test_project -f secret.pdf -t targets.txt
El archivo targets.txt debe contener el nombre y la dirección de correo electrónico en el siguiente formato:
Código:
Utku Sen,[email protected] 
Bill Gates, [email protected] 
Una vez completada la ejecución, se generarán los siguientes archivos únicos:
Código:
proyecto_prueba/archivos/Utku_Sen/secret.pdf 
proyecto_prueba/archivos/Bill_Gates/secret.pdf 
De forma predeterminada, Wholeaked agrega firmas a todos los lugares disponibles que se definen en la sección "Tipos de archivo y modos de detección". Si no queremos utilizar un método, podemos definirlo con la flag false. Por ejemplo:
Código:
./wholeaked -n test_project -f secret.pdf -t targets.txt -binary=false -metadata=false -watermark=false 

Mandando correos electrónicos

Para enviar correos electrónicos, se deben completar algunas secciones en el archivo CONFIG.

  • Si queremos enviar correos electrónicos a través de Sendgrid, hay que poner la clave API en la sección SENDGRID_API_KEY.
  • Si queremos enviar correos electrónicos a través de la integración de AWS SES, se debe instalar awscli y agregarle la clave de AWS requerida. wholeaked leerá la clave directamente. Pero debemos completar la sección AWS_REGION en el archivo de configuración.
  • Si queremos enviar correos electrónicos a través de un servidor SMTP, hay que completar las secciones SMTP_SERVER, SMTP_PORT, SMTP_USERNAME, SMTP_PASSWORD.

Los otros campos necesarios son:

  • EMAIL_TEMPLATE_PATH Ruta del cuerpo del correo electrónico. Puede especificar el uso de HTML o formato de texto.
  • EMAIL_CONTENT_TYPE Puede ser html o texto
  • EMAIL_SUBJECT Asunto del correo electrónico
  • FROM_NAME Del nombre del correo electrónico
  • FROM_EMAIL Desde el correo electrónico del correo electrónico


Para especificar el método de envío, podemos usar usar los parámetros -sendgrid, -ses o -smtp. Por ejemplo:

Código:
./wholeaked -n test_project -f secret.pdf -t targets.txt -sendgrid 
Validación de un archivo leakeado
Podemos usar el parámetro -validate para revelar el propietario de un archivo leakeado. wholeaked comparará las firmas detectadas en el archivo y la base de datos ubicada en la carpeta del proyecto. Ejemplo:
Código:
./wholeaked -n test_project -f secret.pdf -validate 
Importante: no se debe eliminar el archivo project_folder/db.csv si se queremos utilizar la función de validación de archivos. Si se elimina ese archivo, Wholeaked no podrá comparar las firmas.

Instrucciones de instalación y proyecto en:
https://github.com/utkusen/wholeaked

"Cuando hayas eliminado lo imposible, lo que quede, por improbable que sea, debe ser la verdad" - Sherlock Holmes

Fuente: https://www.hackplayers.com/2022/02/responsable-exfiltrado-archivo-wholeaked.html