APT Simulator is a Windows Batch script that uses a set of tools and output files to make a system look as if it was compromised
- POCs: Endpoint detection agents / compromise assessment tools
- Test your security monitoring's detection capabilities
- Test your SOCs response on a threat that isn't EICAR or a port scan
- Prepare an environment for digital forensics classes
- Because it's simple: Everyone can read, modify or extend it
- It runs on every Windows system without any prerequisites
- It is closest to a real attacker working on the command line
The focus of this tool is to simulate adversary activity, not malware. See the Advanced Solutions section for advanced tools to simulate adversary and malware activity.
The batch script extracts the tools and shells from an encrypted 7z archive at runtime. Do not download the master repo using the "download as ZIP" button. Instead use the official release from the release section.
The following table shows the different test cases and the expected detection results.
Test Case | Antivirus | NIDS / NSM | EDR | Security Monitoring | Compromise Assessment |
---|---|---|---|---|---|
Dumps | X | ||||
Recon Activity | X | X | X | ||
DNS | (X) | X | X | X | |
Eventlog | X | X | X | ||
Hosts File | (X) | X | X | ||
Backdoor - StickyKey | X | X | |||
Cloaking | (X) | ||||
Web Shells | X | (X) | X | ||
Ncat Alternative (Drop & Execution) | X | X | X | X | |
Remote Execution Tool | (X) | X | |||
Mimikatz (Drop & Execution) | X | X | X | X | |
PsExec (Drop & Execution) | X | X | X | ||
At Job Creation | X | X | X | ||
RUN Key Entry Creation | X | X | X | ||
System File in Susp Loc (Drop & Execution) | X | X | X | ||
Guest User (Activation & Admin) | X | X | X | ||
LSASS Process Dump | X | X | X | ||
C2 Requests | (X) | X | X | X | |
Malicious User Agents | X | X | X | ||
Scheduled Task Creation | X | X | X |
- Download the latest release from the release section
- Extract the package on a demo system (Password: apt)
- Start a cmd.exe as Administrator
- Navigate to the extracted program folder and run APTSimulator.bat
- drops pwdump output to the working dir
- drops directory listing to the working dir
- Executes command used by attackers to get information about a target system
- Looks up several well-known C2 addresses to cause DNS requests and get the addresses into the local DNS cache
- Creates Windwows Eventlog entries that look as if WCE had been executed
- Adds entries to the local hosts file (update blocker, entries caused by malware)
- Tries to replace sethc.exe with cmd.exe (a backup file is created)
- Tries to register cmd.exe as debugger for sethc.exe
- Drops a cloaked RAR file with JPG extension
- Creates a standard web root directory
- Drops standard web shells to that diretory
- Drops GIF obfuscated web shell to that diretory
- Drops a PowerShell Ncat alternative to the working directory
- Drops a remote execution tool to the working directory
- Dumps mimikatz output to working directory (fallback if other executions fail)
- Run special version of mimikatz and dump output to working directory
- Run Invoke-Mimikatz in memory (github download, reflection)
- Dump a renamed version of PsExec to the working directory
- Run PsExec to start a command line in LOCAL_SYSTEM context
- Creates an at job that runs mimikatz and dumps credentials to file
- Create a suspicious new RUN key entry that dumps "net user" output to a file
- Drops suspicious executable with system file name (svchost.exe) in %PUBLIC% folder
- Runs that suspicious program in %PUBLIC% folder
- Activates Guest user
- Adds Guest user to the local administrators
- Dumps LSASS process memory to a suspicious folder
- Uses Curl to access well-known C2 servers
- Uses malicious user agents to access web sites
- Creates a scheduled task that runs mimikatz and dumps the output to a file
This repo contains tools and executables that can harm your system's integrity and stabiliuty. Do only use them on non-productive test or demo systems.
The CALDERA automated adversary emulation system https://github.com/mitre/caldera
Infection Monkey - An automated pentest tool https://github.com/guardicore/monkey
Follow and contact me on Twitter @cyb3rops