◎ 개요

  • Command & Control, 즉 C2는 공격자가 확보한 내부 거점과 외부 지휘 서버 사이에 통신 채널을 만드는 단계입니다.
  • 이 전술의 목적은 단순 접속이 아니라, 명령 수신·결과 반환·추가 페이로드 전달·상태 유지입니다.
  • 즉, C2가 살아 있다는 것은 공격자가 이미 내부에 존재하면서도 계속 움직일 수 있다는 뜻입니다.

 

◎ Beaconing

 - Beaconing은 감염된 호스트가 일정 주기로 외부 서버에 신호를 보내는 통신 패턴입니다.

  • Cobalt Strike Beacon처럼 이름 자체가 이 패턴을 대표하며, 주기적인 체크인과 명령 수신이 C2의 가장 전형적인 형태입니다.
  • 공격자는 이 주기를 작게 만들거나, 랜덤 지연을 넣거나, 트래픽을 정상 웹처럼 보이게 하여 탐지를 어렵게 만듭니다.

 - Beaconing의 핵심은 반복성입니다.

  • 비슷한 길이의 패킷, 유사한 요청 경로, 규칙적인 간격, 비슷한 User-Agent, 동일한 대상 도메인으로의 반복 연결이 보이면 의심해야 합니다.
  • 특히 내부 호스트가 사용 목적과 무관하게 짧은 간격으로 외부에 접속한다면 C2 가능성을 높게 봐야 합니다.

 

◎ DNS 기반 통신

  • DNS 기반 C2는 네트워크에서 가장 잘 눈에 띄지 않는 방법 중 하나입니다.
  • 공격자는 DNS 질의와 응답을 활용해 명령이나 데이터를 쪼개 전송하고, 정상적인 이름 해석처럼 보이게 만듭니다.
  • 이 방식은 웹 프록시나 방화벽을 우회하기 쉽고, 많은 조직에서 DNS를 기본 허용하기 때문에 특히 위험합니다.
  • 실무에서는 비정상적으로 긴 도메인, 높은 엔트로피의 서브도메인, 같은 도메인에 대한 반복 질의, NXDOMAIN 폭증, TTL 이상값, 비정상적인 레코드 타입 조합을 봐야 합니다.
  • 또한 DoH( DNS over HTTPS )를 이용하면 일반 DNS 모니터링이 어려워지므로, HTTPS 트래픽 안에 숨은 DNS 패턴까지 함께 봐야 합니다.
  • 즉, DNS C2는 질의 자체보다 질의의 형태와 빈도를 보는 것이 중요합니다.

 

◎ HTTPS 기반 통신

  • HTTPS 기반 C2는 합법적인 웹 통신과 가장 비슷하게 위장할 수 있는 방식입니다.
  • 공격자는 HTTPS를 사용해 TLS로 내용을 감추고, 경로·파라미터·쿠키·헤더에 명령과 응답을 실어 보냅니다.
  • 이 방식은 네트워크 장비에서 내용을 보기 어렵기 때문에, 도메인 평판과 트래픽 행태 분석이 중요합니다.
  • HTTPS C2는 보통 짧은 폴링, 일정한 URL 패턴, 낮은 데이터량, 비정상 세션 지속 시간, 희귀한 도메인 사용으로 드러납니다.
  • 특히 내부 호스트가 일반 브라우징보다 훨씬 규칙적인 간격으로 외부로 접속하면 beacon 가능성을 생각해야 합니다.
  • 또한 CDN 뒤에 숨거나 정상 서비스처럼 보이는 경로를 쓰는 경우, 단순 도메인 차단만으로는 효과가 제한됩니다.

 

◎ CDN 기반 C2

  • CDN을 악용한 C2는 최근 매우 중요한 트렌드입니다.
  • 공격자는 CDN의 넓은 분산 인프라와 평판을 이용해 C2 서버의 실제 위치를 숨기고, 차단과 추적을 어렵게 만듭니다.
  • 겉으로는 정상적인 콘텐츠 배포처럼 보이기 때문에, 조직 입장에서는 공격 트래픽과 정상 트래픽을 구분하기가 쉽지 않습니다.
  • CDN 기반 C2는 도메인 자체보다 경로, 요청 패턴, 인증 토큰, 비정상적인 API 사용이 단서가 됩니다.
  • 특정 호스트가 CDN 도메인으로만 반복 접속하고, 짧은 응답을 지속적으로 주고받는다면 주의하셔야 합니다.
  • 즉, CDN은 내용을 숨기는 수단이 아니라 네트워크 신뢰를 빌려오는 수단이라고 보시면 이해가 쉽습니다.

 

◎ SaaS 기반 C2

  • SaaS 기반 C2는 클라우드 서비스의 정상 기능을 통신 채널로 악용하는 방식입니다.
  • 예를 들어 문서 협업, 채팅, 파일 공유, 웹훅, 자동화 API, 메모 서비스 등을 C2 경유지처럼 사용하는 경우가 있습니다.
  • 이 방식은 조직에서 허용된 서비스로 보이기 때문에, 차단보다는 행위 이상 징후를 찾아야 합니다.
  • 공격자는 SaaS의 평판과 접근성을 이용해 명령을 숨기고, 차단 정책을 우회하며, 검열을 어렵게 만듭니다.
  • 특히 외부에서 보기에는 정상 사용자인데, 내부적으로는 명령 전달과 결과 수집이 이뤄질 수 있어 더 위험합니다.
  • 그래서 SaaS C2는 네트워크 단순 차단보다 IdP, API 로그, 감사 로그와 결합해 봐야 합니다.

 

◎ 탐지 포인트

  • C2 탐지의 핵심은 “외부 연결이 있다”가 아니라 “어떻게 연결되는가”입니다.
  • Beaconing은 주기, DNS C2는 질의 패턴, HTTPS C2는 세션과 헤더, CDN·SaaS C2는 서비스 사용 맥락이 중요합니다.
  • 즉, 한 가지 지표보다 여러 지표를 겹쳐서 보는 것이 효과적입니다.

 

 - 실무적으로는 다음을 보시면 좋습니다.

  • 비정상 도메인 평판과 희귀 접속 빈도.
  • 짧고 규칙적인 체크인 패턴.
  • DNS 질의의 길이, 엔트로피, 반복성.
  • TLS 세션의 비정상 지속 시간과 작은 데이터량.
  • SaaS/API 호출의 사용 맥락과 감사 로그 상의 이상행위.

 

◎ 방어 관점

  • 방어에서는 C2를 완전히 없애기보다, 숨기기 어렵게 만드는 것이 중요합니다.
  • DNS 로그 가시성 확보, DoH 통제, egress 필터링, 프록시 로그 상관분석, CDN·SaaS 사용 정책 정비가 기본입니다.
  • 또한 엔드포인트에서 외부 접속을 일으키는 프로세스와 네트워크 세션을 함께 추적해야 합니다.
  • 가장 중요한 것은 정상과 비정상을 구분할 기준선입니다.
  • 어떤 업무용 SaaS가 허용되는지, 어떤 도메인이 CDN을 쓰는지, 어떤 프로세스가 외부로 나가는지 정의해 두면 C2를 훨씬 빨리 잡을 수 있습니다.
  • 결국 C2는 통신 기술의 문제가 아니라, 조직이 외부 통신을 얼마나 잘 이해하고 있느냐의 문제입니다.

 

◎ 정리

  • Command & Control은 공격자가 내부 거점을 원격으로 제어하기 위해 만드는 통신 전술입니다.
  • Beaconing은 반복 체크인 패턴, DNS와 HTTPS는 은닉형 통신 채널, CDN과 SaaS는 신뢰 인프라를 이용한 최신 C2 트렌드입니다.
  • 따라서 방어는 프로토콜 차단보다 행위 패턴과 사용 맥락을 함께 보는 방향으로 설계하셔야 합니다.

 

 

 

반응형

+ Recent posts