Wholeaked Encontrar al Responsable en Caso de Exfiltración Datos
Wholeaked Encontrar al Responsable en Caso de Exfiltración Datos

Wholeaked: Encontrar al Responsable en Caso de Exfiltración Datos

Wholeaked es una herramienta de intercambio de archivos que permite encontrar a la persona responsable en caso de fuga. Está escrita en Go.

Uso de la herramienta Wholeaked
Uso de la herramienta Wholeaked

¿Cómo?

wholeaked obtiene el archivo que se va a compartir y una lista de destinatarios. Crea una firma única para cada destinatario y la añade al archivo en secreto. Después, puede enviar automáticamente los archivos a los destinatarios correspondientes utilizando Sendgrid, AWS SES o integraciones SMTP. En lugar de enviarlos por correo electrónico, también puedes compartirlos manualmente.

wholeaked funciona con cualquier tipo de archivo. Sin embargo, dispone de funciones adicionales para tipos de archivo comunes como PDF, DOCX, MOV, etc.

Proceso de intercambio

                                                       +-----------+
                                                       |Top Secret |
                                                       |.pdf       |       
                                                       |           |       
                                                      -|           |       
                                                     / |           |       
                                                    /  |Hidden     |       
                                             a@gov /   |signature1 |       
                                                  /    +-----------+       
                                                 /     +-----------+       
+-----------++-----------+                      /      |Top Secret |       
|Top Secret ||Recipient  |                     /       |.pdf       |       
|.pdf       ||List       |      +---------+   /        |           |       
|           ||           |      |utkusen/ |  /  b@gov  |           |       
|           ||a@gov      |----->|wholeaked| /----------+           |       
|           ||b@gov      |      |         | \          |Hidden     |       
|           ||c@gov      |      +---------+  \         |signature2 |       
|           ||           |                    \        +-----------+       
+-----------++-----------+                     \       +-----------+       
                                                \      |Top Secret |       
                                                 \     |.pdf       |       
                                           c@gov  \    |           |       
                                                   \   |           |       
                                                    \  |           |       
                                                     \ |Hidden     |       
                                                      -|signature3 |       
                                                       +-----------+    

Parte de validación

Para averiguar quién ha filtrado el documento, basta con proporcionar el archivo filtrado a wholeaked, y éste revelará al responsable comparando las firmas de la base de datos.

+-----------+             +---------+                           
|Top Secret |             |Signature|                           
|.pdf       |  +---------+|Database |                           
|           |  |utkusen/ ||         |         Document leaked by
|           |->|wholeaked||         |--------+                  
|           |  |         ||         |              b@gov        
|Hidden     |  +---------+|         |                           
|Signature2 |             |         |                           
+-----------+             +---------+                           
                                                               

Vídeo de Demostración

Tipos de Archivo y Modos de Detección

wholeaked puede añadir la firma única a diferentes secciones de un archivo. A continuación se indican los modos de detección disponibles:

  • Hash del archivo: Hash SHA256 del archivo. Se admiten todos los tipos de archivos.
  • Binario: La firma se añade directamente al binario. Se admiten casi todos los tipos de archivo.
  • Metadatos: La firma se añade a una sección de metadatos de un archivo. Tipos de archivo admitidos: PDF, DOCX, XLSX, PPTX, MOV, JPG, PNG, GIF, EPS, AI, PSD
  • Marca de agua: Se inserta una firma invisible en el texto. Sólo se admiten archivos PDF.

Instalación de Wholeaked

Desde el binario

Puedes descargar los binarios preconstruidos desde la página de versiones y ejecutarlos. Por ejemplo

https://github.com/utkusen/wholeaked/releases/latest
unzip wholeaked_0.1.0_macOS_amd64.zip
./wholeaked --help

Desde el código fuente

Instala Go en tu sistema

Ejecuta:

go install github.com/utkusen/wholeaked@latest

Instalación de dependencias

wholeaked requiere exiftool para añadir firmas a la sección de metadatos de los archivos. Si no deseas utilizar esta función, no es necesario que la instales.

  • Linux basado en Debian: Ejecute apt install exiftool
  • macOS: Ejecute brew install exiftool
  • Windows: Descarga exiftool desde aquí https://exiftool.org/ y pon exiftool.exe en el mismo directorio que wholeaked.

wholeaked necesita pdftotext para verificar las marcas de agua dentro de los archivos PDF. Si no deseas utilizar esta función, no es necesario que la instales.

  • Descarga “Xpdf command line tools” para Linux, macOS o Windows desde aquí: https://www.xpdfreader.com/download.html
  • Extrae el archivo y navega hasta la carpeta bin64.
  • Copia el ejecutable pdftotext (o pdftotext.exe) en la misma carpeta con todoaked
  • Para Linux basado en Debian: Ejecuta el comando apt install libfontconfig.

Utilización de Wholeaked

Uso básico

wholeaked requiere un nombre de proyecto -n, la ruta del archivo base que añadirán las firmas -f y una lista de destinatarios -t

Ejemplo de comando:

./wholeaked -n proyecto_prueba -f secreto.pdf -t destinatarios.txt

El archivo destinatarios.txt debe contener el nombre y la dirección de correo electrónico en el siguiente formato:

Utku Sen,utku@utkusen.com
Bill Gates,bill@microsoft.com

Una vez finalizada la ejecución, se generarán los siguientes archivos únicos:

test_project/files/Utku_Sen/secreto.pdf
test_project/files/Bill_Gates/secreto.pdf

Por defecto, wholeaked añade firmas a todos los lugares disponibles que se definen en la sección “Tipos de archivo y modos de detección”. Si no deseas utilizar un método, puedes definirlo con una bandera false. Por ejemplo:

./wholeaked -n test_project -f secret.pdf -t targets.txt -binary=false -metadata=false -watermark=false

Envío de correos electrónicos

Para enviar correos electrónicos, es necesario rellenar algunas secciones en el archivo CONFIG.

Si deseas enviar e-mails a través de Sendgrid, introduce tu clave API en la sección SENDGRID_API_KEY.

Si quieres enviar e-mails a través de la integración AWS SES, necesitas instalar awscli en tu máquina y añadir la clave AWS requerida. wholeaked leerá la clave por sí mismo. Pero tienes que rellenar la sección AWS_REGION en el archivo de configuración.

Si deseas enviar correos electrónicos a través de un servidor SMTP, rellena las secciones SMTP_SERVER, SMTP_PORT, SMTP_USERNAME, SMTP_PASSWORD.

Los otros campos necesarios a rellenar:

  • EMAIL_TEMPLATE_PATH: Ruta del cuerpo del correo electrónico. Puedes especificar el uso de HTML o text.
  • EMAIL_CONTENT_TYPE: Puede ser html o texto
  • EMAIL_SUBJECT: Asunto del e-mail
  • FROM_NAME: Nombre del remitente del mensaje
  • FROM_EMAIL: Correo electrónico del remitente

Para especificar el método de envío, puedes utilizar las opciones -sendgrid, -ses o -smtp. Por ejemplo:

./wholeaked -n proyecto_prueba -f secreto.pdf -t destinatarios.txt -sendgrid

Validación de un archivo filtrado

Puedes utilizar el indicador -validate para revelar el propietario de un archivo filtrado. wholeaked comparará las firmas detectadas en el archivo y la base de datos ubicada en la carpeta del proyecto. Ejemplo:

./wholeaked -n proyecto_prueba -f secreto.pdf -validate

Importante

No debes borrar el archivo project_folder/db.csv si quieres utilizar la función de validación de archivos. Si se elimina ese archivo, wholeaked no podrá comparar las firmas.

https://github.com/utkusen/wholeaked

Mi Carro Close (×)

Tu carrito está vacío
Ver tienda