
간단하고 확장 가능한 C&C 비콘 시스템.
C2 저장소는 https://github.com/bluscreenofjeff/Red-Team-Infrastructure-Wiki에 있는 Red Team Infrastructure Wike에 포함된 아이디어를 실제로 구현하는 것을 목표로 합니다. 특히, 이 저장소는 비커너용과 다운로더용 두 개의 Go 패키지를 제공합니다. 또한, 이 저장소는 이러한 비커너와 다운로더를 사용하는 샘플 임플란트를 제공합니다. 마지막으로, 이 저장소에는 C2용 백엔드 DNS 및 HTTP 서버와 프런트엔드 리다이렉터 서버 구축을 위한 구성 정보가 포함되어 있습니다.
implants 폴더에는 비커너 및 다운로더 패키지를 사용하는 방법을 보여주는 두 개의 임플란트가 있습니다. 이러한 임플란트는 나만의 임플란트를 구축하기 위한 참조 자료로 사용할 수 있습니다. 일반적인 개념은 비커너와 다운로더를 선택하고, 임플란트가 비콘 신호를 보내는 주기를 제어하기 위한 일종의 타이밍 메커니즘을 사용하여 이를 루프로 감싸는 것입니다.
새로운 비커너와 다운로더를 만들려면 해당 인터페이스를 충족하는 struct를 빌드해야 합니다. beaconer 및 downloader 디렉터리에는 HTTP와 DNS 예제가 모두 포함되어 있습니다.
servers 디렉터리에는 다양한 비콘과 다운로더를 위한 백엔드 서버로 사용할 수 있는 DNS 서버와 HTTP 서버가 모두 포함되어 있습니다. 이 서버들은 프로덕션 사용을 염두에 두고 설계된 것은 아니지만, 필요하다면 프로덕션에서 사용할 수 있습니다. 또한 servers 폴더에는 go build -o payload.bin payload.go 명령으로 빌드할 수 있는 페이로드 파일이 포함되어 있습니다. 서버는 현재 디렉터리에서 payload.bin 파일을 찾을 것으로 기대하며, 이 파일은 다운로더에 제공되어 클라이언트에서 실행됩니다.
docs 폴더에는 C2 시스템을 위한 프런트엔드 리다이렉터를 구축하는 데 필요한 구성 정보가 포함되어 있습니다. 이 구성은 특정 기준에 따라 C2 트래픽을 C2 서버로 리다이렉트하고, 그 외의 모든 트래픽은 정상 서버로 보냅니다.
저는 C2 전문가가 아닙니다. Red Team Infrastructure Wiki를 읽으면서 실용적인 구현을 만들어 보기로 결정했습니다. 그렇긴 하지만, 새로운 비커너와 다운로더에 대한 풀 리퀘스트를 환영합니다. 코드를 직접 작성하는 것이 부담스러우시다면, 구현했으면 하는 비콘 또는 다운로더 기법을 이슈를 통해 알려주세요.