
Elite is the client-side component of the Covenant project. Covenant is a .NET command and control framework that aims to highlight the attack surface of .NET, make the use of offensive .NET tradecraft easier, and serve as a collaborative command and control platform for red teamers.
Das übergeordnete Covenant-Projekt benötigt keine clientseitige Anwendung mehr. Elite wurde vorübergehend als veraltet markiert. Bitte verwenden Sie stattdessen die im Covenant-Projekt enthaltene Weboberfläche.
Elite könnte irgendwann als alternative Oberfläche wieder auf den neuesten Stand des Covenant-Projekts gebracht werden, aber momentan wird dieses Projekt nicht aktualisiert und wird nicht mit Covenant v0.3 oder höher funktionieren.
Elite ist eine .NET-Core-Clientanwendung, die für die Interaktion mit Covenant entwickelt wurde.
Covenant ist ein .NET-Command-and-Control-Framework, das darauf abzielt, die Angriffsfläche von .NET aufzuzeigen, die Nutzung von offensiven .NET-Tradecraft zu erleichtern und als kollaborative Command-and-Control-Plattform für Red Teams zu dienen.
Covenant ist eine ASP.NET-Core, plattformübergreifende Anwendung, die eine robuste API enthält, um eine Client-Server-Architektur zu ermöglichen, die die Zusammenarbeit mehrerer Benutzer erlaubt. Es gibt drei Hauptkomponenten der Covenant-Architektur:
Covenant bietet mehrere wichtige Funktionen:
Zuerst müssen Sie Covenant starten! Schauen Sie sich die Covenant-README an, um zu erfahren, wie das geht.
Der einfachste Weg, Elite zu verwenden, ist die Installation von dotnet core. Sie können dotnet core für Ihre Plattform hier herunterladen.
Sobald Sie dotnet core installiert haben, können wir Elite mit der dotnet CLI erstellen und ausführen:
$ ~/Elite/Elite > dotnet build
$ ~/Elite/Elite > dotnet run
Elite kann auch mit Docker ausgeführt werden. Es gibt ein paar Fallstricke bei Docker, daher empfehle ich Docker nur, wenn Sie mit Docker vertraut sind oder bereit sind, die subtilen Fallstricke zu lernen.
Erstellen Sie zunächst das Docker-Image:
$ ~/Elite/Elite > docker build -t elite .
Jetzt können wir Elite in einem Docker-Container ausführen:
$ ~/Elite/Elite > docker run -it --rm --name elite -v /absolute/path/to/Elite/Data:/app/Data elite --username AdminUser --computername <Covenant IP>
Die Parameter --username AdminUser und --computername <Covenant IP> werden an Elite übergeben. Dies weist Elite an, eine Verbindung zu einer Covenant-Instanz herzustellen, die unter der angegebenen IP-Adresse gehostet wird, und sich als Benutzer mit dem Namen AdminUser anzumelden.
Der Parameter -it ist ein Docker-Parameter, der angibt, dass wir Elite in einem interaktiven tty starten sollen. Dies ist wichtig, da Elite eine interaktive Konsolenanwendung ist! Der Parameter -v /absolute/path/to/Elite/Data:/app/Data mountet einen gemeinsamen Data-Ordner zwischen Ihrem Host und dem Container und ermöglicht es Ihnen, problemlos externe Tools und während des Betriebs mit Elite generierte Payloads zu kopieren/einzufügen. Achten Sie darauf, /absolute/path/to/Elite/Data durch den Speicherort Ihres eigenen Elite-Data-Ordners zu ersetzen.
Sie werden auch aufgefordert, ein Passwort für den Benutzer AdminUser anzugeben. Alternativ können Sie dies nicht-interaktiv mit dem Parameter --password für Elite festlegen, aber dies hinterlässt Ihr Passwort im Klartext im Befehlsverlauf, was nicht ideal ist.
Haben Sie Fragen oder möchten Sie mehr über Covenant/Elite diskutieren? Treten Sie dem #Covenant-Kanal im BloodHound Gang Slack bei.
Indicators zusammen. Dies ermöglicht einem Operator, Aktionen durchzuführen, die während einer gesamten Operation verfolgt werden, und diese Aktionen dem Blue Team während oder am Ende einer Bewertung zur Entflechtung und zu Schulungszwecken leicht zusammenzufassen. Diese Funktion befindet sich noch in den Kinderschuhen und hat noch Verbesserungspotenzial.