
Un set di strumenti per far sembrare che un sistema sia stato vittima di un attacco APT.
Importante: Non scaricare semplicemente ZIP o clonare il repository se non prevedi di sviluppare qualche test. Usa il pacchetto nella release che contiene una versione impacchettata con archivi crittografati che non contengono campioni e strumenti in chiaro.
APT Simulator è uno script Batch di Windows che utilizza un insieme di strumenti e file di output per far sembrare un sistema come se fosse stato compromesso. A differenza di altri strumenti di simulazione dell'avversario, APT Simulator è progettato per rendere l'applicazione il più semplice possibile. Non è necessario eseguire un server web, un database o agenti su una serie di macchine virtuali. Basta scaricare l'archivio preparato, estrarlo ed eseguire il file Batch contenuto come Amministratore. L'esecuzione di APT Simulator richiede meno di un minuto del tuo tempo.
I clienti hanno testato i nostri scanner in un POC e ci hanno inviato una lamentela che i nostri scanner non segnalavano i programmi che avevano installato sui loro sistemi di test. Avevano installato Nmap, scaricato PsExec.exe nella cartella Download e posizionato il virus di test EICAR sul Desktop dell'utente. È stato il momento in cui ho deciso di creare uno strumento che simuli una minaccia reale in modo più appropriato.
Il focus di questo strumento è simulare l'attività dell'avversario, non il malware. Vedi la sezione Soluzioni Avanzate per strumenti avanzati per simulare l'attività dell'avversario e del malware.

Lo script batch estrae gli strumenti e le shell da un archivio 7z crittografato all'esecuzione. Non scaricare il repository master usando il pulsante "download as ZIP". Usa invece la release ufficiale dalla sezione release.
APT Simulator contiene un modulo chiamato "AVExcluder" che tenta di registrare la %APTDIR% utilizzata come esclusione AV nelle tipiche soluzioni antivirus. Poiché non ho accesso a tutti i prodotti software antivirus sul mercato, segnala errori o aggiungi nuove esclusioni come pull request.
Dalla versione 0.4 è molto facile estendere i set di test aggiungendo un singolo file .bat in una delle cartelle delle categorie di test set.
Ad esempio, se vuoi scrivere un semplice caso di test per "privilege escalation", che utilizza uno strumento chiamato "privesc.exe", clona il repo e fai quanto segue:
toolsetprivesc-1.bat e aggiungilo alla cartella ./test-sets/privilege-escalationbuild_pack.batSe il tuo script include uno strumento, una web shell, un file ausiliario o di output, posizionali nelle cartelle ./toolset o ./workfiles. L'esecuzione dello script di build build_pack.bat li includerà negli archivi crittografati enc-toolset.7z e enc-files.7z.
"%ZIP%" e -p%PASS% %TOOLARCH% -aoa -o%APTDIR% toolset\tool.exe > NUL
"%ZIP%" e -p%PASS% %FILEARCH% -aoa -o%APTDIR% workfile\tool-output.txt > NUL
La tabella seguente mostra i diversi casi di test e i risultati di rilevamento attesi.
| Caso di Test | AV | NIDS | EDR | SM | CA |
|---|---|---|---|---|---|
| Raccogli File Locali | X | ||||
| Connessioni C2 | (X) | X | X | X | |
| Cache DNS 1 (Iniezione Cache) | (X) | X | X | X | |
| User-Agent Maligni (Malware, RAT) | X | X | X | ||
| Ncat Back Connect (Drop ed Esecuzione) | X | X | X | X | |
| Backdoor C2 tramite WMI | X | X | X | ||
| Dump LSASS (con Procdump) | X | X | X | ||
| Mimikatz 1 (Drop ed Esecuzione) | X | X | X | X | |
| WCE 1 (Voci di Eventlog) | X | X | X | ||
| Attivazione Account Ospite Admin | X | X | X | ||
| File di Sistema Falso (Drop ed Esecuz.) | X | X | X | ||
| File Hosts (Blocchi AV/Win Update) | (X) | X | X | ||
| Dropper JS Offuscato | (X) | X | X | X | X |
| Offuscamento (RAR con estensione JPG) | (X) | ||||
| Scoperta Nbtscan (Scan e Output) | X | X | (X) | X | |
| Attività di Recon (Comandi Tipici) | X | X | X | ||
| PsExec (Drop ed Esecuzione) | X | X | X | ||
| Strumento di Esecuzione Remota (Drop) | (X) | X | |||
| At Job | X | X | X | ||
| Creazione Voce RUN Key | X | X | X | ||
| Creazione Attività Pianificata | X | X | X | ||
| Backdoor StickyKey | X | X | |||
| Persistenza tramite UserInitMprLogonScript | (X) | X | X | ||
| Web Shells | X | (X) | X | ||
| Backdoor WMI | X | X |
Ora dovresti essere in grado di trovare eventi nella tua soluzione di monitoraggio della sicurezza (SIEM, EDR, ecc.) per le seguenti parole chiave:
MSSE-1337-servermsagent_fedac123postex_ssh_fedac123334485 (usata nell'attività Get System)Nota: Nessun monitoraggio delle Named Pipe? Puoi usare Sysmon + questa config e questa regola Sigma per iniziare.
b6a1458f396 (eventi multipli: nuova registrazione servizio e creazione processo)Nota: Nessun evento? Puoi usare questa regola Sigma per iniziare.
http://10.0.2.15/pixel.gifhttps://operaa.net:443/jquery-3.2.2.min.jshttps://23.108.57.148:443/jquery-3.2.2.full.js