
Skriptbasiertes Framework zur Simulation von über 50 MITRE ATT&CK-Techniken zur Prüfung der Erkennungsfähigkeiten des Blue Teams. Enthält Python-Skripte und eine kompilierte Binärdatei für Prozessinjektion, Beacon-Simulation und Emulation lateraler Bewegung.
RTA bietet ein Framework von Skripten, das Blue Teams ermöglicht, ihre Erkennungsfähigkeiten gegen bösartige Taktiken zu testen, modelliert nach MITRE ATT&CK.
RTA besteht aus Python-Skripten, die Nachweise für über 50 verschiedene ATT&CK-Taktiken generieren, sowie einer kompilierten Binäranwendung, die Aktivitäten wie Datei-Timestopping, Prozessinjektionen und Beacon-Simulation nach Bedarf durchführt.
Wo möglich, versucht RTA, die tatsächliche beschriebene bösartige Aktivität auszuführen. In anderen Fällen emulieren die RTAs die gesamte Aktivität oder Teile davon. Zum Beispiel zielt laterale Bewegung standardmäßig auf den lokalen Host ab (obwohl Parameter normalerweise Multi-Host-Tests ermöglichen). In anderen Fällen werden ausführbare Dateien wie cmd.exe oder python.exe umbenannt, um den Anschein zu erwecken, dass eine Windows-Binärdatei nicht standardmäßige Aktivitäten durchführt.
Einige der RTAs benötigen Drittanbieter-Tools, um korrekt ausgeführt zu werden. Sie können viele RTAs ohne zusätzliche Tools ausführen, aber um die gesamte Suite nutzen zu können, sind für einige zusätzliche Downloads erforderlich.
Die folgende Tabelle enthält Informationen zu den Abhängigkeiten:
| Abhängigkeit | RTAs | Quelle |
|---|---|---|
| Sysinternals Suite | user_dir_escalation.py, sip_provider.py, system_restore_proc.py, trust_provider.py | Microsoft |
| MsXsl | msxsl_network.py | Microsoft |
Windows Defender oder andere Antivirenprodukte können RTAs während der Ausführung blockieren oder anderweitig stören. Überlegen Sie, wie Sie Sicherheitsprodukte auf dem Testhost konfigurieren, bevor Sie RTAs basierend auf den Zielen Ihrer Tests ausführen.
Durch Ändern von common.py können Sie anpassen, wie RTA-Skripte in Ihrer Umgebung funktionieren. Sie könnten sogar eine völlig neue Funktion für die Verwendung in einem oder mehreren neuen RTAs schreiben.
Um das RTA powershell_args.py auszuführen, führen Sie einfach aus:
python powershell_args.py
Um ein gesamtes Verzeichnis von RTAs auszuführen, ist der einfachste Weg, den bereitgestellten Skript-Runner "run_rta.py" zu verwenden. Dieser Skript-Runner kann jedes Skript im Unterverzeichnis "red_ttp" ausführen und tut dies standardmäßig:
Alle Betriebssysteme:
python run_rta.py
Alternativ können Sie eine Schleife verwenden:
Windows:
for %f in (*.py) do python %f
Linux/Mac:
for i in (*.py); do python $i; done
Keine der Regeln erfordert Argumente, aber einige können optional Argumente zur weiteren Anpassung der Technik annehmen.
Um bei häufigen Problemen zu helfen, lesen Sie bitte die folgenden häufig gestellten Fragen:
Dies kann auftreten, wenn Python 3.x anstelle von 2.7 installiert ist. Beachten Sie, dass die Voraussetzungen 2.7 angeben, obwohl wir einen langfristigen Ansatz mit 3.x in Betracht ziehen.
Um Fehler wegen einer fehlenden Abhängigkeit zu beheben, stellen Sie bitte sicher, dass Sie den Anweisungen zum Herunterladen von Drittanbieter-Dienstprogrammen wie der Sysinternals-Suite gefolgt sind und dass Sie diese ausführbaren Dateien in das Unterverzeichnis "bin" extrahiert haben.
In Ihrer Umgebung können hostbasierte Firewalls vorhanden sein, die Sie an lateraler Bewegung hindern. Das ist eine großartige Sache, die Sie in der Produktion nicht deaktivieren sollten! Notieren Sie stattdessen, ob Sie den fehlgeschlagenen Versuch erkennen können.
Wenn Windows Defender oder andere AV-Produkte bösartige Aktivitäten erkennen, sperren sie manchmal Dateien, was zu diesem Fehler führt. Überprüfen Sie Ihre AV-Protokolle, um festzustellen, ob dies der Grund für den Fehler ist.
Endgame wird in den kommenden Wochen und Monaten weiterhin Skripte veröffentlichen, die verschiedenen MITRE ATT&CK-Techniken entsprechen. Wenn Sie bereits ein Skript geschrieben haben, nehmen wir Pull-Requests an und werden Erweiterungen gerne überprüfen und zusammenführen! Zu diesem Repository beizutragen ist eine großartige Möglichkeit, RTA für die gesamte Gemeinschaft zu erweitern.