본문 바로가기
보안

MeetC2, Google Calendar를 C2로 활용

by 촐초리 2025. 9. 7.
반응형

MeetC2는 Google Calendar API를 악용하여 C2(Command and Control) 통신 채널을 구축하는 서버리스 개념 증명(Proof-of-Concept, PoC) 프레임워크입니다. 이 도구는 합법적인 클라우드 서비스가 어떻게 악의적인 목적으로 사용될 수 있는지 보여주기 위해 개발되었습니다.


MeetC2의 작동 방식

MeetC2는 공격자(Organizer)와 감염된 시스템(Guest) 간의 통신을 위해 Google Calendar를 사용합니다.

  • 통신 채널: Google Calendar API를 사용하여 명령과 제어 트래픽을 일반적인 비즈니스 트래픽으로 위장합니다.
  • 두 가지 역할:
    • Organizer (공격자): organizer 에이전트를 통해 Google Calendar에 새 이벤트를 게시하여 명령을 내립니다. 명령은 이벤트의 summary 필드에 "[COMMAND]" 형식으로 포함됩니다.
    • Guest (피해 시스템): guest 에이전트가 30초마다 Google Calendar API에 GET 요청을 보내 새 이벤트를 확인합니다. 명령이 포함된 이벤트를 발견하면 명령을 실행하고, 그 결과를 PUT 요청을 통해 이벤트의 description 필드에 [OUTPUT]...[/OUTPUT] 형식으로 업데이트합니다.
  • 사용 API: oauth2.googleapis.com 및 www.googleapis.com 도메인을 사용합니다.

Google Calendar 설정 단계

MeetC2를 사용하기 위한 Google Calendar 및 Google Cloud 프로젝트 설정은 다음과 같습니다.

  1. 프로젝트 생성: Google Cloud Console에서 새 프로젝트를 만들거나 기존 프로젝트를 선택합니다.
  2. API 활성화: "API 및 서비스" → "라이브러리"에서 Google Calendar API를 활성화합니다.
  3. 서비스 계정 생성: "API 및 서비스" → "사용자 인증 정보"에서 calendar-invite와 같은 이름으로 서비스 계정을 생성합니다.
  4. JSON 키 파일 다운로드: 서비스 계정의 "키" 섹션에서 credentials.json이라는 JSON 형식의 키 파일을 생성하고 다운로드합니다.
  5. 캘린더 생성 및 공유: Google Calendar에서 새 캘린더를 생성한 후, 캘린더 설정에서 방금 생성한 서비스 계정 이메일(예: calendar-invite@your-project.iam.gserviceaccount.com)을 추가하고 권한을 **"이벤트 변경"**으로 설정합니다.

명령줄 사용법

설정을 완료하면 명령줄에서 MeetC2를 컴파일하고 실행할 수 있습니다.

  • 컴파일: build-all.sh 스크립트를 사용하여 credentials.json 파일과 캘린더 ID를 인수로 지정해 컴파일합니다.
  • 공격자(Organizer):
    • 실행: ./organizer credentials.json [CALENDAR_ID]
    • 명령 예시: exec whoami (감염된 시스템에서 whoami 명령 실행)
  • 피해 시스템(Guest):
    • 실행: ./guest-darwin-arm64
    • 에이전트는 10초마다 캘린더를 폴링하며 새로운 명령을 확인하고 실행합니다.

MeetC2 다운로드

https://github.com/deriv-security/MeetC2?tab=readme-ov-file

 

GitHub - deriv-security/MeetC2: (MeetC2 a.k.a Meeting C2) - A framework abusing Google Calendar APIs.

(MeetC2 a.k.a Meeting C2) - A framework abusing Google Calendar APIs. - deriv-security/MeetC2

github.com

 

https://youtu.be/YkKtQ3Ex8-Q?si=jcfe3-cK5J_OpSnm

 

 

반응형