
Covenant는 .NET 공격 표면을 강조하고, 공격적인 .NET 트레이드크래프트 사용을 더 쉽게 만들며, 레드 팀을 위한 협업형 명령 및 제어 플랫폼 역할을 하는 .NET 기반 명령 및 제어 프레임워크입니다.
Covenant는 ASP.NET Core 기반의 크로스 플랫폼 애플리케이션으로, 다중 사용자 협업을 가능하게 하는 웹 기반 인터페이스를 포함합니다.

빠른 시작 가이드
Covenant를 시작하려면 설치 및 시작 가이드를 참조하세요!
Wiki는 Covenant의 주요 기능과 사용 방법을 대부분 설명하고 있습니다.
기능
Covenant는 유용성과 다른 명령 및 제어 프레임워크와의 차별성을 제공하는 몇 가지 주요 기능을 가지고 있습니다.
- 직관적인 인터페이스 - Covenant는 직관적인 웹 애플리케이션을 제공하여 협업형 레드 팀 운영을 쉽게 실행할 수 있습니다.
- 멀티 플랫폼 - Covenant는 멀티 플랫폼인 .NET Core를 대상으로 합니다. 이를 통해 Covenant는 Linux, MacOS, Windows 플랫폼에서 기본적으로 실행될 수 있습니다. 또한 Covenant는 도커를 지원하므로, 도커가 설치된 모든 시스템에서 컨테이너 내에서 실행될 수 있습니다.
- 다중 사용자 - Covenant는 다중 사용자 협업을 지원합니다. 협업 능력은 효과적인 레드 팀 운영에서 매우 중요해졌습니다. 많은 사용자가 동일한 Covenant 서버와 상호작용하며 독립적으로 또는 협력적으로 작업할 수 있습니다.
- API 기반 - Covenant는 다중 사용자 협업을 가능하게 하고 쉽게 확장할 수 있는 API를 기반으로 합니다. 또한 Covenant는 Swagger UI를 포함하여 개발 및 디버깅을 더 쉽고 편리하게 만듭니다.
- 리스너 프로필 - Covenant는 Grunt 임플란트와 Covenant 리스너 간의 네트워크 통신이 유선 상에서 어떻게 보일지 제어하는 리스너 "프로필"을 지원합니다.
- 암호화된 키 교환 - Covenant는 Grunt 임플란트와 Covenant 리스너 간에 암호화된 키 교환을 구현합니다. 이는 Empire 프로젝트의 유사한 교환에 크게 기반하며, 선택적 SSL 암호화와 함께 Grunt 임플란트 간에 순방향 비밀성(forward secrecy)이라는 암호학적 속성을 달성합니다.
- 동적 컴파일 - Covenant는 Roslyn API를 사용하여 동적 C# 컴파일을 수행합니다. 새로운 Grunt가 생성되거나 새 작업이 할당될 때마다 관련 코드가 재컴파일되고 ConfuserEx로 난독 처리되어 완전히 정적인 페이로드를 피합니다. Covenant는 SharpGen 프로젝트의 컴파일 코드를 많이 재사용하며, 이에 대한 자세한 내용은 이전 게시물에서 설명했습니다.
- 인라인 C# 실행 - Covenant는 SharpGen 및 SharpShell 프로젝트의 코드와 아이디어를 차용하여 운영자가 Grunt 임플란트에서 C# 원라이너를 실행할 수 있도록 합니다. 이는 SharpShell 게시물에서 설명된 것과 유사한 기능을 제공하지만, 원격 임플란트에서 원라이너를 실행할 수 있습니다.
- 지표 추적 - Covenant는 운영 전반에 걸쳐 "지표(indicator)"를 추적하고, Indicators 메뉴에 요약하여 표시합니다. 이를 통해 운영자는 운영 전반에 걸쳐 추적되는 작업을 수행하고, 평가 중 또는 평가 종료 시 블루 팀에 해당 작업을 쉽게 요약하여 충돌 해소 및 교육 목적으로 활용할 수 있습니다. 이 기능은 아직 초기 단계이며 개선의 여지가 있습니다.
- C#으로 개발 - 개인적으로 저는 C# 개발을 즐깁니다. 이는 제 최근 블로그나 도구를 읽어본 사람에게는 놀라운 일이 아닐 것입니다. 모든 사람이 C# 개발이 이상적이라고 동의하지는 않을 수 있지만, 프레임워크의 모든 구성 요소가 동일한 언어로 작성된 것이 좋다는 점에는 모두가 동의하길 바랍니다. 서버, 클라이언트, 임플란트를 모두 동일한 언어로 작성하는 것이 매우 편리하다는 것을 알게 되었습니다. 이것이 진정한 "기능"은 아닐 수 있지만, 다른 사람들이 프로젝트에 비교적 쉽게 기여할 수 있기를 바랍니다.
질문 및 토론
Covenant에 대해 질문이 있거나 더 이야기하고 싶으신가요? BloodHound Gang Slack의 #Covenant 채널에 참여하세요.