
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.
상위 Covenant 프로젝트에서는 더 이상 클라이언트 측 애플리케이션이 필요하지 않습니다. Elite는 임시로 사용 중단되었습니다. 대신 Covenant 프로젝트에 포함된 웹 인터페이스를 사용하세요.
Elite는 향후 대체 인터페이스로서 Covenant 프로젝트와 동기화될 수도 있지만, 현재 이 프로젝트는 업데이트되지 않았으며 Covenant v0.3 이상에서는 작동하지 않습니다.
Elite는 Covenant와 상호작용하기 위해 제작된 .NET Core 기반의 클라이언트 애플리케이션입니다.
Covenant는 .NET의 공격 표면을 부각시키고, 공격적인 .NET 트레이드크래프트 사용을 용이하게 하며, 레드 팀을 위한 협업형 명령 및 제어 플랫폼 역할을 하는 .NET 기반 명령 및 제어 프레임워크입니다.
Covenant는 ASP.NET Core 기반의 크로스 플랫폼 애플리케이션으로, 다중 사용자 협업을 가능하게 하는 강력한 API를 통해 클라이언트-서버 아키텍처를 지원합니다. Covenant 아키텍처의 세 가지 주요 구성 요소는 다음과 같습니다:
Covenant의 주요 기능은 다음과 같습니다:
Indicators 메뉴에 요약합니다. 이를 통해 운영자는 운영 중 추적되는 작업을 수행하고, 평가 중 또는 평가 종료 시 블루 팀에 해당 작업을 쉽게 요약하여 충돌 해소 및 교육 목적으로 활용할 수 있습니다. 이 기능은 아직 초기 단계이며 개선의 여지가 있습니다.먼저 Covenant를 시작해야 합니다! Covenant README를 확인하여 시작 방법을 알아보세요.
Elite를 사용하는 가장 쉬운 방법은 dotnet core를 설치하는 것입니다. 여기에서 플랫폼에 맞는 dotnet core를 다운로드할 수 있습니다.
dotnet core를 설치한 후에는 dotnet CLI를 사용하여 Elite를 빌드하고 실행할 수 있습니다:
$ ~/Elite/Elite > dotnet build
$ ~/Elite/Elite > dotnet run
Elite는 Docker로도 실행할 수 있습니다. Docker에는 몇 가지 주의사항이 있으므로, Docker에 익숙하거나 미묘한 주의사항을 배울 의향이 있는 경우에만 Docker 사용을 권장합니다.
먼저 Docker 이미지를 빌드합니다:
$ ~/Elite/Elite > docker build -t elite .
이제 Docker 컨테이너에서 Elite를 실행할 수 있습니다:
$ ~/Elite/Elite > docker run -it --rm --name elite -v /absolute/path/to/Elite/Data:/app/Data elite --username AdminUser --computername <Covenant IP>
--username AdminUser와 --computername <Covenant IP>는 Elite에 전달되는 인수입니다. 이는 Elite가 지정된 IP 주소에서 호스팅되는 Covenant 인스턴스에 연결하고 AdminUser라는 사용자로 로그인하도록 지시합니다.
-it 매개변수는 대화형 tty에서 Elite를 시작해야 함을 나타내는 Docker 매개변수입니다. Elite는 대화형 콘솔 애플리케이션이므로 중요합니다! -v /absolute/path/to/Elite/Data:/app/Data 매개변수는 호스트와 컨테이너 간에 공유되는 Data 폴더를 마운트하며, Elite로 작업 중 생성된 외부 도구와 페이로드를 쉽게 복사/붙여넣기 할 수 있게 해줍니다. /absolute/path/to/Elite/Data를 자신의 Elite Data 폴더 위치로 바꾸십시오.
또한 AdminUser 사용자의 비밀번호를 입력하라는 메시지가 표시됩니다. 또는 --password 매개변수를 사용하여 비대화형으로 설정할 수 있지만, 이렇게 하면 비밀번호가 명령 기록에 일반 텍스트로 남게 되므로 이상적이지 않습니다.
Covenant/Elite에 대해 질문이 있거나 더 이야기하고 싶으신가요? BloodHound Gang Slack의 #Covenant 채널에 참여하세요.