
Framework scriptato per simulare oltre 50 tecniche MITRE ATT&CK per testare le capacità di rilevamento del blue team. Include script Python e un binario compilato per l'iniezione di processi, la simulazione di beacon e l'emulazione di movimento laterale.
RTA fornisce un framework di script progettato per consentire ai blue team di testare le proprie capacità di rilevamento contro tecniche malevole, modellato su MITRE ATT&CK.
RTA è composto da script Python che generano evidenze di oltre 50 diverse tattiche ATT&CK, oltre a un'applicazione binaria compilata che esegue attività come il timestopping dei file, le iniezioni di processo e la simulazione di beacon secondo necessità.
Dove possibile, RTA tenta di eseguire l'effettiva attività malevola descritta. In altri casi, gli RTA emuleranno tutta o parte dell'attività. Ad esempio, alcuni movimenti laterali per impostazione predefinita colpiranno l'host locale (anche se con parametri che tipicamente consentono test su più host). In altri casi, eseguibili come cmd.exe o python.exe verranno rinominati per far sembrare che un binario Windows stia svolgendo attività non standard.
Alcuni RTA richiedono strumenti di terze parti per eseguire correttamente. Puoi eseguire molti RTA senza strumenti aggiuntivi, ma per utilizzare l'intera suite, alcuni richiederanno download aggiuntivi.
La seguente tabella fornisce informazioni sulle dipendenze:
| Dipendenza | RTAs | Fonte |
|---|---|---|
| Sysinternals Suite | user_dir_escalation.py, sip_provider.py, system_restore_proc.py, trust_provider.py | Microsoft |
| MsXsl | msxsl_network.py | Microsoft |
Windows Defender o altri prodotti antivirus potrebbero bloccare o interferire con gli RTA durante l'esecuzione. Considera come configuri i prodotti di sicurezza sull'host di test prima di eseguire gli RTA in base agli obiettivi dei tuoi test.
Modificando common.py, puoi personalizzare il modo in cui gli script RTA funzioneranno nel tuo ambiente. Potresti persino scrivere una funzione completamente nuova da utilizzare in uno o più nuovi RTA.
Per eseguire l'RTA powershell_args.py, esegui semplicemente:
python powershell_args.py
Per eseguire un'intera directory di RTA, il modo più semplice è utilizzare lo script-runner fornito, "run_rta.py". Questo script-runner è in grado di eseguire ogni script nella sottodirectory "red_ttp" e lo farà per impostazione predefinita:
Tutti i sistemi operativi:
python run_rta.py
In alternativa, puoi usare un ciclo:
Windows:
for %f in (*.py) do python %f
Linux/Mac:
for i in (*.py); do python $i; done
Nessuna delle regole richiede argomenti, ma alcune possono opzionalmente accettare argomenti per un'ulteriore personalizzazione della tecnica.
Per aiutare con problemi comuni, fare riferimento alle seguenti domande frequenti:
Ciò può accadere se Python 3.x è installato invece di 2.7. Nota che i prerequisiti specificano 2.7 anche se stiamo considerando un approccio a lungo termine usando 3.x.
Per risolvere errori riguardanti una dipendenza mancante, assicurati di aver seguito le istruzioni per scaricare utility di terze parti come la suite Sysinternals e di aver estratto questi eseguibili nella sottodirectory "bin".
Il tuo ambiente potrebbe avere firewall basati su host che ti impediscono di muoverti lateralmente. Questa è un'ottima cosa che non dovresti disabilitare in produzione! Invece, nota se riesci a rilevare il tentativo fallito.
Quando Windows Defender o altri prodotti AV rilevano attività malevole, a volte bloccano i file causando questo errore. Consulta i log del tuo AV per vedere se questo è il motivo dell'errore.
Endgame continuerà a rilasciare script nelle prossime settimane e mesi corrispondenti a varie tecniche MITRE ATT&CK. Se hai già scritto uno script, accettiamo pull request e saremo lieti di rivedere e unire le aggiunte! Contribuire a questo repository è un ottimo modo per estendere RTA per l'intera comunità.